- Autor: Shubham Dilip Jain
- Versión actual: 0.2-alpha
- Compatibilidad con NVDA: de 2019.3 a 2020.1
- Descargar
- Ver código fuente en GitHub
Este complemento y su repositorio forman parte del proyecto GSOC 2020 del autor.
Este complemento permite realizar detección de objetos en los elementos de imagen presentes en pantalla y expresar el resultado en forma de frases y cajas delimitadoras alrededor de los objetos detectados. Se puede mover el puntero del ratón o el dedo (en pantallas táctiles) dentro de una caja delimitadora para escuchar la etiqueta del objeto. La frase con el resultado se puede tanto anunciar como presentar en una ventana virtual explorable que permita recorrerla por caracteres, palabras, o seleccionarla entera y copiarla. Este complemento sólo funciona bien con «imágenes naturales» de personas, animales y algunos objetos típicos.
Nota: el seguimiento del ratón debe estar activado para que se anuncien las cajas delimitadoras.
Modo de uso
- Tras la instalación, se debe asignar un gesto desde el diálogo Gestos de entrada, en la categoría Visión.
- Al pulsar el gesto una vez, se dispara la detección de objetos. Tras unos segundos, NVDA pronuncia el resultado y se dibujan cajas delimitadoras alrededor de los objetos detectados. La etiqueta de cada objeto sólo se anuncia una vez al entrar en cada caja, por lo que será necesario visitarla varias veces si queremos que NVDA repita la etiqueta.
- Si se pulsa el gesto más de una vez, se inicia el proceso de detección y el resultado se muestra en una ventana en modo exploración. No se dibujarán cajas alrededor de los objetos detectados.
- Al desplazar el foco fuera del elemento, se elimina la información de los objetos detectados.
- Se puede evitar la detección de objetos en elementos no gráficos marcando la casilla correspondiente en el diálogo de opciones de NVDA, categoría Visión, complemento de detección de objetos. Esto evita que los usuarios lancen la detección en elementos que no contienen imágenes. Si se desmarca, por el contrario, se puede realizar la detección en todos los controles, útil con aquellos que tienen imágenes y no lo indican.
Nota: en modo foco, las imágenes no pueden recibir el foco y la opción para filtrar elementos no gráficos filtra los hijos del elemento seleccionado. Se permite el reconocimiento si alguno de los hijos es un gráfico.
Notas para desarrolladores
Este complemento hace uso del modelo YOLOv3-darknet para la detección de objetos. Puedes descargar los archivos de configuración y pesos de cualquier modelo YOLOv3 y reemplazar el modelo actual en addon/globalPlugins/objectDetection/models para usarlo en su lugar (los archivos deben llamarse yolov3.cfg y yolov3.weights para que funcione, respectivamente). Los modelos más grandes detectan mejor los objetos, pero tardan más tiempo. En general, un modelo de tamaño medio, como el que se proporciona con este complemento (yolov3-416) es la mejor elección. Los modelos se apoyan en la biblioteca OpenCV 4.3.0, cuyas dll se pueden encontrar en addon/globalPlugins/objectDetection/dlls.
El archivo iolov3-dll.dll contiene la interfaz que interactúa con los modelos, y se puede encontrar y compilar aquí.