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.

Herramienta para el control del TIE (Trastorno de Inestabilidad Emocional)

Este archivo incluye traducciones automáticas. El audio, el vídeo y el texto de las imágenes conservan su idioma original.

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

Debido a que existen diversos modelos en el campo del Deep Learning, se optó por el modelo de ResNet50, esto debido a que luego de un análisis de modelos en el que se tomó en cuenta el tiempo que llevaba entrenarlos, su optimización, entre otros aspectos, fue el que tuvo mejores resultados entre todas las variantes que se tomaron en cuenta.

El ResNet50 se utilizó debido a que es una red neuronal convolucional que posee 50 capas de profundidad. Esta puede cargar una versión previamente entrenada de la red, en el caso de este proyecto se utilizó la database mencionada anteriormente.

Otras herramientas utilizadas en el proyecto:

Keras: Se uso esta biblioteca de código abierto escrita en Python, ya que se basa principalmente en facilitar un proceso de experimentación rápida, además como es una interfaz de uso intuitivo , nos permitio acceder a frameworks de aprendizaje automático, en este caso se hizo uso de TensorFlow.

Además para completar todos los aspectos del proyecto se utilizó OpenCv y Numpy

EVALUACIÓN DE MODELOS

Se hizo pruebas con los siguientes modelos:

-AlexNet: Esta red es de las más populares, pero tiene pocas capas e igualmente se obtuvo una precisión suficiente.

-Face Recognizer: Se llegó a entrar un modelo con este método pero al momento de querer levantar el modelo para evaluarlo a tiempo real este consumía demasiados recursos de la computadora, por lo que no era apropiado si se quería usar en dispositivos más simples.

-EfficientNet: Esta red se trató de entrenar con tres épocas pero no se logró debido al largo periodo de entrenamiento que requería.

-ResNet2: Esta red presentó dificultades al comienzo de su entrenamiento, siendo el caso que no pasó de la etapa número uno, habiendo transcurrido 3 horas.

-ResNet50: Esta red fue la que usamos en el proyecto ya que pudimos entrenar 100 épocas utilizando la GPU de colaboratory y el tiempo utilizado fue de 1hora 45 minutos.

ANÁLISIS DE RESULTADOS

En la gráfica que se muestra corresponde al accuracy que se logró luego de haberlo entrenado con 100 etapas, debido a esto y a la ResNet, se puedo lograr estos resultados

A diferencia de la anterior gráfica, esta corresponde al loss del modelo

CONCLUSIÓN Y RECOMENDACIONES

Se recomienda verificar el dataset correctamente antes de ingresar a la red, ya que muchos de ellos vienen con imágenes que no corresponden. Igualmente en la medida de posible se recomienda entrenar con una GPU física, si no es el caso se recomienda utilizar la GPU de colaboratory. Si es el caso utilizar un dataset con más imágenes, ya que esto elevará la precisión del entrenamiento.

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!

La misión de Saturdays.ai es hacer la inteligencia artificial más accesible (#ai4all) a la vez que se realizan proyectos para el bien (#ai4good). Los talleres que realizamos forman parte del programa AI 4 Schools para que cualquier persona “aprenda haciendo” IA sin importar su especialidad o nivel de partida.

Infórmate de nuestro master sobre inteligencia artificial en https://saturdays.ai/master-ia-online/

Si quieres aprender más inteligencia artificial únete a nuestra comunidad en este enlace o visítanos en nuestra web www.saturdays.ai ¡te esperamos!

WRITTEN BY

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