Distinción entre personas

Esto puede resultarnos interesante, porque los clasificadores en principio depende de la persona que los realiza, ya que cada uno puede tener distinta forma de mostrar las emociones. Si consiguiéramos distinguirnos entre nosotros dos, podríamos decirle qué clasificadores cargar, a parte de que el robot puede tener una respuesta o un perfil guardado para cada uno de nosotros.

Nuestra primera idea nos lleva a intentar hacer clasificadores para nosotros, al igual que hemos hecho con las emociones, pero analizando el problema se ve que no es tan sencillo. Problemas que pueden surgir. La clave del buen funcionamiento de los clasificadores de emociones es que buscan un rasgo pequeño dentro de una cara sustancialmente más grande que el rasgo. Sin embargo en este caso, ¿qué buscamos? Tenemos las siguientes opciones:

  1. Recortar la cara y buscar dentro de la cara el recorte de la cara.
  2. Dividir la cara en trozos y buscar esos trozos dentro de la cara.
  3. Buscar dentro de la imagen de toda la habitación la cara.

Sin embargo, vemos que esto es muy difícil de poder realizar, y explicaremos los problemas surgidos en cada caso:

  1. Hicimos tal como he indicado, pasándole mil fotos de muestras positivas y otras tantas de negativas, poniendo de positivas al sujeto que quieres detectar frente al otro, mostrando toda la gama de emociones que tenemos, y como negativas al otro sujeto haciendo lo mismo, y viceversa. Con esto tenemos dos clasificadores, pero vemos que ni siquiera funciona el performance, y al probarlos, no detecta nada. Pensamos que puede ser porque busca algo demasiado grande, y por tanto encuentra poca diferencia, y decidimos pasar al punto 2.
  2. Realizamos lo mismo que en el 1, pero como positivas le pasamos 1 de los 4 cuadrantes de la cara y realizamos un clasificador de prueba.  De esta forma, hemos reducido el tamaño. Sin embargo, otra vez, el resultado no es positivo, y no probamos el 3, porque pensando un poco tiene lógica y llegamos a una conclusión:

Conclusión:

Es muy difícil detectar distintas personas haciendo clasificadores de esta forma, porque de positivas le pasamos un sujeto mostrando distintas emociones y de negativas otro sujeto haciendo lo mismo, pero él programa no distingue entre sujetos, y puede ser que los rasgos lleguen a ser parecidos de forma que no funcione bien el Haartraining. Por tanto, no parece posible de esta forma diferenciar entre personas con OpenCv, sin embargo podemos utilizar ciertos “trucos” y eso es lo que vamos a hacer.

Resultado:

Lo que observamos es que el clasificador de Dani de enfadado, que se basa en la detección de los ojos, me detecta a mí prácticamente siempre como si yo estuviera enfadado, mientras que de los clasificadores de sonrisa ninguno suele saltar a la vez. Sin embargo, cuando Dani está enfadado, siempre salta algún clasificador de sus sonrisas, y de ahí sacamos la condición que permite diferenciarnos.

Para entendernos mejor, hay una variable que se llama esJorge, que se incrementa cuando detecta enfado, y se decrementa si detecta cualquiera de las sonrisas, si en 20 capturas, esJorge vale más de 9, es que es Jorge quien está ante la cámara, si no será que es Dani.

El problema en este caso es la iluminación , ya que como hemos explicado previamente, la emoción de enfado es muy sensible a la luz, y puede pasar a detectar enfado en Dani, sin mostrar él ningún tipo de enfado sólo por encender una lámpara.

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: