Pregunta

Busco una cara libre reconocimiento biblioteca para un proyecto universitario. No estoy en busca de detección de rostros . Busco reconocimiento real. Eso significa encontrar imágenes que contienen caras o bibliotecas que calculan las distancias entre las caras de las establecidas.

Actualmente estoy usando OpenCV para detectar las caras y una áspera algoritmo Eigenface para el reconocimiento. Pero pensé que debe haber algo por ahí con un mejor rendimiento que un algoritmo de auto-Eigenface escrita. No estoy hablando acerca de la velocidad como el rendimiento, estoy buscando una biblioteca con mejores resultados que un simple enfoque Eigenface.

Me tomó un vistazo a débil , pero parece que la biblioteca no es muy reutilizable para mis propias aplicaciones.

Estoy contento con una biblioteca en Python, Java, C ++, C o algo por el estilo. Lo mejor sería si se puede ejecutar en una máquina Windows porque estoy confiando en algún código sólo para Windows externa en el momento.

¿Fue útil?

Solución

A continuación se muestra una lista de vendedores comerciales que proporcionan los paquetes fuera de la plataforma para el reconocimiento facial que se ejecutan en Windows:

  1. Cybula - Información sobre su Reconocimiento facial SDK . Esta es una empresa fundada por un profesor de la Universidad y como tal su sitio web se ve poco profesional. No hay información de precios o de demostración que puede descargar. Usted deberá en contacto con ellos para información sobre precios.

  2. Neurotechnology - Información sobre su Reconocimiento facial SDK . Esta compañía tiene tanto por adelantado la información de precios así como un real de prueba de 30 días de su SDK

  3. Patrón Pittsburgh Reconocimiento - ( Adquirido por Google ) La información sobre su de seguimiento facial y reconocimiento SDK . Las demostraciones que proporcionan ayuda que evalúan su tecnología, pero no su Sdsk. Usted deberá en contacto con ellos para información sobre precios.

  4. Sensible Vision - Información sobre su SDK . Su sitio le permite obtener fácilmente una cotización de precios y también se puede adquirir un paquete de evaluación que le ayudará a evaluar su tecnología.

Otros consejos

Actualizar

OpenCV 2.4.2 ahora viene con el nuevo cv : : FaceRecognizer . Por favor, consulte la documentación muy detallada en:

Post original

libfacerec , una biblioteca moderna de reconocimiento facial para la OpenCV C ++ API (licencia BSD). libfacerec no tiene dependencias adicionales y pone en práctica el método Eigenfaces, método Fisherfaces y patrones binarios locales histogramas. Partes de la biblioteca van a ser incluidos en OpenCV 2.4.

La última revisión de la libfacerec está disponible en:

La biblioteca fue escrito para OpenCV 2.3.1 con la próxima OpenCV 2.4, por lo que no son compatibles con versiones anteriores de OpenCV 2.3.1. Este proyecto surge como un proyecto CMake con un API bien documentada, también hay un tutorial sobre la clasificación de género. Se puede ver una versión HTML de la documentación en:

Si usted quiere entender cómo funcionan los algoritmos, es posible que desee leer mi Guía de reconocimiento facial (incluye ejemplos de Python y GNU Octave / MATLAB):

También hay una implementación de Python y GNU Octave / Matlab de los algoritmos en mi repositorio GitHub . Ambos proyectos en facerec también incluye varios métodos de validación cruzada para la evaluación de algoritmos:

Las publicaciones más relevantes son los siguientes:

  • Turk, M., y Pentland, A. Eigenfaces para su reconocimiento. . Journal of Cognitive Neuroscience 3 (1991), 71-86.
  • Buenhumor, P. N., Hespanha, J., y Kriegman, D. Eigenfaces vs. Fisherfaces:. Reconocimiento mediante proyección lineal específica clase . IEEE Transactions on Análisis de patrones y la máquina de Inteligencia 19, 7 (1997), 711-720.
  • Ahonen, T., Hadid, A., y Pietikainen, M. Reconocimiento de rostros con patrones binarios locales. . Visión por Computador -. ECCV 2004 (2004), 469-481

pam cara autenticación una Módulo PAM para la autenticación de la cara: pero requeriría algún trabajo para conseguir lo que desea. Una prueba rápida mostró que la tasa de reconocimiento no son tan buenas como las de VeriLook de Neurotechnology.

málico es otro software de reconocimiento facial de código abierto, que utiliza Gabor descriptores de tren de ondas. Sin embargo, la última actualización de la fuente es de 3 años de edad.

Desde el sitio web: " málico es un software de reconocimiento facial de código abierto que utiliza ondas pequeñas Gabor. Es sistema de reconocimiento facial en tiempo real que se basa en Malib y la biblioteca CSU Cara identificación Evaluación del Sistema (csuFaceIdEval) .Uses Malib para el procesamiento de imágenes en tiempo real y algunos de csuFaceIdEval para el reconocimiento facial . "

Además, esta podría ser de interés:

gaborboosting : Un programa científico aplicado en el reconocimiento facial con Gabor y Wavelet AdaBoost Algoritmo

operación de biblioteca Extracción - FELIB se refiere a "Anotación de la cara por transductivo Kernel Fisher discriminante,"

Me gustaría pensar Eigenface , lo que usted está haciendo ya, es el camino a seguir si desee calcular la distancia entre las caras. Se podría probar diferentes enfoques como apoyo Vector Machine o modelo oculto de Markov . He encontrado una página que muestra los principales algoritmos que podrían ser utilizados para el reconocimiento facial: Cara Página de Reconocimiento .

Además, cuando se dice "mejor rendimiento", lo que quiere decir la velocidad o la precisión? ¿Qué tipo de problema tiene? ¿Cómo varía son los datos? Son sobre todo la cara frontal o ellos incluyen perfiles?

Si su proyecto está en una película o la televisión, o cualquier cosa que tenga una secuencia de comandos, parece que definitivamente desea ver el trabajo de Marcar Everingham et al. . El software es disponible , como lo son los resultados en un episodio de Buffy

Usted debe mirar http://libccv.org/

Es bastante nuevo, sino que proporciona una fuente libre y gratuito API de alto nivel para la detección de rostros.

(... y, me atrevo a decir, es muy muy impresionante)

Edit: Vale la pena destacar también, que esta es una de las pocas librerías que no depende de OpenCV, y sólo por diversión, aquí está una copia del código para la detección de rostros la página de documentación, para darle una idea de cuál es involucrados:

#include <ccv.h>
int main(int argc, char** argv)
{
    ccv_dense_matrix_t* image = 0;
    ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
    ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]);         ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
    ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
    int i;
    for (i = 0; i < faces->rnum; i++)
    {
        ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
        printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
    }
    ccv_array_free(faces);
    ccv_bbf_classifier_cascade_free(cascade);
    ccv_matrix_free(image);
    return 0;
} 

Sé que ha pasado mucho tiempo, pero para cualquier otra persona interesada, existe el proyecto débil , que se ha incluido una gran cantidad de estas características (detección, reconocimiento, etc.) en un paquete de software agradable.

Estamos utilizando OpenCV . Tiene un montón de cosas que no son cara reconocimiento de allí también, pero, puede estar seguro, que sí hace de reconocimiento facial.

Puede intentar biblioteca abierta MVG, Puede ser utilizado para múltiples interfaces también.

El siguiente paso sería Fisherfaces. Probarlo y comprobar si funcionan para usted. Aquí es una buena comparación.

No es realmente lo que estás buscando, pero puede ser útil para usted. algoritmos Detección de la cara / Computer Vision en MATLAB.

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