aplicativo de foto- chamadarocha/teaching/2011s1/mc906/trabalhos… · aplicativo de foto-chamada...

30
Aplicativo de Foto- Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos RA 043251 Luiz Claudio Carvalho RA 800578 Talita Ferraz Roberti RA 086877

Upload: others

Post on 12-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Aplicativo de Foto-Chamada

Trabalho prático de MC906Unicamp 2011 – Prof. Anderson Rocha

Everton F. dos Santos RA 043251Luiz Claudio Carvalho RA 800578Talita Ferraz Roberti RA 086877

Page 2: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Problema a ser resolvido

Construção de um aplicativo que:Receba fotos tiradas em uma sala de aulaDetecte os rostos presentes na imagemReconheça os rostos a partir de imagens pré-cadastradasAtribua presença em aula aos alunos

Page 3: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Problema a ser resolvido

Classificação inicial:Também por uma foto coletiva, nas quais as faces seriam detectadasGeração de uma foto com faces indexadas associada a uma lista a ser passada na 2a aula

SimplificaçõesTodas as faces na verticalMáquina fotográfica única

Page 4: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Por que é um problema de IA

Utilização de técnicas de classificação e inferência (ver a seguir)Mais exatamente um problema de Aprendizado de Máquina e Reconhecimento de Padrões

Page 5: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Como pretendemos resolver

Page 6: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Detecção de Faces no OpenCV

Emprega o Algoritmo de Viola-Jones.É executado sobre imagens em tons de cinza.Retorna uma lista do tipo CvSeq de objetos encontrados.Desenha um retângulo na região de cada objeto.

Page 7: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Detecção de Faces no OpenCVExemplo de execução: ./facedetect --cascade="/home/everton/mc906/openCV/OpenCV-2.2.0/data/haarcascades/haarcascade_frontalface_alt.xml" sala13.jpg:

Page 8: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Detecção de olhos no OpenCV

Objetivo: aproximar as dimensões das faces detectadas em relação às eigenfaces através da distância entre os olhos.

Cálculo da distância e resize

Page 9: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA

Principal Component Analysis(Calculando Eigenfaces)

Page 10: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA

PCA é uma ferramenta estatística empregada com a finalidade de reduzir a dimensionalidade dos dados.

PCA irá tratar os dados e gerar novas variáveis de tal forma que os "novos dados" mantenham as relações do original e as redundâncias sejam removidas.

Page 11: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Por que usar?

'Espaço de faces' com alta dimensionalidade. Ex: banco de dados com 10.000 imagens de faces

Espaços dimensionais muito grandes tornam o reconhecimento de faces mais lento e menos preciso.

Page 12: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. O QUE SERÁ REDUZIDO?

Importante: será reduzida a dimensionalidade do 'espaço de faces', não as colunas correspondentes aos pixels.

M imagens de faces gerarão M autovetores mas apenas k, k < M, desses autovetores serão escolhidos.

k deve ser escolhido de tal forma que não cause altas taxas de erro durante o treinamento.

Page 13: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Algoritmo

1 - Obtenha M imagens de treinamento, I1, I2, ... IM

É importante que sejam imagens de faces frontais.

Page 14: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Algoritmo

2 - Represente cada imagem como um vetor.

3- Calcule a face média.

Page 15: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Algoritmo

4 - Subtraia cada face do vetor médio.

5 - Calcule a matriz de covariância, C.

6 - Calcule os autovetores e os autovalores de C. Serão gerados M autovetores.Cada autovetor terá dimensões N² x 1

Page 16: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Algoritmo

7 - Escolha os k autovetores mais importantes.

Quando um autovetor de dimensões N² x 1 é transformado numa matriz N x N, tem-se uma imagem com rosto de fantasma (eigenfaces).

Page 17: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

PCA. Algoritmo

Encontramos as k eigenfaces (autovetores) que aproximam as M imagens de faces usadas no treinamento.

Esses k autovetores serão entrada de um algoritmo de classificação, o SVM.

Page 18: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

SVM

Support Vector Machines(Reconhecimento)

Page 19: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Reconhecimento

As imagens são codificadas em um espaço de diferenças que leva em consideração as dissimilaridades entre as faces.

Duas classes diferentes:

Classe que codifica dissimilaridades entre diferentes imagens da mesma pessoaClasse que codifica dissimilaridades entre imagens de outras pessoas.

No final, teremos K classes, onde K é o número de pessoas no treinamento.

Page 20: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Reconhecimento

Para reconhecer uma nova imagem, normalizamos essa nova face para criar a eigenface.

Em seguida, geramos um vetor com o SVM.

A partir desse vetor, fazemos um score para decidir a qual aluno essa nova imagem pertence. A classe com o menor score e dentro de um limiar é a escolhida.

Devemos escolher esse limiar para que se possa diminuir a quantidade de falso-positivos.

Page 21: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos
Page 22: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolver o problema

Page 23: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolverPCA (1991) Matthew Turk e Alex Pentland

Para cada eigenface i, calcule um vetor de pesos wi.Para a nova imagem p, projete-a no espaço de faces e gere seu vetor de peso wp.Calcule a distância de Euclides entre Dp e todos os demais wi e pegue o mínimo, D.Dado um : Encontra por:

Page 24: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolverPCA (1991) Matthew Turk e Alex Pentland

Page 25: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolver

Reconhecimento baseado em características

Page 26: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolver

Reconhecimento baseado em características

Page 27: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Outras formas de resolver

Luxand face recognition program

Page 28: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

O que vamos entregar

Page 29: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos
Page 30: Aplicativo de Foto- Chamadarocha/teaching/2011s1/mc906/trabalhos… · Aplicativo de Foto-Chamada Trabalho prático de MC906 Unicamp 2011 – Prof. Anderson Rocha Everton F. dos Santos

Referências

[1] Face Recognition - a Literature Survey. Zhao, Chellappa, Rosenfeld.

[2] Onionesque Reality.<http://onionesquereality.wordpress.com/2009/02/11/face-recognition-using-eigenfaces-and-distance-classifiers-a-tutorial/> Acessado em 27/04/2011

[3] Learning OpenCV - Bradski, Kaehler. [4] VLSI - Universidade de WIndsor, Canada. <http://www.vlsi.uwindsor.ca/presentations/xu1v_seminar_1.pdf>Acessado em 27/04/2011

(Everton, Talita)