SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Estrutura em Cascata
Figura: Estrutura em cascata do algoritmo de Viola-Jones
12
Nomenclaturas da medi¸c˜ao
Falsos positivos
Falsos negativos
Verdadeiros positivos
Verdadeiros negativos
13
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
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
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
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
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
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
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
Divis˜ao do desenvolvimento
O desenvolvimento do trabalho foi dividido em 3 partes:
Treinamento de caracter´ısticas
Detector
Rastreador
20
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
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
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
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
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
Implementa¸c˜ao do Detector II
Figura: Exemplos de sa´ıda do detector
26
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
Equaliza¸c˜ao - Exemplo
28
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
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
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
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
Sa´ıda do Detector
Figura: Exemplo de sa´ıda do detector para os datasets de teste
33
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
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
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
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
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
Curva ROC para o Detector I
Figura: Curva ROC (Precis˜ao x Ocorrˆencia de falsos positivos) para os
classificadores
39
Curva ROC para o Detector II
Figura: Curva ROC (Taxa de Verdadeiros Positivos x Taxa de Falsos Positivos)
para os classificadores
40
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
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
Figura: frame 1
43
Figura: frame 8
44
Figura: frame 17
45
Figura: frame 28
46
Figura: frame 34
47
Figura: frame 36
48
Figura: frame 44
Informa¸c˜ao da silhueta n˜ao bateu
Poss´ıvel causa: pernas juntas
49
Figura: frame 46
50
Figura: frame 11
51
Figura: frame 23
52
Figura: frame 28
53
Resultados do Rastreador I
Medi¸c˜ao Set 1 Set 2 1 + 2
Positivos Totais (P) 50 70 120
Positivos Verdadeiros (TP) 48 60 108
Falsos Positivos (FP) 3 21 24
Falsos Negativos (FN) 2 10 12
N´umero de falsas associa¸c˜oes 0 7 7
Sensitividade (TPR) 0,96 0,857 0,9
Precis˜ao (PPV ) 0,9411 0,7407 0,8181
Taxa de falsas descobertas (FDR) 0,05882 0,2592 0,181818182
Taxa de miss (FNR) 0,2 0,142857143 0,1
Tabela: Resultados de rastreamento para dois sets de v´ıdeo do rastreador
proposto
54
Resultados do Rastreador II
Figura: Curva ROC (TPR x FPR) para o rastreador
55
Resultados do Rastreador III
Figura: Gr´afico de tempo de execu¸c˜ao do rastreador
De 7 a 8 frames por segundo!
56
Resultados do Rastreador IV
Figura: Curva ROC (PPV x n´umero de falsos positivos) para o rastreador
57
Resultados do Rastreador V (Exclusivamente associa¸c˜ao)
Figura: Curva ROC (TPR x FPR) para a associa¸c˜ao do rastreador
58
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
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
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
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
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
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
Pseudo-c´odigo da gera¸c˜ao de histogramas
Figura: Pseudo-c´odigo da gera¸c˜ao de histogramas
65
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

Mais conteúdo relacionado

Destaque

movimiento parabolico
movimiento parabolicomovimiento parabolico
movimiento parabolicoLeyo Herdoiza
 
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s goingKernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s goingAnne Nicolas
 
How Customer Development fuels product development in SaaS, E-commerce and Mo...
How Customer Development fuels product development in SaaS, E-commerce and Mo...How Customer Development fuels product development in SaaS, E-commerce and Mo...
How Customer Development fuels product development in SaaS, E-commerce and Mo...Anna Maistrenka
 
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)Anne Nicolas
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
 
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편Ji-Woong Choi
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 

Destaque (11)

movimiento parabolico
movimiento parabolicomovimiento parabolico
movimiento parabolico
 
Excellence land rover
Excellence land roverExcellence land rover
Excellence land rover
 
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s goingKernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
 
CSI Trends and forecasts
CSI Trends and forecastsCSI Trends and forecasts
CSI Trends and forecasts
 
How Customer Development fuels product development in SaaS, E-commerce and Mo...
How Customer Development fuels product development in SaaS, E-commerce and Mo...How Customer Development fuels product development in SaaS, E-commerce and Mo...
How Customer Development fuels product development in SaaS, E-commerce and Mo...
 
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)
Kernel Recipes 2016 - Understanding a Real-Time System (more than just a kernel)
 
Towards NPO/NGO sustainability
Towards NPO/NGO sustainabilityTowards NPO/NGO sustainability
Towards NPO/NGO sustainability
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
06 wirelessworkshop
06 wirelessworkshop06 wirelessworkshop
06 wirelessworkshop
 
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 

Semelhante a Apresenta o_do_tcc___felipe_correa(8)

Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceLuca Bastos
 
Algorítmo de Identificação de Imagens Através da Implementação de RNA
Algorítmo de Identificação de Imagens Através da Implementação de RNAAlgorítmo de Identificação de Imagens Através da Implementação de RNA
Algorítmo de Identificação de Imagens Através da Implementação de RNALucas Sabadini
 
Tchelinux 2014 visão computacional
Tchelinux 2014 visão computacionalTchelinux 2014 visão computacional
Tchelinux 2014 visão computacionalfelipe_cr
 
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...Marcelo Damasceno de Melo
 
Campus Party - Computer Vision
Campus Party - Computer VisionCampus Party - Computer Vision
Campus Party - Computer Visiondannyxyz22
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações  - A experiência do TECPARInteligência Artificial e suas aplicações  - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPARBruno Campagnolo
 
Reconhecimento facial
Reconhecimento facialReconhecimento facial
Reconhecimento facialHelton Ritter
 
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...GiseliSiqueira1
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPAdilmar Dantas
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informaçõesFabrício Barth
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity RecognitionFabrício Barth
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da InformaçãoMarcello Cardoso
 
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasFabio Spanhol
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...Christopher Cerqueira
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaWalter Hugo Lopez Pinaya
 
Trabalho final neurais_v1
Trabalho final neurais_v1Trabalho final neurais_v1
Trabalho final neurais_v1Diego Damasceno
 

Semelhante a Apresenta o_do_tcc___felipe_correa(8) (20)

Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ce
 
Algorítmo de Identificação de Imagens Através da Implementação de RNA
Algorítmo de Identificação de Imagens Através da Implementação de RNAAlgorítmo de Identificação de Imagens Através da Implementação de RNA
Algorítmo de Identificação de Imagens Através da Implementação de RNA
 
Tchelinux 2014 visão computacional
Tchelinux 2014 visão computacionalTchelinux 2014 visão computacional
Tchelinux 2014 visão computacional
 
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
 
Open cv
Open cvOpen cv
Open cv
 
Campus Party - Computer Vision
Campus Party - Computer VisionCampus Party - Computer Vision
Campus Party - Computer Vision
 
Sistemas Cognitivos
Sistemas CognitivosSistemas Cognitivos
Sistemas Cognitivos
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações  - A experiência do TECPARInteligência Artificial e suas aplicações  - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPAR
 
Reconhecimento facial
Reconhecimento facialReconhecimento facial
Reconhecimento facial
 
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...
TCC_-_IoT aplicada no monitoramento da saúde de pessoas idosas - detecção de ...
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Data Science For Dummies From a Dummy
Data Science For Dummies From a DummyData Science For Dummies From a Dummy
Data Science For Dummies From a Dummy
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da Informação
 
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociência
 
Apresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPBApresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPB
 
Trabalho final neurais_v1
Trabalho final neurais_v1Trabalho final neurais_v1
Trabalho final neurais_v1
 

Apresenta o_do_tcc___felipe_correa(8)

  • 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
  • 21. Estrutura em Cascata Figura: Estrutura em cascata do algoritmo de Viola-Jones 12
  • 22. Nomenclaturas da medi¸c˜ao Falsos positivos Falsos negativos Verdadeiros positivos Verdadeiros negativos 13
  • 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
  • 36. Implementa¸c˜ao do Detector II Figura: Exemplos de sa´ıda do detector 26
  • 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
  • 43. Sa´ıda do Detector Figura: Exemplo de sa´ıda do detector para os datasets de teste 33
  • 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
  • 59. Figura: frame 44 Informa¸c˜ao da silhueta n˜ao bateu Poss´ıvel causa: pernas juntas 49
  • 64. Resultados do Rastreador I Medi¸c˜ao Set 1 Set 2 1 + 2 Positivos Totais (P) 50 70 120 Positivos Verdadeiros (TP) 48 60 108 Falsos Positivos (FP) 3 21 24 Falsos Negativos (FN) 2 10 12 N´umero de falsas associa¸c˜oes 0 7 7 Sensitividade (TPR) 0,96 0,857 0,9 Precis˜ao (PPV ) 0,9411 0,7407 0,8181 Taxa de falsas descobertas (FDR) 0,05882 0,2592 0,181818182 Taxa de miss (FNR) 0,2 0,142857143 0,1 Tabela: Resultados de rastreamento para dois sets de v´ıdeo do rastreador proposto 54
  • 65. Resultados do Rastreador II Figura: Curva ROC (TPR x FPR) para o rastreador 55
  • 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
  • 75. Pseudo-c´odigo da gera¸c˜ao de histogramas Figura: Pseudo-c´odigo da gera¸c˜ao de histogramas 65
  • 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