La detección y el reconocimiento de la cara son importantes por muchas razones y, por lo tanto, la mayoría de los algoritmos de visión por computadora están dedicados a la tarea de análisis y reconocimiento de características faciales, como la identificación de la edad, el género y las emociones de diferentes caras a pesar de las variaciones en las apariencias. Esta es un área abierta de investigación y el aprendizaje profundo, una vez más, actualmente está realizando enfoques anteriores en términos de confiabilidad y precisión.
Una cosa a tener en cuenta aquí es que, para la mayoría de los algoritmos de detección de rostros, los rostros no se rastrean, pero el algoritmo de detección se ejecuta en cada cuadro desde un video o una cámara de transmisión. El truco consiste en tener algoritmos computacionalmente eficientes repetidos 30 veces por segundo para una transmisión de video de 30 cuadros por segundo. El flujo óptico y los algoritmos de movimiento o seguimiento rara vez se usan en la detección de rostros en videos.
El enfoque de detección de rostros Viola-Jones es probablemente el más rápido hasta la fecha, todavía se usa en cámaras digitales para detectar rostros para cosas como el enfoque automático y las adaptaciones de iluminación para que los rostros sean visibles. El otro enfoque que usa patrones binarios locales (LBP) también se basa en el algoritmo adboost para la selección de características. El problema con estos enfoques es la gran cantidad de falsos positivos y se limitan principalmente a la detección de rostros y al reconocimiento, aunque para aplicaciones básicas esto no es un problema.
- ¿Cuáles son los mejores temas de investigación relacionados con la ciencia de datos?
- ¿Qué importancia tienen las becas para estudiantes graduados?
- ¿Con qué frecuencia los informáticos revisan lo que han aprendido en la universidad?
- ¿Debería todo científico de la computación comenzar a trabajar en el aprendizaje automático porque una vez que producimos máquinas que pueden pensar como humanos, todo lo demás puede hacerse mediante máquinas?
- ¿Cuál es la diferencia entre computer graphics y computer vision?
Los enfoques más recientes para la detección y reconocimiento de rostros se basan en la detección de puntos de referencia faciales, es decir, nariz, boca, ojo derecho y ojo izquierdo. Esto lo convierte en una tubería de detección robusta para caras que no están alineadas correctamente, como las caras de perfil parcial. Sin embargo, esto no es muy robusto y puede verse afectado por cambios severos de postura, pero este enfoque es mucho mejor que un enfoque de ventana deslizante única. Lo mejor aquí es entrenar varias redes neuronales convolucionales (CNN) para detectar diferentes puntos de referencia faciales y combinar los resultados en la red de salida.
El otro enfoque es probablemente el mejor y se basa en una combinación novedosa de emparejamiento / alineación 3D y aprendizaje profundo. Algunos algoritmos sofisticados convierten la cara en un modelo 3D y, basándose en el modelo 3D, el algoritmo realiza una gran cantidad de normalización, como la normalización de la postura de la cara a través de la deformación afinada por partes antes de alimentar el resultado a una red neuronal profunda de nueve capas que extrae Una representación facial más profunda para un emparejamiento confiable.
En conclusión, ninguno de estos enfoques es la percepción facial perfecta o cercana al nivel humano, aunque deepFace afirma estar cerrando la brecha. El uso de redes neuronales profundas para la tarea de detección y reconocimiento de rostros podría ser lento en la mayoría del hardware, especialmente en los dispositivos móviles, por lo que el enfoque Viola-Jones podría emplearse para la tarea de detección de rostros y solo invocar los clasificadores de redes neuronales profundas en las ventanas de detección.
Espero que esto ayude.
Referencias
- DeepFace: cerrando la brecha en el rendimiento a nivel humano en la verificación facial
- Marco de detección de objetos Viola-Jones
- La magia detrás de How-Old.net
- Reconocimiento facial con patrones binarios locales