Dado que está construyendo un clasificador de rostros con el fin de autenticar imágenes de rostros (como parte de un sistema biométrico, supongo), la tarea que le interesa es la coincidencia de rostros (o la verificación de rostros), que es esencialmente el problema de averiguar si dos caras dadas pertenecen a la misma identidad o no. El resumen general de los pasos que se siguen para la tarea de verificación es el siguiente:
- Aprenda una representación (vector de características) para imágenes faciales. Idealmente, esto debería ser una representación discriminativa que sea capaz de distinguir entre caras que pertenecen a diferentes identidades. Aquí es donde entra en juego las redes neuronales / ML.
- Use una métrica de distancia (la norma L2 es la más común) sobre las representaciones aprendidas en (1) para comparar imágenes de caras. Esto servirá como una medida cuantitativa de la similitud entre dos caras dadas.
- Seleccione un umbral apropiado que separe caras similares y diferentes. Si la distancia L2 entre dos caras es menor que el umbral, las clasificamos como similares (identidad wrt). De lo contrario, son diferentes. La elección del umbral es principalmente una heurística que se decide sobre la base de sus datos.
Entonces, si presenta su sistema de autenticación biométrica con una imagen de la cara, procederá a generar la representación de la imagen de entrada. Luego, compárelo con las representaciones (precalculadas) de todas las caras en su base de datos y devuelva un conjunto clasificado de caras (e identidades asociadas) que coinciden (de acuerdo con el umbral predeterminado).
Ahora, para aprender representaciones, hay dos caminos que puede tomar. Puede decidir entrenar una red neuronal desde cero o puede usar algunas redes pre-entrenadas (solo el pase hacia adelante). Sugeriría hacer lo último. Puedes ver el modelo VGG-Face [1] del grupo de Andrew Zisserman en Oxford. Los modelos pre-entrenados para MatConvNet, Torch y Caffe están disponibles para descargar [2]. La red ha sido entrenada en ~ 2.6M imágenes de 2.6k identidades de celebridades. El flujo de trabajo general consiste en eliminar la capa Softmax y la última capa FC que genera los puntajes de probabilidad (no normalizados). Te quedará con otra capa FC. Puede usar la salida de 4096 dimensiones de esa capa como incrustación (vector de características) para cualquier cara de entrada dada.
- ¿Puede la inteligencia artificial poseer y gastar dinero?
- ¿Qué son los conjuntos de datos en el aprendizaje automático y cómo funcionan?
- En el aprendizaje por refuerzo, ¿cómo manejas un gran espacio de acción posible?
- ¿Hay algún recurso sobre cómo integrar la inteligencia artificial en los complementos de WordPress?
- ¿Completar el curso en línea TensorFlow me ayudará a conseguir un concierto en los campos del aprendizaje profundo / automático?
[1] Reconocimiento facial profundo, Parkhi et al., BMVC 2015
[2] Descriptor de rostro VGG