Expresiones faciales y bienestar emocional: un prototipo con deep learning

Un equipo de La Paz explora la clasificación de expresiones faciales con ResNet50. Presentamos el proceso y sus límites: clasificar imágenes no equivale a diagnosticar emociones.

Proyecto de aprendizaje compartido por la comunidad. El artículo documenta el equipo, el método y los resultados; no acredita que el prototipo esté listo para su uso fuera del entorno de aprendizaje.

Prototipo de clasificación de expresiones faciales

La Paz. Deep Learning. 2021

INTRODUCCIÓN

Este proyecto educativo de 2021 exploró la clasificación de expresiones faciales mediante aprendizaje profundo. El equipo propuso registrar las etiquetas producidas por un modelo mientras una persona observaba imágenes. La idea original se vinculó a la terapia icónica, pero el trabajo presentado no demuestra eficacia terapéutica ni capacidad para diagnosticar un trastorno.

Una expresión facial no permite conocer de forma fiable, por sí sola, el estado emocional de una persona. Las etiquetas del conjunto de datos son categorías de clasificación, no diagnósticos. Esta distinción es especialmente importante si se plantea usar el sistema con menores o en contextos de salud.

Revisión científica sobre expresiones faciales y emociones

DESCRIPCIÓN DEL PROBLEMA

El reto técnico consistía en procesar imágenes de una cámara, clasificar expresiones y guardar los resultados con una referencia temporal. Se buscaba explorar el registro automatizado, sin que ello validara la interpretación psicológica de las etiquetas.

OBJETIVO

Construir un prototipo que registre las categorías de expresión facial estimadas por el modelo. Cualquier posible aplicación clínica requeriría un estudio específico, consentimiento y supervisión profesional; el prototipo descrito no acredita esos requisitos.

DATASET

Se utilizó un conjunto de datos publicado por Jonathan Oheix en Kaggle, con 35.900 imágenes de expresiones faciales. Las imágenes muestran rostros en escala de grises, con un tamaño de 48 × 48 píxeles. El conjunto se divide en entrenamiento y validación y utiliza siete etiquetas: enfado, asco, miedo, alegría, neutralidad, tristeza y sorpresa.

SELECCIÓN DEL/LOS MODELOS

Elegimos ResNet50 tras comparar varias arquitecturas en cuanto a resultados, tiempo de entrenamiento y posibilidades de optimización. Fue la opción que mejor se ajustó a los recursos y objetivos del prototipo.

ResNet50 es una red neuronal convolucional de 50 capas. Puede partir de pesos preentrenados; en este proyecto trabajamos con el conjunto de imágenes descrito anteriormente.

Otras herramientas utilizadas en el proyecto:

Keras: utilizamos esta biblioteca de Python por su interfaz accesible para experimentar con redes neuronales. En este proyecto trabajamos con TensorFlow.

También utilizamos OpenCV y NumPy.

EVALUACIÓN DE MODELOS

Hicimos pruebas con los siguientes modelos:

-AlexNet: Esta arquitectura tiene relativamente pocas capas y ofreció resultados que el equipo consideró suficientes para una primera prueba.

-Face Recognizer: Llegamos a entrenar un modelo con este método, pero ejecutarlo en tiempo real consumía demasiados recursos para los dispositivos más sencillos que teníamos en mente.

-EfficientNet: Intentamos entrenar esta red durante tres épocas, pero no pudimos completar el proceso por el tiempo que requería.

-ResNet2: Esta variante presentó dificultades de entrenamiento: después de tres horas no había completado la primera época.

-ResNet50: Fue la red seleccionada para el prototipo. Completamos 100 épocas en una hora y 45 minutos utilizando una GPU de Google Colab.

ANÁLISIS DE RESULTADOS

La gráfica muestra la evolución de la exactitud (accuracy) durante las 100 épocas de entrenamiento de ResNet50.

Esta segunda gráfica muestra la función de pérdida del modelo.

CONCLUSIÓN Y RECOMENDACIONES

Recomendamos revisar las imágenes y sus etiquetas antes de entrenar. Una GPU local o la disponible en Google Colab puede facilitar el proceso. Ampliar el dataset con imágenes pertinentes y representativas podría ayudar, pero añadir más datos no garantiza por sí solo una mejora: hay que comprobarla con datos de evaluación independientes.

La comparación permitió escoger un modelo para el prototipo de clasificación. El siguiente paso sería evaluar los errores, la representatividad de los datos y los límites de interpretación antes de plantear cualquier uso fuera del ejercicio educativo.

Presentación del proyecto: DemoDay

¡Más inteligencia artificial!

Saturdays.AI acerca la IA a más personas a través del aprendizaje en comunidad y de proyectos con impacto social. Nuestro lema es AI4ALL IS AI4GOOD.

Explora los cursos disponibles

Conoce la comunidad de Saturdays.AI

Autoría

Alejandra Rodrigo

DE LA CURIOSIDAD A LA PRÁCTICA

Tu próximo paso empieza aquí.

Lleva una idea a la práctica o encuentra personas con las que seguir aprendiendo.

Recibe nuevas historias en tu lector RSS ↗

Una historia de la comunidad Saturdays.AI. Publicada originalmente el 13 oct 2021.

← Más historias de la comunidad