• Denominación Interfaz hombre-máquina usando seguimiento de características faciales: Interacción con un avatar y visualización subjetiva; Inmersión en un espacio tridimensional.

El desarrollo de un interfaz-hombre máquina mediante reconocimiento facial abre las puertas a una serie de aplicaciones en las que el usuario, en mayor o menor medida, ha de contribuir mediante su movimiento inmerso en el campo de visión de una webcam.

Así, se han de destacar dos divisiones en este proyecto: una parte de detección facial, y otra parte de visualización, aunque el usuario solamente creerá estar interactuando con un sistema de visualización, ya que la primera parte no se hace visible al ejecutor de la aplicación.

Sin embargo, la detección facial es la más importante del proyecto. En la misma, se mezclan el desarrollo de la detección facial misma, y el seguimiento de la cara detectada a lo largo del campo de visión de la cámara.

El desarrollo de la detección facial es similar a la que se utiliza en otros proyectos. Sin embargo, como se ha comentado, se añade un algoritmo de seguimiento implementado en una de las librerías empleadas en este proyecto: OpenCV.

Con estos dos puntos, por cada captura de la cámara, estamos en disposición de que el programa «calcule» dónde se encuentran los ojos en cada momento a lo largo de la ejecución y, en caso de pérdida de alguno de los mismos, se ha implementado un potente sistema de recuperación, siempre y cuando se encuentre la aplicación en un punto en que sea capaz de realizar la detección (es decir, que se encuentre una cara en su campo de visión).

Así, con estos dos puntos (los ojos), se pueden realizar una serie de cálculos que permiten determinar tanto si el usuario se ha acercado como alejado, o simplemente se ha movido a lo largo del campo de visión de la webcam.

Visualización:

Existen, hasta la fecha, dos vertientes de la parte de visualización de este proyecto, que corresponden con la «impresión» que el usuario debiera percibir al ejecutar el programa.

La primera vertiente se basa en la «inmersión» del usuario en un espacio 3D que se encontrará en la pantalla al iniciar el programa. Con sus movimientos, el usuario creerá estar moviéndose en, o simplemente moviendo, un espacio tridimensional en el que se hallarán una serie de figuras que puede esquivar, avanzando, retrocediendo o simplemente girando la cabeza.

Como primera aproximación a lo que un usuario pudiera encontrarse al iniciar el programa, se ha desarrollado el siguiente «espacio».

La segunda vertiente de este programa ya no incluye al usuario dentro de un espacio tridimensional, si no que se permite a éste interactuar con un avatar: una figura animada (una cabeza), que responde a los movimientos realizados por el usuario, bien moviéndose sobre su eje (girando la cabeza) en respuesta al giro realizado por el usuario, o bien moviendo exclusivamente una serie de objetos, inmovilizando la figura principal en su eje (moviendo los ojos y dejando la cabeza fija). Hasta la fecha existen estas dos versiones, y se trabaja por una mezcla «pseudoaleatoria» que mueva, indistintamente, los ojos y la cabeza; con esto, el usuario percibirá que el avatar de la imagen está constantemente siguiendo sus movimientos, como si se sentara, simplemente, a «hablar» con él.