aplicativo de foto- chamadarocha/teaching/2011s1/mc906/trabalhos… · aplicativo de foto-chamada...
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/21.jpg)
![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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/29.jpg)
![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](https://reader035.vdocuments.pub/reader035/viewer/2022071215/6044e5e24060f749351f721d/html5/thumbnails/30.jpg)
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)