Pregunta

Me preguntaba, ¿cómo funciona exactamente el reconocimiento de la cara? Debido a que todos tienen una cara diferente, no puedes detectar una cara 'general' o algo así.

¿Fue útil?

Solución

Jun Zhang et al. (1997) investigan tres métodos distintos de reconocimiento facial aplicable a la visión por computadora, cada uno de un dominio notable de análisis estadístico por derecho propio:

1) Algoritmo de cara propia
2) Matricidad elástica
3) Redes de autoasociación y clasificación

El método Eigenface codifica la variación estadística entre las imágenes de la cara utilizando algún método de reducción de dimensionalidad (como PCA), donde las diferencias características resultantes en el espacio de características no se corresponden necesariamente con características faciales aisladas como ojos, oídos y narices (en otro Palabras, los componentes indispensables del vector de características no están predeterminados).

La coincidencia elástica genera gráficos nodales (es decir, el modelo de estructura alámbrica) que corresponden a puntos de contorno específicos de una cara, como los ojos, la barbilla, la punta de la nariz, etc., y el reconocimiento se basa en una comparación de gráficos de imagen con una base de datos conocida. Dado que los gráficos de imagen se pueden girar durante el proceso de coincidencia, este sistema tiende a ser más robusto para una gran variación en las imágenes.

El reconocimiento neto de clasificación utiliza las mismas características geométricas que la coincidencia elástica, pero fundamentalmente difiere al ser una técnica de aprendizaje automático supervisado (a menudo implica el uso de máquinas de vectores de soporte).

Aunque la detección de la cara propia puede tener un rendimiento inferior a otros métodos cuando la variación en la iluminación o la alineación facial es grande, tiene el beneficio de ser fácil de implementar, computacionalmente eficiente y poder reconocer caras de manera no supervisada y, por lo tanto, tiende a ser un estándar de facto. Muchas técnicas de detección de última generación también se basan en alguna forma de reducción de dimensionalidad antes del reconocimiento, incluso si la extracción del vector de características se maneja de manera diferente.

Otros consejos

Aquí puedes encontrar la respuesta: Reconocimiento facial

Cada cara tiene numerosos puntos de referencia distinguibles, los diferentes picos y valles que componen los rasgos faciales. Faceit define estos puntos de referencia como puntos nodales. Cada cara humana tiene aproximadamente 80 puntos nodales. Algunos de estos medidos por el software son:

* Distance between the eyes
* Width of the nose
* Depth of the eye sockets
* The shape of the cheekbones
* The length of the jaw line

Estos puntos nodales se miden creando un código numérico, llamado faceprint, que representa la cara en la base de datos.

Una buena manera de comenzar es leyendo sobre el análisis de componentes principales (PCA también conocido como Eigenfaces), Análisis Discriminante Lineal de Fisher (LDA) y Máquinas de vectores de soporte (SVM). Estos son métodos de clasificación que son extremadamente útiles para la clasificación facial.

OpenCV ya incluye excelentes implementaciones de PCA y SVM. Un excelente recurso para el código de reconocimiento y clasificación de la cara para OpenCV en C ++ es este sitio web.

Un sitio web que ofrece recursos y enlaces a documentos para los métodos más relevantes para la clasificación facial es Éste.

Un ejemplo bien explicado de PCA Eigenfaces y LDA con código de muestra en MATLAB que fue extremadamente útil para mi primer programa de clasificación de cara es aquí.

Este es un tema complejo que requiere mucho aprendizaje. Te sugiero que comiences mirando OpenCV - http://opencv.willowgarage.com/wiki/ - Una biblioteca de visión por computadora con tutoriales, etc. En parte se trata de no tanto una "cara general", sino de elegir características y luego ejecutar una métrica, como qué tan separada o relativa orientación de esas características.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top