Estoy buscando una biblioteca de reconocimiento facial gratuita para un proyecto universitario. No estoy buscando detección de rostros . Estoy buscando un reconocimiento real. Eso significa encontrar imágenes que contengan caras específicas o bibliotecas que calculen distancias entre caras específicas.
Actualmente estoy usando OpenCV para detectar las caras y un algoritmo de Eigenface aproximado para el reconocimiento. Pero pensé que debería haber algo ahí fuera con mejor rendimiento que un algoritmo de Eigenface auto escrito. No estoy hablando de la velocidad como rendimiento, estoy buscando una biblioteca con mejores resultados que un enfoque simple de Eigenface.
Eché un vistazo a Faint , 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 así. Lo mejor sería si se puede ejecutar en una máquina con Windows porque estoy confiando en algún código externo solo de Windows en este momento.
Respuestas:
Aquí hay una lista de proveedores comerciales que ofrecen paquetes estándar para reconocimiento facial que se ejecutan en Windows:
Cybula - Información sobre su SDK de reconocimiento facial . Esta es una empresa fundada por un profesor universitario y, como tal, su sitio web parece poco profesional. No hay información de precios o demostración que pueda descargar. Deberá contactarlos para obtener información sobre precios.
NeuroTechnology : información sobre su SDK de reconocimiento facial . Esta compañía tiene información de precios por adelantado , así como una prueba real de 30 días de su SDK .
Reconocimiento de patrones de Pittsburgh : ( adquirido por Google ) Información sobre su SDK de reconocimiento y seguimiento facial . Las demostraciones que proporcionan le ayudan a evaluar su tecnología pero no su SDSK. Deberá contactarlos para obtener información sobre precios.
Visión sensible : información en su SDK . Su sitio le permite obtener fácilmente una cotización de precios y también puede solicitar un kit de evaluación que lo ayudará a evaluar su tecnología.
fuente
Actualizar
OpenCV 2.4.2 ahora viene con el nuevo cv :: FaceRecognizer . Consulte la documentación muy detallada en:
Publicación original
He lanzado libfacerec , una biblioteca moderna de reconocimiento facial para la API OpenCV C ++ (licencia BSD). libfacerec no tiene dependencias adicionales e implementa el método Eigenfaces, el método Fisherfaces y los histogramas de patrones binarios locales. Partes de la biblioteca se incluirán en OpenCV 2.4.
La última revisión de libfacerec está disponible en:
La biblioteca fue escrita para OpenCV 2.3.1 con el próximo OpenCV 2.4 en mente, por lo que no soporto las versiones de OpenCV anteriores a 2.3.1. Este proyecto viene como un proyecto CMake con una API bien documentada, también hay un tutorial sobre clasificación de género. Puede ver una versión HTML de la documentación en:
Si desea comprender cómo funcionan esos algoritmos, puede leer mi Guía para el reconocimiento facial (incluye ejemplos de Python y GNU Octave / MATLAB):
También hay una implementación Python y GNU Octave / MATLAB de los algoritmos en mi repositorio github . Ambos proyectos en facerec también incluyen varios métodos de validación cruzada para evaluar algoritmos:
Las publicaciones relevantes son:
fuente
autenticación de cara de pam un módulo PAM para autenticación de cara: pero requeriría algo de trabajo para obtener lo que desea. Una prueba rápida mostró que la tasa de reconocimiento no es tan buena como la de VeriLook de NeuroTechnology.
Malic es otro software de reconocimiento facial de código abierto, que utiliza descriptores Gabor Wavelet. Pero la última actualización de la fuente tiene 3 años.
Desde el sitio web: " Malic es un software de reconocimiento facial de código abierto que utiliza wavelet gabor. Es un sistema de reconocimiento facial en tiempo real basado en Malib y CSU Face Identification Evaluation System (csuFaceIdEval). Utiliza la biblioteca Malib para el procesamiento de imágenes en tiempo real y algunos de csuFaceIdEval para face reconocimiento " .
Además, esto podría ser de interés:
gaborboosting : un programa científico aplicado en reconocimiento facial con algoritmo Gabor Wavelet y AdaBoost
Biblioteca de extracción de características: FELib se refiere a "Anotación facial por discriminadores transductores de Kernel Fisher"
fuente
Creo que Eigenface , que ya está haciendo, es el camino a seguir si desea calcular la distancia entre caras. Puede probar diferentes enfoques como Support Vector Machine o Hidden Markov Model . Encontré una página que enumera los algoritmos principales que podrían usarse para el reconocimiento facial: la página de inicio de reconocimiento facial .
Además, cuando dice "mejor rendimiento", ¿se refiere a velocidad o precisión? ¿Qué tipo de problema tiene? ¿Qué tan variados son los datos? ¿Son en su mayoría cara frontal o incluyen perfiles?
fuente
Si su proyecto está en una película o TV, o cualquier cosa que tenga un guión, parece que definitivamente quiere ver el trabajo de Mark Everingham et al. . El software está disponible , al igual que los resultados de un episodio de Buffy .
fuente
Deberías mirar http://libccv.org/
Es bastante nuevo, pero proporciona una API gratuita de alto nivel de código abierto para la detección de rostros.
(... y, me atrevo a decir, es bastante increíble)
Editar: Vale la pena señalar también, que esta es una de las pocas bibliotecas que NO depende de opencv, y solo para patadas, aquí hay una copia del código para la detección de rostros fuera de la página de documentación, para darle una idea de lo que está involucrado:
fuente
Sé que ha pasado un tiempo, pero para cualquier persona interesada, existe el proyecto Faint , que ha incluido muchas de estas características (detección, reconocimiento, etc.) en un paquete de software agradable.
fuente
Estamos usando OpenCV . También tiene muchas cosas que no son de reconocimiento facial, pero, tenga la seguridad de que sí hace reconocimiento facial.
fuente
Puede intentar abrir la biblioteca MVG, también se puede usar para múltiples interfaces.
fuente
El siguiente paso sería FisherFaces. Pruébalo y comprueba si funcionan para ti. Aquí hay una buena comparación.
fuente
No es realmente lo que estás buscando, pero puede ser útil para ti. Algoritmos de detección de rostros / visión por computadora en MATLAB.
fuente