Advertencia: esta página es una traducción automática (automática), en caso de dudas, consulte el documento original en inglés. Disculpe las molestias que esto pueda causar.
TrackEye
TrackEye Review
- Nombre de la tecnología: TrackEye
- Enlazar: http://www.codeproject.com/Articles/26897/TrackEye-Real-Time-Tracking-Of-Human-Eyes-Using-a
- Precio: gratis
- Popularidad: Ganador del premio en el concurso "Mejor artículo C ++ / MFC de junio de 2008".
- Requisitos físicos mínimos: El paciente debe poder mover sus ojos libremente.
Descripción detallada:
Los ojos son las características más importantes del rostro humano. Por lo tanto, el uso eficaz de los movimientos oculares como técnica de comunicación en las interfaces de usuario a computadora puede encontrar lugar en varias áreas de aplicación.
El seguimiento ocular y la información proporcionada por las características oculares tienen el potencial de convertirse en una forma interesante de comunicarse con una computadora en un sistema de interacción humano-computadora (HCI). Entonces, con esta motivación, el objetivo de este proyecto es diseñar un software de seguimiento de características oculares en tiempo real.
El propósito del proyecto es implementar un rastreador de características oculares en tiempo real con las siguientes capacidades:
- Seguimiento de rostros en tiempo real con invariancia de escala y rotación
- Seguimiento de las áreas de los ojos individualmente
- Seguimiento de las características del ojo
- Búsqueda de dirección de la mirada
- Control remoto mediante movimientos oculares.
Instrucciones para ejecutar y reconstruir TrackEye
Extraiga el archivo TrackEye_Executable.zip. Antes de ejecutar TrackEye_636.exe, copie los dos archivos SampleHUE.jpg y SampleEye.jpg en la carpeta C: \. Estos dos archivos se usan para los algoritmos CAMSHIFT y Template-Matching.
El usuario no debe seguir otros pasos para ejecutar el software. No hay dependencias de DLL ya que el software se creó con las DLL incluidas estáticamente.
Configuraciones a realizar para realizar un buen seguimiento
Configuraciones para detección de rostro y ojos
Under TrackEye Menu --> Configuración del rastreador.
- Fuente de entrada: video
- Haga clic en Seleccionar archivo y seleccione .. \ Avis \ Sample.avi
- Algoritmo de detección de rostros: Algoritmo de detección de rostros de Haar
- Marque la casilla de verificación "Rastrear también los ojos"
- Algoritmo de detección ocular: PCA adaptativa
- Desmarque "Verificación de variación"
- Número de imágenes de la base de datos: 8
- Número de EigenEyes: 5
- Distancia máxima permitida desde el espacio ocular: 1200
- Ancho de cara / relación de ancho de plantilla de ojo: 0.3
- Tipo de ColorSpace para usar durante PCA: CV_RGB2GRAY
- Configuraciones para la detección de alumnos
Marque "Rastrear ojos en detalles" y luego marque "Detectar también pupilas de ojos". Haga clic en el botón "Ajustar parámetros":
- Ingrese "120" como el "Valor de umbral"
- Haga clic en "Guardar configuración" y luego haga clic en "Cerrar"
- Configuraciones para Snake
Marque "Indicar límite de ojo usando serpientes activas". Haga clic en el botón "Configuración para serpiente":
- Seleccione ColorSpace para usar: CV_RGB2GRAY
- Seleccione Umbral simple e ingrese 100 como el "Valor de umbral"
- Haga clic en "Guardar configuración" y luego haga clic en "Cerrar"
- Antecedentes
- Hasta ahora se ha trabajado mucho en la detección ocular y antes del proyecto, los métodos anteriores se estudiaron cuidadosamente para determinar el método implementado. Podemos clasificar los estudios relacionados con el ojo en dos categorías principales como se enumeran a continuación.
Enfoques basados en equipos especiales
Este tipo de estudios utiliza el equipo necesario que dará una señal de algún tipo que sea proporcional a la posición del ojo en la órbita. Varios métodos que se usan actualmente son la electrooculografía, la oculografía infrarroja y las bobinas de búsqueda escleral. Estos métodos están completamente fuera de nuestro proyecto.
Enfoques basados en imágenes
Los enfoques basados en imágenes realizan detecciones oculares en las imágenes. La mayoría de los métodos basados en imágenes intentan detectar los ojos utilizando las características de los ojos. Los métodos utilizados hasta ahora son métodos basados en el conocimiento, métodos basados en características (color, gradiente), coincidencia simple de plantillas, métodos de apariencia. Otro método interesante es la "coincidencia de plantilla deformable", que se basa en la coincidencia de una plantilla geométrica del ojo en una imagen del ojo al minimizar la energía del modelo geométrico.
Implementación de TrackEye
El proyecto implementado tiene tres componentes:
- Detección de rostros: realiza la detección de rostros invariantes de escala
- Detección ocular: ambos ojos se detectan como resultado de este paso
- Extracción de características oculares: las características de los ojos se extraen al final de este paso
- Detección de rostro
Se implementaron dos métodos diferentes en el proyecto. Son:
- Algoritmo de cambio de medios continuamente adaptativo
- Método de detección de cara de Haar
- Algoritmo de cambio medio continuamente adaptativo
- El algoritmo de cambio medio adaptativo se usa para rastrear rostros humanos y se basa en una técnica no paramétrica robusta para subir gradientes de densidad para encontrar el modo (pico) de distribuciones de probabilidad llamado algoritmo de cambio medio. A medida que las caras se rastrean en secuencias de video, el algoritmo de cambio medio se modifica para tratar el problema de cambiar dinámicamente las distribuciones de probabilidad de color. El diagrama de bloques del algoritmo se da a continuación:
Método de detección de cara de pelo
El segundo algoritmo de detección de rostros se basa en un clasificador que funciona con características similares a Haar (es decir, una cascada de clasificadores mejorados que funcionan con características similares a Haar). En primer lugar, se entrena con unos pocos cientos de vistas de muestra de una cara. Después de entrenar un clasificador, se puede aplicar a una región de interés en una imagen de entrada. El clasificador genera un "1" si es probable que la región muestre cara y "0" de lo contrario. Para buscar el objeto en toda la imagen, se puede mover la ventana de búsqueda a través de la imagen y verificar cada ubicación utilizando el clasificador. El clasificador está diseñado de modo que se pueda "redimensionar" fácilmente para poder encontrar los objetos de interés en diferentes tamaños, lo que es más eficiente que cambiar el tamaño de la imagen.