• Nenhum resultado encontrado

2.3 Considerações Finais

3.3.2 Módulo de Classificação de Idade e Gênero

Esta subseção apresenta o módulo de classificação de gênero e de idade desenvolvido nesta dissertação. Sendo o classificador de idade publicado em Oliveira et al. (2016), o qual, apresenta uma metodologia de aumento de dados (chamada de: data augmentation), que forneceu resultados superiores ao estado da arte. O funcionamento desse classificador con- siste em realizar quatro etapas, que são elas: (i) aumento sintético da base de dados, (ii) pré-processamento das faces, (iii) treinamento e (iv) teste. A diferença do classificador de idade para o de gênero, é que este último não possui a etapa (i) de aumento de dados, pois, por si só, forneceu boas taxas de acerto, conforme pode ser observado nas Figuras 3.8 e 3.9, que ilustram o funcionamento dos classificadores de gênero e de idade, respectivamente. As subseções seguintes detalham os procedimentos realizados em cada etapa de funcionamento dos classificadores, sendo identificadas as etapas que são comuns a ambos ou não.

Pré-processamento

O pré-processamento é aplicado a todas as imagens de entrada ao sistema, tanto na fase de treinamento quanto na fase de teste, é comum também a ambos os classificadores (o de gênero e o de idade). O pré-processamento consiste em realizar uma expansão da região da face detectada com o intuito de manter a razão de aspecto (em inglês aspect ratio) com o recorte aplicado pela rede convolucional adotada nos experimentos desta dissertação, isto é, a

Figura 3.8: Representação do método de classificação de gênero. Fonte: Adaptado de Oliveira et al. (2016).

GoogLeNet recebe imagens com resolução padrão para classificação (256×256), na imagem são aplicados recortes aleatórios de resolução 224 × 224 no treinamento e um recorte central de mesma resolução na fase de teste. Ou seja, as faces detectadas tiveram uma expansão de aproximadamente 14% da região de face (o que corresponde ao aumento do recorte de 224 × 224 para a imagem de 256 × 256) e, por fim, a face detectada com o aumento da região de face é redimensionada para 256 × 256, que é a resolução padrão de entrada para a GoogLeNet.

A Figura 3.13 ilustra todo o procedimento do aumento da região de face. Observar o recuo nas coordenadas iniciais do canto superior esquerdo da face na Subfigura 3.10a, em que o Ponto A indica a coordenada original e o Ponto B indica a nova coordenada após o aumento da região de face. Já a Subfigura 3.10b mostra o aumento nas dimensões da face, que, por se tratar de um quadrado detectado, o aumento é igual tanto para a largura quanto para a altura da face. Desta forma, a face detectada e a aumentada são concêntricas.

Em alguns casos, a face é detectada próximo à borda da imagem, consequentemente, o aumento da região de face pode passar dos limites da imagem. Assim, para evitar a perda

Figura 3.9: Representação do método de classificação de idade. Fonte: Adaptado de Oliveira et al. (2016).

(a) Modificação nas coordenadas iniciais da

face. (b) Modificação nas dimensões da imagem.

Figura 3.10: Exemplos de variações de face geradas sinteticamente. Fonte: Adaptado de Oliveira et al. (2016).

do aspect ratio, foi utilizada a seguinte abordagem: espelhar a imagem em 8 direções e aplicar o recorte utilizando informações da imagem original com pedaços espelhados. A Figura 3.11 esclarece esse procedimento ilustrando um caso em que a face foi detectada próximo ao limite da imagem. Observar que a face recortada na direita, exibe um pedaço da testa da criança que foi espelhada na parte superior da imagem. Assim, o recorte central de resolução 224 × 224 pixels que a rede GoogLeNet irá aplicar na fase de teste, consistirá

apenas em região de face.

Figura 3.11: Exemplo de face detectada próximo à margem da imagem.

Fonte: Próprio autor utilizando uma imagem de Eidinger, Enbar e Hassner (2014).

Aumento dos Dados

O aumento no número de imagens da base de dados de treinamento, consistiu em fornecer mais amostras de imagens rotuladas para treinamento da rede convolucional, com o objetivo de maximizar o seu desempenho. Esse aumento de dados foi realizado apenas para o clas- sificador de idade, que possui taxas de acerto inferiores àquelas do classificador de gênero, com o intuito de melhorar as suas taxas, foi empregada tal técnica, o que resultou em um classificador com resultados competitivos com o estado da arte.

A técnica de aumento de dados consiste em duas etapas: (i) detectar os pontos fiduciais na face (com o aumento de região de face) e (ii) realizar a deformação em pontos específicos. A detecção dos pontos fiduciais foi realizada utilizando o algoritmo proposto por Schaefer, McPhail e Warren (2006), chamado Active Appearance Models (AAM), que detecta 58 pon- tos em contornos de características faciais, tais como: as sobrancelhas, os olhos, o nariz, a boca e a mandíbula. Como pode ser observado na Figura 3.12, os 58 diferentes pontos fidu- ciais detectados em uma face de exemplo, numerados de acordo com a biblioteca utilizada, a AAM 5. Os pontos marcados de 0 a 12 correspondem à mandíbula, os pontos de 4 a 8

correspondem ao queixo e os de 47 ao 57 correspondem aos pontos do nariz, os quais, foram utilizados para realizar ligeiras deformações nas faces dos indivíduos e gerar faces sintéticas com variações sutis em relação à imagem original. As faces geradas mantiveram o rótulo da imagem original, ou seja, manteve a mesma idade.

1

2

3

4 5 6 7

8

9

10

11

12

47

48

49

50

51525354

55

56

57

Figura 3.12: Resultado dos pontos detectados enumerados.

Fonte: Modificações em uma imagem da base de dados MUCT (MILBORROW; MORKEL; NICOLLS, 2010).

Uma vez que todos os pontos fiduciais das faces tenham sido detectados, as marcações foram utilizadas para gerar deformações na forma da mandíbula, do nariz e do queixo. Para isso, foram utilizadas as coordenadas de cada característica facial e aplicadas modificações em seus eixos x e y, deixando-os mais largos/finos ou com forma triangular/quadrada. Foi utilizada a biblioteca imgwarp 6 para realizar a deformação após modificar as coordenadas

das características faciais.

A Figura 3.13, ilustra todas essas deformações geradas. Foram utilizados os pesos apre- sentados nas Tabelas 3.2, 3.3 e 3.4, que representam as modificações nas coordenadas x e yde cada ponto fiducial modificado para a mandíbula, o nariz e o queixo, respectivamente. Após a geração da base de dados aumentada, a MORPH que possui aproximadamente 55 mil imagens originalmente, passou a conter mais de um milhão de imagens. Os experimentos de validação mostraram ganhos significativos quando a abordagem proposta de aumento de dados foi utilizada, o que é discutido no Capítulo 4.

Treinamento e Teste

O treinamento e o teste dos classificadores de gênero e de idade se deu utilizando a arqui- tetura de rede GoogLeNet, que é uma instanciação de uma rede convolucional inspirada no módulo inception proposta por Szegedy et al. (2014). Essa arquitetura de rede obteve o

(a) Queixo quadrado. (b) Imagem de referência. (c) Queixo triangular.

(d) Nariz fino. (e) Imagem de referência. (f) Nariz largo.

(g) Mandíbula fina. (h) Imagem de referência. (i) Mandíbula larga.

Figura 3.13: Exemplos de variações de face geradas sinteticamente.

Fonte: Imagens da base de dados MORPH (RICANEK; TESAFAYE, 2006), com as deformações aplicadas em Oliveira et al. (2016).

primeiro lugar na competição de reconhecimento de objetos ImageNet Large-Scale Visual Recognition Challenge 2014 (ILSVRC2014) (RUSSAKOVSKY et al., 2014), que utiliza a

Tabela 3.2: Modificações nos pontos fiduciais da mandíbula.

Pontos Fiduciais 0 1 2 3 4 5 6 7 8 9 10 11 12

Coordenadas (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y)

Largo -1, 0 -1, 0 -1, 0 -1, 0 -1, 0 -1, 0 0, 1 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0

Fino 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 0, 1 -1, 0 -1, 0 -1, 0 -1, 0 -1, 0 -1, 0

Fonte: Inspirado em Oliveira et al. (2016).

Tabela 3.3: Modificações nos pontos fiduciais do nariz.

Pontos Fiduciais 47 48 49 50 51 52 53 54 55 56 57

Coordenadas (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y) (x, y)

Largo -1, 0 -1, 0 -1, 0 -1, 0 -1, 0 0, 0 1, 0 1, 0 1, 0 1, 0 1, 0

Fino 0, 0 0, -1 0, -1 0, 0 0, 1 0, 1 0, 1 0, 0 0, -1 0, -1 0, 0

Fonte: Inspirado em Oliveira et al. (2016).

Tabela 3.4: Modificações nos pontos fiduciais do queixo.

Pontos Fiduciais 4 5 6 7 8

Coordenadas (x, y) (x, y) (x, y) (x, y) (x, y)

Triangular 0, 2 0, 3 0, 4 0, 3 0, 2

Quadrático -2, 2 -2, 2 0, 0 2, 2 2, 2

Fonte: Inspirado em Oliveira et al. (2016).

base de dados ImageNet com mais de um milhão de imagens no treinamento, sendo 1000 classes de objetos distintos.

A base de dados MORPH foi utilizada no treinamento dos classificadores. Inicialmente, todas as imagens da base de dados, que fazem parte do treinamento, são convertidas para um formato de suporte do Caffe, o Lightning Memory-Mapped Database (LMDB). O formato de dado LMDB armazena o seu conteúdo na forma chave-valor, em que, cada imagem da base é associada a um valor (representando o seu gênero, a sua idade ou a faixa etária). O script utilizado para realizar essa conversão consta no Apêndice D.

Na fase de teste dos classificadores, foi utilizado o módulo Deep Neural Network (DNN) do OpenCV. Assim, é possível carregar os pesos da rede treinada com o Caffe e realizar as predições diretamente nas imagens obtidas pelo detector de faces utilizando o módulo DNN/OpenCV, o que facilita a integração com detector de faces PICO, que também utiliza funções da biblioteca OpenCV.

Documentos relacionados