Detección de emociones de varias personas simultáneamente. FIN…

El programa ahora mismo es capaz de diferenciarnos, gracias al clasificador de enfado de Dani. Por tanto para integrar las emociones de los dos, lo primero es realizar los clasificadores de Jorge; de estos, sólo ha dado tiempo a hacer el de sonrisa y sorpresa, dado que los demás generalmente no tuvieron un resultado satisfactorio los intentados (¿quizás por la barba?). A continuación, debemos añadirlas al programa, pero esto es relativamente sencillo, vamos a pensar en el proceso que debe seguir el programa:

  1. El programa lanza todos los clasificadores y detecta todas las emociones, tanto las de Dani como las de Jorge.
  2. Cuando llega a 20 capturas, comprueba con el número de Jorges,( hallados básicamente con el número de enfados que haya sin ninguna otra emoción) si quien está es Jorge o Dani.
  3. Una vez diferenciados, si es Jorge, se fija en las variables de los clasificadores de Jorge (JnumSonrisa, JnumSorpresa…), y si no, (si es Dani), en la de los clasificadores de Dani(numSonrisa, numSorpresa…), que se aumentarán al entrar en cada clasificador, como ya explicamos previamente.
  4. En cuanto a la variable emoción que se le pasa al robot, si es Jorge, se editará según la emoción de Jorge, y si es Dani, según la emoción de Dani, por lo tanto el funcionamiento sigue siendo el mismo, pero con la funcionalidad añadida de poder detectar emociones en los dos, ya que nos diferencia y sabe qué emociones tiene que elegir.

Con esto, nos damos cuenta también, de que la algunas de las emociones que se detectan en uno, también son detectadas en el otro, sobre todo las más uniformes como son sonrisa grande (con dientes) y sorpresa. Esto podría permitir quizás hacer un clasificador de emociones universal, introduciendo en las muestras fotos de distintos tipos de persona. Esto está limitado porque las emociones deben de tener mucho en común (como una sonrisa enseñando dientes o una boca abierta de sorpresa), pero quizás sería más difícil detectar un enfado, ya que como vemos, es el clasificador de enfado de Dani en que permite diferenciarnos.

De hecho, actualmente, gente que no fuera ninguno de nosotros, podría jugar, y probablemente habría emociones que serían detectadas. Lo primero le detectaría como Jorge o Dani con el “detector de cejas grandes” (cuidado que nunca se sabe lo que va a triunfar y se lo vendemos a L’Oreal) , y en caso de ser Jorge, podría decir si sonríe o está sorprendido; en caso de ser Dani, probablemente detectaría esas dos emociones  también y a lo mejor, enfado o sonrisa floja. Lo bueno, es que si no detecta, interpreta que estás neutral, y tiene una restricción bastante elevada, de forma que sea mejor el que no detecte que el que detecte.

De todas maneras, es sencillo con el modo HaarTraining en el programa, generar las muestras necesarias para crear vuestros propios clasificadores o clasificadores universales. Ahora bien, se necesita probar bastante, para saber cuál es la mejor opción.

Y poco más tenemos que decir de esta práctica, aunque posiblemente la continuación podría tener los siguientes objetivos:

  • Integración total con el juego del tres en raya con Trivial FTP. Si se modificara el fichero a enviar, las modificaciones en nuestra práctica serían sencillas: cambio del formato del fichero e interpretación de los mismos.
  • Integración de más emociones, como podría ser triste ( que es bastante difícil).
  • Utilización de clasificadores de cara y ojos para una misma emoción para que sea más robusto, ahora mismo el único que utiliza los ojos es el de enfado, que con la boca cometía muchos errores.
  • Posible detección universal de emociones integrando grandes bases de datos de emociones, ahora bien, el problema es encontrar a gente que ponga su cara.
  • Posible distinción de personas, aunque nuestra experiencia es que esto es bastante complicado con Haartraining, como hemos explicado en entradas anteriores.
  • Mayor interacción con el robot, agregando aleatoriedad al comportamiento (por ejemplo que cada cierto tiempo deba estar una proporción de tiempo mostrando cada emoción) , o teniendo en cuenta más cantidad de entradas, que podrían ser:
    • Confort del robot, con la  información de la temperatura.
    • Grado de amistad, teniendo memoria de las distintas personas (para esto sería necesario la distinción de personas).
    • Grado de cansancio, quizás el robot deba estar un porcentaje de horas en un día dormido.
    • Grado de ganas de jugar/aburrimiento, según la gente que haya jugado con él.

También animamos a la gente a que explore en el campo de open CV y sobre todo Haartraining para la detección de patrones que se repiten, en nuestro caso emociones, pero también podría ampliarse al tratamiento de cualquier tipo de imagen en la que haya cosas que se repitan.

Muchas gracias a los que nos hayan seguido, y esperamos sorprenderos con los vídeos que colgaremos en poco tiempo, que representarán los resultados conseguidos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: