Reconhecimento de expressões faciais e emocionais

Transcrição

Reconhecimento de expressões faciais e emocionais
Anais do Encontro Regional de Computação e Sistemas de Informação
178
Reconhecimento de expressões faciais e emocionais como método
avaliativo de aplicações computacionais.
Ailton Lopes de Sousa, Saulo William S. Costa, Yomara Pires, Fabíola Pantoja Araújo
Laboratório de Desenvolvimento de Sistemas (LADES) – Faculdade de Computação –
Universidade Federal do Pará – Campus de Castanhal, Avenida dos Universitários,
Jaderlândia – Castanhal – PA – Brasil
[email protected], [email protected], [email protected],
[email protected]
Abstract. This article has the purpose to present the partial results of the study on the
assessment of affective aspects in computer applications through recognition of facial
expressions and emotions. Thus, it was possible through the study of the state of the art
in the areas of Affective Computing , Human-Computer Interaction , Usability systems
develop a computational tool capable of capturing the facial expressions of the user
using the Kinect in order to carry out the scenario development (case studies) to assess
the affectivity by capturing the user personality traits of the systems.
Resumo. Este artigo tem como propósito apresentar os resultados parciais do estudo
realizado sobre a avaliação dos aspectos afetivos em aplicações computacionais por
meio de reconhecimento de expressões faciais e emoções. Diante disso, foi possível,
através de estudos das áreas de Computação Afetiva e Usabilidade de sistemas, iniciar
o desenvolvimento de uma ferramenta computacional capaz de capturar as expressões
faciais do usuário utilizando-se do Kinect, a fim de realizar a elaboração de cenários
(estudo de casos) para avaliação da afetividade por meio da captura dos traços de
personalidade de usuário dos sistemas.
1. INTRODUÇÃO
Um sistema de qualidade é essencial para qualquer organização e, normalmente, essas
organizações necessitam de softwares fáceis de serem usados e que tenham aceitação por parte
dos usuários [Costa et al., 2015]. A busca por tecnologias que apresentem qualidade e boa
usabilidade facilita a interação do usuário com a máquina, tarefa fundamental na construção de
um sistema de alto desempenho. Nesse contexto, a computação afetiva vem contribuir na
avaliação de usabilidade e satisfação, já que visa tentar fazer com que a emoção, existente na
comunicação entre pessoas esteja presente também durante a interação entre homem e
computador [Picard, 1997]. Logo, pode-se inferir por meio do estado emocional e de expressões
faciais de determinada pessoa qual o tipo de manifestação (positiva ou negativa) esta apresentará
ao fazer uso de determinado software.
Considerando esses aspectos, o presente trabalho tem por objetivo apresentar, dentro da
visão computacional, o desenvolvimento de uma ferramenta capaz de realizar a captura de
expressões faciais emocionais de cada indivíduo, que, através do levantamento dos traços de
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
179
personalidade e baseando-se em princípios da afetividade estudados na computação afetiva, será
possível auxiliar no processo de avaliação de usabilidade e satisfação de aplicações
computacionais.
A seguir, na seção 2 são descritos os referenciais teóricos utilizados nessa pesquisa,
posteriormente, na seção 3, descreve-se a aplicação dos referenciais apresentados para o
desenvolvimento da ferramenta e finalmente, na seção 4, serão apresentados os resultados
parciais obtidos.
2. FUNDAMENTAÇÃO TEÓRICA
2.1. Computação Afetiva
Dotar a máquina de emoções humanas é um dos desafios da computação afetiva. Essa área
engloba técnicas adaptadas da Inteligência Artificial (IA) e da Engenharia de Software,
agregadas e coordenadas conjuntamente ao estudo, modelagem e simulação da experiência
afetiva humana, como característica constituinte dos processos cognitivos, orientada a aplicações
em domínios bastante variados. Tem-se a definição de Computação Afetiva por “Computação
que está relacionada com, que surge de ou deliberadamente influencia emoções” [Nunes et al.,
2011]. Este campo de estudo se divide em duas perspectivas: uma estuda a síntese das emoções
em máquinas, quando se deseja inserir emoções humanas na máquina; e a outra investiga
reconhecer as emoções humanas ou expressar emoções por máquinas na interação entre homemcomputador.
Baseando-se nessa segunda perspectiva, o presente estudo tem por objetivo criar uma
ferramenta que reconhecerá emoções faciais (alegria, raiva, surpresa e tristeza) do usuário para
serem usadas como métricas de caráter emocional com intuito de estreitar o relacionamento
homem-computador a ser usado na avaliação de sistemas.
2.2. Kinect
Formas inovadoras de interação com o usuário têm sido propostas por interfaces focadas no
paradigma de interface natural ao longo dos anos. Os softwares em diversas áreas não devem
exigir que o usuário tenha grande conhecimento em computação para usá-lo, mas devem sempre
buscar por simplicidade e facilidade [Cardoso, 2013]. Como proposta de interface natural
inicialmente focada para a área de jogos, a empresa Microsoft, em parceria com a empresa
israelensePrimeSense, construiu o sensor de movimentos chamado: Kinect.
Atualmente, o Kinect extrapola o campo para qual foi criado: o de jogos. Após o
lançamento oficial do kit de desenvolvimento – SDK (Software Development Kit), a Microsoft
permitiu que diversas aplicações fossem criadas usando o hardware.
2.3. Avaliação de Usabilidade
A usabilidade é a característica que determina se o manuseio de um produto é fácil, rapidamente
aprendido, oferece um alto grau de satisfação para o usuário e executa eficientemente as tarefas
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
180
para qual foi planejado. Em avaliações no ambiente do usuário, normalmente a coleta de dados é
feita por meio da observação do uso sendo feito da aplicação e conversas com os usuários
[Pimenta, 2006].
Oferecer um novo método de avaliação baseado na identificação dos estados afetivos do
usuário permite uma avaliação mais fundamentada. Os benefícios de fazer os estudos da
afetividade dentro da usabilidade interferem positivamente dentro da adaptação de um sistema
computacional ao homem.
2.4. Interação Homem – Computador
Interação Homem-Computador (IHC) é uma área multidisciplinar que envolve ciência da
computação, psicologia, artes entre outras. Posicionada como subárea da Ciência da
Computação, pode ser definida como avaliação de sistemas interativos no contexto das
atividades do usuário [Pimenta, 2006]. Conforme a evolução da tecnologia, algumas formas de
interação vão mudando os paradigmas.
Neste caso podemos destacar o uso do Sensor Kinect [Microsoft Research, 2011], que
modificou a forma como muitos usuários de jogos eletrônicos utilizam a forma de interação com
o computador. O Kinect possui um grande potencial, que agora pode ser usado com a interação
direta com o computador indo além do campo para o qual foi criado.
3. FERRAMENTA DE RECONHECIMENTO FACIAL
Nesta pesquisa, o principal objetivo é a avaliação de usabilidade de determinados sistemas
utilizando as expressões faciais dos indivíduos envolvidos na manipulação do software avaliado.
Para tal, uma ferramenta foi desenvolvida com o intuito de realizar o processo de captura de
aspectos emocionais e que, consequentemente, poderá inferir as emoções de determinado usuário
ao fazer uso do software que está em execução. Essa ferramenta consiste basicamente nos
seguintes módulos: Captura de Imagens, Rastreamento das Características faciais, Classificação
e Inferência das emoções. O processo de funcionamento deste sistema é apresentado na Figura 1.
Figura 1. Processo de
Funcionamento da Ferramenta
.
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
181
3.1. Captura de Imagens e Rastreamento das Características faciais
O modelo acima representa o processo que a ferramenta irá desempenhar para que o objetivo
deste trabalho seja alcançado. Dessa forma, o sistema utilizará as imagens que serão capturadas
pela câmera do Kinect [Microsoft Research, 2011], as quais serão usadas como entrada para o
módulo de Rastreamento das características faciais, além disso, será feito uso de outras técnicas
chamadas Viola-Jones [Viola and Jones, 2001] que faz a detecção do rosto do indivíduo e da
técnica CANDIDE-3 [Ahlberg, 2001] que realiza a detecção das características faciais ao
encontrar os pontos característicos do rosto de determinados locais de interesse (boca, olhos,
sobrancelhas e nariz). Essas técnicas foram implementadas utilizando-se dos recursos da
Biblioteca do Kinect – SDK.
Depois de realizada a captura de imagem e o rastreamento das características faciais por
meio das técnicas acima apresentadas, tem-se como próxima etapa o módulo para a classificação
das expressões que permitirá a inferência das emoções do usuário.
3.2. Classificação e Inferência das Emoções
Para proceder à detecção de expressões faciais e inferir emoções, em primeiro lugar, e de forma a
provar a funcionalidade da ferramenta, foram selecionadas quatro expressões diferentes para se
fazer uso: alegria, surpresa, tristeza e raiva.
Para poder tornar possível a identificação destas emoções, foram utilizados, como
referência, os estudos realizados a respeito do Sistema FACS: estudos da codificação das ações
faciais que analisam individualmente cada pequena alteração descrita na face. Neste sistema,
existem as AU’s (Unidades de Ações) que são as peças usadas para ilustrar a face humana; os
movimentos descritos nas AU’s são causados pela atuação de músculos (contração e
relaxamento)[Ekman et al., 2002]. As principais unidades de ações podem ser encontradas na
Figura 2:
Figura 2. Principais AU’s do
Sistema FACS [Ekman et al., 2002]
Manaus, 02 a 04 de Junho de 2016
.
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
182
A expressão facial é de fato a combinação de AU’s. A princípio, esta abordagem
possibilita que uma expressão facial seja entendida como uma combinação de unidades de ações
faciais relevantes. A combinação destas AU’s pode ser destacada na Tabela 1, que foi adaptada,
levando-se em consideração somente as emoções que são o objetivo deste trabalho.
Tabela 1. Associação das quatro expressões faciais com seus AU’s e combinações
[Diniz et al., 2013]
Alegria
UNIDADES DE AÇÕES
PRINCIPAIS
AU6 AU12
Surpresa
AU 5 AU26 AU27 AU1+2
Tristeza
AU 1 AU15 AU17
EXPRESSÃO
Raiva
AU 2
AU4
AU7
UNIDADES DE AÇÕES
AUXILIARES
AU25 AU26 AU16
AU4
AU23
AU7 AU25 AU26
UA24 AU17 AU16 AU25 AU26
Diante desses estudos, foi possível unir as abordagens do sistema FACS de AU’s com as
tecnologias da biblioteca do Kinect. O desenvolvimento utilizando o Kinect retorna os dados da
malha 3D (CANDIDE-3) geradas pelo SDK a partir de 100 pontos reconhecidos de estruturas
como as sobrancelhas, os olhos, a boca e o nariz.
Para a detecção das expressões, o SDK do Kinect na versão 1.8 fornece 6 (seis) unidades
de animação (UA’s), que tiram partido das unidades de ação dos estudos apresentados
anteriormente [Ekman et al., 2002] para modelar facilmente qualquer expressão facial, e assim
identificar uma face neutra e suas variações pelos movimentos das sobrancelhas, mandíbula e
lábios. Estas unidades de animação que o Kinect SDK suporta são apresentadas na Tabela 2:
Tabela 2. Unidades de animação rastreadas pelo FaceTracking SDK.
[Correa, 2013]
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
183
Cada UA’S (Unidade de Animação) é expressa como um valor numérico compreendido
que varia entre −1 e 1. Mostra-se também, na Tabela acima, uma pequena explicação da
semelhança dos valores de cada unidade de animação com o efeito que essa unidade causa.
Realizou-se uma comparação com os dados mais aproximados disponíveis com o
FaceTracking SDK (Unidades de Animação – CANDIDE3), em versão C# com as AU’S do
Sistema FACS, a fim de atribuir emoções para cada unidade de animação do SDK do Kinect. O
resultado desta comparação pode ser observado na Tabela 3. É importante salientar que as linhas
em branco da Tabela 3 informam a falta de uma equivalência direta de unidades de animação e
ação dos sistemas.
Tabela 3. Equivalência de AU’s do FACS com as do FaceTracking SDK
AU
6
12
1
2
5B
26
1
4
15
17
2
4
7
23
24
FACS
DESCRIÇÃO
Cheek Raiser
Lip Corner Puller
Inner Brow Raiser
Outter Brow Raiser
(Slight) Upper Lid Raiser
Jaw Drop
Inner Brow Raiser
Brow Lowerer
Lip Corner Depressor
Chin Raiser
Outer Brow Raiser
Brow Lowerer
Lid Tightener
Lip Tightener
Lip Pressor
FACE TRACKING SDK
UA
DESCRIÇÃO
0
Upper Lip Raiser
4
Lip Corner Depressor
5
Alegre
Outter Brow Raiser
Surpresa
1
Jaw Lower
3
0
Brow Lowerer
Upper Lip Raiser
3
Brow Lowerer
2
Lip Stretcher
Triste
Raiva
Tendo as unidades de animação necessárias para identificar as expressões faciais
desejadas, realizou-se uma fase experimental na qual se observou o comportamento das unidades
para cada expressão em tempo real [Correia, 2013]. Assim, sabendo que o valor que cada
Unidade de Animação se altera entre -1 e 1, de acordo com o mover dos músculos do rosto, é
possível realizar uma análise desses valores a fim de poder inferir através dos valores a
ocorrência de determinada expressão emocional.
O último passo deste processo é criar limites nos valores das unidades de animação, de
forma que, assim que eles forem ultrapassados, o sistema reconhecerá uma determinada
expressão facial, tendo em conta os resultados dos valores das unidades de animação na
expressão facial do utilizador. Estes limites serão definidos de forma experimental
posteriormente.
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
184
Para exemplificar o funcionamento da inferência da expressão fácil baseada nos valores
das UA’s, é necessário que os valores das UA’s respectivas de cada emoção estejam dentro dos
limites estabelecidos, como na demonstração da seguinte expressão:
Expressão facial alegre = AU0 > 0.7e U4 < 0.3
Condições
Para que a expressão seja detectada pela ferramenta será necessário que as duas
condições sejam verdadeiras simultaneamente.
4. EXPERIMENTOS E RESULTADOS PRELIMINARES
Com o objetivo de detectar expressões faciais de usuários, criaram-se limites nos valores das
unidades de animação para cada manifestação facial desejada (Tabela 04), assim permitindo que
por meio de comparações entre o valor da unidade animação e os limites atribuídos para cada
expressão, o aplicativo possa verificar se as condições definidas para cada expressão são válidas
e, dessa forma, permitir inferir a ocorrência da mesma.
Tabela 4. Valores (Condições) de cada UA, para que as expressões sejam válidas.
EXPRESSÃO CONDIÇÕES PARA DETECTAR EXPRESSÃO
Alegria
UA[0] > 0.2 e UA[4] < -0.2
Surpresa
UA[1] > 0.4 e UA[5] > 0.1
Tristeza
UA[0] < -0.1 e UA[3] > 0.1
Raiva
UA[3] > 0.2 e UA[2] < -0.2
Os resultados obtidos até o momento foram realizados em um notebook modelo HP
Pavilion 14-v, Processador Intel Core i5, Memória RAM 4 GB, HD de 500 GB, Sensor de
movimentos Kinect, com emissor e sensor Infravermelho, sensor RGB e um conjunto de
microfones. Para desenvolvimento da aplicação, foi utilizada a plataforma de desenvolvimento
Microsoft Visual Studio Express 2012, com sistema operacional Windows 7. O Banco de dados
escolhido foi o MySQL, no qual se deseja-se fazer o armazenamento de todos os padrões obtidos
na avaliação. Foi criada a interface gráfica para manipulação da aplicação e interação entre
aplicação e usuário através do Sensor Kinect que resultará na detecção do rosto do indivíduo.
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
185
Figura 3. Interface Gráfica da aplicação (Menu)
Diante disso, obteve-se um aplicativo de rastreamento de face para detectar quatro tipos
.
de expressões de acordo com os movimentos
musculares associados às regiões locais de
interesse (boca, olhos, sobrancelhas e nariz). O funcionamento da aplicação é apresentado na
Figura 3 e 4 onde se pode ver o software reconhecendo as expressões faciais desejadas, a partir
das técnicas mencionadas neste trabalho e com o uso das unidades de animação do Face
Tracking SDK – Kinect.
Figura 4. Identificação de Expressões por meio da aplicação
.
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
186
Por meio dessa aplicação, pretende-se iniciar os testes finais desta pesquisa, onde será
verificada a relação das expressões faciais dos usuários com o uso de determinados softwares.
Para isso foi projetado o seguinte cenário: seleção de 20 voluntários com idade, sexo e cor de
pele distinta e com conhecimento básico e avançado em informática, um sensor Kinect para
captura das faces, um software (desenvolvido pelo LADES/UFPA – Castanhal) que será
avaliado. O usuário terá que cumprir as tarefas solicitadas no aplicativo dentro de um prazo
previamente estabelecido pelo avaliador, e após isso será gerado um relatório contendo o
comportamento facial do indivíduo ao fazer uso deste software.
5. CONSIDERAÇÕES
Neste trabalho foi apresentado o desenvolvimento de um software para monitoramento de
expressões do rosto, levando em consideração a detecção de quatro expressões faciais (alegria,
raiva, surpresa e tristeza) que almeja realizar a avaliação de sistemas computacionais por meio
das expressões faciais e emocionais dos indivíduos que utilizam determinado software.
Os resultados são motivadores para a proposta que a ferramenta possui, tendo como base
estudos das áreas de IHC, computação afetiva e psicologia. Os resultados gerados através da
aplicação podem ser usados como métrica para aperfeiçoamento de qualquer ferramenta, na qual
o usuário tem interação direta com o computador.
Os trabalhos futuros deste trabalho serão orientados à implementação da aplicação
desenvolvida dentro de um cenário de avaliação de software, cujas as expressões do rosto do
utilizador permitam valorar quando uma ação do software avaliado gera efeitos negativos no
usuário ou positivos.
Além disso, serão aplicadas melhorias na robustez da aplicação e de sua base de dados,
além da utilização do cenário de testes e análise dos resultados obtidos, que servirão para auxiliar
na pesquisa da afetividade em ambientes computacionais para aprendizagem. Além de contribuir
com subsídios para as aplicações que são desenvolvidas no Laboratório de Desenvolvimento de
Sistemas –LADES / UFPA.
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096
Anais do Encontro Regional de Computação e Sistemas de Informação
187
7. REFERÊNCIAS
Ahlberg, J. C. (2001) “CANDIDE-3 – an updated parameterized face”. Report No. LiTH-ISYR2326, Dept. of Electrical Engineering, Linköping University, Sweden.
Cardoso, G. S. (2013) “Criando aplicações interativas com o Microsoft Kinect”. Casa do Código
– São Paulo.2013
Costa, Saulo William S., Ailton Lopes de Sousa, and Yomara Pires. (2015) "Computação
Afetiva: Uma ferramenta para avaliar aspectos afetivos em aplicações computacionais".
Correia, Miguel Medeiros.(2013) “Reconhecimento de elementos da língua gestual portuguesa
com Kinect”.
Diniz, Fábio Abrantes, et al. (2013) "Um sistema de reconhecimento facial aplicado a um
ambiente
virtual
de
aprendizagem
composto
por
agentes
pedagógicos."ProceedingsofInternationalConferenceonEngineeringand Computer Education.
Vol. 8.
Ekman, P.; Friesen, W. V.; Hager, J. C. (2002) “Facial Action Coding System: Investigator’s
guide”. Research Nexus division of Network Information Research Corporation, Salt Lake
City, EstadosUnidos .
Microsoft Research. (2011) “Programming Guide: Getting Started with the Kinect for Windows
SDK
Beta”.
Disponível
em
http://research.microsoft.com/enus/um/redmond/projects/kinectsdk/docs/ProgrammingGuide_KinectSDK.docx. Acesso em 30
de Fevereiro de 2016.
Nunes, Maria Augusta S. N., et. al. (2011) “Uso do Kinect para a extração de características
afetivas do usuário”. São Cristóvão – SE: UFS.
Picard, R. W. (1997) “Affective Computing”. Cambridge, EUA: The M.I.T. Press.
Pimenta, M. S. (2006) “A Importância da Interação Homem-Computador”. Departamento de
informática aplicada – Instituto de Informática – Universidade Federal do Rio Grande do Sul
– UFRS.
Prates, R. O. and Barbosa, S. D. J. (2016) “Avaliação de Interfaces de Usuário – Conceitos e
Métodos”. Disponível em http://homepages.dcc.ufmg.br/~rprates/ge_vis/cap6_vfinal.pdf.
Acessoem 23 de Fevereiro de 2016.
Viola, P. and JONES, M. (2001) “Robust real-time object detection”. Technical report,
University of Cambridge
Manaus, 02 a 04 de Junho de 2016
ISSN 2238-5096