31
EDUARDO HENRIQUE GIROTO CLASSIFICAÇÃO DE GÊNERO COM DIFERENTES TÉCNICAS DE APRENDIZADO DE MÁQUINA LONDRINA 2019

EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

EDUARDO HENRIQUE GIROTO

CLASSIFICAÇÃO DE GÊNERO COM DIFERENTESTÉCNICAS DE APRENDIZADO DE MÁQUINA

LONDRINA2019

Page 2: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

EDUARDO HENRIQUE GIROTO

CLASSIFICAÇÃO DE GÊNERO COM DIFERENTESTÉCNICAS DE APRENDIZADO DE MÁQUINA

Versão Preliminar de Trabalho de Conclusãode Curso apresentado ao curso de Bachare-lado em Ciência da Computação da Univer-sidade Estadual de Londrina para obtençãodo título de Bacharel em Ciência da Compu-tação.

Orientador: Sérgio Montazzolli Silva

LONDRINA2019

Page 3: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

Ficha de identificação da obra elaborada pelo autor, através do Programa de GeraçãoAutomática do Sistema de Bibliotecas da UEL

Sobrenome, Nome.Título do Trabalho : Subtitulo do Trabalho / Nome Sobrenome. - Londrina, 2017.100 f. : il.

Orientador: Nome do Orientador Sobrenome do Orientador.Coorientador: Nome Coorientador Sobrenome Coorientador.Dissertação (Mestrado em Ciência da Computação) - Universidade Estadual de

Londrina, Centro de Ciências Exatas, Programa de Pós-Graduação em Ciência daComputação, 2017.

Inclui bibliografia.

1. Assunto 1 - Tese. 2. Assunto 2 - Tese. 3. Assunto 3 - Tese. 4. Assunto 4 - Tese. I.Sobrenome do Orientador, Nome do Orientador. II. Sobrenome Coorientador, NomeCoorientador. III. Universidade Estadual de Londrina. Centro de Ciências Exatas. Programade Pós-Graduação em Ciência da Computação. IV. Título.

Page 4: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

EDUARDO HENRIQUE GIROTO

CLASSIFICAÇÃO DE GÊNERO COM DIFERENTESTÉCNICAS DE APRENDIZADO DE MÁQUINA

Versão Preliminar de Trabalho de Conclusãode Curso apresentado ao curso de Bachare-lado em Ciência da Computação da Univer-sidade Estadual de Londrina para obtençãodo título de Bacharel em Ciência da Compu-tação.

BANCA EXAMINADORA

Orientador: Sérgio Montazzolli SilvaUniversidade Estadual de Londrina

Prof. Dr. Segundo Membro da BancaUniversidade/Instituição do SegundoMembro da Banca – Sigla instituição

Prof. Dr. Terceiro Membro da BancaUniversidade/Instituição do TerceiroMembro da Banca – Sigla instituição

Prof. Ms. Quarto Membro da BancaUniversidade/Instituição do Quarto

Membro da Banca – Sigla instituição

Londrina, 24 de novembro de 2019.

Page 5: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

Este trabalho é dedicado às crianças adultasque, quando pequenas, sonharam em se

tornar cientistas.

Page 6: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

AGRADECIMENTOS

Agradeço

Page 7: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

“Não vos amoldeis às estruturas destemundo, mas transformai-vos pela renovação

da mente, a fim de distinguir qual é avontade de Deus: o que é bom, o que Lhe é

agradável, o que é perfeito.(Bíblia Sagrada, Romanos 12, 2))

Page 8: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

GIROTO, E. H.. Classificação de Gênero com Diferentes Técnicas de Apren-dizado de Máquina. 2019. 30f. Trabalho de Conclusão de Curso – Versão Preliminar(Bacharelado em Ciência da Computação) – Universidade Estadual de Londrina, Lon-drina, 2019.

RESUMO

Reconhecer características como gênero, idade e etnia utilizando conceitos de visão com-putacional e reconhecimento de padrões, tem sido muito utilizado durante os últimos anos.Tais informações podem servir de base para vigilância, controle de acesso a um local, con-trole demográfico, biometria, entre outros. O objetivo deste trabalho é classificar gênerosem uma determinada imagem utilizando diferentes técnicas de aprendizado de máquinae, ao fim, comparar o desempenho de cada uma.

Palavras-chave: Reconhecimento de Gênero. Aprendizado de Máquina. Inteligência Ar-tificial

Page 9: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

GIROTO, E. H.. Title of the Work. 2019. 30p. Final Project – Draft Version (Bachelorof Science in Computer Science) – State University of Londrina, Londrina, 2019.

ABSTRACT

Identify features such as gender, age, and ethnicity using computer vision concepts andpattern recognition has been used extensively over the last few years. This informationscan serve as a basis for surveillance, access control to a location, demographic control,biometrics, among others. The objective of this work is to classify genders in a given imageusing different machine learning techniques and, finally, compare the performance of eachone.

Keywords: Gender Recognition. Machine Learning. Artificial Intelligence.

Page 10: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

LISTA DE ILUSTRAÇÕES

Figura 1 – Vetores de Suporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figura 2 – Cálculo do IoU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figura 3 – Filtros Haar - Imagem retirada da documentação do OpenCV[1] . . . . 20Figura 4 – Kernels para o cálculo do Gradiente . . . . . . . . . . . . . . . . . . . . 21

Page 11: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

LISTA DE TABELAS

Tabela 1 – Comparação entre as técnicas . . . . . . . . . . . . . . . . . . . . . . . 23

Page 12: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

LISTA DE ABREVIATURAS E SIGLAS

SVM Máquinas de Vetores Suporte (Support Vector Machines)

HOG Histograma de Gradientes Orientados

IoU Intersection Over Union

Page 13: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 FUNDAMENTAÇÃO TEÓRICO-METODOLÓGICA . . . . . 14Neste Capítulo constam os detalhes sobre os conceitos, técnicas e me-todologias que serão estudados e utilizados ao decorrer da pesquisa.

2.1 Extração de Características . . . . . . . . . . . . . . . . . . . . . 142.2 Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . 152.2.1 Redes Neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.2 Máquinas de Vetores Suporte . . . . . . . . . . . . . . . . . . . . . . . 152.2.3 Intersection Over Union . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.4 Recall e Precisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.5 Análise Facial de Gênero . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . 18Neste capítulo iremos abordar brevemente trabalhos que lidam com omesmo problema de Classificação de Gênero.

3.1 Reconhecimento de Gênero e Idade usando Redes Neurais . . 183.2 Reconhecimento de Gênero com SVM’s . . . . . . . . . . . . . . 183.3 Reconhecimento de Gênero usando diferentes técnicas . . . . 18

4 MÉTODO PROPOSTO . . . . . . . . . . . . . . . . . . . . . . . 19

5 RESULTADOS EXPERIMENTAIS . . . . . . . . . . . . . . . . 205.1 OpenCv Haar-Cascade . . . . . . . . . . . . . . . . . . . . . . . . . 205.2 Dlib HoG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.3 Comparativo entre as duas técnicas . . . . . . . . . . . . . . . . 22

6 CONCLUSÃO E TRABALHOS FUTUROS . . . . . . . . . . . 24

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

APÊNDICES 27

ANEXOS 28

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Page 14: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

13

1 INTRODUÇÃO

Sistemas de visão computacional para monitoramento de pessoas tem desempe-nhado um papel cada vez mais importante nos últimos anos. Os exemplos incluem detec-ção de rosto e corpo, reconhecimento facial, classificação de gênero, estimativa de idadee etnia. Estas informações podem servir de base para sistemas de vigilância, controledemográfico (e.g. como número de pessoas de um determinado gênero que teve acesso aalguma área) e biometria [2]. Neste trabalho iremos discutir e propor uma abordagempara Detecção de Gênero.

Enquanto um humano pode facilmente identificar gêneros, computacionalmenteisto é uma tarefa complexa. Cada rosto tem características e traços próprios que o tornaúnico. Quando olhamos para o rosto de uma pessoa, nosso cérebro inconscientemente ana-lisa cada característica e as transforma em um conjunto de medidas e atributos, dizendocom base em padrões e observações passadas, se é um rosto masculino ou feminino

Há características marcantes que diferenciam homem e mulher, começando peloformato do rosto. Enquanto o homem tem um formato mais quadrado, a mulher possui umrosto tendendo a se parecer com um coração, mais arredondado. Homens tem o olhar maisagressivo e possuem uma proeminência laríngea 1 mais protuberante, mulheres contamcom um nariz menor que o masculino e o tamanho médio do lábio superior até o nariz émenor que os homens. [3]

Tendo em vista o problema e a importância do reconhecimento de gênero, essapesquisa usa duas técnicas de aprendizado de máquina para a classificação de gênero:Redes Neurais Artificiais e Máquinas de Vetores Suporte (Support Vector Machines ouSVM em inglês).

Para realizar a classificação, primeiro nós procuramos por faces nas imagens de en-trada, analisaremos apenas a face para o reconhecimento. Com a face recortada, extraímosas características usando um extrator de características, e enfim fazemos a classificação.Com os resultados de cada técnica, é feita uma comparação e é apresentado a efetividadede cada técnica.

Este documento está organizado da seguinte forma: inicialmente o Caítulo 2 abordaos conceitos, técnicas e métodos que estão relacionados ao trabalho; o Capítulo 3 descrevealguns trabalhos relacionados com a proposta desta pesquisa; o Capítulo 4 descreve qualé a intenção e o método proposto para a resolução do trabalho; o Capítulo 5 aborda osresultados experimentais que foram feitos no decorrer do trabalho; e por fim o Capítulo6 apresenta a conclusão e possíveis trabalhos futuros.

1 Também conhecido por pomo de adão.

Page 15: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

14

2 FUNDAMENTAÇÃO TEÓRICO-METODOLÓGICA

Neste Capítulo constam os detalhes sobre os conceitos, técnicas e metodologiasque serão estudados e utilizados ao decorrer da pesquisa.

2.1 Extração de Características

A etapa de extração de características vem logo após a coleta dos dados ou apósum pré-processamento dos mesmos. As características podem ser variáveis ou atributosque são utilizados para descrever um objeto ou reconhecer um padrão. Cada variável podeadquirir informações de temperatura, cor, pressão, densidade, volume, entre outros. Essasvariáveis posteriormente serão utilizadas por algoritmos de Aprendizado de Máquina.

Existem várias técnicas para extração de características em imagens. Podemosdestacar algumas que são mais conhecidas:

∙ Scale-Invariant Feature Transform (SIFT) [4]

∙ Speed-up Robust Features (SURF) [5]

∙ Histogram of Oriented Gradients (HOG) [6]

∙ Local Binary Patterns (LBP) [7]

onde HOG e LBP serão abordadas a seguir.

HOG ou Histograma de Gradientes Orientados, em português, é um extrator de ca-racterísticas muito utilizado, que calcula a magnitude e a direção do gradiente da imagem.Em resumo, as etapas necessárias para computar o HOG são: (i) calculo do Gradiente, (ii)geração do histograma de orientação, e (iii) normalização de histograma. Uma descriçãomais detalhada está presente na seção 5.2

O LBP ou Padrão Binário local, em português, foi proposto inicialmente paradescrever as texturas presentes em imagens de nível de cinza. Estes descritores de texturapodem ser mais aproveitados se combinado com o HOG, melhorando consideravelmenteo desempenho de detecção em alguns conjuntos de dados[8]. As etapas necessárias paracomputar o LBP são:

1. Divisão da janela em células;

2. Comparação do pixel central com seus vizinhos. Onde o valor do pixel central émaior que o vizinho, escreva “1", caso contrário escreva “0". Isso dá um númerobinário de oito dígitos;

3. Calculo do histograma de cada célula com base no valor do item anterior;

Page 16: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

15

4. Normalização do histograma e concatenação dos histogramas de todas as células.Isso fornece um vetor de características que é inserido no classificador.

2.2 Aprendizado de Máquina

O Aprendizado de Máquina (AM) é um subcampo da Inteligência Artificial, con-siste em extrair dados e gerar modelos computacionais através de algoritmos inteligentes.O AM pode ser dividido como: supervisionado ou não supervisionado. AM supervisio-nado, como o nome sugere, requer que um supervisor ofereça exemplos de quais entradasse alinham com os resultados esperados. Em resumo, queremos fazer com que o modeloaprenda observando fatos. Um exemplo é treinar um modelo computacional para reconhe-cer fotos de aves, o supervisor forneceria os dados rotulados como “aves” ou “não aves” eo algoritmo de treinamento faria com que o modelo assimila-se esta informação.

Problemas de AM supervisionado podem ser divididos em classificação e regressão.Problemas de classificação, que é o foco deste trabalho, consistem na categorização dosdados de entrada. A categorização por gêneros, por exemplo, resulta em masculino oufeminino. Da mesma forma, a categorização de um veículo pode resultar em carro, motoou bicicleta. Já problemas de regressão trabalham com variáveis contínuas, e.g., prediçãodo preço de uma casa baseando-se no seu tamanho e número de quartos.

2.2.1 Redes Neurais

Redes Neurais Artificiais (RNA) são modelos computacionais de Aprendizagemde Máquina, que consistem em vários nós interligados entre si por arestas, que compar-tilham informações. São uma tentativa de modelar as capacidades de processamento deinformações dos sistemas nervosos[9].

Os nós das RNAs atuam como os neurônios e as arestas como sinapses 1. Com autilização de algoritmos sofisticados de treinamento, elas podem aprender a reconhecerpadrões, classificá-los, e, com o tempo, melhorar gradativamente.

2.2.2 Máquinas de Vetores Suporte

Máquinas de Vetores Suporte (SVM) são modelos populares de Aprendizado deMáquina para classificação. Sua fama é devida principalmente aos bons resultados, emcomparação a outros algoritmos de AM.[10]

Dado um conjunto de dados onde existam duas ou mais classes relacionadas, e cadaamostra pode ser representada por um vetor N-dimensional, o SVM cria um hiperplanode separação entre as classes, de modo que a distância entre o hiperplano e os pontos mais1 Região que transmite o impulso nervoso de um neurônio a outro

Page 17: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

16

próximos (chamados de vetores de suporte) seja a maior possível[11]. Veja o exemplo nafigura 1

Figura 1 – Vetores de Suporte

Em dados que não são linearmente separáveis, o SVM utiliza kernels não-lineares,que podem ser aplicados em diversos algoritmos de Aprendizado de Máquina. Sua função émapear dados para um espaço maior de dimensões com o objetivo de encontrar um espaçoonde seja possível obter a separação linear dos dados. Existem vários tipos de kernel quepodem ser usados, porém uma das mais conhecidas é a do kernel RBF, mostrada naequação 2.1

𝑒𝑥𝑝(−||𝑥𝑖 − 𝑥𝑗||2

2𝜎2 ) (2.1)

2.2.3 Intersection Over Union

O Intersection Over Union (IoU) é simplesmente uma métrica de avaliação, nonosso caso, uma métrica para avaliar se uma face detectada em nossa técnica correspondea face descrita no dataset. O valor do IoU é simplesmente calculado dividindo a área dasobreposição das caixas delimitadoras pela área da união, conforme a figura Figura 2

Figura 2 – Cálculo do IoU.

Antes de entrarmos nos resultados obtidos com cada técnica, é preciso entender oconceito de recall e precisão.

Page 18: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

17

2.2.4 Recall e Precisão

Em termos simples, recall diz o quanto o resultado é completo ou não, e precisãoindica o quanto os resultados são úteis, uma alta precisão significa que um algoritmoretornou mais resultados relevantes do que irrelevantes.

Suponha que você tenha uma base de imagens que ao todo contém 12 faces depessoas, sua ferramenta detectou oito faces. Dessas 8 faces detectadas, apenas cinco sãorealmente faces(verdadeiros positivos) enquanto os outros foram erros onde não há ne-nhuma face (falsos positivos). A precisão do programa é de 5/8, enquanto o recall é de5/12.

2.2.5 Análise Facial de Gênero

Para o nosso caso de Análise Facial de Gênero, criaremos uma abordagem paralidar com a junção das técnicas mencionadas anteriormente, i.e., fazer a detecção decaracterísticas acopladas com os modelos de Aprendizado de Máquina.

Abordagens passadas para problemas relacionados com o desta pesquisa, apresen-taram o tema com uma comparação de técnicas, entre elas SVM, Radial Basis Function(RBF) e Nearest Neighbors. Também há utilização de Redes Neurais Convolutivas para aclassificação de gênero e idade[12], que com uma implementação simples, bons resultadosforam alcançados.

Page 19: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

18

3 TRABALHOS RELACIONADOS

Neste capítulo iremos abordar brevemente trabalhos que lidam com o mesmoproblema de Classificação de Gênero.

3.1 Reconhecimento de Gênero e Idade usando Redes Neurais

No artigo de Gil Levi e Tal Hassner[12], eles desenvolveram um sistema para re-conhecimento de gênero e estimativa de idade. Os autores propuseram o uso de RedesNeurais Convolutivas, com arquitetura de rede simples, composta de três camadas convo-lucionais e duas camadas totalmente conectadas com um pequeno número de neurônios.

O resultado foi satisfatório, tendo em vista a simplicidade do modelo propostopelos autores e da dificuldade de encontrar conjuntos de imagens rotulados com idade esexo.

3.2 Reconhecimento de Gênero com SVM’s

Diferente do nosso caso, o estudo de Jang-Hee Yoo [13] aborda o tema da classifi-cação de gênero pela análise do andar de homens e mulheres, tendo em vista do interesseda análise do andar para fins médicos.

O estudo é aplicado usando Máquina de Vetores de Suporte. Os experimentosforam feitos usando três tipos diferentes de kernels: Linear, Polinomial e RBF.

Os resultados com kernel polinomial obtiveram bons resultados, com uma taxa deacerto de 96% para 100 indivíduos.

3.3 Reconhecimento de Gênero usando diferentes técnicas

O trabalho de Baback Moghaddam e Ming-Hsuan[14] apresenta um comparativode técnicas para o reconhecimento de gênero, segue abaixo algumas das técnicas apresen-tadas:

∙ Support Vector Machines (SVM)

∙ Radial Basis Function Networks (RBF)

∙ Linear Classifier

Dentre todas as técnicas, SVM obteve uma menor taxa de erro (3.38%) contra5.54% do RBF e 58.95% do Classificador Linear

Page 20: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

19

4 MÉTODO PROPOSTO

A intenção é fazer uma abordagem analisando o HOG e outros extratores, assimcomo os classificadores SVM e Redes Neurais, afim de realizar testes e comparações dedesempenho das diferentes ferramentas utilizadas.

O método proposto para a solução do problema consiste em um sistema que apartir da aquisição da imagem, passará pela detecção dos rostos presentes na imagem,recorte das faces detectadas, extração das características e por fim a classificação final.

Page 21: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

20

5 RESULTADOS EXPERIMENTAIS

Para o Reconhecimento de Face, foram testadas e comparadas duas ferramentas.OpenCV com abordagem Haar-Cascade, e Dlib utilizando HoG e SVM

5.1 OpenCv Haar-Cascade

O Haar Cascade é um algoritmo de detecção de objetos tanto em imagens comoem vídeos e foi criado por Paul Viola e Michael Jones em seu artigo "Rapid Object De-tection using a Boosted Cascade of Simple Features"[15]. É uma abordagem baseada emAprendizado de Máquina onde uma função cascata é treinada a partir de muitas imagenspositivas e negativas(positivas são imagens onde o objeto a ser detectado está presente enegativas são aquelas que não está). O openCv oferece algoritmos Haar pré-treinados parao reconhecimento de vários elementos, entre eles estão: Face, olhos e assim por diante.

O procedimento de detecção consiste no uso de Classificadores em Cascata, quenada mais é do que uma coleção de estágios, em que cada estágio é um conjunto declassificadores fracos, mais conhecidos como Haar Features. Em cada estágio, é aplicadouma técnica chamada Boosting, como o Adaboost, o Adaboost calcula a média ponderadadas características fracas.

Cada estágio marca como positiva ou negativa uma janela de detecção. Positivaindica que um objeto foi encontrado e negativa indica que nenhum objeto foi encontrado.Se em um estágio o objeto for marcado como negativo ele já é descartado. O resultadofinal é aplicado em janela deslizante.

Os filtros chamados de Haar Features são parecidos como estes:

Figura 3 – Filtros Haar - Imagem retirada da documentação do OpenCV[1]

Page 22: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

21

Cada filtro é obtido subtraindo a soma dos pixels abaixo da área branca da somados pixels abaixo da área negra. Para cada cálculo de Haar, precisamos encontrar a somados retângulos brancos e pretos, em uma janela 24 X 24, isso resultaria em mais de160000 filtros. Uma solução criada foram as Imagens Integrais, que por maior que fossemas imagens, ela reduz os cálculos de um pixel para uma operação envolvendo apenas quatropixels.

5.2 Dlib HoG

Uma implementação da biblioteca Dlib para detecção de faces é com a utilização datécnica Histogram of Oriented Gradients (HoG). Esta é uma implementação do artigo[16]original de Dalal e Triggs.

A proposta do HoG é extrair recursos em um vetor e posteriormente utiliza-lo paraalimentar o algoritmo de classificação, no caso do dlib, uma SVM, que avaliará se umaface está presente ou não na imagem.

O primeiro passo é fazer um pré-processamento calculando os gradientes horizon-tais e verticais da imagem, aplicando os kernels a seguir:

Figura 4 – Kernels para o cálculo do Gradiente

O gradiente em uma imagem normalmente remove informações desnecessárias quenão vamos utilizar.

O próximo passo é obter o HoG, a imagem é então dividida em 8x8 células paracriar uma representação mais segura para que nosso HoG não seja suscetível a erros. Como HoG calculado, obtemos a direção e magnitude do gradiente.

O último passo é a normalização de histograma, onde tornamos a imagem invari-ante a iluminação e finalmente concatenamos todos os vetores em um único vetor, tendoem mãos nosso vetor de recursos, onde podemos enviá-lo ao classificador.

Page 23: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

22

5.3 Comparativo entre as duas técnicas

Com a necessidade de uma técnica de reconhecimento de face para ser usadaneste trabalho, foram comparadas as duas ferramentas mencionadas acima. A comparaçãofoi realizada com base em um dataset[17] de 12.880 imagens com 159.420 faces. Para acomparação da caixa delimitadora da face encontrada nos experimentos e aceitação damesma, o rigor do Intersection Over Union(IoU) foi definido como 50%.

Empregando a ferramenta do OpenCv Haar-Cascade, obtivemos um total de 17739faces reconhecidas, destas, apenas 9464 são verdadeiros positivos. OpenCv conseguiu umrecall de 5,93% e uma precisão de 53,35%. Alguns pontos positivos e negativos do OpenCvHaar-Cascade foram identificados e estão listados abaixo:

∙ Pontos Positivos:

1. Funciona quase em tempo real na CPU.

2. Arquitetura Simples

3. Detecta rostos em diferentes escalas.

∙ Pontos negativos:

1. Muitas previsões falsas

2. Funciona pouco em faces não frontais

3. Não funciona sob oclusão

Já a técnica da biblioteca Dlib usando HoG, obtemos um total de 22474 facesreconhecidas (menos que o OpenCv), destas, apenas 5414 são verdadeiros positivos. Dlibconseguiu um recall de 3,40% e uma precisão de 24,1%. Alguns pontos positivos e negativosdo Dlib HoG estão listados abaixo:

∙ Pontos Positivos:

1. Método rápido na CPU

2. Funciona muito bem para faces frontais e ligeiramente não frontais

3. Funciona sob pequena oclusão

∙ Pontos Negativos:

Page 24: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

23

1. A principal desvantagem é que ele não detecta pequenos rostos, pois é treinado paraum tamanho de face mínimo de 80x80

2. A caixa delimitadora geralmente exclui parte da testa e até parte do queixo algumasvezes.

Técnica Faces Reconhecidas Verdadeiros Positivos Recall PrecisãoOpenCv Haar-Cascade 17739 9464 5,93% 53,35%

Dlib HoG 22474 5414 3,40% 24,1%

Tabela 1 – Comparação entre as técnicas

Page 25: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

24

6 CONCLUSÃO E TRABALHOS FUTUROS

Até o momento foram avaliados duas abordagens de detecção de faces: detectorDlib e OpenCV. Avaliei os 2 modelos e encontrei resultados distintos. Dlib tinha resultadospiores que Haar, embora as saídas do Dlib parecessem visualmente melhores. De acordocom minha análise e pesquisas feitas, os principais motivos para o baixo desempenho doDlib são as seguintes:

1. Mesmo quando os rostos são detectados, as caixas delimitadoras são bem diferentesdas de OpenCV-Haar. Eles eram menores e muitas vezes cortavam partes da testa edo queixo. Fazendo com que o IoU calculado fosse muitas vezes abaixo da aceitação.

2. A segunda razão é que o dlib é incapaz de detectar rostos pequenos, o que reduzainda mais os números.

Page 26: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

25

REFERÊNCIAS

[1] ABNTEX. Face Detection using Haar Cascades. Disponível em: <https://docs.opencv.org/3.4.1/d7/d8b/tutorial_py_face_detection.html>. Acesso em: 01ago. 2019.

[2] NG, C. B.; TAY, Y. H.; GOI, B.-M. Recognizing human gender in computer vision:A survey. In: ANTHONY, P.; ISHIZUKA, M.; LUKOSE, D. (Ed.). PRICAI 2012:Trends in Artificial Intelligence. Berlin, Heidelberg: Springer Berlin Heidelberg,2012. p. 335–346. ISBN 978-3-642-32695-0.

[3] THORNHILL, R.; GANGESTAD, S. W. Facial sexual dimorphism, developmentalstability, and susceptibility to disease in men and women. Evolution and HumanBehavior, Elsevier, v. 27, n. 2, p. 131–144, 2006.

[4] LINDEBERG, T. Scale invariant feature transform. 2012.

[5] BAY, H.; TUYTELAARS, T.; GOOL, L. V. Surf: Speeded up robust features. In:SPRINGER. European conference on computer vision. [S.l.], 2006. p. 404–417.

[6] MIZUNO, K. et al. Architectural study of hog feature extraction processor forreal-time object detection. In: IEEE. 2012 IEEE Workshop on Signal ProcessingSystems. [S.l.], 2012. p. 197–202.

[7] AHONEN, T.; HADID, A.; PIETIKAINEN, M. Face description with local binarypatterns: Application to face recognition. IEEE Transactions on Pattern Analysis &Machine Intelligence, IEEE, n. 12, p. 2037–2041, 2006.

[8] WANG, X.; HAN, T. X.; YAN, S. An hog-lbp human detector with partial occlusionhandling. In: IEEE. 2009 IEEE 12th international conference on computer vision.[S.l.], 2009. p. 32–39.

[9] ROJAS, R. Neural networks: a systematic introduction. [S.l.]: Springer Science &Business Media, 2013.

[10] CORTES, C.; VAPNIK, V. Support-vector networks. Machine learning, Springer,v. 20, n. 3, p. 273–297, 1995.

[11] RUSSELL, S. J.; NORVIG, P. Artificial intelligence: a modern approach. [S.l.]:Malaysia; Pearson Education Limited„ 2016.

[12] LEVI, G.; HASSNER, T. Age and gender classification using convolutional neuralnetworks. In: Proceedings of the IEEE Conference on Computer Vision and PatternRecognition Workshops. [S.l.: s.n.], 2015. p. 34–42.

[13] YOO, J.-H.; HWANG, D.; NIXON, M. S. Gender classification in human gait usingsupport vector machine. In: SPRINGER. International Conference on AdvancedConcepts for Intelligent Vision Systems. [S.l.], 2005. p. 138–145.

[14] MOGHADDAM, B.; YANG, M.-H. Learning gender with support faces. IEEETransactions on Pattern Analysis and Machine Intelligence, IEEE, v. 24, n. 5, p.707–711, 2002.

Page 27: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

26

[15] VIOLA, P.; JONES, M. et al. Rapid object detection using a boosted cascade ofsimple features. CVPR (1), v. 1, n. 511-518, p. 3, 2001.

[16] DALAL, N.; TRIGGS, B. Histograms of oriented gradients for human detection. In:. [S.l.: s.n.], 2005.

[17] YANG, S. et al. Wider face: A face detection benchmark. In: IEEE Conference onComputer Vision and Pattern Recognition (CVPR). [S.l.: s.n.], 2016.

Page 28: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

Apêndices

Page 29: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

Anexos

Page 30: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

29

TRABALHOS PUBLICADOS PELO AUTOR

Page 31: EDUARDOHENRIQUEGIROTO · EDUARDOHENRIQUEGIROTO CLASSIFICAÇÃODEGÊNEROCOMDIFERENTES TÉCNICASDEAPRENDIZADODEMÁQUINA VersãoPreliminardeTrabalhodeConclusão de Curso apresentado

30

ÍNDICE

sinopse de capítulo, 14