1. Uma proposta de rastreamento de pedestres baseada em
caracter´ısticas utilizando Viola-Jones e compara¸c˜ao de
histogramas por distˆancia de Bhattacharyya
Autor: Felipe Aguiar Corrˆea
Orientador: Prof. Anderson Priebe Ferrugem
Centro de Desenvolvimento Tecnol´ogico
Universidade Federal de Pelotas
Trabalho de Conclus˜ao de Curso: 2014/2
0
2. Sum´ario da Apresenta¸c˜ao
1 Introdu¸c˜ao
Vis˜ao Computacional
Objetivos, Desafios e Aplica¸c˜oes
Estrutura do Trabalho
2 Conceitos Te´oricos e Tecnol´ogicos
Conceito de Imagem Digital
Detec¸c˜ao de Objetos
Rastreamento de Pedestres
OpenCV: Opensource Computer Vision
3 Metodologia e Desenvolvimento
4 Testes e Resultados
5 Conclus˜ao
6 Trabalhos Futuros
1
3. Vis˜ao Computacional
´E uma sub´area da Inteligˆencia Artificial
´E uma ´area multidisciplinar
Analisar cognitivamente imagens em suas representa¸c˜oes digitais
2
4. Vis˜ao Computacional
´E uma sub´area da Inteligˆencia Artificial
´E uma ´area multidisciplinar
Analisar cognitivamente imagens em suas representa¸c˜oes digitais
Exemplos de aplica¸c˜oes:
- Estimativa de segmenta¸c˜ao, reconhecimento de alvos, rastreamento
de alvos, reconstru¸c˜ao de fotografias para objetos tridimensionais,
entre outros.
2
5. Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquer
ˆangulos da cˆamera (desde que em p´e) baseado em caracter´ısticas haar
3
6. Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquer
ˆangulos da cˆamera (desde que em p´e) baseado em caracter´ısticas haar
Uso de um dataset atual (2014) para treinamento do detector
3
7. Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquer
ˆangulos da cˆamera (desde que em p´e) baseado em caracter´ısticas haar
Uso de um dataset atual (2014) para treinamento do detector
Desenvolvimento de um rastreador baseado em informa¸c˜ao de
distribui¸c˜ao de cores para seguir alvos e associar identidades
3
8. Desafios
Baixa resolu¸c˜ao de cˆameras de vigilˆancia
Pessoas parecidas (exemplo: vendedores de uma mesma loja)
Oclus˜oes parciais ou totais
Pessoas pr´oximas umas das outra
Mudan¸ca de ilumina¸c˜ao artificial e natural
Objetos r´ıgidos e n˜ao r´ıgidos
Sistemas detectores de face possuem uma taxa de acerto maior que
detectores de pessoas inteiras. Isso se d´a ao fato de corpos humanos serem
objetos n˜ao r´ıgidos, que variam muito de posi¸c˜ao, formato e tamanho
4
9. Aplica¸c˜oes
S˜ao exemplos de aplica¸c˜oes do rastreamento de seres humanos:
Vigilˆancia e seguran¸ca urbana
Identifica¸c˜oes de eventos e an´alise da atividade humana
Controle de interfaces de usu´ario
Rastreamento de atletas (para gera¸c˜ao de estat´ısticas de rendimento)
Contagem de fluxo de pedestres
5
10. Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obten¸c˜ao dos padr˜oes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
6
11. Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obten¸c˜ao dos padr˜oes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
Implementa¸c˜ao do detector
Utilizando o algoritmo de Viola-Jones otimizado de Lienhart presente
no OpenCV
Proposta de equaliza¸c˜ao do histograma para melhores resultados de
detec¸c˜ao
6
12. Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obten¸c˜ao dos padr˜oes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
Implementa¸c˜ao do detector
Utilizando o algoritmo de Viola-Jones otimizado de Lienhart presente
no OpenCV
Proposta de equaliza¸c˜ao do histograma para melhores resultados de
detec¸c˜ao
Implementa¸c˜ao do rastreador
Proposta de pondera¸c˜ao dos pixels da subjanela por distˆancia do centro
Normaliza¸c˜ao do histograma para o intervalo [0, 1]
Uso de distˆancia de Bhattacharyya para comparar histogramas
espacialmente ponderados e normalizados
6
13. Conceito de Imagem Digital
Representa¸c˜ao n´umerica matricial de uma imagem
Uso de tons de cinza facilita o an´alise da distribui¸c˜ao da imagem
Figura: Primeira imagem digital da hist´oria (176x176) - Russel Kirsch (1957)
7
14. Conceito de Imagem Digital II
Uma imagem digital apenas possui apenas informa¸c˜ao da distribui¸c˜ao
de cores
Algumas imagens possuem metadados como:
Geolocaliza¸c˜ao, data e hora, tamanho do arquivo, ...
Por´em imagens n˜ao possuem informa¸c˜oes sobre o que nelas est´a
representado
´E tarefa da Vis˜ao Computacional analisar e encontrar padr˜oes para
obten¸c˜ao de algum conhecimento
8
15. Algoritmo de Viola-Jones para Detec¸c˜ao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracter´ısticas haar
At´e 15x mais r´apido que os algoritmos da ´epoca
Treinamento lento e execu¸c˜ao r´apida
Trˆes principais diferenciais do algoritmo:
9
16. Algoritmo de Viola-Jones para Detec¸c˜ao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracter´ısticas haar
At´e 15x mais r´apido que os algoritmos da ´epoca
Treinamento lento e execu¸c˜ao r´apida
Trˆes principais diferenciais do algoritmo:
Uso de imagens integrais
9
17. Algoritmo de Viola-Jones para Detec¸c˜ao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracter´ısticas haar
At´e 15x mais r´apido que os algoritmos da ´epoca
Treinamento lento e execu¸c˜ao r´apida
Trˆes principais diferenciais do algoritmo:
Uso de imagens integrais
Retˆangulos classificadores haar
9
18. Algoritmo de Viola-Jones para Detec¸c˜ao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracter´ısticas haar
At´e 15x mais r´apido que os algoritmos da ´epoca
Treinamento lento e execu¸c˜ao r´apida
Trˆes principais diferenciais do algoritmo:
Uso de imagens integrais
Retˆangulos classificadores haar
Estrutura em cascata
9
19. Imagens Integrais
Em uma localiza¸c˜ao (x,y) possui a soma dos valores da linha `a
esquerda e acima dali
Figura: Estrutura de uma Imagem Integral
Por exemplo, para achar o valor da ´area D, basta:
D = (p(4) + p(1) − (p(2) − p(3))) (1)
onde p(x) ´e o valor no pixel x
10
20. Retˆangulos classificadores haar
Sistema de compara¸c˜ao baseado em ´areas
Mais r´apido que por pixel
Figura: Retˆangulos classificadores haar
Para quˆe serve cada um dos tipos de retˆangulos?
11
23. Rastreamento de Alvos
Rastreamento x Detec¸c˜ao
Associa¸c˜ao de Identidades
Neste trabalho, baseia-se em distribui¸c˜ao de cores para realizar
associa¸c˜ao de identidades
14
24. Histogramas de Cores
Distribui¸c˜ao de cores ou de intensidade de uma imagem
O histograma mais completo ´e o que representa todas varia¸c˜oes de
intensidade
Um histograma reduzido, agrupa pixels pr´oximos em subintervalos
15
25. Histogramas de Cores
Distribui¸c˜ao de cores ou de intensidade de uma imagem
O histograma mais completo ´e o que representa todas varia¸c˜oes de
intensidade
Um histograma reduzido, agrupa pixels pr´oximos em subintervalos
Para comparar histogramas, deve-se normaliz´a-los
Neste trabalho, transforma-se um histograma em uma distribui¸c˜ao no
intervalo [0, 1]
Histi,0→1 =
Xi − XMin
XMax − XMin
(2)
15
26. Distˆancia de Bhattacharyya para distribui¸c˜oes
Medir similaridade entre duas distribui¸c˜oes
Calcula a sobreposi¸c˜ao das mesmas
O coeficiente de Bhattacharyya d´a-se pela f´ormula:
Bhattacharyya =
n
i=1
Σai ∗ Σbi (3)
Onde n ´e o n´umero de parti¸c˜oes, a e b s˜ao amostras estat´ısticas quaisquer
e Σai e Σbi s˜ao os membros da parti¸c˜ao a e b na i-´esima parti¸c˜ao.
Distˆancia de Bhattacharyya
Db(a, b) = − ln (Bhattacharyya(a, b)) (4)
16
27. Distˆancia de Bhattacharyya e associa¸c˜ao de alvos
Quanto maior a distˆancia, menor a chance de representar o alvo
pretendido
Uma distˆancia pr´oxima de 0 indica que o alvo ´e parecido ou o mesmo
Limiar para decis˜ao
´E preciso escolher um limiar t para determinar se um alvo tem chance ou
n˜ao de ser outro. Mesma que a menor distˆancia seja achada, ainda n˜ao
significa que represente o alvo caso o valor de Db seja muito alto...
17
28. OpenCV: Opensource Computer Vision
Opensource
Licen¸ca BSD
Desenvolvido em 1999 pela Intel Corporation (R´ussia)
Estrutura em m´odulos
Figura: M´odulos do OpenCV
18
29. OpenCV e a proposta de otimiza¸c˜ao de Lienhart et al
Prop˜oe rotacionar os retˆangulos classificadores em 45◦
Elimina-se os retˆangulos com 4 sub-´areas
Figura: Retˆangulos classificadores de Lienhart et al
Para quˆe cada um deles serve?
19
30. Divis˜ao do desenvolvimento
O desenvolvimento do trabalho foi dividido em 3 partes:
Treinamento de caracter´ısticas
Detector
Rastreador
20
31. Treinamento
Objetos, formas e cores
Praticamente, todo objeto do mundo real possui um conjunto de
caracter´ısticas que o diferencia dos demais. Sejam essas caracter´ısticas de
forma ou cor.
Achar pontos invariantes entre centenas ou milhares de imagens de
um objeto
Obteve-se um arquivo XML contendo diversos classificadores fracos
em cascata: haar features
Uso do Shinpuhkan Dataset 2014
Conjunto grande de tracklets de pedestres
Proposto por pesquisadores da Kyoto University
21
32. Treinamento com o AdaBoost do OpenCV haartraining
Precisa-se de:
Um conjunto de tracklets (imagens positivas)
Um conjunto de imagens de ru´ıdo (imagens negativas)
Vectors formados com a sobreposi¸c˜ao de uma positiva em uma negativa
Complexidade: O(MxNxK), onde M ´e o n´umero de rounds de
treinamento, N ´e o n´umero de exemplos samples do conjunto de
treinamento e K ´e o n´umero de caracter´ısticas (tamb´em chamado de
filtros).
22
33. opencv haartraining e parˆametros
Parˆametro Valor
N´umero de Samples (vectors) 6.000
Limiar de fundo 0
Varia¸c˜ao m´axima de x 1,1
Varia¸c˜ao m´axima de y 1,1
Varia¸c˜ao m´axima de z 1,1
Altura dos tracklets (pixels) 64
Largura dos tracklets (pixels) 24
Tamanho de buffer (MB) 1.024
Taxa m´ınima de hit 0,99
Taxa m´axima de alarmes falsos 0,5
N´umero de est´agios de treinamento 20
Tabela: Tabela de parˆametros do haartraining
23
34. Sobre o treinamento
Tracklets foram redimensionados para 64x24, mantendo o ratio 3:8
Foi utilizada apenas uma parte do Dataset (1000 imagens). Mesmo
assim, o treinamento demorou: 4 dias, 9 horas e 35 minutos
Figura: Sobreposi¸c˜ao de positivos em negativos
24
35. Implementa¸c˜ao do Detector
OpenCV: detectMultiScale()
Utilizado com o arquivo de caracter´ısticas haar treinado no passo
anterior
Parˆametros:
scaleFactor: 1.2
minNeighbors: 10
minSize: 24x64
25
37. Equaliza¸c˜ao de Histograma para detector
Hetereogeiniza¸c˜ao das cores da imagem (aumento de contraste)
Recupera-se informa¸c˜ao da imagem
Destaca mais o ru´ıdo para n˜ao ocorrer Falsos Positivos
Sana alguns problemas de ilumina¸c˜ao
Figura: Equaliza¸c˜ao de histogramas
27
39. O quanto isso melhora em um detector?
Tipo P TP FP FN
Equalizado 41 31 5 10
N˜ao-equalizado 41 30 29 11
Tabela: N´umeros de detec¸c˜ao para 30 imagens com e sem equaliza¸c˜ao
considerando alvos oclusos
Tipo (P - Oclusos) TP FP FN
Equalizado 35 31 5 4
N˜ao-equalizado 35 30 29 5
Tabela: N´umeros de detec¸c˜ao para 30 imagens com e sem equaliza¸c˜ao
desconsiderando alvos oclusos
29
40. Implementa¸c˜ao do Rastreador
O rastreamento depende da detec¸c˜ao
Ap´os alvos detectados, o rastreador entra em a¸c˜ao:
Gera-se histogramas espacialmente ponderados para cada alvo
Normaliza-se a distribui¸c˜ao do histograma
Gera-se identidades para cada alvo e coloca-se em uma lista de
identidades candidatas
Pr´oximo frame, roda-se a detec¸c˜ao novamente e acha-se a menor
distˆancia que seja menor que um limiar t
Atribui-se as identidades
30
41. Histogramas espacialmente ponderados
Sabemos que as janelas de detec¸c˜ao do Viola-Jones n˜ao excluem o
fundo
Para isso, usa-se uma pondera¸c˜ao espacial para gera¸c˜ao dos
histogramas
Uma abordagem semelhante `a aplica¸c˜ao de um kernel de Gauss
Pondera-se os pixels por distˆancia do centro
Figura: Kernel de gauss
31
42. Fluxo do rastreador
Para cada frame do v´ıdeo:
Converte a imagem para grayscale
Equaliza o histograma da imagem
Roda o algoritmo de Viola-Jones
Para cada alvo detectado:
Gera um histograma ponderado e normalizado tempor´ario
Compara a distˆancia de Bhattacharyya do histograma tempor´ario com
todos da lista de poss´ıveis identidades
Pega a menor distˆancia que tamb´em seja menor que um limiar e guarda
na lista de poss´ıveis identidades
Caso n˜ao h´a uma boa distˆancia: Gera uma nova identidade e coloca na
lista de poss´ıveis identidades para o pr´oximo frame
32
44. M´etodo de avalia¸c˜ao
Analisar a sa´ıda das imagens do detector ou rastreador
Medir detector separadamente do rastreador
“Cogni¸c˜ao da m´aquina” versus cogni¸c˜ao humana
Medidas de classificadores bin´arios ROC
Curvas ROC
34
45. Medidas e terminologias para classificadores bin´arios
Ap´os, soma-se todos os valores obtidos durante o teste. Sabendo o valor
de P, TP, FN e FP, ´e poss´ıvel obter algumas medi¸c˜oes do detector,
como:
sensitividade ou taxa de hit (TPR):
TPR = TP/P
precis˜ao (PPV)
PPV = TP/(TP + FP)
taxa de falsas descobertas (FDR)
FDR = 1 − PPV
Taxa de miss (FNR)
FNR = FN/P
Taxa de Falsos Positivos (FPR)
FPR = FP/N = FP/(FP+TN)
35
46. Resultados do Detector I
O arquivo de caracter´ısticas haar aprendidas neste trabalho foi
comparado com outro para corpos humanos proposto por Hannes
Kruppa et al
Classificador proposto: 20 est´agios, 8000 linhas (informa¸c˜oes de
silhueta)
Classificador de Hannes Kruppa: 30 est´agios, 18000 linhas
(classificador completo e espec´ıfico)
Um total de 100 imagens foi retirada do dataset 3DPeS (um dataset
de avalia¸c˜ao de sistemas de vigilˆancia e forense)
Um total de 157 pedestres presentes (139, caso desconsiderado os
parcialmente oclusos)
36
47. Resultados do Detector II
Medi¸c˜ao Padr˜ao proposto Padr˜ao do OpenCV
Positivos Totais (P) 157 157
Positivos Verdadeiros (TP) 131 48
Falsos Positivos (FP) 33 29
Falsos Negativos (FN) 26 109
Sensitividade (TPR) 0,834395 0,305733
Precis˜ao (PPV ) 0,79878 0,623377
Taxa de falsas descobertas (FDR) 0,20122 0,376623
Taxa de miss (FNR) 0,165605096 0,694267516
Tabela: Resultados de detec¸c˜ao para 100 imagens considerando alvos oclusos,
comparando o padr˜ao treinado neste trabalho e o presente no OpenCV proposto
por Kruppa et al.
37
48. Resultados do Detector III
Medi¸c˜ao Padr˜ao proposto Padr˜ao do OpenCV
Positivos Totais (P) 139 139
Positivos Verdadeiros (TP) 131 48
Falsos Positivos (FP) 33 29
Falsos Negativos (FN) 8 91
Sensitividade (TPR) 0,942446043 0,345323741
Precis˜ao (PPV ) 0,79878 0,623377
Taxa de falsas descobertas (FDR) 0,20122 0,376623
Taxa de miss (FNR) 0,057553957 0,654676259
Tabela: Resultados de detec¸c˜ao para 100 imagens desconsiderando alvos oclusos,
comparando o padr˜ao treinado neste trabalho e o presente no OpenCV proposto
por Kruppa et al.
38
49. Curva ROC para o Detector I
Figura: Curva ROC (Precis˜ao x Ocorrˆencia de falsos positivos) para os
classificadores
39
50. Curva ROC para o Detector II
Figura: Curva ROC (Taxa de Verdadeiros Positivos x Taxa de Falsos Positivos)
para os classificadores
40
51. Tempo de execu¸c˜ao gasto em cada imagem
Quanto menos est´agios, mais r´apida a execu¸c˜ao
Figura: Distribui¸c˜ao dos resultados de tempo de execu¸c˜ao dos classificadores
41
52. Medi¸c˜oes do Rastreador
Medir al´em da detec¸c˜ao, a associa¸c˜ao correta ou n˜ao das identidades
Ignora-se as identidades associadas para falsos positivos
J´a para falsos negativos, conta-se uma associa¸c˜ao errada
Dois subsets do 3DPeS:
Set 1: Apenas um pedestre caminhando, com uma pequena mudan¸ca
de ilumina¸c˜ao e falsos positivos reconhecidos (hidrante)
Set 2: Dois pedestres, oclus˜oes parciais e dr´asticas mudan¸cas de
ilumina¸c˜ao
42
66. Resultados do Rastreador III
Figura: Gr´afico de tempo de execu¸c˜ao do rastreador
De 7 a 8 frames por segundo!
56
67. Resultados do Rastreador IV
Figura: Curva ROC (PPV x n´umero de falsos positivos) para o rastreador
57
68. Resultados do Rastreador V (Exclusivamente associa¸c˜ao)
Figura: Curva ROC (TPR x FPR) para a associa¸c˜ao do rastreador
58
69. Problemas da Abordagem
Figura: Exemplo de erro de associa¸c˜ao causado por diferen¸cas de ilumina¸c˜ao
Para melhorar resultados, outras pondera¸c˜oes devem ser consideradas
59
70. Conclus˜oes
Foi desenvolvida uma abordagem baseada em padr˜oes de aparˆencia
Detector com uma taxa de acerto de at´e 94.4%
Notou-se que equalizar a imagem diminui a ocorrˆencia de falsos
positivos
Histogramas n˜ao possuem informa¸c˜ao espacial, mas podem ser
ponderados por essa informa¸c˜ao
Ainda n˜ao est´a pronto para ser aplicado!
Uso de tecnologias livres e nenhum material espec´ıfico (caro)
60
71. Propostas para trabalhos futuros
“Qual a chance de uma pessoa que, no frame anterior estava em (x,y)
agora estar em (w,z)?”
Uso de m´etodos de otimiza¸c˜ao combinacional (M´etodo H´ungaro)
O(n!) para O(n4
) ou O(n3
)
Uso do Shinpuhkan em sua totalidade para treinamento
voting system ou classificadores para partes (detectar alvos
parcialmente oclusos)
61
72. Uma proposta de rastreamento de pedestres baseada em
caracter´ısticas utilizando Viola-Jones e compara¸c˜ao de
histogramas por distˆancia de Bhattacharyya
Autor: Felipe Aguiar Corrˆea
Orientador: Prof. Anderson Priebe Ferrugem
Centro de Desenvolvimento Tecnol´ogico
Universidade Federal de Pelotas
Trabalho de Conclus˜ao de Curso: 2014/2
62
73. Resultados da Proposta de Viola e Jones
Figura: Resultados da proposta de Viola-Jones
voting system
Mais r´apido e simples que a proposta de Rowley-Baluja-Kanade
63
74. O Shinpuhkan Dataset
Proposto por Kawanishi et al (2014)
22.000 tracklets de 24 pessoas nos mais diversos ˆangulos
Resolu¸c˜ao dos tracklets: 48x128
Figura: Exemplo de tracklets do Shinpuhkan Dataset
64
76. Tempo de execu¸c˜ao gasto em cada imagem
Figura: M´edia da distribui¸c˜ao dos resultados de tempo de execu¸c˜ao dos
classificadores desconsiderando valores discrepantes (anomalias)
66