face detection - image processing...

24

Upload: others

Post on 16-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Face Detection

Image Processing � scc0251

www.icmc.usp.br/∼moacir � [email protected]

ICMC/USP � São Carlos, SP, Brazil

2011

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 1 / 24

Page 2: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Agenda

1 Detectando faces

2 Detector de faces Viola-Jones

Imagem Integral

Atributos retangulares

Boosting

Viola-Jones Boosting e Classi�cação em Cascata

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 2 / 24

Page 3: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detectando faces

Agenda

1 Detectando faces

2 Detector de faces Viola-Jones

Imagem Integral

Atributos retangulares

Boosting

Viola-Jones Boosting e Classi�cação em Cascata

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 3 / 24

Page 4: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detectando faces

Porque detectar faces?

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 4 / 24

Page 5: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detectando faces

Análise do problema

De�nição de limites: apenas faces frontais, per�s, de cabeça parabaixo?

Na maioria dos casos apenas faces frontais ou pequena mudança depose são tratadas.A entrada é uma imagem em níveis de cinzaTarefa fácil?

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 5 / 24

Page 6: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detectando faces

Humanos: máquinas de reconhecer faces

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 6 / 24

Page 7: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones

Detector de faces Viola-Jones

Método:

Percorre a imagem usando uma janela.Realiza a detecção utilizando detectores em várias escalas.Utiliza imagem integral e extrai atributos atributos retangulares deforma rápida.Classi�ca utilizando um algoritmo de boosting.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 7 / 24

Page 8: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Imagem Integral

Imagem Integral

Imagem Integral: cada pixel é igual a soma de todos os pixels acima e

à esquerda.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 8 / 24

Page 9: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Imagem Integral

Imagem Integral

Essa abordagem permite calcular a soma dos pixels dentro de um

retângulo usando apenas quatro valores: A, B, C, D.

A, B, C, D são os pixels na imagem integral relativos aos cantos do

retângulo na imagem de entrada.

Soma = D − (B + C ) + A.

A precisou ser somado pois tanto B quanto C incluem A.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 9 / 24

Page 10: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Atributos retangulares

Atributos retangulares

A soma dos pixels dentro de retângulos de tamanho arbitrário pode ser

calculada em tempo constante.

O detector de faces Viola-Jones analisa uma dada janela usando

atributos consistindo de dois ou mais retângulos, de diversos tipos:

Cada atributo resulta num valor numérico, calculado subtraindo a

soma do(s) retângulo(s) branco(s) da soma dos retângulo(s) preto(s).

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 10 / 24

Page 11: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Atributos retangulares

Atributos retangulares

Em cada janela de uma imagem (tamanho base é de 24 × 24 pixels),

cada um dos atributos é calculado em diferentes escalas e

deslocamentos.

Aproximadamente 160 mil atributos são possíveis considerando todas

as combinações possíveis de deslocamento e escala.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 11 / 24

Page 12: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Boosting

Treinamento usando boosting

Seria impeditivo utilizar todos os atributos. Dentre todos, apenas uma

pequena parte geram valores consistentes quando posicionados sobre a

face.

Dessa forma, uma variante do algoritmo AdaBoost é usado para

selecionar os atributos e treinar classi�cadores que utilizam esses

atributos.

AdaBoost (adaptive boosting) é um algoritmo capaz de construir umclassi�cador forte a partir de uma combinação ponderada de diversosclassi�cadores fracos.

para cada classi�cador treinado, computa um erro e um valor α quemede a �importância� do classi�cador.no método de detecção de faces, cada atributo é considerado em umclassi�cador fraco em potencial.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 12 / 24

Page 13: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Boosting

Treinamento usando boosting: exemplo

DadosClassi�cador 1 Amostras ponderadas

Exemplo obtido do material do prof. Padhraic Smyth.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 13 / 24

Page 14: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Boosting

Treinamento usando boosting: exemplo

Exemplo obtido do material do prof. Padhraic Smyth.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 14 / 24

Page 15: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Boosting

Treinamento usando boosting: exemplo

Exemplo obtido do material do prof. Padhraic Smyth.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 15 / 24

Page 16: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Boosting

Treinamento usando boosting: exemplo

Exemplo obtido do material do prof. Padhraic Smyth.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 16 / 24

Page 17: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Treinamento usando boosting

Cada classi�cador é um �perceptron� de um único atributo, dentre os

K = 160000 atributos existentes.

A cada estágio do boosting:1 a partir dos pesos obtidos do estágio anterior (no estágio 1 os pesos

são uniformes),2 treinar K classi�cadores,3 selecionar o melhor classi�cador nessa etapa,4 combinar com os outros classi�cadores previamente selecionados,5 recalcular os pesos,6 repetir até obter T classi�cadores/atributos.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 17 / 24

Page 18: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Treinamento usando boosting

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 18 / 24

Page 19: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Classi�cação em cascata

Assumindo que o algoritmo irá percorrer a imagem várias vezes

(utilizando diversas escalas) e que em grande parte das vezes analisará

objetos negativos (não-faces),

Ao invés de tentar encontrar faces diretamente, o problema foi

modi�cado para descartar não-faces utilizando uma cascata.

A idéia é construir classi�cadores rápidos para descartar as respostasnegativas.

cada nó é treinado com os falsos positivos do anterior

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 19 / 24

Page 20: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Implementação

Janelas de 24×24 pixels

Escala dos detectores: fator de 1.25

Deslocamento dos detectores: incremento de 1 pixel.

Uma face real pode resultar em múltiplas detecções: pós-processar

para combinar decisões sobrepostas.

Treinamento pode durar 5 ou mais dias (ex. com 5 mil faces e 10 mil

não-faces, 38 nós na cascata e 6060 atributos)

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 20 / 24

Page 21: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Alguns resultados

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 21 / 24

Page 22: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Pose e rotação

Em 2003 os mesmos autores propuseram o uso de �ltros diagonais

para detectar faces em rotação e em per�l.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 22 / 24

Page 23: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

Pose e rotação

A classi�cação é feita em 2 estágios para encontrar faces rotacionadas

Uma árvore de decisão é utilizada para classi�car a pose e encontrar

faces rotacionadas.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 23 / 24

Page 24: Face Detection - Image Processing scc0251wiki.icmc.usp.br/images/4/4f/Dip15_facedetection.pdfDetector de faces Viola-Jones Boosting reinamentoT usando boosting Seria impeditivo utilizar

Detector de faces Viola-Jones Viola-Jones Boosting e Classi�cação em Cascata

References

Viola, P. and Jones, M. Rapid object detection using a boosted cascade ofsimple features. IEEE Proc. Conf. Computer Vision and PatternRecognition, 2001.

Viola, P. and Jones, M. Fast Multi-view Face Detection. IEEE Proc. Conf.Computer Vision and Pattern Recognition, 2003.

Viola, P. and Jones, M. Robust Real-Time Face Detection. Int. JournalComputer Vision, v57, n.2, pp 137�154, 2004.

Moacir Ponti Jr. (ICMC�USP) Face Detection 2011 24 / 24