Inteligencia Artificial
DeepFace para reconocimiento facial avanzado

El reconocimiento facial ha sido un campo de tendencia en IA y ML desde hace varios años, y las implicaciones culturales y sociales generalizadas del reconocimiento facial son de gran alcance. Sin embargo, existe una brecha de rendimiento entre los sistemas visuales humanos y las máquinas que actualmente limita las aplicaciones del reconocimiento facial.
Para superar el búfer creado por la brecha de rendimiento y ofrecer precisión a nivel humano, Meta presentó cara profunda, un marco de reconocimiento facial. El modelo DeepFace se entrena en un gran conjunto de datos faciales que difiere significativamente de los conjuntos de datos utilizados para construir los puntos de referencia de evaluación y tiene el potencial de superar los marcos existentes con adaptaciones mínimas. Además, el marco DeepFace produce representaciones faciales compactas en comparación con otros sistemas que producen miles de características de apariencia facial.
El marco DeepFace propuesto utiliza Aprendizaje profundo entrenar en un gran conjunto de datos que consta de diferentes formas de datos, incluidas imágenes, videos y gráficos. La arquitectura de red DeepFace supone que una vez completada la alineación, la ubicación de cada región facial se fija a nivel de píxel. Por lo tanto, es posible utilizar los valores RGB de píxeles sin procesar sin utilizar múltiples capas convolucionales como se hace en otros marcos.
La cartera convencional de marcos modernos de reconocimiento facial comprende cuatro etapas: detección, alineación, representación y clasificación. El marco DeepFace emplea modelado facial 3D explícito para aplicar una transformación por partes y utiliza una red neuronal profunda de nueve capas para derivar una representación facial. El marco DeepFace intenta hacer las siguientes contribuciones
- Desarrolle una arquitectura DNN o red neuronal profunda eficaz que pueda aprovechar un gran conjunto de datos para crear una representación facial que pueda generalizarse a otros conjuntos de datos.
- Utilice modelado 3D explícito para desarrollar un sistema de alineación facial eficaz.
Comprender el funcionamiento del modelo DeepFace
Alineación facial
Face Alignment es una técnica que rota la imagen de una persona según el ángulo de los ojos. La alineación facial es una práctica popular que se utiliza para preprocesar datos para reconocimiento facialy los conjuntos de datos alineados facialmente ayudan a mejorar la precisión de los algoritmos de reconocimiento al proporcionar una entrada normalizada. Sin embargo, alinear caras sin restricciones puede ser una tarea desafiante debido a los múltiples factores involucrados, como expresiones no rígidas, posturas corporales y más. Varias técnicas de alineación sofisticadas, como el uso de un modelo 3D analítico de la cara o la búsqueda de puntos fiduciales a partir de un conjunto de datos externo, podrían permitir a los desarrolladores superar los desafíos.
Aunque la alineación es el método más popular para lidiar con la verificación y el reconocimiento facial sin restricciones, no existe una solución perfecta por el momento. También se utilizan modelos 3D, pero su popularidad ha disminuido significativamente en los últimos años, especialmente cuando se trabaja en un entorno sin restricciones. Sin embargo, debido a que los rostros humanos son objetos 3D, podría ser el enfoque correcto si se usa correctamente. El modelo DeepFace utiliza un sistema que utiliza puntos fiduciales para crear un modelado 3D analítico del rostro. Este modelado 3D se utiliza luego para deformar un recorte facial a un modo frontal 3D.
Además, al igual que la mayoría de las prácticas de alineación, la alineación de DeepFace también utiliza detectores de puntos fiduciales para dirigir el proceso de alineación. Aunque el modelo DeepFace utiliza un detector puntual simple, lo aplica en varias iteraciones para refinar el resultado. Un regresor de vector de soporte o SVR entrenado para perjudicar las configuraciones de puntos extrae los puntos fiduciales de un descriptor de imagen en cada iteración. El descriptor de imágenes de DeepFace se basa en histogramas LBP aunque también considera otras características.
Alineación 2D
El sitio cara profunda El modelo inicia el proceso de alineación detectando seis puntos fiduciales dentro del cultivo de detección, centrados en la mitad de los ojos, las ubicaciones de la boca y la punta de la nariz. Se utilizan para rotar, escalar y traducir la imagen en seis ubicaciones de anclaje e iterar sobre la imagen deformada hasta que no haya cambios visibles. La transformación agregada luego genera una corporación alineada en 2D. El método de alineación es bastante similar al utilizado en LFW-a y se ha utilizado a lo largo de los años en un intento de aumentar la precisión del modelo.
Alineación 3D
Para alinear caras con rotaciones fuera del plano, el marco DeepFace utiliza un modelo de forma 3D genérico y registra una cámara 3D que se puede usar para ajustar el cuerpo alineado en 2D a la forma 3D en su plano de imagen. Como resultado, el modelo genera la versión alineada en 3D del cuerpo, y se logra localizando 67 puntos fiduciales adicionales en el cuerpo alineado en 2D utilizando un segundo SVR o regresor de vector de soporte.
Luego, el modelo coloca manualmente los 67 puntos de anclaje en la forma 3D y así puede lograr una correspondencia total entre las referencias 3D y sus puntos fiduciales correspondientes. En el siguiente paso, se agrega una cámara afín de 3D a 2D utilizando una solución de mínimos cuadrados generalizados a los sistemas lineales con una matriz de covarianza conocida que minimiza ciertas pérdidas.
Frontalización
Dado que no se modelan deformaciones no rígidas ni proyecciones en perspectiva completas, la cámara 3D a 2D montada sirve sólo como aproximación. En un intento de reducir la corrupción de importantes factores portadores de identidad hasta la deformación final, el modelo DeepFace agrega los residuos correspondientes a los componentes xy de cada punto fiduciario de referencia. Tal relajación con el fin de deformar la imagen 2D con menos distorsiones de la identidad es plausible, y sin ella, las caras se habrían deformado en la misma forma en 3D, y se habrían perdido importantes factores discriminativos en el proceso.
Finalmente, el modelo logra la frontalización mediante el uso de una transformación afín por partes dirigida por la triangulación de Delaunay derivada de 67 puntos fiduciales.

- Cara detectada con 6 puntos fiduciales.
- Corporación inducida alineada en 2D.
- 67 puntos fiduciales en la corporación alineada en 2D.
- Forma de referencia 3D transformada en una imagen corporativa alineada en 2D.
- Visibilidad del triángulo respecto a la cámara 3D-2D.
- 67 puntos fiduciales inducidos por el modelo 3D.
- Versión alineada en 3D de la corp final.
- Nueva vista generada por el modelo 3D.
Representación
Con un aumento en la cantidad de datos de capacitación, los métodos basados en el aprendizaje han demostrado ser más eficientes y precisos en comparación con las funciones de ingeniería, principalmente porque los métodos basados en el aprendizaje pueden descubrir y optimizar funciones para una tarea específica.
Arquitectura y formación DNN
DeepFace DNN está entrenado en una tarea de reconocimiento facial de múltiples clases que clasifica la identidad de una imagen facial.
La figura anterior representa la arquitectura general del modelo DeepFace. El modelo tiene una capa convolucional (C1) con 32 filtros de tamaño 11x11x3 que se alimenta con una imagen RGB de 3 canales alineada en 3D de tamaño 152×152 píxeles, y da como resultado 32 mapas de características. Estos mapas de características luego se envían a una capa Max Pooling o M2 que toma el máximo en vecindarios espaciales de 3×3 y tiene un paso de 2, por separado para cada canal. A continuación hay otra capa convolucional (C3) que comprende 16 filtros cada uno de tamaño 9x9x16. El objetivo principal de estas capas es extraer características de bajo nivel como texturas y bordes simples. La ventaja de utilizar capas Max Pooling es que hace que la salida generada por las capas convolucionales sea más robusta para las traducciones locales y, cuando se aplican a imágenes de rostros alineadas, hacen que la red sea mucho más robusta para los errores de registro a pequeña escala.
Múltiples niveles de agrupación hacen que la red sea más robusta en determinadas situaciones, pero también hace que la red pierda información sobre la posición precisa de las microtexturas y las estructuras faciales detalladas. Para evitar que la red pierda información, el modelo DeepFace utiliza una capa de agrupación máxima solo con la primera capa convolucional. Luego, el modelo interpreta estas capas como un paso de preprocesamiento adaptativo de front-end. Aunque hacen la mayor parte del cálculo, tienen parámetros limitados por sí solos y simplemente expanden la entrada a un conjunto de características locales.
Las siguientes capas L4, L5 y L6 están conectadas localmente y, al igual que una capa convolucional, aplican un banco de filtros donde cada ubicación en el mapa de características aprende un conjunto único de filtros. Como las diferentes regiones de una imagen alineada tienen estadísticas locales diferentes, no se puede cumplir el supuesto de estacionariedad espacial. Por ejemplo, el área entre las cejas y los ojos tiene una mayor capacidad de discriminación en comparación con el área entre la boca y la nariz. El uso de capas leales afecta la cantidad de parámetros sujetos a entrenamiento, pero no afecta la carga computacional durante la extracción de características.
En primer lugar, el modelo DeepFace utiliza tres capas solo porque tiene una gran cantidad de datos de entrenamiento bien etiquetados. El uso de capas conectadas localmente puede justificarse aún más, ya que cada unidad de salida de una capa conectada localmente puede verse afectada por una gran cantidad de datos de entrada.
Finalmente, las capas superiores están completamente conectadas y cada unidad de salida está conectada a todas las entradas. Las dos capas pueden capturar las correlaciones entre características capturadas en diferentes partes de las imágenes de la cara, como la posición y forma de la boca, y la posición y forma de los ojos. La red utilizará la salida de la primera capa completamente conectada (F7) como su vector de características de representación de caras sin formato. Luego, el modelo alimentará la salida de la última capa completamente conectada (F8) a un softmax de K-way que produce una distribución sobre etiquetas de clase.
Conjuntos de datos
El modelo DeepFace utiliza una combinación de conjuntos de datos, siendo el conjunto de datos Social Face Classification o SFC el principal. Además, el modelo DeepFace también utiliza el conjunto de datos LFW y el conjunto de datos YTF.
Conjunto de datos SFC
El conjunto de datos SFC se obtiene de una colección de imágenes de Facebook y consta de 4.4 millones de imágenes etiquetadas de 4,030 personas, cada una de las cuales tiene entre 800 y 1200 caras. El 5 % más reciente de las imágenes faciales del conjunto de datos SFC de cada identidad se omiten con fines de prueba.
Conjunto de datos LFW
El conjunto de datos de LFW consta de 13,323 fotografías de más de cinco mil celebridades que luego se dividen en 6,000 pares de rostros en 10 divisiones.
Conjunto de datos YTF
El conjunto de datos de YTF consta de 3,425 vídeos de 1,595 sujetos y es un subconjunto de las celebridades del conjunto de datos de LFW.
Resultados
Sin frontalización y cuando se utiliza sólo la alineación 2D, el modelo alcanza una puntuación de precisión de sólo alrededor del 94.3%. Cuando el modelo utiliza el cuerpo central de detección de rostros, no utiliza ninguna alineación y, en este caso, el modelo arroja una puntuación de precisión del 87.9 % porque algunas partes de la región facial pueden salirse del cuerpo central. Para evaluar la capacidad discriminativa de la representación facial de forma aislada, el modelo sigue la configuración de aprendizaje no supervisado para comparar el producto interno de las características normalizadas. Aumenta la precisión media del modelo al 95.92%.

El modelo anterior compara el rendimiento del modelo DeepFace con otros modelos de reconocimiento facial de última generación.

La imagen de arriba muestra las curvas ROC en el conjunto de datos.
Conclusión
Idealmente, un clasificador de rostros podrá reconocer rostros con la precisión de un humano y podrá devolver una alta precisión independientemente de la calidad de la imagen, la pose, la expresión o la iluminación. Además, un marco de reconocimiento facial ideal podrá aplicarse a una variedad de aplicaciones con pocas o ninguna modificación. Aunque DeepFace es uno de los marcos de reconocimiento facial más avanzados y eficientes actualmente, no es perfecto y es posible que no pueda ofrecer resultados precisos en determinadas situaciones. Pero el cara profunda El marco es un hito importante en la industria del reconocimiento facial y cierra la brecha de rendimiento mediante el uso de una poderosa técnica de aprendizaje métrico, y continuará volviéndose más eficiente con el tiempo.










