Post on 24-Jan-2023
Suellen Jaccon Shimabukuro e Victor de Sousa
Detecção de pedestres em cruzamentos utilizandocaracterísticas Haar
Curitiba - PR, Brasil
Agosto de 2011
Suellen Jaccon Shimabukuro e Victor de Sousa
Detecção de pedestres em cruzamentos utilizandocaracterísticas Haar
Trabalho de Graduação apresentado paraobtenção do Grau de Bacharel em Ciênciada Computação pela Universidade Federal doParaná.
Orientador:
Eduardo Todt
DEPARTAMENTO DE INFORMÁTICA
SETOR DECIÊNCIAS EXATAS
UNIVERSIDADE FEDERAL DO PARANÁ
Curitiba - PR, Brasil
Agosto de 2011
Trabalho de Graduação sob o título“Detecção de pedestres em cruzamentos utilizando
características Haar”, defendida por Suellen Jaccon Shimabukuro e Victor de Sousae aprovada
em Agosto de 2011, em Curitiba, Estado do Paraná, pela banca examinadora constituída pelos
professores:
Prof. Dr. Eduardo TodtOrientador
Prof.Universidade Federal do Paraná
Prof.Universidade Federal do Paraná
Resumo
A detecção de pedestres tem se mostrado vital para os Sistemas de Apoio ao Motorista àmedida que pode alertar e auxiliar na prevenção de colisões entre veículos e pessoas, além deapoiar sistemas de segurança detectando a presença de humanos em locais restritos.
Neste trabalho realizamos o estudo das principais técnicasde detecção de pedestres, emparticular de um método que se utiliza de características Haar para encontrar os objetos deinteresse. Foi implementado um sistema detector de pedestres em cruzamentos de ruas, examinandoo comportamento e acurácia do método. O sistema valeu-se de uma etapa de aprendizadobaseado no algoritmoAdaBoostcom imagens retiradas de cenas reais e obteve um desempenhodentro do esperado, reconhecendo 57,04% dos 1080 pedestrespresentes nas imagens de testesapós o tratamento das imagens e detecção de movimento.
Palavras-chaves: Detecção de Pedestre, Características Haar, Classificador de Regras, CascataHaar.
Dedicatória
Oferecemos essa vitória aos nossos pais, Gilda Mari Jaccon Shimabukuro, Paschoal Shimabukuro,
Danielle Castilho de Sousa e Luiz Carlos de Sousa. Vocês são nossos heróis, exemplo de
dedicação, superação, força e coragem.
Aos nossos irmãos, familiares, amigos e amores pela cumplicidade e compreensão pela
ausência em suas vidas, muitas vezes necessárias para a realização deste sonho.
Todo o nosso carinho e reconhecimento!
Agradecimentos
Primeiramente a Deus, que sempre esteve ao nosso lado, nos dando força, paciência e
iluminando os nossos passos para que pudéssemos superar cada obstáculo.
Ao nosso Professor Eduardo Todt, que com sua experiência nosorientou para que a realização
deste trabalho fosse possível.
E por fim, à Michelle Shimabukuro Zanolla que com seu conhecimento nos possibilitou
compor este documento de forma mais fácil e descomplicada.
O nosso muito obrigado!
Sumário
Lista de Figuras
Lista de Tabelas
1 Introdução p. 9
1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.11
1.4 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.12
2 Trabalhos Relacionados p. 13
3 Implementação p. 15
3.1 Características Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 15
3.2 Aprendizado Adaboost e o Classificador em Cascata . . . . . . . .. . . . . p. 18
3.3 Tratamento das imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . .p. 20
3.4 Detecção de pedestres em cruzamentos . . . . . . . . . . . . . . . .. . . . . p. 21
4 Experimentos e Resultados p. 24
5 Discussão e Conclusão p. 27
5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27
5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .p. 28
Referências Bibliográficas p. 29
Lista de Figuras
3.1 Características Haar [Paul Viola e Michael Jones 2001] . .. . . . . . . . . . p. 15
3.2 Médias de intensidade em tons de cinza [Michael Oren et al. 1997] . . . . . p. 17
3.3 (a) Valor da Imagem Integral no ponto(x,y) é a soma das intensidades de
todos os pixels acima e à esquerda do ponto. (b) Cálculo da somada intensidade
dos pixels do retângulo D. [Paul Viola e Michael Jones 2001] .. . . . . . . p. 18
3.4 Quadros de imagens presentes na base [CVC02 2010] . . . . . . . .. . . . p. 21
3.5 Imagem de fundo (estática) à esquerda e quadro de detecção (dinâmico) à
direita [CVC02 2010] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22
4.1 Exemplo de detecção de 2 pedestres e a presença de um falsopositivo e de
um falso negativo (com oclusão parcial) com imagem do conjunto 1. Imagem
de [CVC02 2010] e marcação produzida pelo sistema implementado. . . . . p. 25
4.2 Exemplo de detecção de 2 pedestres e 2 falsos negativos (um deles com
oclusão parcial) com imagem do conjunto 6. Imagem de [CVC02 2010]
e marcação produzida pelo sistema implementado. . . . . . . . . .. . . . . p. 25
4.3 Porcentagem de acertos, de falsos positivos e de falsos negativos em cada
conjunto de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
Lista de Tabelas
1.1 Causas de acidentes [DPRF 2007] . . . . . . . . . . . . . . . . . . . . . . .p. 11
3.1 Intensidade média (imagem negativa) [Michael Oren et al. 1997] . . . . . . p. 16
3.2 Intensidade média (imagem positiva) [Michael Oren et al. 1997] . . . . . . . p. 17
4.1 Resultados por conjunto de imagens . . . . . . . . . . . . . . . . . . .. . . p. 26
9
1 Introdução
O reconhecimento de objetos tem sido amplamente estudado naárea de Visão Computacional,
com destaque para o reconhecimento de pessoas [Paul Viola e Michael Jones 2001] [Michael
Oren et al. 1997] [S. Munder e D.M. Gavrila 2006] [Bastian Leibe et al. 2002] [S. Alvarez et al.
2009] [Navneet Dalal e Bill Triggs 2005] [Xiaoyu Wang, Tony X.Han e Shuicheng Yan 2009].
O seu uso pode ser observado em diversas aplicações de vigilância, em sistemas de contagem e
controle de fluxo de pessoas e nos sistemas de auxílio ao motorista.
A detecção de pedestres consiste na constatação da presençade um pedestre em uma
imagem e, posteriormente, na localização de sua posição relativa na imagem. A detecção de
pessoas de forma genérica enfrenta alguns desafios inerentes à sua natureza. Pessoas possuem
formas e tamanhos diferentes, utilizam roupas com cores e texturas muito variadas, além da
presença de acessórios (bonés, bolsas, dentre outros). No contexto de pessoas em trânsito,
somam-se a esses desafios a complexidade dos cenários, a grande variação de iluminação e
escala, a oclusão parcial ocasionada por outros elementos do cenário e a variedade de posições
que os pedestres podem assumir.
Segundo estudos recentes do grupo Transportation For America (TFA), aproximadamente
47 mil pedestres morreram e mais de 688 mil ficaram feridos entre 2000 e 2010 somente nos
Estados Unidos [Transportation For America 2011]. Este estudo mostra ainda que a maioria
das mortes aconteceu nas vias arteriais, as quais, em geral,são projetadas para agilizar o tráfego
de veículos em detrimento de estruturas seguras para pedestres, ciclistas e cadeirantes.
Recentemente surgiu na Europa a preocupação com a segurança dos pedestres na manufatura
dos carros. O instituto Euro NCAP avalia as questões de segurança de um veículo, mensurando
possíveis colisões frontais, laterais e contra pedestres através de rígidos testes e simulações
[EURONCAP 2011]. De acordo com o instituto, os consumidores estão cada vez mais preocupados
com a segurança dos ocupantes do veículo e dos demais usuários da via, como os pedestres,
considerando o potencial das tecnologias avançadas de assistência ao motorista. Para a América
Latina há o Instituto Latim NCAP, que tem feito testes de colisões e avaliado o impacto sobre
1 Introdução 10
os ocupantes dos veículos utilizados nos países da América Latina [LATIMNCAP 2011].
O automóvel desde o início da sua invenção, vem sofrendo inúmeras inovações. Muitas
delas completamente despercebidas ao condutor. No início,o automóvel se resumia a um motor,
um chassis, quatro rodas, um volante e um sistema de iluminação. O automóvel dos nossos dias
continua a ter essas mesmas características, porém evoluiude uma máquina completamente
dependentes de ações humanas à um sistema informatizado, que atende cada vez mais às
necessidades e desejos de seus usuários. Tal é essa evoluçãoque temos ao nosso alcance
dispositivos desde travas automáticas à sistemas de auto-estacionamento e frenagem autônoma
[Todt 2009].
Observando a evolução que os automóveis vem sofrendo ao longo dessas décadas, e sabendo
da necessidade de reduzir os altos índices de atropelamento, é importante investir em pesquisas
direcionadas ao desenvolvimento não só de tecnologias voltadas ao conforto, mas também de
inovações focadas na segurança do condutor e de pessoas que estão a sua volta.
Um automóvel, como qualquer outra máquina, exige que o usuário esteja qualificado tecnicamente
para operá-lo de forma segura, porém somente a parte técnicanão garante a total segurança do
condutor e das pessoas que estão à sua volta.
O ser humano ainda é fundamental para guiar o veículo, contudo sabemos que faz parte
da nossa natureza errar. Fatores como cansaço, desatenção,consumo de drogas, desrespeito às
regras de trânsito são alguns dos erros cometidos pelos motoristas e que, segundo relatório
da Polícia Federal, estão entre as principais causas de acidentes nas rodovias como segue
abaixo [DPRF 2007]:
Tabela 1.1: Causas de acidentes [DPRF 2007]NACIONAL - Ano: 2007 - Mês: TODOSCausa Acidentes Índice MortosFalta de atenção 42509 52% 1626Não guardar distância de segurança 8145 10% 71Velocidade incompatível 6027 7% 540Defeito mecânico em veículo 5406 7% 121Animais na pista 4207 5% 102Desobediência a sinalização 4063 5% 289Sono 3367 4% 223Ingestão de álcool 3135 4% 188Ultrapassagem indevida 2843 3% 517Defeito na via 2347 3% 71TOTAL 82049 3748
Com isso, pode-se perceber a importância de pesquisas realizadas com o intuito de agregar
1.1 Objetivo 11
tecnologias avançadas, para promover uma maior segurança na utilização destas máquinas e
assim diminuir a incidência de acidentes envolvendo pedestres.
1.1 Objetivo
O objetivo principal deste trabalho é apresentar os conceitos essenciais que norteiam a
detecção apoiada por característicasHaar, bem como propor um sistema de detecção de pedestres
em cruzamentos para adquirir experiência com o tema, entender as abordagens possíveis e
dificuldades relacionadas.
1.2 Justificativa
Tendo como base os dados apresentados na tabela 1.1, percebe-se que as principais causas
de acidentes estão relacionadas a erros humanos, como por exemplo a falta de atenção, considerado
o maior índice gerador de acidentes, representado com 52% das causas.
Tendo a tecnologia ao nosso alcance, pode-se tentar reduzira incidência de acidentes
envolvendo pedestres utilizando sistemas inteligentes, para que, em meio a uma falha humana,
haja uma intervenção do sistema evitando um possível atropelamento.
1.3 Metodologia
Uma das primeiras dificuldades encontradas no desenvolvimento de um sistema detector de
pedestres é a obtenção de imagens que são necessárias para o treinamento de um classificador
e para a verificação da acurácia do detector. Em geral, as bases de imagens padronizadas são
fechadas, e quando abertas não contém uma quantidade suficientemente grande de exemplos.
Dentre as bases abertas de imagens específicas para pedestres pode-se citar obenchmarkda
Daimler-Chryslere a base CVCVirtual Pedestrian Datasetque inova ao apresentar bons resultados
utilizando imagens geradas em um ambiente virtual.
Para o desenvolvimento do classificador e do conjunto de testes deste trabalho foi utilizada a
base CVC02 doComputer Vision Centerda Universidade Autônoma de Barcelona [CVC02 2010].
Esta base contém 7666 imagens para treinamento, sendo 1016 imagens de pedestres, ditas
positivas, e 6650 imagens que não apresentam nenhum pedestre e são chamadas imagens negativas.
Além disso, há 15 sequências de 4364 quadros de vídeos capturados com uma câmera de lente
focal 6mm nos arredores de Barcelona, Espanha. Essas imagenscontém 7983 pedestres em
1.4 Estrutura 12
variadas posições e escala e alguns de seus subconjuntos foram escolhidos para a realização dos
testes deste trabalho.
O treinamento foi feito através de uma adaptação do algoritmo de Aprendizado de Máquina
AdaBoostproposto por [Paul Viola e Michael Jones 2001] utilizando o utilitário opencv-training
e tendo como entrada 1016 imagens positivas e 4916 imagens negativas.
O sistema detector proposto varre a imagem procurando por característicasHaar em janelas
inicialmente de tamanho 12x24 pixels e que variam sua escalaem 10 por cento até encontrar
objetos de interesse, caso eles existam. Ao final do processo, os pedestres presentes na imagem
são marcados com um retângulo colorido.
O funcionamento do sistema foi validado por meio de um processo manual de contagem
de pedestres. As imagens de teste foram segredadas daquelasutilizadas no treinamento e
rotuladas com o número de pedestres presentes. Após a execução do programa, as imagens de
teste marcadas foram armazenadas e então verificadas manualmente quais marcações estavam
corretas.
1.4 Estrutura
Este documento convenientemente foi dividido em 5 partes: (1) Apresentação do Tema; (2)
Trabalhos Relacionados; (3) Implementação; (4) Experimentos e Resultados; (5) Discussão e
Conclusão.
13
2 Trabalhos Relacionados
Este capítulo mostra o trabalho de alguns pesquisadores da Visão Computacional, na área
de detecção de pedestres, conforme encontrado na literatura em pesquisas noWeb of Science,
IEEE XploreeACM Digital Library.
Existem várias tentativas de resolver o problema da detecção de objetos no contexto da
Visão Computacional. Há abordagens apoiadas por dispositivos a laser e outros sensores que
têm produzido resultados significativos [Beckwith 1997], contudo, neste trabalho, as pesquisas
estarão voltadas para a detecção de pedestres através do espectro visível, isto é, que pode ser
capturado pelo olho humano.
No campo de estudo baseado em visão monocular, a abordagem mais simples consiste em
percorrer uma imagem pixel a pixel casando padrão com uma imagem modelo preexistente.
Obviamente essa técnica ingênua é inviável no contexto de detecção de pedestres em sistemas
de transporte, por causa das variações na escala, posição, iluminação e, principalmente, por que
o tempo computacional necessário para tal atividade seria elevado e extremamente dependente
do tamanho da imagem de entrada, o que tornaria inviável a incorporação em um sistema de
assistência ao motorista, no qual existe a necessidade da detecção de pedestres em tempo real e
em diversas imagens com variações de escala, iluminação e posição.
Recentemente têm surgido diversos trabalhos baseados em rastreamento [Bastian Leibe
et al. 2002] e em movimento, previamente observado por meio de técnicas de segmentação
de fundo como subtração de imagens, estatísticas ou ainda através da análise de gradientes
resultantes da detecção de bordas [S. Alvarez et al. 2009].
Além disso, há abordagens que utilizam classificadores baseados em histogramas orientados
[Navneet Dalal e Bill Triggs 2005] e [Xiaoyu Wang, Tony X. Han eShuicheng Yan 2009] da
imagem e combinações com outras técnicas, como co-ocorrência [Yuji Yamauchi et al. 2008].
A detecção de objetos através de característicasHaar vem consolidando sua importância
para os sistemas de apoio ao motorista desde que foi propostapor [Michael Oren et al. 1997]no
final da década de 90. Isso deve-se ao seu baixo custo de tempo computacional e à precisão
2 Trabalhos Relacionados 14
dos resultados obtidos, o que é essencial em sistemas de trânsito, nos quais a detecção deve
ser feita em tempo real. A abordagem baseada em característicasHaar foi aprimorada por
[Paul Viola e Michael Jones 2001] através de uma representação intermediária da imagem, chamada
"Imagem Integral", da adaptação de um algoritmo de aprendizado AdaBooste de um método
que combina classificadores em uma cascada.
Pode-se citar ainda as abordagens que são baseadas em componentes de pedestres, como
partes do corpo [Amnon Shashua, Yoram Gdalyahu e Gaby Hayun 2004] e formatos anatômicos
segregados geometricamente [Mykhaylo Andriluka, Stefan Roth e Bernt Schiele 2008].
Outros autores têm trabalhado com combinações de vários métodos [S. Munder e D.M.
Gavrila 2006], [Markus Enzweiler et al. 2010] e [Paul Viola,Michael J. Jones e Daniel Snow
2003], a fim de aproveitar as vantagens de cada um e de mensurara precisão de detecção das
diversas técnicas [Piotr Dollar et al. 2009].
Tendo em vista a ampla gama de opções diferentes encontradasna literatura, optou-se
pelas característicasHaar, que é uma das abordagens mais simples e que tem produzido bons
resultados [Paul Viola e Michael Jones 2001], combinadas com a detecção de movimento [S.
Alvarez et al. 2009] [Bastian Leibe et al. 2002] na tentativa de reduzir falsos positivos.
15
3 Implementação
Este capítulo descreve o sistema piloto implementado, bem como as características empregadas
na detecção.
3.1 Características Haar
As característicasHaar são a base da detecção de pedestres utilizada neste trabalho. Ela
consiste na diferença de intensidade entre regiões retangulares de uma imagem. As relações
entre as diferentes regiões são expressas como restrições sobre os valores dos coeficientes.
Essas características foram baseadas no trabalho do matemático húngaro Alfred Haar de 1909,
a Transformada de Haar, que pode ser utilizada na representação de uma função.
Figura 3.1: Características Haar [Paul Viola e Michael Jones2001]
Dentre as vantagens do uso das característicasHaar pode-se citar a eficiência computacional,
a independência de escala e cor, a baixa variedade intra-classes, a alta variação inter-classes e o
fato de ser orientada a diferença de intensidades locais. Asrelações mútuas de intensidade de
várias regiões pouco varia à medida que a intensidade absoluta de diferentes regiões da imagem
muda drasticamente [Michael Oren et al. 1997].
3.1 Características Haar 16
As diferenças de intensidades entre regiões da imagem podemser computadas facilmente
utilizando-se as característicasHaar descritas na figura 3.1. A aplicação de uma função que
calcule a diferença entre regiões pode mostrar certos padrões de mudança nas subregiões da
imagem, indicando que há uma mudança drástica (bordas) ou que a região é uniforme. Imagens
que representam ambientes não controlados aleatórios, isto é, sem a presença de pedestres,
tendem a apresentar um padrão desordenado nas médias calculadas pela funçãoHaar, enquanto
que imagens que contém pedestres, apresentam um certo padrão, criado principalmente pelo
contraste do corpo do pedestre com o fundo do cenário e pela consistência das regiões internas
ao corpo humano como pode ser observado nas tabelas 3.1 e 3.2.
Tabela 3.1: Intensidade média (imagem negativa) [Michael Oren et al. 1997]1.18 1.14 1.16 1.09 1.111.13 1.06 1.11 1.06 1.071.07 1.01 1.05 1.03 1.051.07 0.97 1.00 1.00 1.051.06 0.99 0.98 0.98 1.041.03 0.98 0.95 0.94 1.010.98 0.97 0.96 0.91 0.980.98 0.96 0.98 0.94 0.991.01 0.94 0.98 0.96 1.011.01 0.95 0.95 0.96 1.000.99 0.95 0.92 0.93 0.981.00 0.94 0.91 0.92 0.961.00 0.92 0.93 0.92 0.96
Tabela 3.2: Intensidade média (imagem positiva) [Michael Oren et al. 1997]0.62 0.74 0.60 0.75 0.660.76 0.92 0.54 0.88 0.811.07 1.11 0.52 1.04 1.151.38 1.17 0.48 1.08 1.471.65 1.27 0.48 1.15 1.711.62 1.24 0.48 1.11 1.631.44 1.27 0.46 1.20 1.441.27 1.38 0.46 1.34 1.271.18 1.51 0.46 1.48 1.181.09 1.54 0.45 1.52 1.080.94 1.38 0.42 1.39 0.930.74 1.08 0.36 1.11 0.720.52 0.74 0.29 0.77 0.50
Esses padrões podem ser melhor observados na figura 3.2, adaptada de [Michael Oren et al.
1997], na qual (a) representa os coeficientes verticais de uma imagem negativa e (b), (c) e (d)
3.1 Características Haar 17
representam os coeficientes obtidos da aplicação de característicasHaar vertical, horizontal e
de cantos em uma imagem positiva dimensionada para 16 x 16.
Figura 3.2: Médias de intensidade em tons de cinza [Michael Oren et al. 1997]
Tendo em vista o grande custo computacional de varrer uma imagem aplicando vários tipos
de característicasHaar em diversas escalas, [Paul Viola e Michael Jones 2001] criaram uma
representação intermediária da imagem, chamada de Imagem Integral, que pode ser computada
através de poucas operações por pixel e, uma vez calculada, pode ser obtida em qualquer escala
em tempo constante.
Para o cálculo da imagem integral, considere um ponto (x,y) qualquer em uma imagem
arbitrária relaciona-se com seu valor na imagem integral através do somatório de todos os pixels
acima e à esquerda de (x,y), incluindo o próprio ponto. Destaforma, os valores dos coeficientes
da imagem integral podem ser calculados com uma simples varredura na imagem original.
Segundo [Paul Viola e Michael Jones 2001], é possível calcular o valor de intensidade de um
pixel da imagem integralI(x,y) sendo: I(x,y) = o(x,y) + I(x-1,y) + I(x,y-1) - I(x-1,y-1), onde
o(x,y)é o pixel na imagem original.
A figura 3.3(b), extraída de [Paul Viola e Michael Jones 2001], mostra que é possível calcular
o valor da intensidade dos pixels interiores do retângulo D como 4 + 1 - (2 + 3), uma vez que 1
é a soma dos pixels que estão dentro do retângulo A, 2 é A + B, 3 é A +C e 4 é A + B + C + D.
Com isso, obtém-se uma forma rápida e eficiente do ponto de vista computacional de calcular
as característicasHaar de uma imagem.
3.2 Aprendizado Adaboost e o Classificador em Cascata 18
Figura 3.3: (a) Valor da Imagem Integral no ponto(x,y) é a soma das intensidades de todos ospixels acima e à esquerda do ponto. (b) Cálculo da soma da intensidade dos pixels do retânguloD. [Paul Viola e Michael Jones 2001]
3.2 Aprendizado Adaboost e o Classificador em Cascata
Uma vez de posse de um conjunto robusto de características é preciso utilizar um algoritmo
de aprendizado que seja capaz de reconhecer as característicasHaar em uma imagem. O
algoritmo AdaBoost (Adaptive Boosting), que dispõe de um conjunto de classificadores pré-
treinados e um conjunto de avaliação, retro-alimenta os pesos de avaliação dos classificadores
já existentes, atualizando a probabilidade da ocorrência de um evento. O algoritmo realiza essa
tarefa combinando regras simples de treinamento [Freund e Schapire 1995].
O propósito original do algoritmo AdaBoost é de refinar o desempenho de um outro algoritmo
de classificação mais simples, selecionando um pequeno número de características que sejam
significativamente variadas para que possam representar o conjunto todo.
Durante o processamento, em uma janela qualquer da imagem analisada, pode haver muitas
característicasHaar. O número de características é, em geral, bem maior que o número de
pixels daquela região. Então, faz-se necessária uma seleção prévia das características mais
importantes por parte do classificador, denominado classificador fraco, que relaciona-se com
uma única característica e concentra-se na mesma. Os pesos de classificação são ajustados para
que os classificadores posteriores possam analisar os resultados anteriores e classificar de forma
mais refinada.
Com o intuito de reduzir o tempo computacional e melhorar o desempenho da detecção,
[Paul Viola e Michael Jones 2001] propuseram um modelo de classificadores em cascata, no
qual, classificadores mais simples avaliam sub-janelas da imagem, rejeitando aquelas que são
explicitamente negativas, isto é, sem a presença de um elemento que possa vir a ser um pedestre.
Posteriormente, os classificadores mais especializados e,portanto, mais complexos, avaliam a
presença de um pedestre somente nas sub-janelas não negativas da imagem, que são previamente
3.2 Aprendizado Adaboost e o Classificador em Cascata 19
conhecidas.
Esta idéia está baseada na pequena amostragem de sub-janelas positivas de uma imagem.
Portanto, é razoável que classificadores simples descartemessas regiões precocemente. O
classificador de um nível posterior é treinado para reconhecer todas as características dos níveis
anteriores, logo, sua tarefa é mais complexa e demanda mais tempo computacional que o
classificador anterior. Desta forma, os classificadores de níveis profundos analisam menos
regiões, uma vez que as regiões negativas são descartadas noinício do processo pelos classificadores
anteriores. Um efeito colateral desse procedimento é que osclassificadores em cascata muito
profundos têm uma taxa de falsos positivos equivalentemente alta.
Para realizar o aprendizado com as imagens deste trabalho foi utilizada a ferramentaopencv-
haartraining, distribuída juntamente com a bibliotecaOpenCV. Para o treinamento foram utilizados
1016 amostras de pedestres dimensionados em imagens de 12 x 24 pixels espelhadas simetricamente
e 3000 imagens aleatórias de dimensões variadas e que não continham pedestres. Os seguintes
parâmetros foram aplicados:
opencv-haartraining -data Haarcascade -vec samples.vec -bg negatives.dat -nstages 18 -
minhitrate 0.999 -maxfalsealarm 0.5 -npos 2032 -nneg 3000 -w 64 -h 128 -nonsym -mem 768
-mode ALL
Significando:dataé o diretório de trabalho onde as informações classificador ficarão armazenadas;
samples.vecé o arquivo que contém as amostras positivas simétricas agrupadas pelo aplicativo
opencv-createsamples, também disponibilizado juntamente com a bibliotecaOpenCV; negatives.dat
é o arquivo que contém informações das imagens negativas, como sua localização e dimensão;
nstagesé o número máximo de estágios do classificador, que não será atingido caso todas as
amostras sejam rejeitadas em um estágio intermediário ou ainda se ultrapassou o índice de
acerto mínimo desejado (minhitrate); maxfalsealarmé a taxa máxima de alarmes falsos;npose
nnegsão a quantidade de imagens positivas e negativas, respectivamente;w eh são as dimensões
das imagens positivas; a opçãononsymé utilizada quando não há simetria vertical entre as
classes de objeto;memé a quantidade de memória principal em Megabytes disponível; a opção
mode ALLusa o conjunto completo de característicasHaar, inclusive as rotacionadas em 45
graus.
No presente trabalho, a técnica do classificador em cascata éutilizada com um parâmetro de
18 níveis de classificadores, segundo sugestão de [Paul Viola e Michael Jones 2001], por dois
motivos. O primeiro deles é o tempo computacional necessário para construir um classificador
eficiente com o número de amostragem de pedestres disponível. O treinamento desse classificador,
feito com 1016 imagens espelhadas, totalizando 2032 imagens positivas e 3000 imagens negativas,
3.3 Tratamento das imagens 20
levou cerca de 72 horas para terminar, executando em uma máquina com processador Intel i3
64 bits 2.27GHz, 4GB de memória e sistema operacional Ubuntu10.04. Além disso, o tempo
computacional na detecção de pedestres tende a aumentar proporcionalmente a profundidade
de cascata. O segundo motivo foi um balenceamento empírico na taxa de falsos positivos, uma
vez que esta cresce à medida que o número de níveis aumenta.
3.3 Tratamento das imagens
Como mencionado na seção que apresenta a metodologia, este trabalho utilizou 7666 imagens
da base CVC02 para testes de detecção e 1016 para o desenvolvimento de um classificador
eficiente. Essas imagens foram obtidas na cidade de Barcelona, Espanha, em ambientes urbanos
não-controlados, isto é, desordenados. Com isso, deseja-seobter uma detecção próxima dos
ambientes reais encontrados numa situação típica de um sistema de apoio ao motorista.
As imagens positivas utilizadas no treinamento do classificador foram todas redimensionadas
para 12x24 enquanto as imagens negativas possuíam tamanhosaleatórios. Uma vez que as
característicasHaar são invariantes à cor, todas as imagens foram transformadaspara tons de
cinza para efeitos de treinamento. Nos testes de detecção asimagens de entrada são coloridas,
contudo, posteriormente elas são convertidas para escala de cinza para facilitar a detecção e,
uma vez detectados os pedestres, estes são marcados na imagem colorida correspondente, que
é a imagem de saída.
O conjunto de imagens de teste contém 1016 pedestres nas maisvariadas posições, vestidos
com roupas e acessórios distintos e de cores variadas. As condições de iluminação e posição
também varia bastante nas imagens, a fim de representar fielmente um ambiente real. Essas
imagens foram espelhadas com o intuito de variar ainda mais aposição dos pedestres e o
resultado foi um conjunto de 2032 imagens positivas simétricas dimensionadas para o padrão
de janela que seria usado na fase de detecção.
As imagens de teste de detecção estavam todas no formato PNG (Portable Network Graphics),
eram coloridas e tinham 640 pixels de largura por 480 de altura. As imagens retratam cenas
reais de tráfego urbano capturadas por um carro em movimento. Apenas as imagens que
representavam o momento de parada de um veículo em um cruzamento foram analisadas. Com
isso, foi possível aplicar uma técnica de detecção de movimento para reduzir ainda mais o
escopo de busca de pedestres na imagem.
A remoção do fundo é utilizada para este fim. Essa técnica foi simplificada para não
interferir negativamente no tempo computacional da detecção de pedestres, uma vez que é feito
3.4 Detecção de pedestres em cruzamentos 21
Figura 3.4: Quadros de imagens presentes na base [CVC02 2010]
um pré-processamento on-line de cada quadro da imagem. Essaremoção se dá pela subtração
de cada quadro da imagem de fundo original e estática. Tanto as imagens individuais de cada
quadro como a imagem estática de fundo são convertidas para escala de cinza e suavizadas
por meio de de um filtro Gaussiano. À imagem resultante dessa subtração pixel a pixel é
aplicado uma operação morfológica conhecida como erosão e uma binarização por meio das
funçõescvErode()e cvThreshold(), respectivamente, da biblioteca OpenCV. Com isso, tem-se
uma imagem uniforme que representa objetos em movimento no cenário.
3.4 Detecção de pedestres em cruzamentos
Uma vez que esse trabalho tem o objetivo de detectar pedestres em cruzamentos e se
propõe a fazê-lo de forma rápida, a área de busca por objetos positivos, isto é, por pedestres,
é reduzida significativamente nas imagens por meio do processo de remoção do fundo e de
homogeneização da imagem.
Para isso, são fornecidas uma imagem de entrada que representa o cenário estático do
3.4 Detecção de pedestres em cruzamentos 22
cruzamento e uma sequência de imagens, ou um vídeo, nas quaisserão detectados e marcados os
pedestres. Ainda é necessário passar como parâmetro o arquivo xml que contém o classificador
em cascata produzido no processo de aprendizado. As imagensde entrada sofrem as transformações
descritas na seção de tratamento das imagens, como conversão para escala de cinza, suavização
e remoção do fundo.
Figura 3.5: Imagem de fundo (estática) à esquerda e quadro dedetecção (dinâmico) à direita[CVC02 2010]
As diversas regiões homogêneas que representam os objetos em movimento na imagem são
obtidas no processo de remoção do fundo. Isso reduz o espaço de busca consideravelmente e,
portanto, diminui o tempo de processamento. O sistema transforma essas regiões homogêneas
em retângulos através da funçãocvFindContours()da bibliotecaOpenCV. Os pedestres serão
procurados somente nos espaços que correspondem às áreas internas desses retângulos homogêneos.
Os retângulos pequenos, isto é, menores que 12 x 24, são eliminados por serem considerados
ruído de um fenômeno conhecido como "salt and pepper".
Uma sub-janela com 12 pixels de largura e 24 pixels de altura éajustada no canto superior
esquerdo de cada retangulo representante da região homogênea previamente calculada. A
função da bibliotecaOpenCV cvhaarDetectObjects()procura por característicasHaar na sub-
janela especificada - que é incrementada por um fator de 10% nas avaliações subsequentes.
Segundo [Paul Viola e Michael Jones 2001], dimensionar a janela de busca de características é
mais eficiente do que reescalar toda a imagem para localizar objetos em diferentes escalas.
Ainda é usado uma técnica que diminui ainda mais a carga computacional, a poda Canny,
que evita regiões negativas por meio da aplicação de um filtrode bordas. A janela se move
através das regiões homogêneas da imagem, da esquerda para adireita e de baixo para cima, até
percorrer toda a região homogênea. Após uma varredura completa, a janela tem seu tamanho
incrementado em 10% e o processo é repetido.
Quando é encontrada alguma característica, a região é guardada para posterior avaliação e
marcação do pedestre. Ao final do processo, as diversas regiões ditas positivas são agrupadas,
3.4 Detecção de pedestres em cruzamentos 23
incluindo aquelas que estão sobrepostas. Um retângulo colorido é desenhado na imagem de
saída na região correspondente ao pedestre encontrado.
24
4 Experimentos e Resultados
Este capítulo descreve os experimentos realizados com o sistema detector de pedestres e
aponta os resultados de desempenho obtidos.
Para a realização dos experimentos primeiramente foi realizada a etapa de aprendizado
do classificador. Segundo [Tutorial OpenCV 2006], são necessárias 5000 imagens positivas,
ou seja, no caso deste experimento imagens contendo somentepedestres, e 3000 imagens
negativas. Devido ao tempo e a dificuldade para coletar e tratar as imagens e, pricipalmente
para produzir um classificador eficiente, utilizou-se para fins de experimento somente 2032
imagens positivas, encontradas na base de imagens CVC02 citada anteriormente.
Percebe-se no gráfico da figura 4.3 que a redução de imagens para a etapa de treinamento
gera um impacto significativo na segunda etapa, a de detecçãodos objetos de interesse nas
imagens testadas, mais especificamente nos índices de acerto e nos índices de falsos negativos
obtidos, devido ao classificador não conter informações suficientes para a tarefa de detectar um
padrão em meio aos pixels da imagem.
Outro ponto relevante é quanto ao número de estágios do classificador, que impacta diretamente
nas porcentagens de falsos positivos. Quanto maior o númerode estágios, maior também será
a quantidade proporcional de falsos positivos gerada pelo classificador, que não produzirá bons
resultados. Como apresentado na seção 3.2, utilizou-se uma cascata de 18 níveis, por questões
de tempo computacional e de desempenho. A escolha da quantidade de níveis teve também
como base a análise dos índices de acerto, falsos positivos efalsos negativos, com a finalidade de
alcançar o melhor resultado, tendo em vista a fase de treinamento do classificador ter recebido
um número de imagens insuficientes.
Pode-se observar os resultados apresentados através das figuras 4.1 e 4.2. Na figura 4.1
houve uma taxa de acerto de 66% pois foram detectados 2 dos 3 pedestres presentes na imagem.
Já na figura 4.2 obtivemos um índice de 50% de acerto, pois dentre os quatro pedestres presentes
na imagem, o classificador obteve sucesso em localizar dois deles. Observa-se também que
neste exemplo há uma marcação considerada falso positivo, logo acima do carro e dois casos de
4 Experimentos e Resultados 25
falso negativo, no canto direito.
Figura 4.1: Exemplo de detecção de 2 pedestres e a presença deum falso positivo e de umfalso negativo (com oclusão parcial) com imagem do conjunto1. Imagem de [CVC02 2010] emarcação produzida pelo sistema implementado.
Figura 4.2: Exemplo de detecção de 2 pedestres e 2 falsos negativos (um deles com oclusãoparcial) com imagem do conjunto 6. Imagem de [CVC02 2010] e marcação produzida pelosistema implementado.
Para a avaliação dos resultados foram escolhidos 6 conjuntos de imagens da base de dados.
Os conjuntos continham, respectivamente, 210, 40, 86, 94, 110 e 540 quadros de imagens.
Todos os conjuntos representavam cenas de pedestres em um cruzamento. Nota-se um aumento
na taxa de falsos positivos naqueles conjuntos onde há abundância de estruturas verticais (postes,
árvores, entre outros). Já as altas taxas de falsos negativos podem ser observadas nos conjuntos
em que a apresentação de pedestres se dá em meio a oclusões parciais ou quando os pedestres
estão distantes, ocasionando uma baixa resolução da regiãohomogênea.
4 Experimentos e Resultados 26
Tabela 4.1: Resultados por conjunto de imagensConj. 1 Conj. 2 Conj. 3 Conj. 4 Conj. 5 Conj. 6
Acertos 125 18 44 58 63 308Falsos Positivos 32 11 32 9 19 103Falsos Negativos 53 11 10 27 28 129Total de imagens 210 40 86 94 110 540
Após os resultados para cada conjunto, calculou-se a média de acertos do detector de
pedestres em cruzamentos. A eficiência do mesmo está em 57,04%, com um taxa de 19,07% de
falsos positivos - marcações em elementos que não são pedestres - e 23,89% de falsos negativos,
isto é, de pedestres não detectados.
Figura 4.3: Porcentagem de acertos, de falsos positivos e defalsos negativos em cada conjuntode teste.
Após os experimentos, chegou-se a conclusão de que os resultados obtidos são válidos de
acordo com o escopo definido, e que os resultados podem ser melhorados aprimorando a fase
de treinamento e a quantidade de níveis da cascata do classificador.
27
5 Discussão e Conclusão
Este capítulo trata das conclusões e das melhorias e incorporações futuras que poderão ser
feitas no sistema.
5.1 Conclusões
O tema é extremamente complexo. Entendemos que este trabalho é um ponto de partida
para um estudo mais profundo envolvendo técnicas mais eficientes. A realização deste projeto
possibilitou não somente o aprendizado da técnica aplicada, Cascata Haar, mas também pôde-
se observar a importância do tema principal, que é a Detecçãode Pedestres. Um sistema de
bordo que auxilie o motorista de tal forma a diminuir os erroscometidos pelo mesmo, pode sim
reduzir a incidência de acidentes, garantindo a segurança tanto de pedestres quanto das pessoas
que estão no veículo.
A maior dificuldade neste projeto foi a etapa de treinamento da cascata de classificadores.
Para que o classificador tenha uma precisão ótima é necessário o treinamento com mais imagens,
o que ocasiona um aumento no tempo do processamento para a criação da cascata. Como
consequência à essa redução, obteve-se um classificador coma acurácia não tão elevada.
Outro motivo para o qual obteve-se esses resultados, refere-se tanto à qualidade das imagens
utilizadas, quanto ao tamanho empregado na etapa de treinamento. Foram realizadas várias
tentativas de redimencionamento do tamanho da imagem afim deque a fase de treinamento
pudesse ser concluída. As imagens positivas, que já não eramtão nítidas, foram redimensionadas
para o tamanho 12x24, ocasionando uma perda significativa deinformações que poderiam ser
úteis ao classificador.
Apesar dos empecilhos encontrados, obtivemos êxito no objetivo definido anteriormente.
Realizou-se um estudo mais a fundo dos conceitos essenciais ao tema Detecção de Pedestres,
bem como a implementação do sistema proposto, baseado em CaracteríscasHaar.
5.2 Trabalhos Futuros 28
5.2 Trabalhos Futuros
Devido aos problemas encontrados principalmente na etapa de apredizado do classificador,
uma forma de aprimoar a robustez do sistema é focar principalmente nas imagens que o treinamento
utiliza para a formação das cascatas.
Uma possibilidade seria incluir uma etapa de coleta das imagens necessárias, ao invés de
realizar uma busca nas bases de imagens existentes. Nesta fase, deve-se considerar locais
apropriados e equipamentos de qualidade, para que as imagens capturadas sejam adequadas
ao estudo em questão.
Um dos pontos que neste trabalho tornou-se negativo para a obtenção de um classificador
eficiente, foi com relação ao tamanho das imagens positivas utilizadas na fase de treinamento.
Para processar imagens de tamanhos mais adequados, é necessário um computador com maior
poder de processamento. Assim, o classificador poderá retirar mais informações das imagens,
melhorando então o seu desempenho.
Um sistema de detecção de pedestres deve ser um sistema de processamento em tempo
real. Portanto, após as melhorias propostas ao sistema, e a realização dos devidos testes em
imagens estáticas, como vem-se fazendo neste estudo, pretende-se realizar a implementação de
um sistema mais completo, composto também por uma câmera, para que este seja realmente
utilizado. A idéia é que um sistema aprimorado seja incorporado a um veículo para detecção
on-line de pedestres ao aproximar-se de um cruzamento, emitindo um alerta ao condutor com o
objetivo de auxiliar a prevenir a principal causa dos acidentes, que é a falta de atenção.
29
Referências Bibliográficas
[Amnon Shashua, Yoram Gdalyahu e Gaby Hayun 2004]Amnon Shashua; Yoram Gdalyahu;Gaby Hayun. Pedestrian Detection for Driving Assistance Systems: Single-frameClassification and System Level Performance.IEEE Intelligent Vehicles Symposium, 2004,2004.
[Bastian Leibe et al. 2002]Bastian Leibe et al. Pedestrian Detection in Crowded Scenes.Multimodal Interactive Systems, TU Darmstadt, Germany, 2002.
[Beckwith 1997]BECKWITH, D. M. Passive Pedestrian Detection atUnsignalized Crossing.Transportation Research Institute, 1997.
[CVC02 2010]CVC02. 2010. Disponível em: <http://www.cvc.uab.es/adas/>. Acessado em: 29de novembro de 2010.
[DPRF 2007]DPRF. 2007. Disponível em: <http://www.dprf.gov.br/PortalInternet/estatistica.faces>.Acessado em: 22 de maio de 2011.
[EURONCAP 2011]EURONCAP. 2011. Disponível em: <http://www.euroncap.com/home.aspx>.Acessado em: 20 de maio de 2011.
[Freund e Schapire 1995]FREUND, Y.; SCHAPIRE, R. E.A Decision-TheoreticGeneralization of on-Line Learning and an Application to Boosting. 1995.
[LATIMNCAP 2011]LATIMNCAP. 2011. Disponível em: <http://www.latinncap.com/>.Acessado em: 20 de maio de 2011.
[Markus Enzweiler et al. 2010]Markus Enzweiler et al. Multi-Cue Pedestrian ClassificationWith Partial Occlusion Handling.IEEE Conference on Computer Vision and PatternRecognition (CVPR), 2010, 2010.
[Michael Oren et al. 1997]Michael Oren et al. Pedestrian Detection Using Wavelet Templates.Computer Vision and Pattern Recognition 1997, 1997.
[Mykhaylo Andriluka, Stefan Roth e Bernt Schiele 2008]Mykhaylo Andriluka; Stefan Roth;Bernt Schiele. People-Tracking-by-Detection and People-Detection-by-Tracking.IEEE Conf.on Computer Vision and Pattern Recognition 2008, 2008.
[Navneet Dalal e Bill Triggs 2005]Navneet Dalal; Bill Triggs.Histograms of OrientedGradients for Human Detection.International Conference on Computer Vision and PatternRecognition 2005, 2005.
[Paul Viola e Michael Jones 2001]Paul Viola; Michael Jones.Robust Real-time ObjectDetection.Second International Workshop on Statical and Computacional Theories of Vision- Modeling, Learning, Computing and Sampling, 2001.
Referências Bibliográficas 30
[Piotr Dollar et al. 2009]Piotr Dollar et al. Pedestrian Detection: A Benchmark.IEEEConference on Computer Vision and Pattern Recognition, 2009, 2009.
[S. Alvarez et al. 2009]S. Alvarez et al. Vehicle and Pedestrian Detection in esafetyApplications.Proceedings of the World Congress on Engineering and ComputerScience2009, 2009.
[Todt 2009]TODT, E. Vehicular safety technologies and trends. Transportation:Theory and Application, v. 1, n. 1, 2009. ISSN 1946-3111. Disponível em:<http://www.inghum.com/ojs2/index.php/TTAP/article/view/8/29>.
[Transportation For America 2011]TRANSPORTATION For America. 2011. Disponível em:<http://t4america.org/blog/2011/05/24/new-report-and-map-chronicles-the-visceral-reality-of-47000-preventable-pedestrian-deaths/>. Acessado em: 28 de maio de 2011.
[Tutorial OpenCV 2006]TUTORIAL OpenCV. 2006. Disponível em:<http://note.sonots.com/SciSoftware/haartraining.html>. Acessado em: 22 de fevereirode 2011.
[Xiaoyu Wang, Tony X. Han e Shuicheng Yan 2009]Xiaoyu Wang; Tony X. Han; ShuichengYan. An hog-lbp human detector with partial occlusion handling. IEEE 12th InternationalConference on Computer Vision 2009, 2009.
[Yuji Yamauchi et al. 2008]Yuji Yamauchi et al. People Detection Based on Co-occurrenceof Appearance and Spatiotemporal Features.ICPR 2008. 19th International Conference onPattern Recognition 2008, 2008.