¿Cuál es más eficiente para los algoritmos de reconocimiento facial, PCA o LDA?

El método PCA se aplicó en el primer método exitoso de reconocimiento facial: Eigenfaces. Sin embargo, actualmente se usan principalmente para la reducción de dimensiones y, al contrario de algunas respuestas, todavía se usan mucho. La pregunta principal aquí es cómo desea separar nuestros datos, maximizando la variabilidad (PCA) o maximizando la distancia entre clases.

Si te tomas muy en serio eso, un buen método basado en LDA es la Formulación Bayesiana Conjunta, propuesta en este gran artículo de Microsoft:
http://www.msr-waypoint.com/pubs…

El objetivo de ellos es crear caras agrupadas de cada persona que estén distanciadas entre sí, minimizando así la distancia dentro de los descriptores de cada persona y maximizando las distancias entre clases.

Hice una publicación sobre eso en mi blog también, en la que te gustaría echar un vistazo:
Reducción de dimensionalidad en grandes conjuntos de datos.

Finalmente, para responderle más directamente, generalmente se realiza un PCA antes de un LDA / PLS y el LDA / PLS es mucho mejor para separar los datos en el caso del reconocimiento facial.

Ambos son ampliamente conocidos y utilizados, aunque antiguos, como enfoques de reconocimiento facial. PCA le ofrece el algoritmo Eigenfaces, mientras que LDA le ofrece Fisherfaces (ambos están en OpenCV, por lo tanto, afirmo que se usa ampliamente). Intentamos ambos en una tarea de reconocimiento facial de reconocer personas en un programa de video (por ejemplo, comedias de situación). Ambos fallan gravemente cuando entrenas usando caras en una escena e intentas reconocer a la misma persona en otras imágenes. Pero ese es un problema difícil bien conocido para el reconocimiento facial: reconocimiento bajo variaciones de iluminación, pose, ángulo, expresión facial, etc. Eigenfaces y Fisherfaces funcionan bien solo bajo condiciones controladas de iluminación, pose, etc., porque dependen en gran medida de una correspondencia de píxel por píxel entre las imágenes de la cara que se van a combinar.

Pero si te refieres a la complejidad computacional cuando dices “eficiente”, no sé demasiado sobre eso. Supuse que querías decir “efectividad” en tu pregunta.

Ninguno de los dos es adecuado para el reconocimiento facial.
Mejor intente la red neuronal profunda con convoluciones.

cuda-convnet2 – Redes neuronales convolucionales rápidas en C ++ / CUDA – Google Project Hosting u OpenCV podría ser un buen comienzo.

More Interesting

¿En qué se diferencia exactamente la generación del lenguaje natural de la comprensión del lenguaje natural?

¿Pueden proporcionarme un código para la predicción de palabras con word2vec?

¿Alguien usa alguna vez una red neuronal media de capa softmax en lugar de al final?

¿Qué tan importante fue el Premio Netflix para el área de Sistemas de recomendación?

¿Cuál es el mejor marco de minería de datos?

¿Cuál es una explicación intuitiva de lo que es la actualización de gradiente proyectada?

¿Qué algoritmo de aprendizaje automático puede dar la mejor solución para la clasificación no lineal?

¿Cómo puedo diseñar una gran red neuronal?

¿Cuál es la diferencia entre un sistema recomendado basado en la utilidad del sistema y un sistema recomendado basado en el contenido del sistema?

¿Cuáles son las mejores mejores bibliotecas para la clasificación? ¿Cómo se comparan entre sí?

¿Qué cursos debería tomar para especializarse en aprendizaje automático, ciencia de datos e IA como estudiante de MS CS en USC?

Cómo visualizar características de alto nivel en una red neuronal convolucional profunda

¿Cuáles son los posibles remedios si está atascado en la comprensión de la parte técnica de un trabajo de investigación de STEM?

¿Cuáles son las relaciones entre el aprendizaje automático, el aprendizaje profundo, el aprendizaje supervisado y el aprendizaje no supervisado?

¿Cuáles son las configuraciones adecuadas para la agrupación de documentos con K-means?