Apresenta o_do_tcc___felipe_correa(8)
Transcript of Apresenta o_do_tcc___felipe_correa(8)
Uma proposta de rastreamento de pedestres baseada emcaracterısticas utilizando Viola-Jones e comparacao de
histogramas por distancia de Bhattacharyya
Autor: Felipe Aguiar CorreaOrientador: Prof. Anderson Priebe Ferrugem
Centro de Desenvolvimento TecnologicoUniversidade Federal de Pelotas
Trabalho de Conclusao de Curso: 2014/2
0
Sumario da Apresentacao
1 IntroducaoVisao ComputacionalObjetivos, Desafios e AplicacoesEstrutura do Trabalho
2 Conceitos Teoricos e TecnologicosConceito de Imagem DigitalDeteccao de ObjetosRastreamento de PedestresOpenCV: Opensource Computer Vision
3 Metodologia e Desenvolvimento
4 Testes e Resultados
5 Conclusao
6 Trabalhos Futuros
1
Visao Computacional
E uma subarea da Inteligencia Artificial
E uma area multidisciplinar
Analisar cognitivamente imagens em suas representacoes digitais
Exemplos de aplicacoes:- Estimativa de segmentacao, reconhecimento de alvos, rastreamentode alvos, reconstrucao de fotografias para objetos tridimensionais,entre outros.
2
Visao Computacional
E uma subarea da Inteligencia Artificial
E uma area multidisciplinar
Analisar cognitivamente imagens em suas representacoes digitais
Exemplos de aplicacoes:- Estimativa de segmentacao, reconhecimento de alvos, rastreamentode alvos, reconstrucao de fotografias para objetos tridimensionais,entre outros.
2
Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquerangulos da camera (desde que em pe) baseado em caracterısticas haar
Uso de um dataset atual (2014) para treinamento do detector
Desenvolvimento de um rastreador baseado em informacao dedistribuicao de cores para seguir alvos e associar identidades
3
Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquerangulos da camera (desde que em pe) baseado em caracterısticas haar
Uso de um dataset atual (2014) para treinamento do detector
Desenvolvimento de um rastreador baseado em informacao dedistribuicao de cores para seguir alvos e associar identidades
3
Objetivos e abordagem da proposta
Treinamento de um detector de corpos humanos em quaisquerangulos da camera (desde que em pe) baseado em caracterısticas haar
Uso de um dataset atual (2014) para treinamento do detector
Desenvolvimento de um rastreador baseado em informacao dedistribuicao de cores para seguir alvos e associar identidades
3
Desafios
Baixa resolucao de cameras de vigilancia
Pessoas parecidas (exemplo: vendedores de uma mesma loja)
Oclusoes parciais ou totais
Pessoas proximas umas das outra
Mudanca de iluminacao artificial e natural
Objetos rıgidos e nao rıgidos
Sistemas detectores de face possuem uma taxa de acerto maior quedetectores de pessoas inteiras. Isso se da ao fato de corpos humanos seremobjetos nao rıgidos, que variam muito de posicao, formato e tamanho
4
Aplicacoes
Sao exemplos de aplicacoes do rastreamento de seres humanos:
Vigilancia e seguranca urbana
Identificacoes de eventos e analise da atividade humana
Controle de interfaces de usuario
Rastreamento de atletas (para geracao de estatısticas de rendimento)
Contagem de fluxo de pedestres
5
Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obtencao dos padroes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
Implementacao do detector
Utilizando o algoritmo de Viola-Jones otimizado de Lienhart presenteno OpenCVProposta de equalizacao do histograma para melhores resultados dedeteccao
Implementacao do rastreador
Proposta de ponderacao dos pixels da subjanela por distancia do centroNormalizacao do histograma para o intervalo [0, 1]Uso de distancia de Bhattacharyya para comparar histogramasespacialmente ponderados e normalizados
6
Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obtencao dos padroes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
Implementacao do detector
Utilizando o algoritmo de Viola-Jones otimizado de Lienhart presenteno OpenCVProposta de equalizacao do histograma para melhores resultados dedeteccao
Implementacao do rastreador
Proposta de ponderacao dos pixels da subjanela por distancia do centroNormalizacao do histograma para o intervalo [0, 1]Uso de distancia de Bhattacharyya para comparar histogramasespacialmente ponderados e normalizados
6
Estrutura do Trabalho
O trabalho foi dividido em:
Treinamento do detector para obtencao dos padroes haar
Utilizando Shinpuhkan dataset e haartraining opencv plugin
Implementacao do detector
Utilizando o algoritmo de Viola-Jones otimizado de Lienhart presenteno OpenCVProposta de equalizacao do histograma para melhores resultados dedeteccao
Implementacao do rastreador
Proposta de ponderacao dos pixels da subjanela por distancia do centroNormalizacao do histograma para o intervalo [0, 1]Uso de distancia de Bhattacharyya para comparar histogramasespacialmente ponderados e normalizados
6
Conceito de Imagem Digital
Representacao numerica matricial de uma imagem
Uso de tons de cinza facilita o analise da distribuicao da imagem
Figura: Primeira imagem digital da historia (176x176) - Russel Kirsch (1957)
7
Conceito de Imagem Digital II
Uma imagem digital apenas possui apenas informacao da distribuicaode cores
Algumas imagens possuem metadados como:
Geolocalizacao, data e hora, tamanho do arquivo, ...
Porem imagens nao possuem informacoes sobre o que nelas estarepresentado
E tarefa da Visao Computacional analisar e encontrar padroes paraobtencao de algum conhecimento
8
Algoritmo de Viola-Jones para Deteccao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracterısticas haar
Ate 15x mais rapido que os algoritmos da epoca
Treinamento lento e execucao rapida
Tres principais diferenciais do algoritmo:
Uso de imagens integraisRetangulos classificadores haarEstrutura em cascata
9
Algoritmo de Viola-Jones para Deteccao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracterısticas haar
Ate 15x mais rapido que os algoritmos da epoca
Treinamento lento e execucao rapida
Tres principais diferenciais do algoritmo:
Uso de imagens integrais
Retangulos classificadores haarEstrutura em cascata
9
Algoritmo de Viola-Jones para Deteccao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracterısticas haar
Ate 15x mais rapido que os algoritmos da epoca
Treinamento lento e execucao rapida
Tres principais diferenciais do algoritmo:
Uso de imagens integraisRetangulos classificadores haar
Estrutura em cascata
9
Algoritmo de Viola-Jones para Deteccao de Objetos
Proposto por P. Viola e M. Jones (2001)
Estrutura em cascata
Baseado em caracterısticas haar
Ate 15x mais rapido que os algoritmos da epoca
Treinamento lento e execucao rapida
Tres principais diferenciais do algoritmo:
Uso de imagens integraisRetangulos classificadores haarEstrutura em cascata
9
Imagens Integrais
Em uma localizacao (x,y) possui a soma dos valores da linha aesquerda 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
Retangulos classificadores haar
Sistema de comparacao baseado em areas
Mais rapido que por pixel
Figura: Retangulos classificadores haar
Para que serve cada um dos tipos de retangulos?
11
Estrutura em Cascata
Figura: Estrutura em cascata do algoritmo de Viola-Jones
12
Nomenclaturas da medicao
Falsos positivos
Falsos negativos
Verdadeiros positivos
Verdadeiros negativos
13
Rastreamento de Alvos
Rastreamento x Deteccao
Associacao de Identidades
Neste trabalho, baseia-se em distribuicao de cores para realizarassociacao de identidades
14
Histogramas de Cores
Distribuicao de cores ou de intensidade de uma imagem
O histograma mais completo e o que representa todas variacoes deintensidade
Um histograma reduzido, agrupa pixels proximos em subintervalos
Para comparar histogramas, deve-se normaliza-los
Neste trabalho, transforma-se um histograma em uma distribuicao nointervalo [0, 1]
Histi ,0→1 =Xi − XMin
XMax − XMin(2)
15
Histogramas de Cores
Distribuicao de cores ou de intensidade de uma imagem
O histograma mais completo e o que representa todas variacoes deintensidade
Um histograma reduzido, agrupa pixels proximos em subintervalos
Para comparar histogramas, deve-se normaliza-los
Neste trabalho, transforma-se um histograma em uma distribuicao nointervalo [0, 1]
Histi ,0→1 =Xi − XMin
XMax − XMin(2)
15
Distancia de Bhattacharyya para distribuicoes
Medir similaridade entre duas distribuicoes
Calcula a sobreposicao das mesmas
O coeficiente de Bhattacharyya da-se pela formula:
Bhattacharyya =n∑
i=1
√Σai ∗ Σbi (3)
Onde n e o numero de particoes, a e b sao amostras estatısticas quaisquere Σai e Σbi sao os membros da particao a e b na i-esima particao.
Distancia de Bhattacharyya
Db(a, b) = − ln (Bhattacharyya(a, b)) (4)
16
Distancia de Bhattacharyya e associacao de alvos
Quanto maior a distancia, menor a chance de representar o alvopretendido
Uma distancia proxima de 0 indica que o alvo e parecido ou o mesmo
Limiar para decisao
E preciso escolher um limiar t para determinar se um alvo tem chance ounao de ser outro. Mesma que a menor distancia seja achada, ainda naosignifica que represente o alvo caso o valor de Db seja muito alto...
17
OpenCV: Opensource Computer Vision
OpensourceLicenca BSDDesenvolvido em 1999 pela Intel Corporation (Russia)Estrutura em modulos
Figura: Modulos do OpenCV
18
OpenCV e a proposta de otimizacao de Lienhart et al
Propoe rotacionar os retangulos classificadores em 45◦
Elimina-se os retangulos com 4 sub-areas
Figura: Retangulos classificadores de Lienhart et al
Para que cada um deles serve?
19
Divisao do desenvolvimento
O desenvolvimento do trabalho foi dividido em 3 partes:
Treinamento de caracterısticasDetectorRastreador
20
Treinamento
Objetos, formas e cores
Praticamente, todo objeto do mundo real possui um conjunto decaracterısticas que o diferencia dos demais. Sejam essas caracterısticas deforma ou cor.
Achar pontos invariantes entre centenas ou milhares de imagens deum objeto
Obteve-se um arquivo XML contendo diversos classificadores fracosem cascata: haar features
Uso do Shinpuhkan Dataset 2014
Conjunto grande de tracklets de pedestresProposto 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 sobreposicao de uma positiva em uma negativa
Complexidade: O(MxNxK ), onde M e o numero de rounds detreinamento, N e o numero de exemplos samples do conjunto detreinamento e K e o numero de caracterısticas (tambem chamado defiltros).
22
opencv haartraining e parametros
Parametro Valor
Numero de Samples (vectors) 6.000Limiar de fundo 0Variacao maxima de x 1,1Variacao maxima de y 1,1Variacao maxima de z 1,1Altura dos tracklets (pixels) 64Largura dos tracklets (pixels) 24Tamanho de buffer (MB) 1.024Taxa mınima de hit 0,99Taxa maxima de alarmes falsos 0,5Numero de estagios de treinamento 20
Tabela: Tabela de parametros 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). Mesmoassim, o treinamento demorou: 4 dias, 9 horas e 35 minutos
Figura: Sobreposicao de positivos em negativos
24
Implementacao do Detector
OpenCV: detectMultiScale()
Utilizado com o arquivo de caracterısticas haar treinado no passoanterior
Parametros:
scaleFactor: 1.2minNeighbors: 10minSize: 24x64
25
Implementacao do Detector II
Figura: Exemplos de saıda do detector
26
Equalizacao de Histograma para detector
Hetereogeinizacao das cores da imagem (aumento de contraste)
Recupera-se informacao da imagem
Destaca mais o ruıdo para nao ocorrer Falsos Positivos
Sana alguns problemas de iluminacao
Figura: Equalizacao de histogramas
27
Equalizacao - Exemplo
Figura: Exemplo de equalizacao
28
O quanto isso melhora em um detector?
Tipo P TP FP FN
Equalizado 41 31 5 10Nao-equalizado 41 30 29 11
Tabela: Numeros de deteccao para 30 imagens com e sem equalizacaoconsiderando alvos oclusos
Tipo (P - Oclusos) TP FP FN
Equalizado 35 31 5 4Nao-equalizado 35 30 29 5
Tabela: Numeros de deteccao para 30 imagens com e sem equalizacaodesconsiderando alvos oclusos
29
Implementacao do Rastreador
O rastreamento depende da deteccao
Apos alvos detectados, o rastreador entra em acao:
Gera-se histogramas espacialmente ponderados para cada alvoNormaliza-se a distribuicao do histogramaGera-se identidades para cada alvo e coloca-se em uma lista deidentidades candidatasProximo frame, roda-se a deteccao novamente e acha-se a menordistancia que seja menor que um limiar tAtribui-se as identidades
30
Histogramas espacialmente ponderados
Sabemos que as janelas de deteccao do Viola-Jones nao excluem ofundoPara isso, usa-se uma ponderacao espacial para geracao doshistogramasUma abordagem semelhante a aplicacao de um kernel de GaussPondera-se os pixels por distancia do centro
Figura: Kernel de gauss31
Fluxo do rastreador
Para cada frame do vıdeo:
Converte a imagem para grayscaleEqualiza o histograma da imagemRoda o algoritmo de Viola-JonesPara cada alvo detectado:
Gera um histograma ponderado e normalizado temporarioCompara a distancia de Bhattacharyya do histograma temporario comtodos da lista de possıveis identidadesPega a menor distancia que tambem seja menor que um limiar e guardana lista de possıveis identidadesCaso nao ha uma boa distancia: Gera uma nova identidade e coloca nalista de possıveis identidades para o proximo frame
32
Saıda do Detector
Figura: Exemplo de saıda do detector para os datasets de teste
33
Metodo de avaliacao
Analisar a saıda das imagens do detector ou rastreador
Medir detector separadamente do rastreador
“Cognicao da maquina” versus cognicao humana
Medidas de classificadores binarios ROC
Curvas ROC
34
Medidas e terminologias para classificadores binarios
Apos, soma-se todos os valores obtidos durante o teste. Sabendo o valorde P, TP, FN e FP, e possıvel obter algumas medicoes do detector,como:
sensitividade ou taxa de hit (TPR):
TPR = TP/P
precisao (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 foicomparado com outro para corpos humanos proposto por HannesKruppa et al
Classificador proposto: 20 estagios, 8000 linhas (informacoes desilhueta)Classificador de Hannes Kruppa: 30 estagios, 18000 linhas(classificador completo e especıfico)
Um total de 100 imagens foi retirada do dataset 3DPeS (um datasetde avaliacao de sistemas de vigilancia e forense)
Um total de 157 pedestres presentes (139, caso desconsiderado osparcialmente oclusos)
36
Resultados do Detector II
Medicao Padrao proposto Padrao do OpenCV
Positivos Totais (P) 157 157Positivos Verdadeiros (TP) 131 48Falsos Positivos (FP) 33 29Falsos Negativos (FN) 26 109Sensitividade (TPR) 0,834395 0,305733Precisao (PPV ) 0,79878 0,623377Taxa de falsas descobertas (FDR) 0,20122 0,376623Taxa de miss (FNR) 0,165605096 0,694267516
Tabela: Resultados de deteccao para 100 imagens considerando alvos oclusos,comparando o padrao treinado neste trabalho e o presente no OpenCV propostopor Kruppa et al.
37
Resultados do Detector III
Medicao Padrao proposto Padrao do OpenCV
Positivos Totais (P) 139 139Positivos Verdadeiros (TP) 131 48Falsos Positivos (FP) 33 29Falsos Negativos (FN) 8 91Sensitividade (TPR) 0,942446043 0,345323741Precisao (PPV ) 0,79878 0,623377Taxa de falsas descobertas (FDR) 0,20122 0,376623Taxa de miss (FNR) 0,057553957 0,654676259
Tabela: Resultados de deteccao para 100 imagens desconsiderando alvos oclusos,comparando o padrao treinado neste trabalho e o presente no OpenCV propostopor Kruppa et al.
38
Curva ROC para o Detector I
Figura: Curva ROC (Precisao x Ocorrencia de falsos positivos) para osclassificadores
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 execucao gasto em cada imagem
Quanto menos estagios, mais rapida a execucao
Figura: Distribuicao dos resultados de tempo de execucao dos classificadores
41
Medicoes do Rastreador
Medir alem da deteccao, a associacao correta ou nao das identidades
Ignora-se as identidades associadas para falsos positivos
Ja para falsos negativos, conta-se uma associacao errada
Dois subsets do 3DPeS:
Set 1: Apenas um pedestre caminhando, com uma pequena mudancade iluminacao e falsos positivos reconhecidos (hidrante)Set 2: Dois pedestres, oclusoes parciais e drasticas mudancas deiluminacao
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
Informacao da silhueta nao bateuPossı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
Medicao Set 1 Set 2 1 + 2
Positivos Totais (P) 50 70 120Positivos Verdadeiros (TP) 48 60 108Falsos Positivos (FP) 3 21 24Falsos Negativos (FN) 2 10 12Numero de falsas associacoes 0 7 7Sensitividade (TPR) 0,96 0,857 0,9Precisao (PPV ) 0,9411 0,7407 0,8181Taxa de falsas descobertas (FDR) 0,05882 0,2592 0,181818182Taxa de miss (FNR) 0,2 0,142857143 0,1
Tabela: Resultados de rastreamento para dois sets de vıdeo do rastreadorproposto
54
Resultados do Rastreador II
Figura: Curva ROC (TPR x FPR) para o rastreador
55
Resultados do Rastreador III
Figura: Grafico de tempo de execucao do rastreador
De 7 a 8 frames por segundo!56
Resultados do Rastreador IV
Figura: Curva ROC (PPV x numero de falsos positivos) para o rastreador
57
Resultados do Rastreador V (Exclusivamente associacao)
Figura: Curva ROC (TPR x FPR) para a associacao do rastreador
58
Problemas da Abordagem
Figura: Exemplo de erro de associacao causado por diferencas de iluminacao
Para melhorar resultados, outras ponderacoes devem ser consideradas
59
Conclusoes
Foi desenvolvida uma abordagem baseada em padroes de aparencia
Detector com uma taxa de acerto de ate 94.4%
Notou-se que equalizar a imagem diminui a ocorrencia de falsospositivos
Histogramas nao possuem informacao espacial, mas podem serponderados por essa informacao
Ainda nao esta 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 metodos de otimizacao combinacional (Metodo Hungaro)
O(n!) para O(n4) ou O(n3)
Uso do Shinpuhkan em sua totalidade para treinamento
voting system ou classificadores para partes (detectar alvosparcialmente oclusos)
61
Uma proposta de rastreamento de pedestres baseada emcaracterısticas utilizando Viola-Jones e comparacao de
histogramas por distancia de Bhattacharyya
Autor: Felipe Aguiar CorreaOrientador: Prof. Anderson Priebe Ferrugem
Centro de Desenvolvimento TecnologicoUniversidade Federal de Pelotas
Trabalho de Conclusao de Curso: 2014/2
62
Resultados da Proposta de Viola e Jones
Figura: Resultados da proposta de Viola-Jones
voting system
Mais rapido 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
Resolucao dos tracklets: 48x128
Figura: Exemplo de tracklets do Shinpuhkan Dataset
64
Pseudo-codigo da geracao de histogramas
Figura: Pseudo-codigo da geracao de histogramas
65
Tempo de execucao gasto em cada imagem
Figura: Media da distribuicao dos resultados de tempo de execucao dosclassificadores desconsiderando valores discrepantes (anomalias)
66