¿Qué necesito saber para crear un programa de reconocimiento facial? ¿Qué algoritmos y tecnologías debo usar?

Necesitas aprender muchas matemáticas interesantes detrás de las imágenes para hacer este trabajo. Aunque ahora muchas tecnologías y algoritmos avanzados han venido para lo mismo, pero generalmente cuando las personas comienzan con los conceptos básicos del procesamiento de imágenes, uno de los algoritmos clásicos que aprenden para el reconocimiento facial es el análisis de componentes principales (PCA). Una vez escribí un programa de reconocimiento facial para imágenes en escala de grises usando PCA en Python usando bibliotecas como numpy y scipy. Pero, obviamente, conocer directamente un algoritmo para el reconocimiento facial no tendría mucho sentido si no conoce los conceptos básicos de las imágenes, cómo se cambia su base, cuál es la importancia de una nueva base y algunos conceptos relacionados.
Entonces, para la parte de tecnología, la gente usa principalmente MATLAB o Python. Matlab es excelente, pero necesita comprar una licencia para usarlo mientras Python es de código abierto y no necesita perder ni un céntimo. Puedes elegir cualquiera.

¿Te refieres a crear un programa real que reconozca y, por ejemplo, circule las caras en las imágenes? ¿O te refieres a crear un algoritmo para el reconocimiento facial?

Si desea crear algún algoritmo, debe mirar el aprendizaje automático. El enfoque más simple (no tan eficiente) es usar una red neuronal básica (perceptrón). Un enfoque más avanzado es usar una red neuronal convolucional. Existen diferentes tipos de técnicas aplicables a la detección y reconocimiento de rostros basados ​​en el análisis de componentes principales, por ejemplo.

Para comprender cómo funciona el aprendizaje automático, debe conocer algunos análisis y álgebra lineal.

Si desea construir una aplicación real con algoritmos existentes, debe tomar la biblioteca OpenCV. Seguro que tienes que saber programar en C ++ o Python para usarlo.

Y en realidad hay una distinción entre detección de rostros y reconocimiento de rostros. Para el reconocimiento de rostros real, puede mirar algoritmos de detección de características y seguimiento de objetos.

Espero que ayude.

Tienes dos opciones:

1. Saber utilizar OpenCV o sus alternativas.

2. Aprender las matemáticas del procesamiento de imágenes como lo sugiere Siddharth Goel.