Red de conocimiento informático - Material del sitio web - Cómo ejecutar con éxito el ejemplo de reconocimiento facial opencv en Android Studio

Cómo ejecutar con éxito el ejemplo de reconocimiento facial opencv en Android Studio

1.Introducción

A partir de OpenCV2.4, se agregó una nueva clase FaceRecognizer, que podemos usar para realizar experimentos de reconocimiento facial de manera conveniente. Este artículo no solo presenta el uso del código, sino que también presenta los principios del algoritmo. (El código fuente que escribió se puede encontrar en opencv\modules\contrib\doc\facerec\src de OpenCV. Por supuesto, también se puede encontrar en su github. Si desea estudiar el código fuente, naturalmente puede hacerlo.

Los algoritmos actualmente admitidos son

Caras de características Eigenfaces createEigenFaceRecognizer()

Fisherfaces createFisherFaceRecognizer()

Patrones binarios locales Histogramas histograma binario local createLBPHFaceRecognizer()

Los códigos de todos los ejemplos siguientes se pueden encontrar en samples/cpp en el directorio de instalación de OpenCV. Todos los códigos son gratuitos para uso comercial o aprendizaje.

1.2. reconocimiento

El reconocimiento facial es muy fácil para los humanos. La literatura [Tu06] nos dice que los bebés de tres días pueden reconocer rostros familiares a su alrededor. De hecho, hasta ahora lo sabemos. Muy poco sobre por qué los humanos pueden distinguir entre diferentes personas. ¿Son las características internas de un rostro humano (ojos, nariz, boca) o las características externas (forma de la cabeza, línea del cabello) las más efectivas para el reconocimiento humano? nos mostró que nuestros cerebros tienen células nerviosas especializadas para características locales de diferentes escenas (como líneas, bordes, esquinas o movimiento). Está claro que no vemos el mundo en fragmentos, y nuestra corteza visual debe transformar de alguna manera la información. Diferentes fuentes en patrones útiles para el reconocimiento facial automático. Es cómo extraer características significativas de las imágenes, convertirlas en representaciones útiles y luego clasificarlas. El reconocimiento facial basado en características geométricas faciales es probablemente el primer método de reconocimiento facial automático. se describe nuevamente en [Kanade73]: los puntos marcadores (posiciones de ojos, oídos, nariz, etc.) se utilizan para construir vectores de características (distancias entre puntos, ángulos, etc.) calculando el euclidiano de los vectores de características de la imagen de prueba. y la imagen de entrenamiento para la identificación. Este método no se ve afectado por los cambios de iluminación, pero tiene una gran desventaja: incluso con los algoritmos más avanzados, la determinación de los puntos marcadores es complicada. Algunos trabajos recientes sobre características geométricas se han introducido en la literatura. [Bru92]. Se utilizó un vector de características de 22 dimensiones en una base de datos grande donde las características geométricas por sí solas no proporcionaban suficiente información para el reconocimiento de rostros.