scieee AI-readable full text Open interactive document viewer

Explicabilidad aplicada a modelos de reconocimiento de emociones en imágenes

García Viana, Javier

Abstract

Con la popularización y el rápido crecimiento de la Inteligencia Artificial, algunos modelos de aprendizaje automático, en especial de aprendizaje supervisado, están siendo usados para sistematizar el proceso de detección de emociones en imágenes. Debido a que el enfoque es relativamente nuevo, en este trabajo se pretende explorar las posibilidades y analizar la precisión de estos modelos para finalmente determinar qué combinación de características conlleva a una mejor precisión por parte de los modelos. Aparte de esto, el problema al que se enfrentan a menudo aquellas personas que tratan con estos modelos es, a no ser capaces de explicar la atribución de emociones distintas para imágenes de entrada parecidas. Por este motivo, en este trabajo se pretende que los modelos muestren, mediante algoritmos de explicabilidad IA, las regiones de las imágenes que son decisivas en las predicciones de emociones para poder así explicar las decisiones tomadas por los modelos y dar a conocer los beneficios de aplicar algoritmos de explicabilidad.

Full text

EXPLICABILIDAD APLICADA A MODELOS DE RECONOCIMIENTO DE EMOCIONES EN IMÁGENES EXPLAINABILITY APPLIED TO MODELS OF EMOTION RECOGNITION IN IMAGES TRABAJO FIN DE GRADO CURSO 2023-2024 AUTOR JAVIER GARCÍA VIANA DIRECTORES BELÉN DÍAZ AGUDO Y JUAN ANTONIO RECIO GARCÍA GRADO EN INGENIERÍA INFORMÁTICA FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID EXPLICABILIDAD APLICADA A MODELOS DE RECONOCIMIENTO DE EMOCIONES EN IMÁGENES EXPLAINABILITY APPLIED TO MODELS OF EMOTION RECOGNITION IN IMAGES TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA AUTOR JAVIER GARCÍA VIANA DIRECTORES BELÉN DÍAZ AGUDO Y JUAN ANTONIO RECIO GARCÍA CONVOCATORIA: JUNIO 2024 GRADO EN INGENIERÍA INFORMÁTICA FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID 24 DE MAYO DE 2024 III DEDICATORIA A mis padres, abuelos y hermanos. V AGRADECIMIENTOS A mis compañeros de clase, por los momentos vividos y por ayudarme siempre. VII RESUMEN Con la popularización y el rápido crecimiento de la Inteligencia Artificial, algunos modelos de aprendizaje automático, en especial de aprendizaje supervisado, están siendo usados para sistematizar el proceso de detección de emociones en imágenes. Debido a que el enfoque es relativamente nuevo, en este trabajo se pretende explorar las posibilidades y analizar la precisión de estos modelos para finalmente determinar qué combinación de características conlleva a una mejor precisión por parte de los modelos. Aparte de esto, el problema al que se enfrentan a menudo aquellas personas que tratan con estos modelos es, a no ser capaces de explicar la atribución de emociones distintas para imágenes de entrada parecidas. Por este motivo, en este trabajo se pretende que los modelos muestren, mediante algoritmos de explicabilidad IA, las regiones de las imágenes que son decisivas en las predicciones de emociones para poder así explicar las decisiones tomadas por los modelos y dar a conocer los beneficios de aplicar algoritmos de explicabilidad. Palabras clave Explicabilidad, aprendizaje supervisado, imágenes, detección, emociones, interpretación de resultados. XV Tabla 11.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “angry” para el problema de clasificación de siete emociones .............50 Tabla 12.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “disgust” para el problema de clasificación de siete emociones ............52 Tabla 13.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “fear” para el problema de clasificación de siete emociones ................53 Tabla 14.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “happy” para el problema de clasificación de siete emociones ............54 Tabla 15.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “neutral” para el problema de clasificación de siete emociones ...........55 Tabla 16.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “sad” para el problema de clasificación de siete emociones .................57 Tabla 17.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “surprise” para el problema de clasificación de siete emociones ...........58 Tabla 18.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “happy” para el problema de clasificación de tres emociones .......................................................................................................................60 Tabla 19.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “angry” para el problema de clasificación de tres emociones .......................................................................................................................61 Tabla 20.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “sad” para el problema de clasificación de tres emociones .......................................................................................................................62 Tabla 21.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “angry” para el problema de clasificación de siete emociones .......................................................................................................................63 Tabla 22.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “disgust” para el problema de clasificación de siete emociones .......................................................................................................................64 XVI Tabla 23.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “fear” para el problema de clasificación de siete emociones .......................................................................................................................64 Tabla 24.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “happy” para el problema de clasificación de siete emociones .......................................................................................................................65 Tabla 25.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “neutral” para el problema de clasificación de siete emociones .......................................................................................................................66 Tabla 26.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “sad” para el problema de clasificación de siete emociones .......................................................................................................................67 Tabla 27.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase ”surprise” para el problema de clasificación de siete emociones .......................................................................................................................68 Tabla 28.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “happy” para el problema de clasificación de tres emociones .......................................................................................................................69 Tabla 29.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “angry” para el problema de clasificación de tres emociones .......................................................................................................................71 Tabla 30.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “sad” para el problema de clasificación de tres emociones .......................................................................................................................71 Tabla 31.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “angry” para el problema de clasificación de siete emociones .......................................................................................................................72 XVII Tabla 32.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “disgust” para el problema de clasificación de siete emociones .......................................................................................................................73 Tabla 33.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “fear” para el problema de clasificación de siete emociones .......................................................................................................................74 Tabla 34.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “happy” para el problema de clasificación de siete emociones .......................................................................................................................75 Tabla 35.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “neutral” para el problema de clasificación de siete emociones .......................................................................................................................76 Tabla 36.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “sad” para el problema de clasificación de siete emociones .......................................................................................................................77 Tabla 37.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “surprise” para el problema de clasificación de siete emociones .......................................................................................................................78 1 Capítulo 1 - Introducción 1.1 Motivación Desde el punto de vista computacional, una imagen es una matriz de números que representan tonos de colores o una escala de grises. A partir de la representación que los píxeles ofrecen, en ciertos casos es posible extraer relaciones significativas presentes entre un grupo de ellos, que hacen que varias imágenes puedan estar relacionadas entre sí, ya que hay patrones recurrentes compartidos. Estos patrones pueden ser detectados mediante modelos de aprendizaje supervisado del campo del aprendizaje automático (AA) de la inteligencia artificial. Existen diversos tipos de modelos que, tras buscar patrones sobre un conjunto de imágenes de entrada y sus respectivas categorías durante el proceso de entrenamiento, consiguen clasificar un conjunto de imágenes entre las distintas categorías establecidas. Ciertamente, muchas veces estos patrones y características detectadas son invisibles a los ojos y pasan desapercibidos por aquellas personas que habitualmente usan los modelos para realizar una clasificación de un conjunto de imágenes en varias categorías, ya que muchos de los modelos más usados se limitan a ofrecer, dada una imagen de entrada, la predicción de la categoría atribuida, sin mostrar las regiones de la imagen por las que ha decidido asociarla junto a imágenes de una determinada categoría u otra. 1.2 Objetivos Se pretende realizar un estudio sobre los distintos modelos existentes de clasificación aplicados a imágenes, con el objetivo final de determinar qué modelo y qué parámetros son los ideales para resolver un problema de clasificación de emociones presentes en caras. Sin dejar atrás este objetivo, también se pretende realizar un estudio de distintos algoritmos existentes de explicabilidad aplicadas a imágenes, con el objetivo final de poder mostrar en la imagen original las zonas seleccionadas por el mejor modelo de caja negra obtenido para verificar la correcta detección de las diversas emociones presentes en las imágenes y, por tanto, la correcta clasificación de las imágenes en las categorías existentes. 2 1.3 Plan de trabajo En este apartado se va a mostrar el desarrollo del trabajo. A continuación, se detallan las etapas del trabajo realizado: 1.3.1 Análisis del estado de la cuestión Durante esta etapa se ha investigado acerca de diversos temas relacionados con el desarrollo del trabajo, que son aquellos relacionados con el aprendizaje automático de la Inteligencia Artificial, más concretamente, el aprendizaje supervisado y las redes neuronales convolucionales. También se ha realizado un estudio de la Inteligencia Artificial Explicable aplicada a imágenes y de aplicaciones prácticas del uso de modelos de detección de emociones en caras. 1.3.2 Desarrollo y experimentación En este subapartado se va a tratar de los conjuntos de datos usados y de los modelos y características con las que se ha experimentado. En primer lugar, para realizar una aproximación inicial al trabajo, se usa un conjunto de datos pequeño con imágenes de personas que representan tres tipos de emociones. Tras esto, para realizar el trabajo se usa el conjunto de datos llamado FER2013 con imágenes de siete tipos de emociones de tamaño 48x48 en escala de grises. Este dataset contiene muchas más imágenes que el conjunto de datos anterior. Las primeras pruebas de los modelos y de la explicabilidad se han realizado sobre un subconjunto de imágenes del conjunto de datos final, concretamente sobre tres tipos de emociones. Finalmente, se han realizado las pruebas finales con el conjunto de datos completo. Tras realizar las pruebas y fijar el modelo que mejores resultados ofrece, se lleva a cabo la aplicación de varios algoritmos de explicabilidad de la librería de ALIBI para mostrar las regiones de la imagen elegidas para representar la emoción predicha. Todo el trabajo realizado se puede consultar en el siguiente directorio de GitHub: https://github.com/javieg25/Explicabilidad-aplicada-a-modelos-de-reconocimientode-emociones-en-imagenes.git 3 1.3.3 Documentación A la vez que se expandían los conocimientos en la etapa de análisis del estado de la cuestión, y a la vez que se realizaba el desarrollo y experimentación con los modelos y algoritmos de explicabilidad, se ha ido rellenando la memoria, incluyendo los datos usados y las conclusiones a las que se han llegado tras realizar el estudio de los resultados obtenidos. Ilustración 1.- Diagrama de Gantt del plan de trabajo 5 Capítulo 2 - Estado de la cuestión En este capítulo se va a hacer una visión acerca del aprendizaje automático, en concreto, del aprendizaje supervisado y de las redes neuronales convolucionales. También se hará un repaso de la inteligencia artificial explicable y de las diferentes aplicaciones prácticas del reconocimiento de emociones en imágenes. 2.1 Aprendizaje supervisado El aprendizaje automático (AA) 1 es una rama de la Inteligencia Artificial que tiene por objetivo aprender mediante la extracción de características relevantes de los datos proporcionados a los modelos para después hacer predicciones sobre nuevos datos de entrada [1]. Este proceso intenta imitar la forma humana de aprender para obtener resultados más precisos. Para proceder a resolver un problema de aprendizaje automático, el primer paso es recolectar los datos (textos, imágenes, datos numéricos, datos categóricos, etc.) con los que se va a trabajar. Los datos pueden ser extraídos de muchas fuentes distintas, pero las más comunes son: interfaces de programación de aplicaciones 2 (API), bases de datos o comunidades web. La recolección de datos es un proceso muy importante porque la presencia de datos irrelevantes o de baja calidad pueden dificultar el trabajo al modelo. Posteriormente, es necesario realizar un procesamiento de los datos, tanto para detectar datos erróneos o vacíos, como para adaptar los datos al modelo y asegurar su correcta interpretación. A continuación, se separa el conjunto de datos en dos subconjuntos, denominados conjunto de entrenamiento y conjunto de prueba. Tras esto, se procede a entrenar el modelo con los datos de entrenamiento y a validar la precisión y el rendimiento obtenidos con los datos de prueba. Por último, se realiza un análisis de los resultados obtenidos para poder obtener conclusiones de los datos. 1 también es llamado Machine Learning (ML) 2 La aplicación ofrece una interfaz para que los datos que han sido recolectados sean fácilmente consultados y extraídos. 6 Ilustración 2.- Proceso para resolver un problema de aprendizaje automático. Fuente: Propio Entre los enfoques que tiene el aprendizaje automático, se encuentra el aprendizaje supervisado. Este tipo de aprendizaje recibe datos con etiquetas que guían al modelo en el proceso de entrenamiento, aumentando su precisión a la hora de predecir y tomar decisiones sobre nuevos datos. Un ejemplo de problema de aprendizaje supervisado es clasificar mensajes de correo en spam/no spam, o reconocer objetos en imágenes, similar a este trabajo, en el que se pretende detectar emociones en imágenes. El aprendizaje automático puede resolver problemas de clasificación y de regresión mediante los algoritmos que se presentan a continuación: Regresión lineal: Un algoritmo de regresión lineal se basa en el modelo matemático de escala lineal. Este algoritmo suele tomar como entrada datos con varias variables, teniendo en cuenta más de una entrada para predecir un dato continuo. Por ejemplo, el algoritmo puede predecir el precio de un coche en función de la marca, modelo, prestaciones y tipo de combustible. Regresión logística: Un algoritmo de regresión logística está enfocado a predecir datos categóricos teniendo en cuenta uno o varios datos de entrada. Cabe destacar que una predicción puede pertenecer a más de una clase. A modo de ejemplo, este tipo de algoritmos podría predecir si un meteorito caerá en el mar o no, teniendo en cuenta las ubicaciones de todas las caídas de meteoritos anteriores. Redes neuronales: Una red neuronal se basa en las conexiones entre neuronas del cerebro humano para interconectar nodos. Los nodos de las redes neuronales más simples (MLP) reciben una entrada, ponderación y sesgo, y producen una salida que mandan al siguiente nodo según una función de activación. El algoritmo intenta ajustar las ponderaciones mediante la propagación hacia atrás de los valores calculados. Una red neuronal es capaz de detectar la presencia de peces o caballos en imágenes. Naive bayes: El algoritmo Naive Bayes determina la clase a la que pertenece un dato de entrada basándose en el Teorema de Bayes. De este modo, trata de forma 7 independiente las distintas características que se tienen en cuenta. Este algoritmo podría clasificar las reseñas de un videojuego en positivas o negativas. KNN: El algoritmo de k vecinos más cercanos trata los datos como puntos. Realiza la clasificación teniendo en cuenta la distancia (manhattan o euclidiana, entre otras) siguiendo la idea de que datos similares están próximos. Por ejemplo, este algoritmo puede predecir el riesgo de una persona de padecer un cierto tipo de cáncer. Random Forest: El algoritmo Random Forest crea varios árboles de decisión para finalmente predecir la clase del árbol que mejor se adapta al dato de entrada. Por ejemplo, este algoritmo puede predecir un tipo de medicamento según sus características químicas. SVM 3 : El algoritmo de máquina de vectores de soporte, al igual que el algoritmo KNN, trata los datos como puntos. Usa un hiperplano en el que los datos de dos clases están separados lo máximo posible entre sí. Por ejemplo, este algoritmo podría clasificar tipos de aperitivos en dulces y salados. 2.1.1 Redes neuronales convolucionales Las redes neuronales convolucionales CNN tienen un mejor rendimiento sobre problemas de clasificación de imágenes que las redes MLP porque se basan en la multiplicación de matrices sobre píxeles para poder identificar patrones. A veces es necesaria una unidad GPU para llevar a cabo la resolución del problema debido a la gran cantidad de información de los píxeles. Su funcionamiento es el siguiente: al principio reconoce características simples como líneas y curvas, pero a medida que avanza en el procesamiento, identifica partes cada vez más grandes de la imagen. Este tipo de red neuronal no usa capas totalmente conectadas en su estructura interna 4 3 Desarrollado por Vladimir Vapnik 4 También denominadas “fully connected”. El modelo que se ha construido para este trabajo sí tiene una capa totalmente conectada, que sirve para mostrar la clase predicha. 14 SHAP: Es una librería que, al igual que LIME, muestra explicaciones locales agnósticas, pero ésta en cambio, puede trabajar sobre cualquier modelo de aprendizaje automático. Se basa en la teoría de juegos para asignar puntuaciones a cada característica relevante. [9] ANCHOR: Es una librería que ancla localmente la predicción, de forma que los cambios externos a la zona fijada en el mismo dato no se tienen en cuenta. De este modo, datos que fijan el mismo ancla tendrán predicciones muy parecidas. Trabaja sobre datos tabulares y textos para cualquier clasificador de caja negra. [10] XRAI: Es un método que muestra explicaciones locales basándose en gradientes integrados. Solamente puede ser aplicado a imágenes. [11] Integrated Gradients: Es un método que se basa en la sensibilidad e invariabilidad de implementación. Muestra explicaciones mediante llamadas al operador de gradiente. Solamente es aplicable a modelos que trabajan con textos e imágenes. [12] Grad-CAM: Es un método que primero calcula los gradientes de una imagen para después pasárselos a una capa convolucional y así producir un mapa de localización de las regiones relevantes. Funciona sobre cualquier red neuronal convolucional aplicada a imágenes. [13] RISE: Es un método orientado a explicar imágenes que construye un mapa para indicar la importancia de cada píxel en la predicción. [14] FORGrad: Es un método creado para modelos de caja blanca sobre imágenes que filtra el ruido de los gradientes del mapa de atribución calculado por el método de gradiente. [15] ALIBI Explain: Es una librería open source que interpreta modelos de aprendizaje automático de caja blanca y negra. A pesar de que se pueda aplicar sobre modelos que resuelven problemas de clasificación y de regresión sobre diversos tipos de datos, en este trabajo se ha enfocado su uso para modelos de caja negra que resuelven problemas de clasificación de imágenes. El ámbito que se tomará será local, es decir, se mostrará sobre cada imagen las regiones relevantes para la toma de decisión del modelo. Esta librería es la que se va a usar en este trabajo porque engloba muchos de 15 los métodos comentados anteriormente, como Integrated Gradients y AnchorImage aplicados a imágenes. [16] A continuación, se va a mostrar un mapa con las librerías de explicabilidad más prometedoras hasta el momento y una tabla comparativa de frameworks entre distintas librerías: Ilustración 10.- Mapa de algunas librerías de explicabilidad. Fuente: https://assets-global.websitefiles.com/6299b185f76ad4ffcf9cdbbc/62a72b2ed63903a5ec279339_627a5fa6ecda298d1a40f2a0_Existing% 2520XAI%2520libraries%2520Overview(1)%2520(1).png Tabla 1.- Compatibilidad de librerías de explicabilidad con frameworks de ML y tipos de datos admitidos. Fuente: Propio Librería Compatible con Scikit-Learn Compatible con TensorFlow Compatible con PyTorch LIME Datos tabulares Sí Imágenes ANCHOR Datos tabulares y textos Sí Imágenes 16 ALIBI Sí Sí Sí SHAP Datos tabulares Sí Textos e imágenes XRAI No Imágenes Imágenes Integrated gradients No Datos tabulares e imágenes Datos tabulares e imágenes GradCam No No Imágenes ForGRad No Imágenes Imágenes RISE No Imágenes Imágenes 2.3 Aplicaciones prácticas de reconocimiento de emociones en imágenes Muchas personas que prueban nuevos productos no tienden a expresar lo que realmente piensan acerca de éste, por lo que no permite la mejora del producto. Por otra parte, casi la mitad de los pacientes con patologías no expresan verbalmente su dolor, causando la ralentización de la labor de los médicos. El reconocimiento de emociones en caras por parte de modelos de aprendizaje automático y su posterior explicación pueden solventar problemas como los comentados anteriormente. Algunos colegios e institutos, como por ejemplo el True Light College en Hong Kong [17], han empezado a implementar algunos modelos de IA de caja negra con el objetivo de analizar las emociones de los alumnos durante la clase. Gracias a la visualización de las regiones relevantes de la imagen, detectadas por el modelo, que ofrecen los algoritmos de explicabilidad, los tutores, psicólogos y orientadores pueden enfocar su trabajo, no solamente para aumentar el rendimiento en el aula, sino para detectar casos de acoso escolar de forma precoz. Estos modelos también pueden ayudar a detectar emociones de personas autistas y reducir los accidentes de tráfico mediante la detección de las emociones que experimenta el conductor, como el cansancio o la fatiga. 17 Actualmente existen empresas tecnológicas y entidades educativas que han desarrollado herramientas de Inteligencia Artificial relacionadas con el reconocimiento de emociones en imágenes: Azure AI Face service: Microsoft ofrece algoritmos de análisis de caras, detección de caras falsas, identificación de personas y búsqueda de caras similares. [18] Amazon Rekognition: Ofrece algoritmos de verificación, búsqueda, detección y reconocimiento de características en caras, y detección de contenido inapropiado, logotipos, famosos y texto. [19] Google Cloud Vision: Ofrece un algoritmo que detecta ojos, cejas, bocas, etc. de varias caras en una imagen. También es capaz de detectar complementos como sombreros, gafas, gorros o pendientes, entre otros. [20] Watson: Es un asistente de IBM que ofrece muchas funcionalidades, entre ellas, reconocimiento de detección de emociones en textos. [21] EnableX Face AI: Es una herramienta que analiza las emociones de caras en tiempo real sobre una o muchas personas a la vez. [22] Face Mirror: Es un producto de la compañía Bismart que detecta y analiza el estado de ánimo de la persona que tiene delante. [23] Emotongue: Es una aplicación móvil creada por una investigadora de la UAH que detecta emociones mediante el escaneo facial, ofreciendo recomendaciones sobre cómo lidiar con las emociones detectadas. [24] A pesar de que algunas de las herramientas presentadas anteriormente se comportan de forma parecida a los modelos creados en este trabajo, se ha decidido no aplicar la explicabilidad sobre estas herramientas, ya que se pretenden adquirir conocimientos acerca del funcionamiento y estructura de algunos modelos de IA de detección de emociones en imágenes. 18 2.4 Trabajos similares En la página web de Kaggle 9 se pueden consultar algunos trabajos similares que crean o adaptan modelos para trabajar sobre el conjunto de datos FER2013 y poder así detectar emociones en imágenes. Muchos de los modelos disponibles que utilizan este conjunto de imágenes son modelos con estructura muy similar a la que se va a desarrollar en este trabajo, por lo tanto, es interesante estudiar las precisiones obtenidas para cada modelo. A continuación, se muestra una tabla en la que se muestran las características importantes, rendimientos, y enlaces de algunos modelos interesantes: Tabla 2.- Características, rendimientos y enlaces de modelos usados en algunos trabajos similares 9 www.kaggle.com Caracterísiticas importantes del modelo Rendimiento Enlace Sequential() Función de activación: “Relu” 6 capas convolucionales con 32, 64, 128, 256, 512 y 512 filtros de tamaño (3,3) Tamaño de agrupación: (2,2) BatchNormalization() Dropout(0.25) 10 épocas de entrenamiento Entrenamiento: 0.5856 Prueba: 0.5552 https://www.kaggle.com/ code/tharanitharanm/ferusing-cnn Transfer learning con VGGNET VGG16 + Flatten() + Dense(1024, activation='relu') + Dropout(0.5) + 50 épocas de entrenamiento Entrenamiento: 0.5472 Prueba: 0.55 https://www.kaggle.com/ code/tharanitharanm/ferusing-cnn 19 Dense(512, activation='relu')+ Dropout(0.5) Transfer learning con RESNET-50 ResNet50V2() + Dropout(0.25) + BatchNormalization() + Flatten() + Dense(64,activation='relu') + BatchNormalization() + Dropout(0.5) 9 épocas de entrenamiento Entrenamiento: 0.6127 Prueba: 0.6080 https://www.kaggle.com/ code/tharanitharanm/ferusing-cnn Sequential() Función de activación: “Relu” 4 capas convolucionales con 32, 64, 128 y 256 filtros de tamaño (3,3) Tamaño de agrupación: (2,2) BatchNormalization() Dropout(0.25) 20 épocas de entrenamiento Entrenamiento: 0.6592 Prueba: 0.6236 https://www.kaggle.com/ code/ojaspjoshi/emotiondetection Transfer learning con RESNET-50 (simplificado) Función de activación: “Relu” 4 capas convolucionales con 64, 128, 256 y 512 filtros y pasos de 1, 2, 2 y 2. Tamaño de agrupación: (2,2) BatchNormalization() MaxPooling (3,3) con paso 3 AveragePooling (2,2) 40 épocas de entrenamiento Entrenamiento: 0.7074 Prueba: 0.6131 https://www.kaggle.com/ code/dishaasinghi/resnetsimplified 20 Algunos de estos trabajos se limitan a transformar modelos previamente entrenados como VGGNET o RESNET para aprovechar todas sus ventajas y así obtener rendimientos algo más altos, pero en general, todos los modelos obtienen una precisión de cercana a 0.6. Esto se puede deber a la limitación de los datos, ya que el conjunto no está balanceado. Algunos modelos necesitan muchas épocas para el proceso de entrenamiento, pero realizando una comparación entre ellos, el número de épocas idóneo es 40. Sequential() Función de activación: “Relu” 4 capas convolucionales con 32, 64, 128 y 256 filtros de tamaño (3,3) Tamaño de agrupación: (2,2) BatchNormalization() MaxPooling2D(2, 2) Dropout(0.25) 150 épocas de entrenamiento Entrenamiento: 0.7360 Prueba: 0.6680 https://www.kaggle.com/ code/aslinaslin/emotiondetection Transfer learning con RESNET-50v2 ResNet50V2() + Dropout(0.25) + BatchNormalization() + Flatten() + Dense(64,activation='relu') + BatchNormalization() + Dropout(0.5) + Dense(7,activation='softmax') 22 épocas de entrenamiento Entrenamiento: 0.8906 Prueba: 0.7962 https://www.kaggle.com/ code/nexuswho/emotiondetection 21 Capítulo 3 - Procesamiento de los datos y estructura de los modelos En este capítulo se va a realizar un estudio de los datos para verificar si es necesario llevar a cabo un procesamiento de estos. Se detallará el proceso de tratamiento de los datos realizado, así como la especificación de las características elegidas para construir los modelos usados en los siguientes capítulos. 3.1 Carga del conjunto de imágenes El conjunto de datos que se usa para realizar la primera aproximación al trabajo es un conjunto pequeño de imágenes de diferentes tamaños a color de personas con tres tipos de emociones: felicidad, tristeza y enfado; y para realizar la aproximación final del trabajo se usa un conjunto más amplio de imágenes 48x48 en escala de grises, en concreto, con siete tipos de emociones, llamado FER2013. El primer paso para que un modelo logre clasificar imágenes es cargar el conjunto de datos con el que se va a entrenar y, posteriormente probar el modelo. Como el clasificador que se va a construir se trata de un modelo de aprendizaje supervisado, es necesario cargar junto a las imágenes de entrada las clases asociadas a las mismas que, en este caso, serán las emociones expresadas en cada imagen. Dado que ambos conjuntos de datos están organizados en varias carpetas que contienen las imágenes de cada emoción, el proceso de carga de las imágenes es el siguiente: se realiza un recorrido por el directorio que contiene las imágenes, y se guarda en una estructura de datos bidimensional 10 la ruta de la imagen junto al nombre de la carpeta contenedora de la imagen (será la emoción presente en la imagen). Tras la carga de las imágenes, es conveniente comprobar si el conjunto de datos está equilibrado, es decir, si hay aproximadamente el mismo número de muestras para todas las clases, porque de lo contrario, el modelo puede aprender a favorecer la clase 10 Concretamente en un Pandas dataframe de la librería pandas. 22 mayoritaria o incluso sesgar las predicciones a favor de cierta clase en vez de aumentar la precisión de todas las clases existentes. 3.2 Adaptación del formato de las imágenes El formato de las imágenes de entrada del modelo también es un factor bastante importante a tener en cuenta, ya que influirá significativamente en el rendimiento del modelo. Si se pretende que un modelo sea rápido en predecir una entrada, será necesario que dicha entrada solamente contenga datos imprescindibles y no superfluos de los que el modelo sea capaz de extraer características. Por ejemplo, una imagen en tonos de color (RGB) puede conservar todas sus características en muchos menos datos tras ser convertida a escala de grises, pasando de tener tres canales a solamente uno, o incluso tras ser redimensionada a un tamaño relativamente menor del original. La adaptación del formato de las imágenes dependerá del conjunto de datos usado. 3.2.1 Tamaño El tamaño de las imágenes y la información de los píxeles influye significativamente en el rendimiento del modelo. Como un modelo no puede trabajar con imágenes de diferentes tamaños, se ha realizado un estudio de las resoluciones de las imágenes del conjunto de datos para determinar si hace falta realizar algún procesamiento a las imágenes para adaptarlas a un tamaño final. Si es necesario procesarlas, entonces, dependiendo del tamaño elegido, algunas imágenes perderán resolución al reducir su número de pixeles (downscaling) y otras añadirán información no representativa (upscaling) Las imágenes del conjunto de datos inicial tienen tamaños muy variados. La única característica común a las imágenes es su alta resolución, que será un problema a la hora de entrenar los modelos. Cada punto de la gráfica siguiente representa una imagen del conjunto de datos inicial. 23 Ilustración 11.- Resoluciones de las imágenes del conjunto de datos inicial. Fuente: Propio Para reducir el tiempo de entrenamiento del modelo, los tamaños elegidos para realizar pruebas con los modelos serán: la media de las resoluciones (1152, 809), la media*(2/3) (768, 539), la media/3 (384, 269) y otros tamaños más pequeños como (96, 96), (48, 48) y (24, 24) 30 Capítulo 4 - Clasificación de emociones en imágenes El conjunto de imágenes con el que se va a trabajar para la primera aproximación ha sido obtenido de la página web de Kaggle 12 , y está disponible para su descarga 13 . El conjunto de datos consta de cerca de 250 imágenes a color de diferentes tamaños. En las imágenes se pueden visualizar diferentes personas con tres tipos de emociones, entre ellas: felicidad, tristeza y enfado. Las imágenes son muy diferentes entre sí porque se pueden ver, tanto personas individuales como grupos de personas, y también cuerpos completos y caras. El objetivo de la primera aproximación es determinar si el conjunto de datos elegido es útil, es decir, comprobar si el modelo consigue extraer las características suficientes para poder aplicar la explicabilidad. A continuación, se muestran el número de ejemplos y la frecuencia de cada clase del conjunto de datos inicial para verificar si está equilibrado: Tabla 5.- Comprobación del equilibrado del conjunto de datos inicial Clase Número de ejemplos Frecuencia “happy” 100 37.735849 “sad” 86 32.452830 “angry” 79 29.811321 Se puede observar que hay más muestras de la clase “happy” que de las demás, lo que podrá afectar negativamente a la precisión del modelo. El conjunto de imágenes con el que se va a trabajar para realizar la aproximación final también ha sido obtenido de la página web de Kaggle y está disponible para su 12 www.kaggle.com 13 Se puede descargar en el siguiente enlace: https://www.kaggle.com/datasets/sanidhyak/human-face-emotions 31 descarga 14 . FER2013 contiene alrededor de 35.000 imágenes en escala de grises de tamaño 48x48. Las imágenes constan de rostros de personas de diferentes edades que expresan diferentes emociones, entre ellas: enfado, asco, miedo, felicidad, tristeza, sorpresa y neutralidad. Para comenzar con el análisis final, se ha decidido en primer lugar trabajar sobre un subconjunto de imágenes reducido para determinar si el conjunto original puede ofrecer resultados prometedores. De esta forma, solamente se seleccionan del conjunto de datos original aquellas imágenes en las que aparecen rostros de personas que expresan tres tipos de emociones: felicidad, tristeza y enfado. Con estas tres emociones, se creará un clasificador y se evaluará su precisión. A continuación, se muestran el número de ejemplos y la frecuencia de cada clase del subconjunto de datos usado para verificar si está equilibrado: Tabla 6.- Comprobación del equilibrado del subconjunto extraído del conjunto de datos final Clase Número de ejemplos Frecuencia “happy” 8989 44.902343 “sad” 6077 30.356162 “angry” 4953 24.741496 Se puede observar que hay muchas más muestras de la clase “happy” que de las demás, pero dependiendo de las características del modelo usado, el impacto negativo a la hora de clasificar variará. Para realizar un estudio más aproximado a la realidad, se ha decidido trabajar sobre un conjunto de imágenes más complejo que el inicial, con siete tipos de emociones. A continuación, se muestran el número de ejemplos y la frecuencia de cada clase del conjunto de datos final para verificar si está equilibrado: 14 Se puede descargar en el siguiente enlace: https://www.kaggle.com/datasets/msambare/fer2013 32 Tabla 7.- Comprobación del equilibrado del conjunto de datos final Clase Número de ejemplos Frecuencia “happy” 8989 25.048068 “neutral” 6198 17.270878 “sad” 6077 16.933709 “fear” 5121 14.269791 “angry” 4953 13.801655 “surprise” 4002 11.151671 “disgust” 547 1.524229 Se puede observar, al igual que en el conjunto de datos inicial, sigue habiendo una gran diferencia de ejemplares de la clase “happy” con respecto a las demás. Cabe destacar que la clase “disgust” tiene muy pocas muestras, por lo que afectará significativamente a la precisión de los distintos modelos usados. 4.1 Modelos MLP Dependiendo de su estructura y del tamaño de las imágenes de entrada, algunos modelos tendrán más fácil detectar patrones de las imágenes de entrada que otros. El tiempo de ejecución de cada modelo dependerá significativamente del número de capas ocultas y del tamaño de los datos con los que se esté trabajando, por lo que es importante establecer una relación entre la precisión obtenida por el modelo, y su tiempo de ejecución para elegir el mejor modelo. Los tamaños de las imágenes de entrada para los modelos MLP que se van a usar en el proceso de entrenamiento para la primera aproximación son: (1152, 809), (768, 539), (384, 269), (96, 96), (48, 48) y (24, 24) En cambio, los tamaños que se van a usar para la aproximación final son: (96, 96), (48, 48) y (24, 24) A continuación, se muestra una gráfica con los tiempos y las precisiones obtenidas sobre el conjunto de entrenamiento obtenido del conjunto de datos inicial. 33 Cada punto representa un modelo MLP con una configuración concreta de los parámetros usados: Ilustración 15.- Tiempos y rendimientos de los modelos MLP del conjunto de datos inicial tras el proceso de entrenamiento Se puede observar que las altas precisiones obtenidas muestran signos de que los modelos han sobreaprendido de los datos de entrenamiento. Curiosamente, la mayoría de los modelos que mayor precisión obtienen son los que tardan menos en entrenar, porque trabajan con imágenes de tamaño bastante reducido (24x24) Es interesante observar cómo casi la mitad de los modelos no consiguen obtener una precisión mayor que 0.33 (que se corresponde a clasificar aleatoriamente los tres tipos de emociones) Una causa de esto puede ser una combinación extraña de características usadas para crear el modelo, la combinación de imágenes que constituyen el conjunto de entrenamiento, o simplemente porque este tipo de modelo no está destinado a procesar imágenes. A continuación, se muestra una gráfica con los tiempos y las precisiones obtenidas sobre el conjunto de entrenamiento para el problema de clasificación de tres clases del conjunto de datos final. Cada punto representa un modelo MLP con una configuración concreta de los parámetros usados: 34 Ilustración 16.- Tiempos y rendimientos de los modelos MLP de clasificación de tres tipos de emociones tras el proceso de entrenamiento Se puede observar que no se consiguen resultados aceptables. Según indica la gráfica, algunos modelos sobreaprenden de los datos de entrenamiento al obtener un rendimiento cercano al 100%, por lo que su precisión sobre el conjunto de prueba no se espera que sea muy bueno. Hay un modelo que obtiene una precisión de 0.78 en poco tiempo, en comparación con otros modelos que obtienen precisiones ligeramente más altas en tiempos mucho mayores. Esto sugiere que a veces es interesante sacrificar precisión a cambio de ganar tiempo. Llama la atención que alrededor de 1/3 de los modelos no consiguen una precisión mayor que 0.33, que se corresponde a la precisión de realizar una clasificación aleatoria en tres clases. Esto puede deberse a que los modelos MLP no son idóneos para el procesamiento de imágenes. Debido a que los modelos MLP de clasificación de tres tipos de emociones del conjunto de datos final no ofrecen resultados aceptables, se ha decidido no realizar más pruebas con este tipo de modelo para clasificar siete tipos de emociones, porque en el conjunto de datos completo la diferencia de imágenes entre clases es mucho mayor y se esperan obtener datos aún peores que los previamente obtenidos. 35 4.1.1 Mejores modelos MLP obtenidos A continuación, se muestran las características y los resultados del mejor modelo MLP obtenido para el problema de clasificación de tres clases del conjunto de datos inicial: • Precisión sobre el conjunto de entrenamiento: 0.81 • Precisión sobre el conjunto de prueba: 0.49 • Tamaño de las imágenes de entrada: (48, 48) • Función de activación: “ReLU” • Tamaño de las capas ocultas: (200,) • Alpha: 0.51 Este modelo sobreaprende de los datos de entrenamiento, pero no afecta significativamente a la precisión sobre los datos de prueba porque sigue siendo el modelo que mayor precisión obtiene sobre este conjunto, aunque sea insuficiente. En la matriz de confusión se puede observar que la clase que mejor clasifica es “angry”; y la que peor “sad”, que obtiene un porcentaje de acierto del 50%. Las clases que menos confunde son “sad” y “happy”, por lo que se puede deducir que el modelo ha aprendido a diferenciar bocas cóncavas hacia arriba (contento) de bocas cóncavas hacia abajo (triste) Como dato curioso, la clase que mejor clasifica no es la clase mayoritaria, sino la que menos. Esto se puede deber a que las imágenes elegidas encajan con los patrones obtenidos, o que son muy parecidas entre sí. 36 Ilustración 17.- Matriz de confusión del mejor modelo MLP del conjunto de datos inicial A continuación, se muestran las características y los resultados del mejor modelo obtenido para el problema de clasificación de tres tipos de emociones del conjunto de datos final: • Precisión sobre el conjunto de entrenamiento: 0.98 • Precisión sobre el conjunto de prueba: 0.51 • Tamaño de las imágenes de entrada: (48, 48) • Función de activación: “logistic” • Tamaño de las capas ocultas: (200,) • Alpha: 0.01 37 Ilustración 18.- Matriz de confusión del mejor modelo MLP de clasificación de tres tipos de emociones El mejor modelo sobreaprende de los datos de entrenamiento. Se puede observar que la clase que mejor clasifica es “happy”; y la que peor, “angry”. Esto se puede deber al equilibrado de los datos, ya que la primera clase es la que más imágenes tiene, y la segunda, la que menos. Aunque la clasificación que realiza es bastante acertada, las clases que más confunde entre sí son “happy” y “sad”, aunque no de forma general; las clases que menos confunde son “angry” con “happy”. Esto significa que el modelo ha conseguido extraer las características suficientes como para saber que, por ejemplo, si detecta la presencia de dientes en una imagen, no necesariamente la clase a la que pertenece es “happy”, sino que también puede ser “angry”. 4.2 Modelos CNN Las redes neuronales convolucionales son idóneas para problemas de clasificación de imágenes, porque son capaces de analizar las características entre conjuntos de píxeles contiguos de las imágenes de entrada en forma de vectores que contienen información de los píxeles. Durante el proceso de entrenamiento de los modelos, se registran los tiempos que tarda cada modelo en aprender – que dependerá 38 significativamente del tamaño de las imágenes de entrada y del número de épocas; y la precisión obtenida sobre el conjunto de entrenamiento. Para realizar una mejor evaluación de los modelos, se ha usado el mismo conjunto de imágenes de entrenamiento y prueba para entrenar y probar todos los modelos. Los tamaños de las imágenes de entrada para los modelos CNN que se van a usar en ambos conjuntos de datos son: (96, 96), (48, 48) y (24, 24) El proceso de entrenamiento para los modelos de clasificación en tres clases de la primera aproximación se va a realizar en 20 épocas, 15 suficientes para el reducido número de imágenes que constituyen el conjunto de datos inicial. Con más de 20 épocas, el modelo se ajusta demasiado a los datos de entrenamiento, pero sin obtener mejora sobre imágenes con las que no ha trabajado. Más adelante, se muestra una gráfica con los tiempos y las precisiones obtenidas sobre el conjunto de entrenamiento obtenido del conjunto de datos inicial. Cada punto representa un modelo CNN con una configuración concreta de los parámetros usados. Las gráficas muestran precisiones insuficientes para el problema de clasificación de tres clases que se pretende resolver. Aunque los modelos tarden poco en entrenar y algunos consigan obtener precisiones mayores que 0.7, la tendencia es obtener modelos que no consiguen extraer las regiones relevantes de las imágenes de entrada. Se podría decir que se “pierden” o “confunden” con las imágenes usadas para entrenar los modelos. 15 También llamadas “epoch” 39 Ilustración 19.- Tiempos y rendimientos de los modelos CNN del conjunto de datos inicial tras el proceso de entrenamiento El proceso de entrenamiento para los modelos de clasificación en tres clases del conjunto de datos final se va a realizar en 20 épocas y el entrenamiento para los modelos de clasificación en siete clases se va a realizar en 40 épocas. El número de épocas considerado es suficiente para que los modelos obtengan las características necesarias de cada clase. Un número mayor de épocas puede conducir a los modelos a un sobreaprendizaje, consiguiendo una muy buena precisión sobre los datos de entrenamiento, pero muy mala sobre los datos de prueba. A continuación, se muestra una gráfica con los tiempos y las precisiones obtenidas sobre el conjunto de entrenamiento del conjunto de datos final para el problema de clasificación de tres clases. Cada punto representa un modelo CNN con una configuración concreta de los parámetros usados: 46 A continuación, se van a mostrar algunos ejemplos representativos del método AnchorImage para el problema de clasificación de tres tipos de emociones aplicado a imágenes del conjunto de datos final. En las imágenes posteriores se puede observar que el modelo ha conseguido reconocer que en la clase “happy” es importante la forma de la boca, así como las arrugas de su alrededor. Para distinguir de otras clases parecidas como “angry”, en algunas imágenes también enfoca la atención en la forma de los ojos. Cabe destacar que el modelo no ha detectado correctamente la emoción de la última imagen, en gran medida, porque no ha determinado que la información de los ojos era importante al haber encontrado la presencia de dientes, característica que suponemos que considera representativa de la emoción “happy” Tabla 8.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “happy” para el problema de clasificación de tres emociones Clase real: “happy” Clase predicha: “happy” Clase real: “happy” Clase predicha: “happy” 47 Clase real: “happy” Clase predicha: “happy” Clase real: “angry” Clase predicha: “happy” En las imágenes posteriores se puede observar que el modelo ha conseguido reconocer que en la emoción “angry” son importantes las arrugas de la frente y las de alrededor de la boca. Además, cuando estas características son confusas para el modelo y tiene que distinguir “angry” de “happy”, suele enfocar la atención en la forma de los ojos y de la boca, como se indica en las últimas dos imágenes. 48 Tabla 9.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “angry” para el problema de clasificación de tres emociones Clase real: “angry” Clase predicha: “angry” Clase real: “angry” Clase predicha: “angry” Clase real: “angry” Clase predicha: “angry” 49 En las imágenes que se presentan a continuación, se puede observar que el modelo ha conseguido reconocer que para la emoción “sad” la forma de las cejas juega un papel fundamental, así como la postura de la cara, que tiende a estar más torcida que en otras emociones consideradas en este problema. De la misma manera que las anteriores emociones, a veces necesita obtener información acerca de la forma de la boca y ojos para discriminar de otras clases. Cabe destacar que en la última imagen el modelo ha predicho erróneamente “sad”, pudiéndose deber a que no ha determinado que la información de las cejas era importante. Tabla 10.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “sad” para el problema de clasificación de tres emociones Clase real: “sad” Clase predicha: “sad” Clase real: “sad” Clase predicha: “sad” 50 Clase real: “angry” Clase predicha: “sad” A continuación, se van a mostrar algunos ejemplos representativos del método AnchorImage para el problema de clasificación de siete tipos de emociones aplicado a imágenes del conjunto de datos final. Tabla 11.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “angry” para el problema de clasificación de siete emociones Clase real: “angry” Clase predicha: “angry” 51 Clase real: “angry” Clase predicha: “angry” Clase real: “fear” Clase predicha: “angry” Lo que diferencia la emoción “angry” de “surprise” es la forma de los ojos. En ambas emociones la boca está abierta, pero los ojos de la clase “angry” no están totalmente abiertos. La forma de las cejas también juega un papel importante a la hora de predecir esta emoción. Se puede observar que en la última imagen el modelo ha tenido en cuenta los ojos y la boca a la hora de predecir, pero no ha acertado y ha predicho “angry” porque ha determinado que la boca está demasiado abierta. 52 Tabla 12.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “disgust” para el problema de clasificación de siete emociones Clase real: “disgust” Clase predicha: “disgust” Clase real: “disgust” Clase predicha: “happy” Esta emoción tiene características comunes a “sad”. Ambas tienen bocas planas o ligeramente abiertas, además de ojos y cejas muy similares. La gran diferencia con la emoción “sad” reside en la forma de la boca. Por lo general, la boca en personas disgustadas no suele estar cerrada y curva hacia abajo, como es natural en personas tristes. En la última imagen, a pesar de que el modelo ha tenido en consideración la forma del ojo, la engañosa forma de la boca ha influido a la hora de clasificar la imagen como “happy” 53 Tabla 13.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “fear” para el problema de clasificación de siete emociones Clase real: “fear” Clase predicha: “fear” Clase real: “fear” Clase predicha: “fear” Clase real: “happy” Clase predicha: “fear” La gran diferencia entre “fear” y “angry” es la forma de la boca. En ambas emociones es común observar ojos y cejas con formas muy parecidas, pero las personas 54 con miedo suelen tener la boca más cerrada. En la última imagen, el clasificador se ha confundido de emoción. La inclinación de la cabeza ha afectado a la ceja y el ojo, ambas regiones relevantes para el modelo. Se puede pensar que, si hubiera tenido en cuenta la boca, habría predicho correctamente la emoción. Tabla 14.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “happy” para el problema de clasificación de siete emociones Clase real: “happy” Clase predicha: “happy” Clase real: “happy” Clase predicha: “happy” 55 Clase real: “sad” Clase predicha: “happy” Para clasificar la emoción “happy”, el modelo tiene en cuenta la forma de la boca, que tiene que ser cóncava hacia arriba, pudiendo contener o no dientes. Si resulta que no puede extraer características suficientes de la boca, presta atención a los ojos, que tienen forma curva hacia abajo, tal y como se puede ver en la segunda imagen. En la última imagen se puede observar una mala predicción por parte del modelo, y se puede deber a que solamente ha tenido en cuenta la mitad de la boca que, confusamente, parece estar curva por la inclinación de la cabeza. Tabla 15.- Explicabilidad por el método de AnchorImage de imágenes correspondientes a la clase “neutral” para el problema de clasificación de siete emociones Clase real: “neutral” Clase predicha: “neutral” 62 En las imágenes de abajo se puede observar que el modelo ha valorado positivamente aquellos píxeles cercanos a las cejas y ojos para la emoción “sad”. De esta forma, determinadas formas de ojos y cejas cobran peso a la hora de determinar la emoción a clasificar. El modelo ha asignado valores negativos a los píxeles que trazan el contorno de la cara en la segunda imagen. Cabe destacar que el modelo no ha asignado valores positivos a la forma de las cejas en la última imagen, por lo que ha realizado una predicción incorrecta. Tabla 20.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “sad” para el problema de clasificación de tres emociones Clase real: “sad” Clase predicha: “sad” Clase real: “sad” Clase predicha: “sad” Clase real: “angry” Clase predicha: “sad” A continuación, se van a mostrar algunos ejemplos representativos del método IntegratedGradients para el problema de clasificación de siete tipos de emociones aplicado a imágenes del conjunto de datos final. 63 Tabla 21.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “angry” para el problema de clasificación de siete emociones Clase real: “angry” Clase predicha: “angry” Clase real: “angry” Clase predicha: “angry” Clase real: “fear” Clase predicha: “angry” En las imágenes anteriores se puede observar que el modelo ha conseguido reconocer que en la clase “angry” son importantes aquellos píxeles relativos a los ojos, así como las cejas que presentan una forma curva. En la segunda imagen se han valorado negativamente los píxeles de las cejas porque considera que la curva es demasiado pronunciada para una persona enfadada. Tal y como se aprecia en la última imagen, a veces valora positivamente los píxeles de los dientes si no encuentra las características comentadas anteriormente. 64 Tabla 22.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “disgust” para el problema de clasificación de siete emociones Clase real: “disgust” Clase predicha: “disgust” Clase real: “disgust” Clase predicha: “happy” En las imágenes anteriores se puede ver cómo actúa el modelo a la hora de clasificar la emoción “disgust”. Valora positivamente los píxeles de las cejas si son cóncavas. Por otro lado, ha aprendido a valorar negativamente las arrugas de alrededor de la boca en ciertas ocasiones, como es el caso de la primera imagen, pero no en la segunda. Tabla 23.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “fear” para el problema de clasificación de siete emociones Clase real: “fear” Clase predicha: “fear” 65 Clase real: “fear” Clase predicha: “fear” Clase real: “neutral” Clase predicha: “fear” En lo que respecta a la emoción “fear” los píxeles que el modelo marca positivamente son los relativos a los ojos y las cejas, dejando a un lado las regiones de la boca y aledañas. Para verificar que el modelo no siempre acierta, se presenta la última imagen a modo de ejemplo. El modelo valora positivamente los píxeles correspondientes a una ceja y un lateral de la boca, y por ese motivo no ha predicho la clase correcta. Tabla 24.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “happy” para el problema de clasificación de siete emociones Clase real: “happy” Clase predicha: “happy” 66 Clase real: “happy” Clase predicha: “happy” Clase real: “neutral” Clase predicha: “happy” Cuando aparece una boca que encaja con los patrones del clasificador para la emoción “happy”, el modelo valora positivamente los píxeles que modelan esa forma, como se puede observar en las dos primeras imágenes. En la imagen final, como no tiene una forma definida para la boca, se centra en valorar positivamente otros píxeles que encuentra relevantes, como las arrugas de la frente y la mitad de un ojo. Debido a que centra su atención en otras características, predice una clase parecida a la real: “happy” Tabla 25.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “neutral” para el problema de clasificación de siete emociones Clase real: “neutral” Clase predicha: “neutral” 67 Clase real: “neutral” Clase predicha: “neutral” Clase real: “fear” Clase predicha: “neutral” El modelo solamente tiende a valorar positivamente píxeles relativos a la boca y alrededores para la emoción “neutral”. Se puede observar en la última imagen que se han valorado positivamente los píxeles de la arruga cercana a la boca y los que trazan el contorno de un ojo, por lo que no se predice la emoción correcta. Tabla 26.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase “sad” para el problema de clasificación de siete emociones Clase real: “sad” Clase predicha: “sad” Clase real: “sad” Clase predicha: “sad” 68 Clase real: “angry” Clase predicha: “sad” Para “angry” se puede observar que el modelo ha conseguido valorar positivamente los pixeles aledaños a los ojos y a las cejas de las personas de las imágenes. Por el contrario, valora negativamente los píxeles del contorno de la cara y a veces, aquellos cercanos a la boca. Como se puede apreciar en la última imagen, el modelo ha asignado valores positivos bajos a las cejas, haciendo que no tengan gran relevancia en la clasificación, y es por eso por lo que la emoción predicha es errónea. Tabla 27.- Explicabilidad por el método de IntegratedGradients de imágenes correspondientes a la clase ”surprise” para el problema de clasificación de siete emociones Clase real: “surprise” Clase predicha: “surprise” Clase real: “surprise” Clase predicha: “surprise” 69 Clase real: “sad” Clase predicha: “surprise” El modelo asigna valores positivos a los píxeles relativos a los dientes y al contorno de la boca cuando está abierta, pero valora negativamente los píxeles del interior de la boca, porque no ofrecen información de interés. Como se puede ver en la última imagen, se valoran a favor los píxeles que marcan el contorno del ojo derecho, y se valoran en contra los correspondientes a la boca. 5.3 GradientSimilarity Este método muestra, dada una imagen de entrada, tres imágenes con rasgos parecidos. Este método de explicabilidad es el que más se aproxima a la forma de clasificar humana, porque basa las explicaciones en la proximidad y comparación con referencias. A continuación, se van a mostrar algunos ejemplos representativos del método GradientSimilarity para el problema de clasificación de tres tipos de emociones aplicado a imágenes del conjunto de datos final. Tabla 28.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “happy” para el problema de clasificación de tres emociones 70 En las imágenes que se muestran anteriormente, se puede observar que el modelo, si recibe una imagen de una persona contenta, pero con boca cerrada, muestra por lo general imágenes de personas contentas, pero con bocas cerradas, por lo que se puede deducir que la boca es un factor importante que tiene en cuenta a la hora de detectar la emoción “happy”. Como dato curioso, también se fija si en la cara hay presentes elementos extraños, para así buscar imágenes que también tienen elementos extraños parecidos. Un ejemplo de esto es la última imagen, que ha detectado que hay una mano, y muestra caras con manos. También, en relación con la última imagen, la emoción predicha (“happy”) no se corresponde con la original (“sad”) Esto se puede deber a que hay otra imagen parecida que también ha clasificado de forma errónea, pudiendo hacernos pensar que el modelo arrastra errores. 71 Tabla 29.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “angry” para el problema de clasificación de tres emociones Al igual que en “happy”, se puede observar que el modelo, si recibe una imagen de una persona enfadada, pero con boca abierta, muestra imágenes de personas enfadadas, pero con boca abierta, lo que nos lleva a pensar que para discriminar la emoción “angry” se fija en la forma de la boca. También muestra formas de cejas parecidas. Tabla 30.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “sad” para el problema de clasificación de tres emociones 78 El modelo fija su atención mayoritariamente en la forma de la boca para la emoción “sad”. También se fija algunas veces en las cejas. Por esto mismo, muestra imágenes con similitudes en estas características. Tabla 37.- Explicabilidad por el método de GradientSimilarity de imágenes correspondientes a la clase “surprise” para el problema de clasificación de siete emociones 79 Claramente, el modelo muestra imágenes similares basándose en la forma de la boca para la emoción “surprise”. Aunque ese sea el factor predominante en la elección de las imágenes más similares, también se basa en la forma de las cejas. En relación con la primera imagen de la última fila, de clase “fear” pero clasificada como “surprise”, la mala predicción se puede deber a la presencia de elementos extraños en la cara, como gafas o pendientes que logran despistar al clasificador. 80 Capítulo 6 - Conclusiones y trabajo futuro 6.1 Conclusiones En este apartado se comentarán las conclusiones de las diferentes aproximaciones que se han llevado a cabo. Conclusiones de la primera aproximación a la clasificación de emociones en imágenes: La alta resolución de las imágenes es un problema a la hora de entrenar los modelos, porque tardan más en entrenar y no consiguen mejores precisiones. Los modelos, se “pierden” al entrenar y no consiguen extraer características de muchas de las imágenes, en gran medida porque hay muy pocas imágenes disponibles, y porque las imágenes son muy distintas: hay tanto personas individuales como grupos de personas, y también cuerpos completos y caras. Con respecto a los modelos MLP con los que se ha trabajado (en total 96), el 48% obtienen una precisión entre [0.0-0.09], el 16% entre [0.1-0.19], el 17% entre [0.2-0.29], el 17% entre [0.3-0.39] y el 2% entre [0.4-0.49]. La gran mayoría obtiene una precisión menor que 0.33 (clasificación aleatoria) Con respecto a los modelos CNN con los que se ha trabajado (en total 32), el 59% obtienen una precisión entre [0.28-0.39], el 31% entre [0.40-0.49], y el 10% entre [0.500.54]. Estos modelos son mucho mejores que los MLP anteriores, pero siguen sin obtener resultados aceptables. Aunque los modelos obtienen precisiones bajas para los datos de prueba, la clase que mejor clasifican es la mayoritaria: “happy”, y la que peor: “sad”. Las clases que menos confunden son “sad” con “happy”, por lo que ha extraído características que permiten discriminar entre clases, aunque no sean suficientes. Conclusión: El conjunto de datos usado no es apto para el problema que se quiere resolver. 81 Conclusiones de la aproximación final a la clasificación de emociones en imágenes: Clasificación y explicabilidad de tres tipos de emociones: Debido a que los modelos MLP no están orientados al tratamiento de imágenes, muchos de los modelos obtienen precisiones sumamente bajas, menores de 0.33, y otros en cambio, sobreaprenden de los datos de entrenamiento. El mejor modelo no es el que más tarda ni el que mayores tamaños para las imágenes de entrada obtiene, por lo que a veces es necesario despreciar cierto porcentaje de precisión para lograr que el modelo sea más rápido. La clase que mejor clasifica es: “happy” y la que peor: “angry”. Además, extrae alguna característica importante que permite diferenciar la clase “happy” de “angry”, como la presencia de dientes. Los modelos convolucionales consiguen resultados bastante aceptables en tiempos bastante pequeños, pero la mayoría no obtienen una precisión mayor que 0.6, pudiéndose deber a que la combinación de características usadas para crear el modelo no sean las idóneas, o a que los datos no están balanceados. El mejor modelo se comporta de forma muy parecida al MLP, pero confunde menos las clases, obteniendo una mayor precisión – concretamente: 0.73 frente a 0.51 del MLP. En general, al ser un problema de clasificación de pocas clases, se puede observar mediante la explicabilidad que las características obtenidas están muy marcadas, existiendo suficientes variaciones entre éstas para poder discriminar con bastante acierto las clases. Clasificación y explicabilidad de siete tipos de emociones: Los modelos convolucionales consiguen resultados bastante aceptables en tiempos relativamente buenos para la gran cantidad de imágenes con las que trabaja. La mayoría de los modelos consiguen una buena precisión, es decir, mayor de 0.5, a pesar de que hay una clase con muy pocas instancias. Esto puede deberse a que las características usadas potencian la detección de patrones. En comparación con el mejor modelo CNN anterior, la precisión no es tan baja, ya que se han añadido más del doble de clases nuevas. Aunque la tasa de acierto sea mayor que la de fallo, la clase que peor clasifica es: “disgust” y la que mejor: “happy”. Por otro lado, la clase que más 82 confunde es “sad” con “fear y las que menos “disgust” con “happy”, “neutral” y “surprise”. Como hay pocas instancias de la clase “disgust”, el modelo no puede extraer características para discriminar esta clase de las demás. La precisión del mejor modelo CNN es 0.56. Mientras hay clases muy reconocibles como: “happy” y “neutral”, hay otras muy parecidas entre sí: “angry”, “fear” y “surprise”, y “disgust” y “sad”. Se puede observar en la explicabilidad que, aunque tengan características comunes, hay pequeñas variaciones que hace que confunda “disgust” y “sad” poco entre sí. En cambio, al no haber encontrado una característica única para la clase “angry”, se confunde a menudo porque se basa en características que son también comunes a “fear” y “sad”. Ocurre lo mismo con la clase “fear”, que la confunde mucho con “angry” y “surprise”. En relación con los métodos XAI usados, son muy útiles para mostrar las regiones importantes detectadas por el modelo al que se aplican. Las explicaciones son, en cierta medida, fácilmente interpretables, por lo que se pueden extraer conclusiones valiosas y de gran calidad para el estudio. Conclusión: El conjunto de datos usado es apto para el problema que se quiere resolver, porque hay modelos que consiguen extraer muchas características de muy buena calidad. En general, la explicabilidad muestra regiones acordes con lo que se pretende que se fije el modelo, como bocas, ojos, cejas, arrugas, etc. Es por esto por lo que los mejores modelos obtenidos son muy buenos. 6.2 Trabajo futuro En este apartado se detallan algunas propuestas de trabajo futuro que ayudarían a completar el trabajo realizado: En primer lugar, un aspecto importante a realizar si se continúa con el trabajo es expandir el conjunto de datos final, completándolo hasta lograr un conjunto de datos equilibrado. Una vez realizadas pruebas sobre un conjunto de datos completo, se puede expandir también el conjunto de datos inicial y equilibrarlo para hacer pruebas con él. También se puede expandir el número de emociones, eligiendo emociones mucho más complejas. 83 Por otra parte, debido a que no ha sido posible ejecutar los modelos MLP con imágenes de gran resolución, en concreto con los tamaños: (1152, 809) y (768, 539), se propone usar dispositivos más potentes en la nube como Google Cloud para ejecutar el proceso de entrenamiento de estos modelos y ver si la tendencia actual de obtener mejores precisiones según disminuye el tamaño de la imagen, se mantiene. También se pueden usar otros frameworks de Inteligencia artificial para construir los modelos, como PyTorch. Otro aspecto interesante que no se ha considerado en este trabajo, en gran medida para evitar tiempos de entrenamiento excesivamente elevados, es realizar el estudio sobre imágenes a color y después realizar una comparación de las nuevas características con las previamente obtenidas para verificar si coinciden y, por lo tanto, la información del color es un factor importante. 85 Introduction Motivation From a computational point of view, an image is a matrix of numbers which represent colors or gray tones. Thanks to the representation that pixels offer, in some cases it is possible to extract existing meaningful connections from a group of pixels that create relations between a group of images, as they share patterns. These patterns can be detected by supervised learning models from the machine learning field (ML) of the Artificial Intelligence. There are several types of models that, after searching for patterns on the input images set and the input labels set during the training process, can classify a set of images among the different established categories. Certainly, in most cases, these detected patterns and features are invisible to those who use the models to make predictions of a set of images over several classes, as almost all the most used models only provide, given an image as an input, the attributed class, without showing the important zones of the image by which the model has decided to relate it with one a group of images or another. Goals Along this thesis it will be carried out a study of the different existing classification models applied to images, with the final objective of determining which model and parameters are the best ones to solve a problem of in-face emotions classification. Without leaving behind this objective, it will also be carried out a study of the different existing explainability algorithms applied to images, with the final objective of being able to show in the original image the areas selected by the best black box model obtained, to verify the correct detection of the different emotions present on the images and therefore, the correct classification of the images in the existing categories. Work plan Along this thesis it will be shown the development of the work. The stages of the work performed are detailed bellow: 86 Investigation During this phase it has been carried out a research over a wide range of topics related with the development of the work, topics related to machine learning of Artificial Intelligence, specifically, supervised learning and convolutional neural networks. Not only has been made a study about the Explainable Artificial Intelligence applied to images, but also about the practical applications of the use of in-face emotion detection models. Development and experimentation In this subsection it will be talked about the datasets which have been used and the models and features that have been experimented with. First, to make an initial approach to the work, it has been used a small dataset of images which contain faces that represent three types of emotions. After this, to start with the final work it is used a dataset called FER2013, which contains 48x48 grayscale images of seven types of emotions. This dataset is bigger than the initial one. The first tests have been made over a subset of the final dataset, more specifically, over three types of emotions. Finally, there were held some tests over the entirely final dataset. After testing and setting the best model, some explainability algorithms from ALIBI library are used to show the important regions of the input image. All the work done is available on the next link: https://github.com/javieg25/Explicabilidad-aplicada-a-modelos-de-reconocimientode-emociones-en-imagenes.git Documentation As long as the knowledge was expanded during the research stage, and the development and experimentation with the models and explainability algorithms was carried out, this document has been filled in, including the data used and the conclusions reached after studying the results obtained. 87 Ilustración 25.- Gantt diagram of the work plan 94 [10] M. T. C. Ribeiro, S. Singh y C. Guestrin, «Anchors: High-Precision Model-Agnostic Explanations,» 2018. [En línea]. Available: https://github.com/marcotcr/anchor. [11] A. Kapishnikov, T. Bolukbasi, F. Viégas y M. Terry, «XRAI: Better Attributions Through Regions,» 2019. [En línea]. Available: https://arxiv.org/abs/1906.02825. [12] M. Sundararajan, A. Taly y Q. Yan, «Axiomatic Attribution for Deep Networks,» 2017. [En línea]. Available: https://arxiv.org/abs/1703.01365. [13] R. R. Selvaraju, M. Cogswell, A. Das, R. Vedantam, D. Parikh y D. Batra, «Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization,» 2019. [En línea]. Available: https://arxiv.org/abs/1610.02391. [14] V. Petsiuk, A. Das y K. Saenko, «RISE: Randomized Input Sampling for Explanation of Black-box Models,» 2018. [En línea]. Available: http://bmvc2018.org/contents/papers/1064.pdf. [15] S. Muzellec, T. Fel, V. Boutin, L. andéol, R. VanRullen y T. Serre, «Saliency strikes back: How filtering out high frequencies improves white-box explanations,» 2024. [En línea]. Available: https://arxiv.org/abs/2307.09591. [16] J. Klaise, A. V. Looveren, G. Vacanti y A. Coca, «Alibi Explain: Algorithms for Explaining Machine Learning Models,» 2021. [En línea]. Available: https://github.com/SeldonIO/alibi. [17] M. Chan, «This AI reads children’s emotions as they learn,» 2021. [En línea]. Available: https://edition.cnn.com/2021/02/16/tech/emotion-recognition-ai-education-spc-intlhnk/index.html. [18] P. Farley, N. Mehrotra y E. Urban, «What is the Azure AI Face service?,» 2024. [En línea]. Available: https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/overview-identity#facerecognition. [19] A. W. Services, «Amazon Rekognition,» 2023. [En línea]. Available: https://aws.amazon.com/es/rekognition/. 95 [20] G. Cloud, «detect-faces,» 2024. [En línea]. Available: https://cloud.google.com/vision/docs/detecting-faces?hl=es-419. [21] P. Gundecha, «IBM Watson just got more accurate at detecting emotions,» 2016. [En línea]. Available: https://www.ibm.com/blog/announcement/watson-has-more-accurate-emotiondetection/. [22] EnableX, «EnableX Face AI,» 2024. [En línea]. Available: https://www.enablex.io/cpaas/faceai/. [23] M. Gorini, «El Magic Mirror asombra en el Mobile World Congress,» 2017. [En línea]. Available: https://blog.bismart.com/magic-mirror-asombra-mwc. [24] L. Bruno y A. I. Cuéllar, «“EMOTONGUE”, UNA APP PARA MANEJAR TUS PROPIAS EMOCIONES,» 2022. [En línea]. Available: https://www.uah.es/export/sites/uah/es/investigacion/.galleries/OfertaCientifico-Tecnologica/SOC_03ES.pdf. 96 APÉNDICES Abreviaturas AA. Aprendizaje Automático API. Application Programming Interface (INterfaz de programación de aplicaciones) CNN. Convolutional Neural Networks (Redes Neuronales Convolucionales) FORGrad. FOurier Reparation of the Gradients GPU. Graphics Processing Unit (Unidad de Procesamiento Gráfico) Grad-CAM. Gradient-weighted Class Activation Mapping KNN. K-Nearest Neighbors (K vecinos más cercanos) LIME. Local Interpretable Model-agnostic Explanations LSVRC. Large Scale Visual Recognition Challenge ML. Machine Learning MLP. Multi-layer Perceptron (Perceptrón multicapa) MNIST. Modified National Institute of Standards and Technology ReLU. Rectified Lineal Unit (Unidad Lineal Rectificada) RGB. Red,Green,Blue RISE. Randomized Input Sampling for Explanation SHAP. SHapley Additive exPlanations SVM. Support Vector Machine (Máquina de Vector Soporte) UAH. Universidad de Alcalá de Henares XAI. eXplainable Artificial Inteligence 97