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