Está en la página 1de 5

Sistema de reconocimiento de emociones faciales mediante lenguaje de

progradation de Python y OpenCV


Facial emotion recognition system using language of Python and OpenCV programming
Nombre de Autor(es)
Ramírez Vázquez Joan Antonio
Vera Figueroa Bryan Gabriel
Mera Moran Ma. Fernanda

Código ORCID
0000-0003-3547-5818
000-0002-2230-3649
0000-0003-4406-7912

Universidad Estatal Península de Santa Elena, Ecuador


Email del autor principal
joan.ramirezvasquez@upse.edu.ec
bryan.verafigueroa@upse.edu.ec
maria.meramoran@upse.edu.ec

Resumen
El reconocimiento emocional es uno de los procesos en los que la psicología más interesa por
esa razón la mayoría de los investigadores se han apoyado en herramientas funcionales como la
neuro imagen. siguiendo con estos antecedente Implementaremos en nuestro proyecto el
reconocimiento facial para poder medir diferentes tipos de emociones que puede presentar
cualquier persona al azar a través de cámaras o imágenes, que nos permitan identificar rasgos
característicos de cada sentimiento y comportamiento humano, que es indispensables para poder
detectar de manera rápida y veloz las decisiones de los individuos que van de la mano con las
emociones, se lo podrá realizar mediante programas de simulación de visión artificial para la
identificación de rostros realizados en los programas de simulación con lenguaje de
programación Python y Matlab este proyecto sintetiza los avances dentro del campo de la
psicología contemporánea, partiendo desde las distintas hipótesis y posturas de teorías existentes
con el fin de poder realizar una identificación adecuada de las emociones de cada una de las
personas que se va identificar.
Palabras Clave: psicología, neuroimagen, visión artificial, Python, Matlab

Abstract
Emotional recognition is one of the processes in which psychology is most interested, which is
why most researchers have relied on functional tools such as neuroimaging. Continuing with this
background, we will implement facial recognition in our project to be able to measure different
types of emotions that anyone can present randomly through cameras or images, which allow us
to identify characteristic features of each human feeling and behavior, which are fundamental In
order to quickly and quickly detect the decisions of individuals that go hand in hand with
emotions, it can be done through computer vision simulation programs for the identification of
faces made in simulation programs with the Python and Matlab programming language . projects
synthesizes the advances within the field of contemporary psychology, starting from the different
hypotheses and positions of the existing theories in order to carry out an adequate identification
of the emotions of each of the people to be identified.
Keywords: psychology, neuroimaging, computer vision, python, MATLAB
1. Introducción Según investigaciones previas el desarrollo de
reconocimiento facial automatizado es un
El ser humano cuando experimenta cualquier
término nuevo. de los cuales se tiene sus
emoción lo manifiesta por diferentes medios a
Primeros antecedentes en los años 80 con el
través de lo que se puede comunicar y expresar
sistema semiautomático para el reconociendo
aquello que se está sintiendo, algunos de los
facial el cual funcionaba con un operador
medios que nos ayudan a identificar lo que
humando donde se identificaban rasgos
queremos expresar son componentes filosóficos
específicos como ojos, nariz, orejas y boca para
y conductuales, esto se manifiesta en los seres
que compare he identifique con los registros
humanos con cambios parciales, gestos
existentes. (Alberto, and Jerónimo Ríos. 2017)
repentinos, y algunos otros lenguajes no
verbales que usamos para expresar el Los diseños de reconocimiento facial ya se han
sentimiento o emociones. implantado de manera exitosa en plataformas de
simulación como Matlab, muchos
La identificación de las emociones siempre
programadores utilizan herramientas
resultan ser una puerta de identificación de la
matemáticas en la plataforma de Matlab para
persona ya que se puede identificar qué es lo
obtener resultados favorables, una de las
que desea expresar, en el ámbito de la medicina
ventajas que tiene este desarrollador de
puede ayudar para identificar dolencia y
softwares es que es amigables con dispositivos
malestares, dentro de departamentos policiales
externos, en este caso para la identificación de
ayuda a identificar comportamientos de persona
rostros se utiliza cámaras WEBCAM.
sospechosas de manera rápida y eficiente,
mejorando los niveles de seguridad de cualquier 2. Materiales y Métodos
espacio público o privado. (Modi, Mitul, and
2.1. Materiales
Fedrik Macwan. 2014)
El reconocimiento facial es la recopilación de
Dentro de la psicología la identificación de
datos biométricos a través de algoritmos
sentimientos o comportamiento corporales es
específicos, que permiten mediante vectores,
muy utiliza para poder saber los estados
obtener pixeles de la imagen obtenida,
emocionales de las personas, de esta manera se
extrayendo información necesaria, por ejemplo,
puede identificar cuáles son los problemas o la
de la distancia entre los ojos, nariz o boca, para
situación por las que está pasando los
después, procesar la imagen.
individuos, con esta ventaja se pude anticipar la
manera adecuadla la forma de actuar de cada Entre unas de las funciones que tenemos es la
persona dentro de un extorno social de EigenFaces (caras propias), FisherFaces
(Pescador de caras), LBPH (local Binary
La identificación de rostros siempre ha estado
Pattern Histogram) consideradas cono una de
ligada a la seguridad dentro de lugares con gran
las funciones principales de los algoritmos, es el
influencia de personas, asegurando un entorno
de realizar un proceso de entrenamiento y
seguro para el resto de los individuos, de esta
validación de datos. Estas dos etapas indican
forma la persona queda identifica y se puede ser
qué algoritmo es más rápido en la obtención de
rastreada.
resultados y aplicarlo en áreas donde se requiera
Se propone implementarle un extra a la hacer uso de ellos, por ejemplo, en sistemas de
identificación de rostro es este caso sería una seguridad. (Esparza Franco, et al., 2015)
identificación de sentimientos a través de
Eigenfaces es una librería de Los sistemas de
simuladores que permitan realizar dicha acción,
reconocimiento de rostros se basan en la idea de
los rostros de las personas generan diferentes
que cada persona tiene una estructura de rostro
tipos de rasgos lo que ayuda a identificar los
particular y, utilizando la simetría facial, es
sentimientos que desea expresar cada individuo.
posible la comparación computarizada de las
imágenes del rostro. El rostro y sus propiedades
estructurales deben ser identificadas Aplicar EigenFaces, FisherFaces y LBPH para
cuidadosamente, y la imagen resultante debe el reconocimiento facial
convertirse en datos digitales bidimensionales.
Capturamos los rostros donde se reflejarán las
(Edison, 2017).
emociones cada una de ella en una carpeta
OPENCV Para el desarrollo de la aplicación diferente para identificar de mejor manera las
utilizaremos el módulo de “Object Detection” imágenes.
del Core de la librería OpenCV. Este detector de
El programa que usaremos para poder crear la
objetos utiliza los conceptos propuestos por
base de datos de los rostros que reflejen las
Paul Viola. (Viola & Jones, Rapid object
emociones tendrá unas pequeñas variaciones en
detection using a boosted cascade of simple
cuanto a los nombres de las variables y la
features, 2001).
cantidad de rostros por cada emoción (para
Cabe mencionar que no es posible contar con experimentar un poco). Entonces a
rasgos biométricos que guarden una similitud continuación tendremos el script nuevo y los
exacta, es por ello por lo que, partiendo de esto procesos interno que se realizaran dentro de
se puede establecer la diferencia fundamental nuestra simulación como lo indica la "figura 1:
entre los sistemas biométricos y tradicionales. diagrama del proceso de ejecución del
Por ejemplo, en este último basado en programa"
contraseñas, la clave de acceso debe ser
coincidente en todo momento, no obstante, en
los sistemas biométricos se analiza y verifica la
identidad del usuario a partir del nivel de
semejanza que existe entre los rasgos que se
encuentran registrados y los que son
presentados en su momento. (Ramos &
Figura 1: diagrama del proceso de ejecución del
Ribagorda, 2015, pág. 61) programa
FISHERFACES Y EIGENFACES, de los
cuales, los dos últimos son de mejor
Se realizar el entrenamiento con los tres
optimización de acuerdo con el procesamiento
métodos que OpenCV nos ofrece, para ello he
de datos. Sin embargo, el algoritmo
querido optimizar el código anterior para
FISHERFACE, genera más costo
entrenar todos los métodos en una sola
computacional que los otros dos, y puede
ejecución, esto nos servirá para realizar pruebas
generar un falso positivo al reconocer un rostro.
sobre cada uno de ellos, sin embargo, tu podrías
El algoritmo Eigenfaces tiene una mayor
solo usar el método que necesites. Veamos,
facilidad en el procesamiento de datos. (Niño
creamos un script llamado. (G.Solano, 2020).
Pacheco, 2015)
Una vez que hemos entrenado el o los modelos
2.2. Método
será necesario probar su funcionamiento, para
Para nuestro proyecto que estas basado en el ello crearemos otro script llamado
reconocimiento facial, con la innovación que se (reconocimientoEmociones.py). (G.Solano,
encargara de identificar los estados de ánimo 2020).
empezaremos por detallar que trabajaremos con
cuatro expresiones faciales el enojo, felicidad,
sorpresa y tristeza, para ello emplearemos La vista de aplicación es útil para diseñar o
EigenFaces, FisherFaces y LBPH comprender la estructura principal de
aplicaciones o componentes y los datos
Creamos una base de datos donde se
asociados. La capa de aplicación comprende
encontrarán definidas nuestras emociones
aplicaciones de software que apoyan los
principales
componentes solicitados como se especifica en
"la figura 2: vista de aplicación" (Group, recomienda no omitir este método, al contrario,
2012). te recomiendo realizar más pruebas. (G.Solano,
2020).
Entre los resultados que estuvimos dentro del
proyecto representados en la "tabla 1: análisis
de la simulación"

prueba enojado triste feliz Sorprendido


1 si si no no
2 si no si si
3 no no no si
4 si si si si
5 si si si si
Tabla 1: análisis de la simulación

Con los análisis que obtuvimos podemos


Figura 2: vista de aplicación
observar que mientras más pruebas se realicen
más rápido y preciso reconocerá los rostros.
4. Conclusiones
El punto de vista de Infraestructura contiene los
elementos de infraestructura de software y Se ha diseñado un dispositivo capaz de detectar
hardware que soportan la capa de aplicación, expresiones de sonrisa, sorpresa, enojo y
como dispositivos físicos, redes o software del tristeza con el fin de mejorar la interacción
sistema (por ejemplo, sistemas operativos, emocional, el dispositivo es capaz de detectar
bases de datos y middleware) especificado en la expresiones faciales y mostrarlas a través de un
"figura 3: vista de infraestructura"(Group, emoji en tiempo real para ser utilizado en una
2012). conversación.
Una posibilidad interesante es la integración
con algún sistema de reconocimiento facial.
Detectar primero el rostro más cercano, y luego
realizar la clasificación de acuerdo con la matriz
de proyección correspondiente a ese rostro en
particular, podría ser un enfoque mucho más
escalable y probablemente más eficiente.

6. Referencia
Figura 3:vista de infraestructura
Esparza Franco, C. H., Tarazona Ospina, C.,
Sanabria Cuevas, E. E. y Velazco Capacho, D.
3. Discusión y Resultados A., 2015. Facial recognition based on
Eigenfaces, LBHP and Fisherfaces on the
Hay que resaltar, que los resultados que a beagleboard-xM. Colombian magazine of
continuación se muestran dependen de los advanced technologies, X(XX - 20XX), p. 8.
rostros con los cuales se ha entrenado en este
reconocedor, además de que estoy probando en Niño Pacheco, D., 2015. Security prototype
using facial recognition using the Eigenface
el mismo ambiente con el que capturé los
algorithm (PCA). First edition
rostros en un principio.
ed. Colombia: Articulo de la Universidad
Este resultado no fue lo que esperaba, ya que Pedagógica y Tecnológica de Colombia. PDI.
anteriormente con las pruebas que había Romero, L., & Calonge, T. (2015). Neural
realizado FisherFaces respondió bastante bien, Networks and Pattern Recognition. Scopus, 9-
incluso en el tiempo de respuesta. Por ello se 10.
Alberto, and Jerónimo Ríos. 2017. “Facial Edison Rene Caballero Barriga, practical
Recognition By The Eigenfaces Method." application of artificial vision universidad
Educational Tracks127(04) :66–81. distrital francisco josé de caldas, bogota d.c,
http://itcelaya.edu.mx/ojs/index.php/pistas 2017.

Modi, Mitul, and Fedrik Macwan. 2014. “Face Viola, P., & Jones, M. (2001). Rapid object
Detection Approaches: A Survey.” detection using a boosted cascade of simple
International Journal of Innovative Research in features. Obtenido de Proceedings of the 2001
Science, Engineering and Technology 3 (4): IEEE Computer Society Conference on
11107–16. Computer Vision and Pattern Recognition:
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=
G. Solano, «OMES,» 2 Julio 2022. Available:
&arnumber=990517&isnumber=21353
https://omes-va.com/reconocimiento-de-
emociones-opencv-python/. [Último acceso: 2 OpenCv. (03 de 2017). Face Recognition with
07 2021]. OpenCV. Obtenido de Open Source Computer
Vision:http://docs.opencv.org/3.2.0/da/d60/tuto
Group, T. (2012). Archimate 2.0 Specification.
rial_face_main.html
Obtenido de http://pubs.opengroup.org:
http://pubs.opengroup.org/architecture/archima
te2-doc/
Feigenbaum, E. A. (1984). The fifth generation
artificial intelligence and Japan's computer
challenge to the world. New York: New
American Library.
Marr, D. (1982). Vision - A computational
investigation into the human representation and
processing of visual information. San
Francisco: W. H. Freeman.

También podría gustarte