recognition computer-vision face-recognition

computer vision - recognition - Estado del arte en reconocimiento facial.



face recognition python 3 (3)

He mirado un poco en el reconocimiento facial recientemente. Sin embargo, estoy superado por el número de algoritmos que hay.

PCA, LDA, IDA, Gabor Wavelets, AAM ...

Di que querías hacer algo como this ... ¿Qué algoritmos usarías o qué papeles leerías?


Creo que lo primero que debe hacer es darse cuenta de que los algoritmos que ha enumerado se utilizan en diferentes etapas del reconocimiento facial.

Primero, debe decidir sobre la representación, es decir, las características a usar. Estos podrían ser píxeles en bruto, filtros de Gabor, algún tipo de descriptores de formas, modelos deformables, etc.

Entonces, normalmente desea reducir la dimensionalidad de sus características. Aquí es donde entran los algoritmos como PCA, ICA o LDA, que proyectan puntos de datos en un espacio dimensional inferior tratando de preservar la mayor parte de la varianza (PCA) o de asegurar la separación óptima de puntos de diferentes categorías (LDA).

Entonces es probable que desee entrenar a un clasificador en sus características para distinguir entre las caras de diferentes personas. Hay una gran cantidad de algoritmos para elegir aquí, como el vecino más cercano, las máquinas de vectores de soporte, los modelos ocultos de Markov, las redes de Bayes, etc.

Tenga en cuenta que la elección de un algoritmo para una etapa en particular puede o no depender de los algoritmos para otras etapas. Por ejemplo, PCA se puede usar para reducir la dimensionalidad de casi cualquier tipo de características. Por otro lado, no es inmediatamente obvio cómo se puede usar un clasificador de máquinas de vectores de soporte para caras representadas por una malla deformable.

Supongo que lo primero que debe tratar de hacer es definir su problema con mucha precisión. ¿Desea distinguir entre las caras de solo unas pocas personas, como reconocer a los miembros de su familia en las fotos? ¿Quieres reconocer personas de una gran base de datos? ¿Tienes muchas imágenes de entrenamiento para cada cara, o solo unas pocas? ¿Quieres manejar diferentes orientaciones y condiciones de iluminación?

Las respuestas a estas preguntas determinan qué tan complicado es su problema, y ​​ciertamente afectarán su elección de algoritmos.

EDIT: Aquí hay una thesis de alguien que intentó resolver un problema similar. Es de 2002, pero en mi humilde opinión es un buen lugar para comenzar.


Desea considerar mapas de profundidad. Eso es estado de la técnica. Trate de leer sobre representaciones esféricas dispersas. Las caras Eigen no son muy robustas. No es invariante a varios factores. El reconocimiento facial de vanguardia es el uso de PCL 3D que tiene información de profundidad. Esto te permitiría reconocer incluso en la oscuridad. Podría usar una cámara Asus o una cámara Kinect para recopilar información de profundidad. ¡Espero que ayude!


Haar cascada en un puerto de Marilena.

Una cascada de Haar es un algoritmo que lee un archivo y le dice a la computadora cómo se ve algo. Lo he usado en el pasado para detectar rostros, gafas, solo una sonrisa, manos y una lata de coca.

http://en.wikipedia.org/wiki/Haar-like_features