Post on 07-Apr-2016
Vinícius Lopes Rodrigues
Reconhecimento Facial usando SVM
Vinícius Lopes Rodrigues
Vinícius Lopes Rodrigues
Introdução• É o processo que a partir de uma imagem ou um
vídeo de uma cena, identificar ou verificar uma ou mais pessoas na cena usando um banco de dados de faces
• Essa identificação pode ser dificultada por diversos fatores, tais como:– Diferenças de luminosidade– Adornos: Óculos, maquiagem– Posicionamento– Barba, bigode, cabelo– Expressões Faciais
Vinícius Lopes Rodrigues
Introdução
Vinícius Lopes Rodrigues
Motivação
• Utilização:– Uso policial– Sistemas biométricos de segurança– Verificação da validade de documentos
Vinícius Lopes Rodrigues
Objetivo
• Desenvolver um modelo, que dentro de um grupo de pessoas, seja capaz de identificar uma pessoa dada sua fotografia.
Vinícius Lopes Rodrigues
Modelagem
• De acordo com Qiao et al. (2004), SVM apresenta melhores resultados para o reconhecimento facial do que outras abordagens de aprendizado de máquina
Vinícius Lopes Rodrigues
Modelagem
• Corpus:– Existem inúmeros bancos de dados de imagens de
faces– Utilizado: Face Recognition Data, University of
Essex, UK– 20 fotos de 153 indivíduos diferentes, – 180 x 200 pixels
Vinícius Lopes Rodrigues
Modelagem
• Duas abordagens distintas são discutidas na literatura:– Análise de Componentes Faciais:
– Análise Global
Vinícius Lopes Rodrigues
Modelagem
• 1º passo: Binarização da imagem
Vinícius Lopes Rodrigues
Modelagem
• 2º passo: Extração de componentes (manual):
Vinícius Lopes Rodrigues
Modelagem
• 3º passo: obtenção de features:
– A cada 64 bits do mapa de bits, forma-se um número, que é uma feature
Vinícius Lopes Rodrigues
Modelagem
• Cada pessoa a ser testada é uma classe• Cada foto de uma pessoa é um exemplo• ≈ 53 features• Foi utilizado o LibSVM para a execução do
modelo
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Primeiro modelo feito com 6 pessoas diferentes, 15 exemplos e 5 casos de teste por pessoa
• Resultado não satisfatório, máxima eficácia alcançada 75% com o kernel linear
• Quanto maior o número de classes, pior era a eficácia
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Possíveis motivos do baixo rendimento:– Componentização manual não satisfatória– Componentes de pessoas diferentes podem ter tamanhos
diferentes– Ausência de features não baseadas na imagem
Vinícius Lopes Rodrigues
Modelagem
• 2ª tentativa: Abordagem global:
– Mudança na estração de features: Redução da Imagem para 64 X 73
– Cada linha é transformada num inteiro– Normalizada para ser um valor real entre -10 e 10– Todos exemplos ficam com exatamente 73 features
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Resultados bem mais satisfatórios:– Taxa de acerto chega a 98% com o kernel linear– Taxa de acerto não altera significativamente com o
aumento do número de classes– Modelo com 8 pessoas, 12 exemplos de
treinamento e 8 para testes
Vinícius Lopes Rodrigues
Resultados e Conclusões
Kernel % (eficácia)
Linear 98,4375
Polinomial (d) 2 93,7500
3 84,3750
4 73,4375
5 70,3125
6 68,7500
7 65,6250
8 64,0625
9 59,3750
10 59,3750
Vinícius Lopes Rodrigues
Resultados e Conclusões
Kernel % (eficácia)
RBF (γ)1 34,3750
2 32,8125
3 32,8125
4 42,1850
5 40,6250
6 43,7500
7 42,1875
8 39,0625
9 39,0625
10 37,5000
11 37,5000
12 37,5000
13 35,9375
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Porém...– O modelo lida apenas com um número fixo de
pessoas– Resultados imprevisíveis quando são testadas fotos
de outras pessoas
Vinícius Lopes Rodrigues
Modelagem
• Novo modelo retorna um valor para pessoas “não reconhecidas”
• Criação de uma nova classe: “estranho”• São usados exemplos de diferentes pessoas
para essa classe• Nos testes, devem ser considerados
“estranhos”, fotos dos indivíduos usados como exemplos e outros ainda não vistos pelo sistema
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Foram utilizados 8 indivíduos conhecidos, com 12 exemplos e 8 casos de teste
• Classe “Estranhos” com 24 fotos de 14 indivíduos escolhidos aleatoriamente
• 36 Casos de teste
Vinícius Lopes Rodrigues
Resultados e Conclusões
Taxa de acerto total: 77 %Taxa de acertos entre pessoas conhecidas do sistema: 95%Taxa de acertos entre os indivíduos estranhos: 44%Taxa de erros entre pessoas conhecidas do sistema: 2%Conhecidos identificados como estranhos: 3 %Estranhos identificados como conhecidos: 56 %
Vinícius Lopes Rodrigues
Modelagem
• Tentando melhorar:– Utilizando técnica um contra todos– Para cada pessoa conhecida, é definida um modelo
onde os seus exemplos tem valor 1 e os dos outros tem valor -1
– No teste, cada caso deve ser testado em todos os modelos gerados.
– Caso ele seja 1 em apenas um modelo, ele é reconhecido como a pessoa associada a esse modelo
Vinícius Lopes Rodrigues
Modelagem
• Caso ele seja -1 em todos os modelos, ele é considerado estranho
• Caso tenha mais de um modelo que ele seja 1, ele é desempatado com o modelo mostrado anteriormente
Vinícius Lopes Rodrigues
Resultados e Conclusões
• Utilizando o kernel linear, obteve-se uma melhoria na eficácia do modelo anterior
• Nos testes, foram utilizados 100 fotos de indivíduos familiares e 43 de indivíduos “estranhos”
Vinícius Lopes Rodrigues
Resultados e Conclusões
Taxa de acerto total: 92 %Taxa de acerto entre pessoas conhecidas do sistema: 94 %Taxa de acertos entre os indivíduos estranhos: 90 %Taxa de erros entre pessoas conhecidas do sistema: 3 %Conhecidos identificados como estranhos: 3 %Estranhos identificados como conhecidos: 10 %
Vinícius Lopes Rodrigues
Bibliografia
• Face Recognition HomePage– http://www.face-rec.org/
• Zhao, W. et al, 2003– Face Recognition: A Literature Survey
• Heisele, B. et al, 2001– Face Recognition with Support Vector Machines: Global
versus Component-based Approach• Qiao, H. et al, 2004
– Face Recognition Using SVM Decomposition methods