2009-11-08 47 views
10

Estoy realizando una pequeña investigación sobre la detección de rostros y la comparación de mi artículo. Actualmente, estoy usando detección rápida de rostros basada en características similares a las de Haar basadas en la cascada de OpenCV (implementaré el aprendizaje más adelante). El siguiente paso es hacer una comparación cara. ¿Hay algún algoritmo bien conocido? Será genial, si hay algunos códigos C#, explicándolos o algunos dll que los implementen.Detección y comparación de rostros

Respuesta

8

Eigenfaces

para generar un conjunto de autocaras, un gran conjunto de imágenes digitalizadas de caras humanas, tomadas bajo la misma iluminación condiciones , se normalizan a alinear los ojos y la boca. Luego son todos remuestreados con la misma resolución de píxel . Eigenfaces puede ser extraído de los datos de imagen por medio de una herramienta matemática llamada análisis de componentes principales (PCA).

Los Eigenfaces ahora pueden ser utilizados para representan caras nuevas: podemos proyectar una imagen de nueva (media-resta) en los Eigenfaces y por lo tanto registrar la manera en que nueva cara difiere de la cara de malo. Los valores propios asociados con cada cara eigenface de representan cuánto las imágenes en el conjunto de entrenamiento varían de a la imagen media en esa dirección. Nosotros perdemos información al proyectar la imagen en un subconjunto de los vectores propios, , pero minimizamos esta pérdida manteniendo los autocares con los valores propios más grandes .

Fisherfaces and Eigenfaces

Si sus caras no están alineados, te recomiendo leer el siguiente documento:

Support Vector Machines

Resumen: Presentamos un componente de base método y dos métodos globales para reconocimiento de cara y evaluarlos con respecto a la solidez frente a los cambios de pose . En el sistema de componentes que primero localizar componentes faciales, extraerlos y combinarlos en un vector de función única que es clasificados por una máquina de vectores de soporte (SVM).

Los dos sistemas mundiales de reconocer las caras mediante la clasificación de un único vector de características que consiste en los valores de gris de la imagen de cara entera . En el primer sistema global , entrenamos un solo clasificador SVM para cada persona en la base de datos . El segundo sistema consiste en de conjuntos de clasificadores SVM específicos del punto de vista e implica el agrupamiento durante el entrenamiento.

1

hay un sistema de evaluación de Beveridge.Implementaron tres algoritmos de reconocimiento facial con diferentes métricas. Los algoritmos se implementan para la evaluación por lo que podría ser difícil usarlos para sus propios programas.

Algunas API de Java y enlaces generales se pueden encontrar en mi Question sobre reconocimiento de rostros.

6

me escribió un programa tutorial y de demostración con código fuente libre para realizar la detección de la cara y el reconocimiento de rostros en tiempo real desde una cámara web (también en OpenCV):

http://www.shervinemami.info/faceRecognition.html

+2

Enlace no más de trabajo. – prathumca

+1

prueba http://www.shervinemami.info/faceRecognition.html – NoCakeNoCode

Cuestiones relacionadas