• Nenhum resultado encontrado

2.1 Sistemas de Reconhecimento de Expressões Faciais

2.1.4 Classificação

Após os processos de detecção da face e extração de características acontece a última etapa do sistema de reconhecimento de expressões faciais: a classificação. Nesta etapa as características extraídas são classificadas em expressões específicas. A seguir, são citados alguns trabalhos do estado da arte sobre classificadores utilizados no reconhecimento de expressões faciais.

Em 2003, Cohen et al. [60] introduziram um sistema de reconhecimento de expressões faciais, em vídeos ao vivo, baseado em classificadores Bayesianos [61] e no Modelo Oculto de Markov [62], portanto o sistema foi testado com dois tipo de classificadores: estáticos e dinâmicos. Os classificadores estáticos, isto é, Naive-Bayes e Naive-Bayes Aumentado em Árvore, classificam um frame em uma categoria de expressão facial dependendo dos resul- tados obtidos apenas do próprio frame. Contudo, os classificadores dinâmicos, baseados no Hidden Markov Model (HMM), consideram o padrão temporal entre os frames. A razão da escolha dos classificadores Bayesianos para análise estática ocorreu porque eles podem lidar com dados perdidos durante o treinamento.

Entre os classificadores estáticos, o Naive-Bayes assume que todas as características são condicionalmente independentes. Já no classificador Naive-Bayes Aumentado em Árvore, cada característica tem um ’pai’ resultando em uma estrutura baseada em árvore. Por exem- plo, em um texto em inglês após a palavra ”thank” a probabilidade de aparecer a palavra ”you” é maior do que outras palavras, mas os classificadores Naive-Bayes não consideram essa probabilidade. Cohen et al. [60] perceberam que essa propriedade também é aplicável a sistemas de reconhecimento de expressões faciais. Eles identificaram que o classificador

Naive-BayesAumentado em Árvore tinha um melhor desempenho em termos de precisão na classificação. Para a estrutura da árvore, eles desenvolveram um algoritmo que gera uma estrutura otimizada. Os classificadores usam esse algoritmo e selecionam a melhor es- trutura entre todas que obtêm a valor máximo em uma função de similaridade. Entretanto, se a base de imagens é consideravelmente pequena, o classificador Naive-Bayes funcionará melhor do que o baseado em árvore porque não haverá dados suficientes disponíveis para o classificador baseado em árvore buscar pela relação de dependência ’pai-filho’. Para os classificadores dinâmicos, Cohen et al. desenvolveram um classificador HMM que usa a informação temporal para obter melhores resultados de classificação. Finalmente, eles in- tegraram esses classificadores para construir um sistema de reconhecimento de expressões faciais em tempo real.

Em 2005, Bartlett et al. [26] desenvolveram um sistema automático e em tempo-real que pode identificar sete emoções e até 17 unidades de ação (AUs). Eles propuseram um sistema baseado em aprendizagem de máquina que obteve os melhores resultados usando um sub- conjunto de filtros de Gabor com AdaBoost e então treinaram os classificadores baseados em

Support Vector Machine(SVM) com as saídas dos filtros do AdaBoost. A representação Ga-

bor Waveletdas imagens são custosas tanto em tempo quanto em consumo de memória. A extração de características foi realizada pelo AdaBoost que usa filtros de Gabor como clas- sificadores. O AdaBoost seleciona o próximo filtro baseado nos erros do filtro anterior. Ele tenta escolher o filtro que obterá a melhor desempenho a partir do erro dos filtros anteri- ores. Bartlett et al. também treinaram outros dois tipos de classificadores - Support Vector

Machinee Linear Discriminant Analysis. Esses classificadores foram treinados nas caracterís- ticas selecionadas pelo AdaBoost. A partir dos resultados experimentais foi observado que o

AdaBoostobteve melhor desempenho com os classificadores SVM. O sistema proposto clas- sifica 17 unidades de ação, ocorrendo isoladamente ou em combinação com outras ações, com uma taxa média de acerto de 94,8%. Um exemplo de classificação das unidades de ação é mostrado na Figura 2.34.

Figura 2.34: Amostras de saídas do sistema para um segmento de 10 segundos de vídeo, contendo as AUs: 1,

2, 6 e 9. Com início, ápice e fim das AUs. Fonte: [26].

Em 2006, Saatci e Town [63] apresentaram uma abordagem para o reconhecimento de expressões de imagens de faces por meio de Active Appearance Models (AAM). As caracterís- ticas extraídas por um AAM treinado são utilizadas para construir classificadores Support

Vector Machine(SVM) para quatro estados emocionais elementares: alegria, raiva, tristeza e neutro (sem expressão). Esses classificadores são organizados em uma estrutura em cas- cata para otimizar o desempenho médio de reconhecimento. Além disso, é mostrado como o desempenho de reconhecimento pode ser melhorado quando primeiro se classifica o gê- nero dos indivíduos na imagem usando uma SVM treinada de maneira similar. Tanto a classificação de expressão específica de gênero quanto a classificação em cascata de gênero específica de expressão são consideradas, com a primeira obtendo melhor desempenho de reconhecimento. Saatci e Town concluíram que existem diferenças específicas de gênero na aparência de expressões faciais que podem ser exploradas para aumentar o reconhecimento,

e que cascatas são uma forma eficiente e efetiva de realizar o reconhecimento multi-classe de expressões faciais.

Em 2008, Wen e Zhan [64] estudaram os classificadores Hidden Markov Model (HMM) e

K Nearest Neighbor(KNN) e realizaram uma combinação de ambos para o reconhecimento de expressões faciais. Eles propuseram utilizar os classificadores HMM e KNN em série. Primeiro, um classificador Double Hidden Markov Model (DHMM) é usado para calcular as probabilidades de seis expressões. Então, se baseando nos dois resultados mais possíveis de classificação por DHMM, o classificador KNN é utilizado para realizar a decisão final enquanto a diferença entre a maior probabilidade e a segunda maior é maior do que a di- ferença média. Os experimentos mostraram que o desempenho deste método é superior ao método baseado apenas em HMM.

Em 2011, Meng et al. [65] apresentaram um sistema para classificar expressões faciais em vídeos. Primeiramente, dois tipos de descritores básicos de aparência facial são extraídos. O primeiro tipo de descritor, chamado Motion History Histogram (MHH), é utilizado para detectar mudanças temporais de cada pixel da face. O segundo tipo de descritor, chamado

Histogram of Local Binary Patterns(LBP), é aplicado para cada frame do vídeo e então usado para capturar os padrões de textura local. Em segundo lugar, a partir desses dois tipos de descritores, duas novas características dinâmicas de expressões faciais são propostas. Essas duas características incorporam ambas as informações: dinâmica e local. Finalmente, o clas- sificador Two View SVK 2K foi construído para integrar essas duas características dinâmicas de forma eficiente. Os resultados experimentais mostraram que esse método superou os re- sultados do trabalho base apresentado no FG 2011 Facial Expression Recognition and Analysis

Challenge(FERA2011) [66].

Em 2014, Song et al. [67] desenvolveram um método para o reconhecimento de expres- sões faciais em tempo real para smartphones. Eles treinaram uma rede neural convolucional profunda em uma GPU (Graphics Processing Unit) para classificar expressões faciais. A rede tem 65.000 neurônios e consiste de 5 camadas. Uma rede deste tamanho apresenta uma sobrecarga substancial, em termos de número de operações, quando quantidade de exem- plos de treinamento é pequena. Para combater essa sobrecarga, foi aplicado o aumento de dados e uma técnica recentemente introduzida na literatura chamada "dropout". Com a rede treinada, foi desenvolvido uma aplicativo de smatphone que reconhece a expressão facial do usuário.

Em 2015, Li et al. [68] propuseram uma abordagem baseada em deep-learning para o re- conhecimento de expressões faciais em imagens espontâneas, usando Redes Neurais Con- volucionais (Convolutional Neural Networks - CNNs). Para avaliar o desempenho da técnica no reconhecimento de expressões faciais espontâneas em tempo real, Li et al. criaram um banco de imagens de expressões faciais (Candid Image Facial Expression - CIFE), com sete tipos de expressões em mais de 10.000 imagens obtidas na Internet. Foram testadas duas abordagens baseadas em características na base de imagens: Local Binary Pattern (LBP) +

Support Vector Machine(SVM) e Scale-Invariant Feature Transform (SIFT) + SVM. Uma técnica de aumento da quantidade de dados também é proposta com o objetivo de gerar uma quan- tidade suficiente de amostras de treinamento. Os experimentos realizados mostraram que o desempenho usando as abordagens baseadas em características é próximo ao estado da arte quando testado com as bases de dados padrão, mas falha quando tem que lidar com imagens espontâneas. Entretanto, a abordagem baseada em CNN é muito efetiva no reco- nhecimento de expressões em imagens espontâneas, sendo superior de forma significativa a outras abordagens da literatura.

Em 2016, Nomiya et al. [69] também se preocuparam com o reconhecimento de expres- sões faciais em imagens espontâneas para aplicações que não lidam apenas com as seis expressões faciais básicas. Então, eles propuseram um método efetivo para o reconheci- mento de expressões faciais espontâneas utilizando o "aprendizado combinado", ou seja uma combinação de classificadores Naive Bayes. Além disso, Nomiya et al. também pro- põem um método para estimar a intensidade das expressões usando os resultados dos clas- sificadores. Para estimar essa intensidade é utilizado o peso de cada classificador usado na votação ponderada. O que significa que não é necessário aumento no custo computa- cional para estimar a intensidade das expressões faciais. Nomiya et al. conduziram vários experimentos para avaliar o método proposto com foco na acurácia e na eficiência do reco- nhecimento das expressões e na estimação da intensidade das expressões faciais. Uma base de imagens composta de vários vídeos de expressões faciais espontâneas foi utilizada nos experimentos.

Para ilustrar a evolução das técnicas de classificação utilizadas no reconhecimento de expressões faciais, a Figura 2.35 mostra uma linha do tempo com os trabalhos citados nesta seção.

Figura 2.35: Linha do tempo das técnicas de classificação utilizadas no reconhecimento de expressões faciais.

MÉTODO

"Sei que o meu trabalho é uma gota no oceano, mas sem ela o oceano seria menor."

— Madre Teresa de Calcutá

N

Este trabalho é proposto um extrator de características, baseado na estimação de mo-

vimento por casamento de blocos, para o reconhecimento de expressões faciais. O sistema proposto codifica a informação da direção do movimento da expressão facial. Esse movimento é codificado a partir da diferença entre duas imagens (similares) de expressões faciais.

Na fase de treinamento, o movimento entre duas expressões da mesma face (ou faces si- milares) é estimado, a similaridade é calculada utilizando a métrica SSIM (Structural Simila-

rity Index) [70], descrita em detalhes na Seção 3.2. Para cada imagem de face do treinamento é realizada uma busca por uma outra imagem de maior similaridade em cada expressão fa- cial do banco de imagens (raiva, nojo, medo, felicidade, tristeza, surpresa etc.) e então é calculado um vetor de movimento (MV - Motion Vector) entre as duas imagens. O MV é calculado utilizando uma versão modificada, proposta neste trabalho, do algoritmo Redu- ção Adaptativa da Área de Busca [28] (Adaptive Reduction of the Search Area - ARSA), uma otimização do tradicional Full Seach [34], chamada MARSA (Modified Adaptive Reduction of

the Search Area). Outros algoritmos de estimação de movimento por casamento de blocos poderiam ser utilizados para o cálculo do MV entre duas imagens de faces, contudo as

melhores taxas de reconhecimento de expressões faciais foram obtidas usando o MARSA, pois é um algoritmo que leva em consideração as características do movimento produzidos pelas expressões apenas em determinadas regiões da face. Os algoritmos de estimação de movimento são apresentados na Seção 3.3.

Após o cálculo dos MVs para todas as imagens em todas as expressões, são calculadas as coordenadas que ocorreram mais vezes em cada i-ésima posição de todos os MVs, essas coordenadas são armazenadas nos vetores de maiores ocorrências (HOV - Highest Occur-

rences Vector), cada expressão facial da base de imagens passa a ter tantos HOVs quanto são as expressões faciais da base. É possível utilizar mais HOVs em cada expressão da base, para isso é preciso calcular as coordenadas que possuem a segunda maior quantidade de ocorrências na i-ésima posição dos MVs, também podem ser calculadas as coordenadas que possuem a terceira maior quantidade de ocorrências e assim sucessivamente. Esse processo é descrito em detalhes no Capítulo 4, assim como são mostrados e discutidos os resultados dos experimentos variando a quantidade de HOVs.

Na etapa seguinte, cada MV é comparado por Distância Euclidiana com os HOVs de todas as expressões, gerando um vetor de distâncias (EDV - Euclidean Distance Vector) para cada expressão facial. Finalmente, para cada imagem são identificados os menores valores de cada i-ésima posição em cada um dos seus EDVs, então a expressão facial a qual per- tencer o EDV com o menor valor naquela posição incrementa a mesma posição no vetor de características da imagem (FV - Feature Vector). Esse vetor será a entrada do classificador que identificará a expressão facial da imagem.

Na fase de testes o procedimento é o mesmo do treinamento, exceto que os MVs das imagens a serem testadas não participaram do cálculo dos HOVs obtidos na fase de treina- mento.

Existem cinco módulos no sistema desenvolvido para o reconhecimento de expressões faciais:

1. Pré-processamento: as imagens são convertidas para o mesmo padrão de cores (256 níveis de cinza), então a região da face é recortada a partir da localização dos olhos, resultando em imagens com dimensões 128×160.

2. Busca da Maior Semelhança: para cada imagem é realizada uma busca por outra ima- gem de maior semelhança em cada expressão facial da base de imagens.

culado entre duas imagens, representado pelos vetores de movimento (MVs) obtidos a partir da estimação de movimento por casamento de blocos.

4. Transformação das Características: são obtidas as coordenadas do movimento de maior ocorrência nos MVs de cada expressão facial da base. Então é gerado um vetor (HOV), para cada expressão, apenas com essas coordenadas.

5. Classificação: Todos os MVs da base de treinamento são comparados, usando a Dis- tância Euclidiana, com os HOVs calculados no módulo anterior. Os MVs são utiliza- dos para a obtenção dos HOVs. Então a distância obtida é armazenada em um EDV, calculado para cada expressão facial. O menor valor de distância indica qual expres- são pode estar reconhecida naquela posição do vetor. Para a classificação, a expressão facial que mais ocorrer no EDV será reconhecida.

Figura 3.1: Sistema desenvolvido para o reconhecimento de expressões faciais. Fonte: autor.