4 research outputs found
Recommended from our members
What does a typical CNN “see” in an emotional facial image?
The objective of this research is to understand the current capabilities of artificial neural network algorithms and contrast them to the human visual system, in order to identify the most effective features to support affective automation. This can, in turn, aid in optimisation of resources used for storage and transmission by understanding which level of information can be used to augment
and potentially accelerate accurate identification of emotional facial expressions. For the first part of our experiment, which we present in this paper, we focused on evaluating feature selection of facial expression images using machine learning. 70 (10 examples of each basic emotion) randomly selected from the NIMSTIM dataset images were used, which were split into train (56) and test (14) sets. The testing images were then processed using Singular Vector Decomposition to vary the levels of information shown in the image. Next, the training dataset was used to train a Convolutional Neural Network algorithm with 18 layers (with convolutional, max pooling, dropout, flattening and activation layers) and 66,884,615 trainable parameters. The validation accuracy was 45% and the confusion matrix showed that the emotion disgust was predicted at almost 100% accuracy, surprise at 55%, and sorrow/happiness/neutral at 46-47%. As expected, the granularity level of the test images had an effect on the successful predictions.
A feature map visualisation was performed to demonstrate what the CNN “sees” (i.e., the feature selection) in the image in order to accurately predict the emotional expression type. For the next phase of our experiment, we plan on contrasting the features and performance to that of the human visual system using an experimental design with eye tracking
Investigation of hierarchical deep neural network structure for facial expression recognition
Facial expression recognition (FER) is still a challenging concept, and machines struggle to
comprehend effectively the dynamic shifts in facial expressions of human emotions. The
existing systems, which have proven to be effective, consist of deeper network structures that
need powerful and expensive hardware. The deeper the network is, the longer the training and
the testing. Many systems use expensive GPUs to make the process faster. To remedy the
above challenges while maintaining the main goal of improving the accuracy rate of the
recognition, we create a generic hierarchical structure with variable settings. This generic
structure has a hierarchy of three convolutional blocks, two dropout blocks and one fully
connected block. From this generic structure we derived four different network structures to
be investigated according to their performances. From each network structure case, we again
derived six network structures in relation to the variable parameters. The variable parameters
under analysis are the size of the filters of the convolutional maps and the max-pooling as
well as the number of convolutional maps. In total, we have 24 network structures to
investigate, and six network structures per case. After simulations, the results achieved after
many repeated experiments showed in the group of case 1; case 1a emerged as the top
performer of that group, and case 2a, case 3c and case 4c outperformed others in their
respective groups. The comparison of the winners of the 4 groups indicates that case 2a is the
optimal structure with optimal parameters; case 2a network structure outperformed other
group winners. Considerations were done when choosing the best network structure,
considerations were; minimum accuracy, average accuracy and maximum accuracy after 15
times of repeated training and analysis of results. All 24 proposed network structures were
tested using two of the most used FER datasets, the CK+ and the JAFFE. After repeated
simulations the results demonstrate that our inexpensive optimal network architecture
achieved 98.11 % accuracy using the CK+ dataset. We also tested our optimal network
architecture with the JAFFE dataset, the experimental results show 84.38 % by using just a
standard CPU and easier procedures. We also compared the four group winners with other
existing FER models performances recorded recently in two studies. These FER models used
the same two datasets, the CK+ and the JAFFE. Three of our four group winners (case 1a,
case 2a and case 4c) recorded only 1.22 % less than the accuracy of the top performer model
when using the CK+ dataset, and two of our network structures, case 2a and case 3c came in
third, beating other models when using the JAFFE dataset.Electrical and Mining Engineerin
Desarrollo de un sistema automático de análisis de expresiones faciales para la detección de la mentira en adultos utilizando técnicas de aprendizaje automático
Este completo estudio genera su base investigativa en 3 modelos los cuales estan citados y explicados con un alto indice de accuracy, su base metodologica promete resolver un claro indice de la relacion que existe entre las microexpresiones faciales y la verdad. logrando implementar así tecnología artificial de analisis profundo.Existen 7 tipos de expresiones faciales universales, las cuales son: enfado, disgusto,
miedo, felicidad, tristeza, sorpresa y desprecio. Estas expresiones faciales son
indiferentes a la raza o la cultura de las regiones del mundo. Estas expresiones
pueden ser falsificadas y son los pequeños movimientos los que nos pueden decir si
una expresión está siendo real o es una mentira. Estos pequeños movimientos se
llaman microexpresiones faciales, los cuales ocurren entre 1/15 y 1/25 segundos y son
imperceptibles al ojo humano. Este trabajo de grado tiene como objetivo reconocer las
microexpresiones faciales mediante un modelo profundo de aprendizaje automático.
Para este fin, se desarrollan 3 modelos cada uno para dos bases de datos de
microexpresiones faciales SMIC (X. Li, T. Pfister, X. Huang, G. Zhao & M. Pietikäinen,
2013) y CASME II (Yan WJ, Li X, Wang SJ, Zhao G, Liu YJ, Chen YH & Fu X., 2014).
El primer modelo implementado fue MicroExpSTCNN el cual fue propuesto por (S. P.
Teja Reddy, S. Teja Karri, S. R. Dubey & S. Mukherjee, 2019) utilizando sobre las
mismas bases de datos de microexpresiones faciales, este trabajo de grado logró
obtener un accuracy mayor para ambas bases de datos (90 % para CASME II y 91.6 %
para SMIC); que el reportado por la referencia, el cual fue de 87.80 % para la base de
datos CASME II. El segundo modelo implementado fue un CNN 3D con data
augmentation rotando las imágenes con cierto número de grados escogidos
aleatoriamente, para este modelo se logró mejorar el acurracy para la base de datos
CASME II (94.2 %). El tercer modelo se construyó con una CNN 2D temporal y una
capa de LSTM, lo cual logró mejorar notablemente la predicción para ambas bases de
datos de microexpresiones faciales, ya que tuvo en cuenta la característica temporal de
los 18 frames. También se desarrolló una aplicación donde se creó el modelo de la red
neuronal y se le cargaron los pesos entrenados previamente para ambas bases de
datos de SMIC (X. Li, et al., 2013) y CASME II (Yan WJ, et al., 2014). Se usó el
framework Flask para visualizar el video y mostrar la microexpresión facial que predice
el modelo.There are 7 types of universal facial expressions, which are: anger, disgust, fear,
happiness, sadness, surprise and contempt. These facial expressions are indifferent to
the race or culture of the world regions. These expressions can be faked and it is the
small movements that can tell us if an expression is being real or a lie. These small
movements are called facial micro-expressions, which occur between 1/15 and 1/25
seconds and are imperceptible to the human eye. This degree work aims to recognize
facial microexpressions using a deep machine learning model. For this purpose, 3
models each are developed for two databases of SMIC facial microexpressions (X. Li,
T. Pfister, X. Huang, G. Zhao & M. Pietikäinen, 2013) and CASME II (Yan WJ, Li X,
Wang SJ, Zhao G, Liu YJ, Chen YH & Fu X., 2014). The first model implemented was
MicroExpSTCNN which was proposed by (SP Teja Reddy, S. Teja Karri, SR Dubey &
S. Mukherjee, 2019) using the same databases of facial microexpressions, this degree
work managed to obtain a higher accuracy for both databases (90% for CASME II and
91.6% for SMIC); than that reported by the reference, which was 87.80% for the
CASME II database. The second model implemented was a CNN 3D with data
augmentation rotating the images with a certain number of degrees chosen randomly,
for this model it was possible to improve the acurracy for the CASME II database
(94.2%). The third model was built with a temporal 2D CNN and an LSTM layer, which
managed to significantly improve the prediction for both databases of facial
microexpressions, since it took into account the temporal characteristic of the 18
frames. An application was also developed where the neural network model was
created and the previously trained weights were loaded for both databases of SMIC (X.
Li, et al., 2013) and CASME II (Yan WJ, et al., 2014). The Flask framework was used to
visualize the video and show the facial microexpression predicted by the model.MaestríaMagíster en Ingeniería de Sistemas y ComputaciónContenido
Lista de Tablas 12
Lista de Figuras 15
Notaciones 27
1. Introducción 29
1.1. Planteamiento del problema 30
1.1.1. Pregunta de Investigación 32
1.2 Justificación 33
1.2.1. Pertinencia 34
1.2.2. Viabilidad 34
1.2.3. Impacto 35
1.3. Objetivos de la investigación 36
1.3.1. Objetivo general 36
1.3.2. Objetivos específicos 36
2. Estado del Arte 37
3. Marco Teórico 48
3.1. Teoría de las emociones 48
3.1.1. Las 7 Emociones Universales 49
3.1.1.1. Enfado 50
3.1.1.2. Disgusto 50
3.1.1.3. Miedo 51
3.1.1.4. Felicidad 51
3.1.1.5. Tristeza 52
3.1.1.6. Sorpresa 53
3.1.1.7. Desprecio 53
3.2. Expresiones faciales 54
3.3. Micro expresiones faciales 55
3.4. Emoción espontánea 56
3.5. La mentira 56
3.6. Deep learning 59
3.6.1. Convolutional Neural Networks (CNNs) 59
3.6.1.1. Arquitecturas de Redes Neuronales Convolucionales CNN 62
3.6.1.1.1. Layer Patterns 64
3.6.1.1.2. Dropout 65
3.6.1.1.3. Max pooling 66
3.6.1.1.4. Data Augmentation 67
3.6.2. Redes Neuronales Convolucionales 3D CNN 67
3.6.3. Redes de memoria a corto/largo plazo LSTM 70
3.6.4. Redes residuales ResNet 73
3.6.5. Funciones de activación 74
3.6.5.1. Softmax 75
3.6.5.2. Función de perdida Cross Entropy 76
3.6.5.3. ReLu: Unidad lineal rectificada 76
3.6.6. Algoritmos de optimización 77
3.6.6.1. Adam 77
3.6.6.2. SGD 79
4. Materiales y Métodos 81
4.1. Preparación de los datos 81
4.1.1. Base de datos de microexpresiones faciales CASME II 82
4.1.2. Base de datos de microexpresiones faciales SMIC 82
4.2. Caja de herramientas 84
4.2.1. Google Colaboratory 84
4.2.2. Tensorflow 85
4.2.3. Keras 85
4.2.4. Sklearn 86
4.2.5. Flask 87
4.2.6. Anaconda 88
4.2.7. TensorBoard 89
4.2.8. OpenCV 91
4.3. Reconocimiento de expresiones faciales utilizando modelos profundos 92
4.3.1. PyEmotionRecognition 93
4.3.2. Landmarks 94
4.3.3. Reconocimiento de expresiones faciales con Keras 95
4.4. Evaluación de los modelos 97
4.4.1. F1 score 97
4.4.2. Accuracy 98
4.4.3. Precisión 99
4.4.4. Sensibilidad (recall) 100
4.4.5. Especificidad 101
4.4.6. Curva ROC 101
4.4.7. Matriz de Confusión 104
5. Resultados y Discusiones 105
5.1. Modelo convolucional MicroExpSTCNN 3D para el reconocimiento de
microexpresiones faciales 105
5.1.1. Base de datos CASME II 108
5.1.1.1. Matriz de Confusión 112
5.1.1.2. Curva ROC y AUROC 114
5.1.2. Base de datos SMIC 115
5.1.2.1. Matriz de Confusión 117
5.1.2.2. Curva ROC y AUROC 119
5.2. Modelo convolucional 3D para el reconocimiento de microexpresiones faciales
con data augmentation 120
5.2.1. Base de datos CASME II 124
5.2.1.1. Matriz de Confusión 129
5.2.1.2. Curva ROC y AUROC 131
5.2.2. Base de datos SMIC 132
5.2.2.1. Matriz de Confusión 136
5.2.2.2. Curva ROC y AUROC 138
5.3. Modelo temporal profundo para el reconocimiento de expresiones faciales 140
5.3.1. Base de datos CASME II 142
5.3.1.1. Matriz de Confusión 145
5.3.1.2. Curva ROC y AUROC 147
5.3.2. Base de datos SMIC 148
5.3.2.1. Matriz de Confusión 152
5.3.2.2. Curva ROC y AUROC 153
5.4. Evaluación cuantitativa de los modelos propuestos para diferentes métricas
154
5.5. Comparación con el estado del arte 159
5.6. Evaluación de la complejidad del modelo 162
5.7. Aplicación para el reconocimiento de microexpresiones faciales 163
5.7.1. Herramientas 167
5.7.2. Funcionalidades 167
5.7.3. Diagrama de Flujo 168
6. Conclusiones y Trabajos futuros 170
6.1. Conclusiones 170
6.2. Trabajos futuros 173
6.3. Difusión publicaciones 174
7. Referencias 175
Anexo a. Modelos Implementados en Google Colab 185
Modelo 1. Modelo convolucional MicroExpSTCNN 3D para el reconocimiento de
microexpresiones faciales 185
Base de datos CASME II 185
Base de datos SMIC 196
Modelo 2. Modelo convolucional 3D para el reconocimiento de microexpresiones
faciales con data augmentation 211
Base de datos CASME II 211
Base de datos SMIC 221
Modelo 3. Modelo temporal profundo para el reconocimiento de expresiones
faciales 233
Base de datos CASME II 233
Base de datos SMIC 240
Anexo b. Artículo científico 251
Anexo c. Manual técnico Aplicación 27
Desarrollo de un sistema automático de análisis de expresiones faciales para la detección de la mentira en adultos utilizando técnicas de aprendizaje automático
Este completo estudio genera su base investigativa en 3 modelos los cuales estan citados y explicados con un alto indice de accuracy, su base metodologica promete resolver un claro indice de la relacion que existe entre las microexpresiones faciales y la verdad. logrando implementar así tecnología artificial de analisis profundo.Existen 7 tipos de expresiones faciales universales, las cuales son: enfado, disgusto,
miedo, felicidad, tristeza, sorpresa y desprecio. Estas expresiones faciales son
indiferentes a la raza o la cultura de las regiones del mundo. Estas expresiones
pueden ser falsificadas y son los pequeños movimientos los que nos pueden decir si
una expresión está siendo real o es una mentira. Estos pequeños movimientos se
llaman microexpresiones faciales, los cuales ocurren entre 1/15 y 1/25 segundos y son
imperceptibles al ojo humano. Este trabajo de grado tiene como objetivo reconocer las
microexpresiones faciales mediante un modelo profundo de aprendizaje automático.
Para este fin, se desarrollan 3 modelos cada uno para dos bases de datos de
microexpresiones faciales SMIC (X. Li, T. Pfister, X. Huang, G. Zhao & M. Pietikäinen,
2013) y CASME II (Yan WJ, Li X, Wang SJ, Zhao G, Liu YJ, Chen YH & Fu X., 2014).
El primer modelo implementado fue MicroExpSTCNN el cual fue propuesto por (S. P.
Teja Reddy, S. Teja Karri, S. R. Dubey & S. Mukherjee, 2019) utilizando sobre las
mismas bases de datos de microexpresiones faciales, este trabajo de grado logró
obtener un accuracy mayor para ambas bases de datos (90 % para CASME II y 91.6 %
para SMIC); que el reportado por la referencia, el cual fue de 87.80 % para la base de
datos CASME II. El segundo modelo implementado fue un CNN 3D con data
augmentation rotando las imágenes con cierto número de grados escogidos
aleatoriamente, para este modelo se logró mejorar el acurracy para la base de datos
CASME II (94.2 %). El tercer modelo se construyó con una CNN 2D temporal y una
capa de LSTM, lo cual logró mejorar notablemente la predicción para ambas bases de
datos de microexpresiones faciales, ya que tuvo en cuenta la característica temporal de
los 18 frames. También se desarrolló una aplicación donde se creó el modelo de la red
neuronal y se le cargaron los pesos entrenados previamente para ambas bases de
datos de SMIC (X. Li, et al., 2013) y CASME II (Yan WJ, et al., 2014). Se usó el
framework Flask para visualizar el video y mostrar la microexpresión facial que predice
el modelo.There are 7 types of universal facial expressions, which are: anger, disgust, fear,
happiness, sadness, surprise and contempt. These facial expressions are indifferent to
the race or culture of the world regions. These expressions can be faked and it is the
small movements that can tell us if an expression is being real or a lie. These small
movements are called facial micro-expressions, which occur between 1/15 and 1/25
seconds and are imperceptible to the human eye. This degree work aims to recognize
facial microexpressions using a deep machine learning model. For this purpose, 3
models each are developed for two databases of SMIC facial microexpressions (X. Li,
T. Pfister, X. Huang, G. Zhao & M. Pietikäinen, 2013) and CASME II (Yan WJ, Li X,
Wang SJ, Zhao G, Liu YJ, Chen YH & Fu X., 2014). The first model implemented was
MicroExpSTCNN which was proposed by (SP Teja Reddy, S. Teja Karri, SR Dubey &
S. Mukherjee, 2019) using the same databases of facial microexpressions, this degree
work managed to obtain a higher accuracy for both databases (90% for CASME II and
91.6% for SMIC); than that reported by the reference, which was 87.80% for the
CASME II database. The second model implemented was a CNN 3D with data
augmentation rotating the images with a certain number of degrees chosen randomly,
for this model it was possible to improve the acurracy for the CASME II database
(94.2%). The third model was built with a temporal 2D CNN and an LSTM layer, which
managed to significantly improve the prediction for both databases of facial
microexpressions, since it took into account the temporal characteristic of the 18
frames. An application was also developed where the neural network model was
created and the previously trained weights were loaded for both databases of SMIC (X.
Li, et al., 2013) and CASME II (Yan WJ, et al., 2014). The Flask framework was used to
visualize the video and show the facial microexpression predicted by the model.MaestríaMagíster en Ingeniería de Sistemas y ComputaciónContenido
Lista de Tablas 12
Lista de Figuras 15
Notaciones 27
1. Introducción 29
1.1. Planteamiento del problema 30
1.1.1. Pregunta de Investigación 32
1.2 Justificación 33
1.2.1. Pertinencia 34
1.2.2. Viabilidad 34
1.2.3. Impacto 35
1.3. Objetivos de la investigación 36
1.3.1. Objetivo general 36
1.3.2. Objetivos específicos 36
2. Estado del Arte 37
3. Marco Teórico 48
3.1. Teoría de las emociones 48
3.1.1. Las 7 Emociones Universales 49
3.1.1.1. Enfado 50
3.1.1.2. Disgusto 50
3.1.1.3. Miedo 51
3.1.1.4. Felicidad 51
3.1.1.5. Tristeza 52
3.1.1.6. Sorpresa 53
3.1.1.7. Desprecio 53
3.2. Expresiones faciales 54
3.3. Micro expresiones faciales 55
3.4. Emoción espontánea 56
3.5. La mentira 56
3.6. Deep learning 59
3.6.1. Convolutional Neural Networks (CNNs) 59
3.6.1.1. Arquitecturas de Redes Neuronales Convolucionales CNN 62
3.6.1.1.1. Layer Patterns 64
3.6.1.1.2. Dropout 65
3.6.1.1.3. Max pooling 66
3.6.1.1.4. Data Augmentation 67
3.6.2. Redes Neuronales Convolucionales 3D CNN 67
3.6.3. Redes de memoria a corto/largo plazo LSTM 70
3.6.4. Redes residuales ResNet 73
3.6.5. Funciones de activación 74
3.6.5.1. Softmax 75
3.6.5.2. Función de perdida Cross Entropy 76
3.6.5.3. ReLu: Unidad lineal rectificada 76
3.6.6. Algoritmos de optimización 77
3.6.6.1. Adam 77
3.6.6.2. SGD 79
4. Materiales y Métodos 81
4.1. Preparación de los datos 81
4.1.1. Base de datos de microexpresiones faciales CASME II 82
4.1.2. Base de datos de microexpresiones faciales SMIC 82
4.2. Caja de herramientas 84
4.2.1. Google Colaboratory 84
4.2.2. Tensorflow 85
4.2.3. Keras 85
4.2.4. Sklearn 86
4.2.5. Flask 87
4.2.6. Anaconda 88
4.2.7. TensorBoard 89
4.2.8. OpenCV 91
4.3. Reconocimiento de expresiones faciales utilizando modelos profundos 92
4.3.1. PyEmotionRecognition 93
4.3.2. Landmarks 94
4.3.3. Reconocimiento de expresiones faciales con Keras 95
4.4. Evaluación de los modelos 97
4.4.1. F1 score 97
4.4.2. Accuracy 98
4.4.3. Precisión 99
4.4.4. Sensibilidad (recall) 100
4.4.5. Especificidad 101
4.4.6. Curva ROC 101
4.4.7. Matriz de Confusión 104
5. Resultados y Discusiones 105
5.1. Modelo convolucional MicroExpSTCNN 3D para el reconocimiento de
microexpresiones faciales 105
5.1.1. Base de datos CASME II 108
5.1.1.1. Matriz de Confusión 112
5.1.1.2. Curva ROC y AUROC 114
5.1.2. Base de datos SMIC 115
5.1.2.1. Matriz de Confusión 117
5.1.2.2. Curva ROC y AUROC 119
5.2. Modelo convolucional 3D para el reconocimiento de microexpresiones faciales
con data augmentation 120
5.2.1. Base de datos CASME II 124
5.2.1.1. Matriz de Confusión 129
5.2.1.2. Curva ROC y AUROC 131
5.2.2. Base de datos SMIC 132
5.2.2.1. Matriz de Confusión 136
5.2.2.2. Curva ROC y AUROC 138
5.3. Modelo temporal profundo para el reconocimiento de expresiones faciales 140
5.3.1. Base de datos CASME II 142
5.3.1.1. Matriz de Confusión 145
5.3.1.2. Curva ROC y AUROC 147
5.3.2. Base de datos SMIC 148
5.3.2.1. Matriz de Confusión 152
5.3.2.2. Curva ROC y AUROC 153
5.4. Evaluación cuantitativa de los modelos propuestos para diferentes métricas
154
5.5. Comparación con el estado del arte 159
5.6. Evaluación de la complejidad del modelo 162
5.7. Aplicación para el reconocimiento de microexpresiones faciales 163
5.7.1. Herramientas 167
5.7.2. Funcionalidades 167
5.7.3. Diagrama de Flujo 168
6. Conclusiones y Trabajos futuros 170
6.1. Conclusiones 170
6.2. Trabajos futuros 173
6.3. Difusión publicaciones 174
7. Referencias 175
Anexo a. Modelos Implementados en Google Colab 185
Modelo 1. Modelo convolucional MicroExpSTCNN 3D para el reconocimiento de
microexpresiones faciales 185
Base de datos CASME II 185
Base de datos SMIC 196
Modelo 2. Modelo convolucional 3D para el reconocimiento de microexpresiones
faciales con data augmentation 211
Base de datos CASME II 211
Base de datos SMIC 221
Modelo 3. Modelo temporal profundo para el reconocimiento de expresiones
faciales 233
Base de datos CASME II 233
Base de datos SMIC 240
Anexo b. Artículo científico 251
Anexo c. Manual técnico Aplicación 27