• Nenhum resultado encontrado

3.4 Transformação de Características

3.5.1 SVM Support Vector Machine

A classificação de dados é uma tarefa comum no AM. No caso das SVMs, um dado é visto como um vetor p-dimensional (uma lista de números p), esses dados devem ser sepa- rados por um hiperplano(p−1)-dimensional. Classificadores que separam dados por meio

de um hiperplano são chamados de lineares. O objetivo das SVMs lineares é a obtenção de fronteiras lineares para a separação de dados de duas classes. Essas classes são linearmente separáveis se for possível separar os dados das classes a partir de um hiperplano. Pode-se visualizar na Figura 3.16 a projeção do hiperplano separador das classes.

Figura 3.16: Visão do hiperplano separador de classes na SVM linear. Fonte: autor.

Existem muitos hiperplanos que podem classificar os dados. Uma SVM constrói um hiperplano, ou conjunto de hiperplanos, em um espaço hiper dimensional, que pode ser usado para classificação, regressão, ou outras tarefas. Uma boa separação de dados é al- cançada pelo hiperplano que possuir a maior distância para o dado de treinamento mais próximo de qualquer classe, por isso que quanto maior a margem, menor o erro de genera- lização do classificador.

As SVMs são modelos de aprendizado supervisionado onde dado um conjunto de exem- plos de treinamento, cada exemplo é rotulado como pertencente a uma categoria, um algo- ritmo de treinamento constrói um modelo que atribui novos exemplos a uma categoria, tornando-o um classificador linear binário não-probabilístico. Dado um conjunto de treina- mento rotulado da forma(xi, yi), onde xirepresenta o dado de treinamento e yirepresenta o

seu rótulo, será produzido um modelo ou hipótese capaz de predizer precisamente o rótulo de novos dados. Quando os rótulos possuírem valores discretos 1, ..., k, será um problema de classificação. Para o caso de rótulos com valores contínuos, será um problema de regres- são [78].

Um requisito bastante importante para as técnicas de AM é a capacidade que elas têm de lidar com a presença de ruídos e ’outliers’. Os outliers são dados do conjunto de treinamento muito distintos ou discrepantes em relação ao restante do domínio. A técnica de AM deverá ser robusta o bastante para tratar esses tipos de dados. A Figura 3.17 ilustra uma visão geral dos conceitos referentes à geração de um classificador.

Figura 3.17: Visão geral do classificador em aprendizado supervisionado. Fonte: autor.

Quando os dados não são rotulados, o aprendizado supervisionado não é possível, por- tanto uma abordagem não supervisionada é necessária. Essa abordagem tenta estabelecer o agrupamento (clustering) dos dados em grupos, e então mapear novos dados para esses grupos. O algoritmo de agrupamento que permite uma melhora nas SVMs é chamado sup-

port vector clustering[79] e é utilizado com frequência em aplicações industriais quando os dados não são rotulados, ou quando apenas alguns dados são rotulados, como um pré- processamento para a classificação.

As SVMs não lineares são utilizadas quando não há possibilidade de se dividir os dados de treinamento por um hiperplano. Na Figura 3.18 é mostrado um exemplo onde o uso de uma fronteira curva seria mais adequado para separar as classes. As SVMs não lineares tratam os dados mapeando o conjunto de treinamento de seu espaço original para um novo espaço hiper dimensional, chamado de espaço de características (feature space).

Figura 3.18: Conjunto de dados não linear. Fonte: autor.

Para o treinamento da SVM foi utilizado nos experimentos desta Tese o algoritmo SMO (Sequencial Minimal Optimization) [80], com o Kernel RBF (Radial-Basis Function) [81]. Este kernel é uma função que recebe dois pontos xi e xj do espaço de entradas e computa o

produto escalar desses dados no espaço de características. O kernel RBF possui o parâmetro Gamma (γ), que determina a flexibilidade da SVM na obtenção dos dados, ele foi variado

de 1 a 200, e o parâmetro C, que também foi variado de 1 a 200, em busca dos melhores resultados de classificação.

Todas as etapas descritas nas Seções deste Capítulo compõem uma nova arquitetura de- senvolvida para identificar o movimento produzido pelas expressões faciais. No Capítulo 4 são descritos os experimentos realizados nas bases de imagens e vídeos, mencionadas na Seção 2.1, bem como apresentados os resultados obtidos.

EXPERIMENTOS E

RESULTADOS

"O que sabemos é uma gota, o que ignoramos é um oceano."

— Isaac Newton

A

Pós o fim do processo de desenvolvimento e implementação do sistema de reconhe-

cimento de expressões faciais, foi iniciado o processo de elaborar um conjunto de testes que permita a obtenção de resultados qualitativos e quantitativos. Para os experi- mentos de reconhecimento de expressões faciais, foram utilizadas cinco bases de imagens de faces: Cohn-Kanade (CK) [3], Cohn-Kanade Extendida (CK+) [4], Japanese female facial ex-

pression(JAFFE) [2], MMI [5] e CMU Pose, Illumination, and Expression (CMU-PIE) [6]. Os experimentos são detalhados nas próximas seções deste capítulo.

O sistema apresentado neste trabalho foi implementado na linguagem de programação

Java SE, da empresa Sun Microsystems. As rotinas de pré-processamento das imagens fo- ram implementadas na linguagem de programação Python (filtros ASEF), gerenciada pela organização Python Software Foundation, e no MatLab R2015b (métrica SSIM), da MathWorks. Todos os experimentos foram realizados em um computador desktop com configuração: pro- cessador Intel(R) Core(TM) i3-2100 CPU 3,10GHz e memória RAM de 8,00 GB.

balho, pode ser resumida em seis etapas:

1. Imagens de treinamento são lançadas no sistema para que os MVs sejam calculados, a partir desses vetores são calculados os HOVs;

2. Os MVs gerados são comparados com os HOVs para gerar os EDVs;

3. Para finalizar o treinamento, a partir dos EDVs, são calculados os FVs de todas as imagens da base, eles são usados como dados de treinamento na SVM;

4. Imagens de teste são lançadas no sistema para que sejam calculados os MVs;

5. Os MVs são comparados com os HOVs, obtidos na fase de treinamento, para gerar os

EDVs;

6. Finalmente, a partir dos EDVs, são calculados os FVs de todas as imagens da base de treinamento. Os FVs são utilizados como dados de entrada na SVM.

O algoritmo de estimação de movimento MARSA é utilizado na primeira etapa. Ele realiza uma busca pelos blocos de maior semelhança entre duas imagens, necessários para o cálculo do MV. Os algoritmos de estimação ARSA e FS também foram utilizados para testes e comparação de performance e tempo de processamento, com o objetivo de comprovar a melhor eficiência e acuracidade do algoritmo MARSA.

Na terceira e sexta etapas, são gerados os arquivos de entrada para a SVM. A classifica- ção foi realizada com um tipo de validação: Cross Validation 10-folds. Este tipo de validação seleciona 10% dos indivíduos da base de imagens para gerar a base de testes, os demais indivíduos fazem parte da base de treinamento, ver a Figura 4.1. Os indivíduos da base de teste são testados individualmente. Ainda sobre o método de validação utilizado, ele consiste em dividir o conjunto total de dados em dez subconjuntos mutuamente exclusi- vos do mesmo tamanho e, a partir disto, um subconjunto é utilizado para teste e os nove restantes são utilizados para estimação dos parâmetros e calcula-se a acurácia do modelo. Este processo é realizado 10 vezes (rodadas) alternando de forma circular o subconjunto de teste.

Figura 4.1: Validação Cruzada 10-folds. Fonte: autor.

A técnica de validação Cross Validation 10-folds determina que a escolha das imagens de treinamento e de teste seja feita de forma aleatória. O sistema implementado separa as imagens de treinamento (90% da base de imagens) das imagens de teste (10% da mesma base).

Também é importante ressaltar que é possível melhorar a acuracidade da classificação das expressões faciais variando a quantidade de coordenadas que são utilizadas no cálculo dos HOVs, ou seja, pode-se considerar não apenas a coordenada de movimento que mais ocorreu na i-ésima posição dos MVs, mas também a segunda, a terceira, a quarta coorde- nada que mais ocorreu e assim sucessivamente. Portanto, foram realizados experimentos variando a quantidade de HOVs.

Nas Seções a seguir são mostrados os resultados obtidos paras as bases de imagens e vídeos utilizadas nos experimentos deste trabalho.