Академический Документы
Профессиональный Документы
Культура Документы
INSTITUTO DE INFORMTICA
PROGRAMA DE PS-GRADUAO EM COMPUTAO
AGRADECIMENTOS
Primeiramente, agradeo a toda minha famlia e especialmente aos meus pais por todo
o apoio, incentivo e motivao, que foram fundamentais para que eu chegasse at aqui.
Ao meu orientador, Prof. Jacob Scharcanski, pelo apoio, dedicao, ensinamentos e
todo o auxlio recebido durante o curso, essenciais para a realizao deste trabalho.
Aos professores do curso de Cincia da Computao da UFPel, que contriburam
significativamente para minha formao. Em especial ao meu orientador da graduao,
Prof. Lucas Ferrari de Oliveira, sou grato pela motivao e ensinamentos que recebi.
Agradeo aos colegas do PPGC e do PPGEE pela convivncia e por todos os momentos passados durante esse perodo, e que sempre estiveram presentes ao meu lado, nos
bons e maus momentos, me incentivando e apoiando.
Agradeo tambm ao PPGC, pela oportunidade de realizar este trabalho, aos professores da UFRGS pelo esforo, dedicao e conhecimento partilhado ao longo do curso,
e a todos que, de uma forma ou de outra, sempre ajudaram e contriburam para a minha
formao.
SUMRIO
LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABSTRACT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 INTRODUO . . . . . . . . . . . . . . . . . . . . .
1.1
Motivao . . . . . . . . . . . . . . . . . . . . . . .
1.2
Definio do Problema e Objetivos . . . . . . . . .
1.3
Apresentao do Mtodo Proposto e Contribuies
.
.
.
.
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
10
11
13
13
14
16
16
17
18
18
19
19
32
32
34
35
35
36
36
37
37
38
38
38
39
40
41
43
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
44
45
45
46
51
51
56
58
61
62
65
66
67
70
75
5 RESULTADOS EXPERIMENTAIS . . . . . . . . . . . . . . . . . . . . .
5.1
Resultados e Discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
79
LISTA DE FIGURAS
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
19
20
20
21
22
23
24
24
25
26
26
28
29
29
30
31
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
35
35
37
39
39
40
41
42
43
44
45
48
49
50
4.1
4.2
4.3
52
53
53
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
Vdeo Cam06 . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de rastreamento na Cam06 . . . . . . . . . . . .
Exemplo do processo de contagem de veculos na Cam06
Vdeo Cam25 . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de rastreamento na Cam25 . . . . . . . . . . . .
Exemplo de erros de deteco na Cam25 . . . . . . . . .
Vdeo Cam41 . . . . . . . . . . . . . . . . . . . . . . . .
Defeito na obteno dos vdeos da Cam41. . . . . . . . .
Exemplo de rastreamento na Cam41 . . . . . . . . . . . .
Exemplo de falha na contagem na Cam41 . . . . . . . . .
Vdeo Cam64 . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de falha de deteco na Cam64 . . . . . . . . .
Exemplo ocluses na Cam64 . . . . . . . . . . . . . . . .
Vdeo Cam68 . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de rastreamento na Cam68 . . . . . . . . . . . .
Exemplo de falha na contagem na Cam68 . . . . . . . . .
Vdeo Cam73 . . . . . . . . . . . . . . . . . . . . . . . .
Rastreamento de veculo maior que a ROI . . . . . . . . .
Exemplo de deteco mltipla de veculos na Cam73 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
56
57
60
60
61
62
64
64
66
67
68
70
70
73
74
75
76
77
. 80
. 81
. 82
. 85
. 86
. 87
. 89
. 89
. 90
. 91
. 93
. 94
. 95
. 97
. 98
. 99
. 102
. 103
. 104
LISTA DE TABELAS
3.1
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
81
83
83
85
86
87
90
91
92
95
96
96
100
100
101
102
103
104
106
106
107
RESUMO
ABSTRACT
This work presents a new method for tracking and counting vehicles in traffic videos.
Using techniques of image processing and particle clustering, the proposed method uses
motion coherence and spatial adjacency to group particles so that each group represents
vehicles in the video sequences. A foreground mask is created using Gaussian Mixture
Model and Motion Energy Images to determine the locations where the particles must
be generated, and the convex shapes of detecting groups are then analyzed for the potential detection of vehicles. This analysis takes into consideration the convex shape of the
particle groups (objects) and the foreground mask to merge or split the obtained groupings. After a vehicle is identified, it is tracked using the similarity of color histograms
on windows centered at the particle locations. The vehicle count takes place on userdefined virtual loops, through the intersections of tracked vehicles with the virtual loops.
Tests were conducted using six different traffic videos, on a total of 80.000 frames. The
results were compared with similar methods available in the literature, providing results
equivalent or superior.
11
INTRODUO
12
Viso potencialmente mais eficaz do que qualquer outro sensor disponvel atualmente. A instalao de cmeras de vdeo para monitorar redes de estradas barato e
menos prejudicial do que a instalao de outros sensores, e, geralmente, um grande nmero de cmeras j esto instaladas nas vias para fins de fiscalizao. Uma nica cmera
capaz de monitorar mais de uma faixa de trfego ao longo de vrias centenas de metros da estrada. Sistemas baseados em viso tm o potencial para extrair uma variedade
muito mais rica de informaes, tais como o caminho percorrido pelo veculo, a forma do
veculo, as dimenses e cor. Um sistema de viso poderia, teoricamente, ter os mesmos
poderes de observao que um observador humano, mas sem os efeitos prejudiciais de
cansao e tdio causados pela tarefa repetitiva (SETCHELL, 1997).
Apesar de existirem vantagens na utilizao de cmeras de vdeo, tambm existem
algumas desvantagens. As cmeras esto sujeitas a vibraes devido ao vento e passagem de veculos pesados. A posio da cmera tambm um fator importante, pois por
estar posicionada acima da via, dependendo da posio e ngulo que a cmera captura,
podem ocorrer ocluses na presena de veculos grandes. Muitas vezes, so aproveitadas
cmeras de vigilncia que j estavam previamente instaladas, que geralmente no foram
originalmente especificadas ou instaladas com a finalidade de utilizar algoritmos de viso
computacional (MAGALHAES, 2008), aumentando a complexidade dos mtodos de monitoramento por cmeras, pois ser necessrio contornar tambm essas dificuldades no
diretamente relacionadas ao monitoramento do trfego.
As aplicaes de trfego devem levar em considerao diversos aspectos, que permitem diferentes interpretaes, como clima, iluminao, objetos parados na via, etc. Assim,
muito difcil um algoritmo de viso computacional levar em conta todas essas variaes
e definir parmetros que funcionem em todas as diferentes situaes. Por isso, muitas
vezes necessrio diferentes algoritmos ou sistemas de monitoramento apresentam diferentes resultados para uma mesma cena (KASTRINAKI; ZERVAKIS; KALAITZAKIS,
2003).
O monitoramento de trfego envolve a coleta de dados que descrevem as caractersticas dos veculos e seus movimentos atravs das redes rodovirias. De acordo com
Setchell (1997) esses dados podem ser utilizados para as mais diversas finalidades, como
por exemplo:
Cumprimento da Lei: detectar veculos em alta velocidade, conduo perigosa, uso
ilegal de corredores de nibus, deteco de veculos roubados ou procurados.
Pedgios Automticos: pedgios manuais exigem que o veculo pare e o motorista
pague uma tarifa adequada. Em um sistema automtico o veculo j no precisa parar.
medida que passa o pedgio, os veculos seriam automaticamente classificados, a fim de
calcular a tarifa correta. O nmero da placa poderia ser automaticamente decifrado e uma
fatura mensal enviada ao proprietrio.
Deteco de Congestionamentos e Incidentes: filas de trnsito, acidentes e veculos
lentos so potencialmente perigosos para os veculos que se aproximam. Se tais incidentes
forem detectados, painis poderiam exibir mensagens informativas, a fim de alertar os
motoristas que se aproximam.
Aumento da Capacidade da Estrada: Possuindo informaes suficientes sobre o
estado de uma rede de estradas possvel automaticamente encaminhar o trfego ao longo
das estradas menos congestionadas, a fim de otimizar a capacidade global da rede.
13
1.1
Motivao
1.2
14
detectado corresponde a algum veculo que j foi detectado previamente, nas sequncias
de imagens anteriores. Por fim, preciso definir a melhor maneira de realizar a tarefa
de contagem dos veculos, que nos permite ter a informao de quantos veculos esto
passando por cada uma das faixas das vias em determinado momento.
Portanto, este trabalho tem como objetivo o desenvolvimento de um sistema automtico para realizar a deteco, o rastreamento, e a contagem de veculos em trfego urbano
por cmeras de vdeos utilizando tcnicas de processamento de imagens e viso computacional.
Para a segmentao dos objetos de interesse na cena (veculos) prope-se o uso de
um mtodo para criar um modelo de fundo, pois o posicionamento da cmera fixo em
relao ao cenrio de fundo, e, portanto, os objetos do fundo esto estticos na cena,
estando apenas os veculos em movimento sobre o fundo esttico.
1.3
15
mveis no primeiro plano para melhor identificar a qual agrupamento pertence cada
uma das partculas e verificar se realmente os agrupamentos pertencem aos veculos, fazendo operaes de fuso e diviso desses agrupamentos quando necessrio
(Seo 4.5, Seo 4.6 e Seo 4.7);
A proposta de utilizao de um mtodo de rastreamento baseado em histogramas
de cor para rastrear cada uma das partculas, permitindo determinar se um agrupamento que corresponde a um veculo j foi detectado previamente (Seo 4.8).
Durante o desenvolvimento deste trabalho, foram elaborados artigos cientficos para
eventos e peridicos da rea, tendo como tema deteco e contagem de veculos. Nesses
artigos so relatados os resultados obtidos e as contribuies do trabalho desenvolvido
durante o mestrado.
A partir dos resultados obtidos com a pesquisa foram elaboradas duas publicaes.
Uma j aceita e publicada e outra em processo de submisso, listadas abaixo:
Tracking and Counting Vehicles in Traffic Video Sequences Using Particle Filtering: Aceita e publicada na IEEE Instrumentation and Measurement Technology
Conference (I2MTC 2013).
Counting and Tracking Vehicles in Urban Traffic Videos: Em processo de submisso para a revista IEEE Transactions on Instrumentation and Measurement.
Este trabalho est organizado da seguinte forma: o Captulo 2 apresenta uma reviso
bibliogrfica sobre os principais mtodos utilizados no monitoramento de trfego de veculos, divididos em mtodos de segmentao dos objetos em movimento na cena, mtodos
de deteco de veculos e mtodos de rastreamento de veculos. Em seguida, o Captulo 3
apresenta os fundamentos tericos das tcnicas e mtodos da rea de processamento de
imagens e viso computacional. O Captulo 4 descreve de forma detalhada cada uma das
etapas do mtodo proposto. No Captulo 5 so expostos os resultados experimentais e
discusses sobre o mtodo proposto. Por fim, no Captulo 6 so descritas as concluses e
os trabalhos futuros.
16
Esta seo apresenta um resumo das principais tcnicas relacionadas com o rastreamento e contagem de veculos utilizando sequncias de imagens de vdeo. Primeiramente
ser apresentada uma viso geral sobre o monitoramento de trfego e mtodos utilizados
atualmente. Em seguida, uma breve descrio dos mtodos mais utilizados e de novas
abordagens propostas recentemente na rea de monitoramento de trfego utilizando cmeras de vdeo.
2.1
Viso Geral
17
utilizados para modelar o background em uma imagem, como, por exemplo, calculando a
probabilidade de pixel pertencer ao fundo de acordo com o tempo que permanece com a
mesma cor ou ainda utilizando Modelo de Misturas de Gaussianas (GMM) para modelar
cada pixel do fundo, como introduzido por Stauffer e Grimson (1999).
Em Kastrinaki et al. (2003) so considerados a estimativa de geometria da pista e a
deteco de veculos e obstculos como as principais tarefas para os sistemas para monitoramento de trfego por vdeo. O trabalho em Wang et al. (2008) considera a seleo
das Regies de Interesse (Region of Interest- ROI), atravs do uso de diversos mtodos,
como mtodos de subtrao de quadros e mtodos de atualizao de um modelo de fundo,
como a etapa inicial no processamento de vdeos, em seguida, diversas tcnicas podem
ser usadas para detectar se existe um veculo na rea de interesse, e sugerem que mtodos
de remoo de sombras devem ser explorados para melhorar a acurcia dos mtodos de
deteco de veculos. A remoo de sombras tambm considerada por Zhong e Junping
(2008) para melhorar a identificao de veculos e evitar a fuso indesejada de objetos
prximos das sombras.
Outra etapa fundamental a etapa de rastreamento. Rastrear um objeto no vdeo
significa detectar as regies correspondentes a este objeto em movimento ao longo de
uma sequncia de imagens. Os mtodos de rastreamento podem ser classificados em
mtodos baseados em modelos, baseados em regies, baseados em padres deformveis
e baseados em caractersticas, segundo Liang et al. (2002).
Antes de iniciar o rastreamento necessrio identificar quais objetos devemos rastrear.
A identificao desses objetos pode ser realizada de diversas maneiras (TIAN et al., 2011),
entre elas a deteco baseada em modelos que utilizam conhecimento prvio do alvo
desejado, como cor, tamanho, propores ou formas pr definidas (SHEN, 2008) (LAI;
HUANG; TSENG, 2010), a utilizao de modelos deformveis, ou seja, baseados em
banco de imagens com modelos dos veculos que so deformadas para encaixarem-se
nos objetos detectados (TAKEUCHI; MITA; MCALLESTER, 2010), e a utilizao de
caractersticas como cantos e bordas (TU; XU; ZHOU, 2008)
Os alvos identificados (veculos) podem ser rastreados atravs de diferentes abordagens, tais como mean-shift (BOUTTEFROY et al., 2008), filtros de Kalman (XIE et al.,
2005), ou ainda filtragem de partculas (SCHARCANSKI et al., 2011).
Em Takeuchi et al. (2010) foram utilizados Latente Support Vector Machine (LSVM)
e Histograma de Gradientes Orientados (Histogram of Oriented Gradients - HOG) para
aprender caractersticas como a textura e a forma de um modelo deformvel. Outro mtodo baseado em contorno ativo integra informaes de cor, forma e movimento para
realizar o rastreamento (HU et al., 2013).
A contagem de veculos pode ser realizada diretamente com base nos veculos rastreados, onde cada novo veculo detectado incrementa um contador de veculos (SANCHEZ
et al., 2011), ou os alvos rastreados (objetos em movimento) podem ser contados em locais com marcadores especficos na pista (laos virtuais) (TSENG; LIN; SMITH, 2002),
ou ainda, a contagem pode ser efetuada diretamente nestes marcadores, sem o uso de um
mtodo de rastreamento de veculos, onde a simples passagem de um veculo sobre os
laos virtuais incrementam os seus contadores (PURNAMA et al., 2009).
2.2
Estimar e segmentar o primeiro plano fazem parte do primeiro estgio de vrios sistemas de vigilncia visuais, e consiste de realizar o processo de extrao dos objetos em
18
Possivelmente, o mtodo mais simples para a segmentao do foreground a diferenciao de quadros. A diferena pixel a pixel calculada entre dois quadros consecutivos.
A partir desta diferena, verificado o valor de cada pixel, e se valor for maior que um
limiar o pixel considerado como pertencente ao primeiro plano, criando assim uma mscara com os objetos em primeiro plano no vdeo. Este algoritmo muito rpido, no entanto, no consegue lidar com o rudo, mudanas bruscas de iluminao, ou movimentos
peridicos no fundo, como rvores. Pode ser definido como:
|quadroi quadroi1 | > Limiar.
(a)
(2.1)
(b)
Figura 2.1: Exemplo diferena entre quadros. (a) um quadro do vdeo; (b) Mscara binria
com o objeto do primeiro plano detectado (JOUBERT, 2009).
2.2.2
Este mtodo baseia-se no uso de uma imagem de background para a separao dos objetos em movimento do fundo esttico. A imagem de fundo pode ser especificada manualmente, atravs da adoo de uma imagem sem veculos. A deteco ento conseguida
atravs da subtrao da imagem de referncia a partir da imagem atual.
aplicado um limiar para determinar a presena ou ausncia de informao de um
objeto em movimento. O fundo pode mudar significativamente com sombras de edifcios
e nuvens, ou simplesmente devido a mudanas nas condies de iluminao (CHEN; LIN;
CHEN, 2007).
Inicialmente, uma imagem esttica do fundo obtida para ser o quadro de referncia
e ento a tcnica de diferena entre frames utilizada para detectar as diferenas. Para
melhorar o resultado final, operaes morfolgicas podem ser utilizadas (GONZALEZ;
WOODS, 2002). A funo de deteco pode ser escrita como a seguir:
|quadroi f undo| > Limiar.
(2.2)
19
(a)
(b)
(c)
(d)
Figura 2.2: Exemplo diferena do quadro para o background. (a) imagem de Entrada.
(b) imagem de fundo. (c) imagem diferena entre (a) e (b). (d) resultado aps operaes
morfolgicas (CHEN; LIN; CHEN, 2007).
2.2.3
Nos mtodos da mdia/mediana para o clculo do fundo, so usadas a mdia ou mediana dos n quadros anteriores do vdeo como imagem de fundo (LO; VELASTIN, 2001)
(CUCCHIARA et al., 2003). Os quadros do vdeo so ento subtrados dessa imagem de
fundo para detectar os objetos em movimento no vdeo.
Neste mtodo busca-se a melhor forma de estimar uma imagem de fundo da cena
para fazer a subtrao com o quadro atual do vdeo. Um limiar , ento, aplicado
imagem de diferena resultante, gerando a mscara de primeiro plano. Esses mtodos
diferem na maneira como a imagem de background obtida, resultando em diferentes
nveis de qualidade de imagem para diferentes nveis de complexidade computacional
(BUCH; VELASTIN; ORWELL, 2011).
2.3
O mtodo proposto por Kanhere e Birchfield (2008) utiliza cantos (os vrtices ou
cruzamentos entre duas bordas) detectados na imagem para realizar o rastreamento de
veculos. O usurio faz a entrada manual de duas linhas ao longo das bordas da via e uma
perpendicular direo do trfego para calibrar o sistema e o sistema obtm automaticamente uma projeo tridimensional da zona de deteco. Para eliminar regies de sombra
o mtodo elimina as partculas muito prximas das bordas da pista conforme podemos
observar na Figura 2.4a, onde os crculos brancos pertencem ao background, os quadrados pertencem s bordas das sombras e os crculos maiores pertencem aos veculos que
esto se movendo. O mtodo de Shi e Tomasi (1994) utilizado para fazer o rastreamento
das partculas, que so divididas em duas categorias: estveis e instveis.
20
(a)
(b)
Figura 2.3: Exemplo de subtrao de fundo usando a mediana. (a) um quadro do vdeo
original; (b) objeto do primeiro plano detectado usando a mediana para o clculo do fundo
(JOUBERT, 2009).
As partculas consideradas estveis so agrupadas no plano da via conforme as suas
posies na direo do movimento para fornecer a segmentao dos veculos. As partculas consideradas instveis so ento atribudas a esses agrupamentos utilizando uma
projeo de alinhamento e coerncia de movimento. A etapa final envolve eliminar os
grupos que no parecem corresponder aos veculos. Os veculos so identificados quando
os agrupamentos possuem um formato de caixa, considerando o espao de dimenses tridimensional, resultando na Figura 2.4b. Os autores realizaram testes em 11 sequncias
de vdeo em tons de cinza com resoluo de 320 240. Esse mtodo apresentou entre
91% e 97% de acerto para as cenas testadas, onde o resultado calculado como nmero
de veculos detectados e rastreados corretamente em relao ao total de veculos na cena..
(a)
(b)
Figura 2.4: Exemplo do mtodo proposto por Kanhere e Birchfield (2008). (a) Diferentes
tipos de partculas; (b) agrupamentos representando os veculos.
Em Purnama et al. (2009) foi proposto um mtodo bastante simples, que apenas faz
a contagem de veculos, sem realizar nenhum tipo de rastreamento. O mtodo pode ser
resumido nos seguintes passos: uma etapa de inicializao, onde ser obtido o fundo e a
ROI, regio onde os veculos sero contados; uma etapa de obteno da mscara com os
objetos mveis, atravs de um simples mtodo de subtrao entre o quadro processado
e o fundo; aplicao de um limiar para segmentar os veculos e a utilizao de operaes morfolgicas (eroso e dilatao) para garantir que as reas correspondentes a cada
um dos veculos estejam separadas; obteno dos objetos conectados e classificao dos
veculos, baseando-se no tamanho de suas reas;
21
A Figura 2.5a apresenta a mscara com os objetos conectados e a Figura 2.5b apresenta o objeto detectado com esse mtodo.
(a)
(b)
Figura 2.5: Exemplo do mtodo proposto por Purnama et al. (2009). (a) mscara com
objetos conectados; (b) veculo detectado sobre a regio de interesse.
Este mtodo apresentou uma taxa de acerto entre 80% e 95% em condies ideais de
iluminao, j com a presena de sombras a taxa de acerto cai bastante, ficando entre 27%
e 50%, pois o mtodo bastante simples, e no utiliza deteco de sombras e depende
muito da qualidade do modelo de fundo que utilizado. Os autores tambm testaram
a contagem durante a noite, obtendo resultados variando entre 60% e 90%. As taxas
foram calculadas de acordo com o nmero de contagem obtido pelo sistema em relao
ao nmero real de veculos.
Outro mtodo baseado nas caractersticas dos objetos conectados foi apresentado por
Chen et al. (2007). O mtodo proposto primeiro segmenta os objetos da sequncia de
imagem usando a deteco de mudana entre quadros sucessivos e uma atualizao do
modelo de fundo. A combinao da mscara de diferena entre quadros e a mscara de
subtrao do quadro pelo modelo de fundo usada para adquirir a mscara inicial do objeto e resolver problemas no cobertos pelo modelo de fundo. Operaes morfolgicas
tambm so utilizadas para melhorar a mscara binria. Em seguida, cada objeto conectado, representando um veculo, delimitado por um retngulo e a altura, largura e rea
desse retngulo so consideradas como caractersticas desse veculo.
Os autores utilizaram essas caractersticas para classificar cada um dos objetos conectados em carros ou motocicletas. O rastreamento feito baseado na proximidade dos
objetos conectados em quadros adjacentes, usando a distncia euclidiana para medir a
distancia entre os centroides de cada objeto no quadro atual e o quadro adjacente para
verificar se eles possuem uma distancia mnima e um tamanho similar para serem considerados como o mesmo objeto. A Figura 2.6 mostra um exemplo resultante desse mtodo.
Os autores utilizaram sequncias de vdeos coloridos com resoluo de 320 240 pixels
com taxa de 30 quadros por segundo. O mtodo apresentou uma acurcia de 91.7% na
classificao dos veculos para os vdeos testados pelos autores, calculada como o nmero
de veculos classificados incorretamente sobre o nmero real de veculos.
Um mtodo proposto por Kim (2008) tambm utiliza partculas (cantos) como feies para rastrear os veculos. Este mtodo usado como mtodo de comparao com o
mtodo proposto neste trabalho, e os resultados podem ser vistos no captulo de resultados experimentais (Captulo 5). O mtodo combina subtrao de fundo, rastreamento de
feies e algoritmos de agrupamento.
Os autores combinam filtro de kalman com uma mediana temporal e um procedimento para a correo de iluminao para melhorar o mtodo de subtrao de fundo,
22
Figura 2.6: Exemplo mtodo proposto por Chen et al.. Carros so identificados com e
letra C e motocicletas com a letra B (CHEN; LIN; CHEN, 2007).
obtendo, ento, uma mscara de foreground mais robusta. Nessa mscara so aplicados
alguns procedimentos padres, como operadores morfolgicos e anlise de componentes conectados, para preencher buracos, remover pequenas regies e encontrar os blobs
que representam os objetos. Aps os blobs serem encontrados, so realizadas validaes:
os autores assumem que dentro de cada blob vlido deve existir pelo menos um canto
(feio) vlido, ou seja, um canto que no est presente na imagem de background.
As feies so detectadas atravs dos autovalores das somas locais das derivadas,
(que representam cantos na imagem) apenas nas regies de foreground. Primeiramente,
os cantos so agrupados em pequenos clusters, e, posteriormente, so agrupados em nvel
de objetos. Os cantos so rastreados utilizando correlao cruzada em janelas de 9 9
pixels centradas em cada uma das feies no quadro atual e em uma regio de busca
no quadro adjacente. As feies so validadas com uma comparao com a imagem de
fundo, utilizando tambm o mtodo de correlao cruzada para encontrar um casamento
de padres. Se um canto tiver uma correspondncia com a imagem de background, ele
considerado invlido e removido.
A seguir, essas feies so agrupadas em pequenos clusters, cada um representado
por um crculo, com a utilizao de uma variao do algoritmo EM (Expectation Maximization). Para cada cluster, a sua posio esperada e tamanho no novo quadro so
determinadas a partir das atuais feies membros. Ento, para cada feio, a sua pertinncia no quadro atual redeterminada atravs da comparao da sua posio, histrico
de movimento, trajetria passada, e o histrico indicando a qual blob a feio pertencia,
como pode ser visto na Figura 2.7a. A posio e o tamanho do cluster so redeterminados
atravs da atualizao dos membros do cluster.
Por fim, os clusters so agrupados em objetos, utilizando o mesmo algoritmo EM utilizado para o agrupamento de feies, com algumas diferenas: para agrupar os clusters,
a forma do um objeto deve ser uma elipse em vez de um crculo; a posio e formato
final do objeto so determinados no pela posio dos membros do cluster, mas sim pela
posio das feies dos membros do cluster; um critrio 3D usado para determinar o
tamanho mnimo e mximo da elipse, como mostrado na Figura 2.7b.
Em Scharcanski et al. (2011) foi apresentado um mtodo que utiliza filtro de partculas adaptativo para fazer o rastreamento de veculos. O mtodo possui dois modos de
operao, um para quando o veculo rastreado no est ocluso, que usa a funo densidade de probabilidade (pdf) normal bivariada para gerar novos conjunto de partculas e
outro quando o veculo est ocluso, que utiliza uma funo densidade de probabilidade
bivariada e Rayleigh conjuntamente, que ira criar novas partculas ao longo da direo
23
(a)
(b)
Figura 2.7: Exemplo mtodo proposto por Kim. (a) agrupando os cantos detectados na
imagem; (b) agrupamento em nvel de objeto (KIM, 2008).
que o veculo est se movendo. O veculo rastreado pode ser detectado manualmente ou
por algum outro mtodo de deteco. Histogramas locais de cores so utilizados para
rastrear os veculos, usando a distncia de Hellinger para medir a similaridade entre os
histogramas de um veculo no quadro atual e no quadro adjacente.
De acordo com Ross et al. (2007), a maioria dos algoritmos de rastreamentos falham
na presena de variaes significativas da aparncia do objeto ou da iluminao ao redor
desse objeto. Por isso, os autores propuseram um rastreador baseado em aparncia que
incrementalmente aprende uma representao de um subespao de baixa dimensionalidade utilizando eigenbasis (conjunto de autovetores com o mesmo autovalor, juntamente
com o vetor nulo) para o rastreamento de objetos, conseguindo se adaptar s mudanas
de aparncia dos objetos rastreados de maneira eficiente. A atualizao do modelo baseada em algoritmos incrementais para a anlise de componentes principais. Um mtodo
incremental atualiza o modelo do subespao continuamente para refletir as mudanas de
aparncia do objeto. Enquanto a maioria dos mtodos assume que a posio da cmera
fixa, esse mtodo capaz de rastrear mesmo com a cmera em movimento.
Ainda assim falhas acontecem quando h uma combinao de mudanas rpidas de
posio e alteraes drsticas de iluminao. A Figura 2.8 exibe um exemplo de rastreamento em uma sequncia de quadros, onde a primeira linha exibe o objeto rastreado, a
segunda linha exibe o centro do subespao, a imagem rastreada, o resduo e a imagem
reconstruda usando as eigenbasis, respectivamente. A terceira coluna exibe as imagens
da eigenbasis do subespao atual.
Outro mtodo, proposto por Takeuchi et al. (2010) utiliza Mquinas de Vetores de
Suporte Latentes (Latente Support Vector Machine - LSVM), conjunto de mtodos de
aprendizado supervisionado que analisam os dados e reconhecem padres, e Histograma
de Gradientes Orientados (Histogram of Oriented Gradients - HOG) para aprender caractersticas como a textura e a forma de um modelo de deformvel. O mtodo consiste em
quatro processos; aprendizado, deteco, rastreamento e confirmao.
No processo de aprendizado, utilizado mquinas de vetores de suporte latentes como
um detector de veculos. A partir de um conjunto de treinamento, so aprendidas informaes de textura e forma dos veculos. Os dados de treinamento so divididos pela taxa
de proporo entre largura e altura, e filtros para a dianteira e traseira e tambm para as
laterais dos veculos so aprendidos. As regies dos veculos so escolhidas de acordo
come uma pontuao calculada pela convoluo de cada filtro do detector de veculos e
as caractersticas HOG da imagem de entrada, considerando uma funo de custo de deformao. Cada veculo detectado aplicando-se um limiar de acordo com a pontuao
calculada e rastreado usando filtro de partculas com probabilidade integrada. Se um
veculo detectado pela primeira vez, N partculas so inicializadas de acordo com uma
24
Figura 2.8: Exemplo de rastreamento do mtodo proposto por Ross et al. em uma sequncia de quadros, onde a primeira linha exibe o objeto rastreado, a segunda linha exibe o
centro do subespao, a imagem rastreada, o resduo e a imagem reconstruda usando as eigenbasis, respectivamente. A terceira linha exibe as imagens da eigenbasis do subespao
atual (ROSS et al., 2007).
distribuio gaussiana. Se o veculo j foi detectado no quadro anterior, a probabilidade
de cada partcula atualizada integrando as pontuaes da deteco com base em modelos deformveis e correlaes de intensidade. Por fim, os resultados do rastreamento so
confirmados utilizando informao de distncia de um scanner laser.
A Figura 2.9 exibe um exemplo de deteco usando modelos deformveis. Os autores
criaram um ground truth para cada um dos quadros dos vdeos, indicando os pixels que
pertencentes s regies de veculos, e definiram a taxa de deteco como a razo entre
o nmero de quadros detectados corretamente e o nmero total de quadros do vdeo, e
consideram um veculo como rastreado corretamente quando todos os quadros em que o
veculo aparece so detectados corretamente. O mtodo faz a deteco de veculos em
mais de 96% dos quadros e o rastreamento em mais de 83% dos veculos corretamente
para os cenrios testados pelos autores.
Figura 2.9: Estrutura do modelo de detector de veculos baseado em modelos deformveis e um exemplo de deteco do mtodo proposto por Takeuchi et al.. (a) O retngulo
vermelho central um filtro raiz, e os seis retngulos amarelos so filtros de partes. As
seis molas em verde representam funes de custo de deformao. Cada filtro de partes
corresponde s partes de um veculo, tal como uma roda ou para-brisas (TAKEUCHI;
MITA; MCALLESTER, 2010).
25
O trabalho apresentado por Mei e Ling (2011) prope um mtodo que trata o rastreamento como um problema de aproximao esparsa em um framework de filtro de
partculas. Para encontrar um alvo rastreado em um novo quadro do vdeo, cada candidato a alvo representado esparsamente no espao gerado por modelos de alvo e modelos
triviais. A esparsidade alcanada atravs da soluo de um problema de mnimos quadrados regularizado em l1 . O candidato com o menor erro de projeo adotado como
alvo rastreado. Aps, o rastreamento prosseguido usando um framework de inferncia
Bayesiano, que utiliza a informao de deslocamento das partculas obtidas no quadro
anterior. Uma transformao afim na imagem aplicada para modelar o deslocamento
do objeto em dois quadros consecutivos. Duas estratgias so usadas para melhorar o
desempenho no rastreamento. Primeiro, os candidatos so atualizados dinamicamente
para capturar mudanas de aparncia. Depois, restries so aplicadas para reduzir erros
provocados por rudo e variaes de iluminaes e sombras.
A Figura 2.10 mostra um exemplo de rastreamento utilizando esse mtodo em um
vdeo com mudanas drsticas de iluminao. Como podemos observar na Figura 2.10, o
mtodo tambm funciona mesmo com a cmera em movimento.
Figura 2.10: Exemplo de rastreamento utilizando o mtodo proposto por Mei e Ling
(2011).
Em vdeos de trafego urbano comum ocorrer ocluses de veculos devido ao congestionamento. Para tentar resolver esse problema de ocluso, em Li et al. (2013) foi
proposto uma abordagem baseada em grafos AND-OR (AOG). No grafo AND-OR, um
objeto decomposto hierarquicamente em diversas partes. Os autores utilizaram a viso frontal e traseira do veculo por ser a posio mais comum de veculos em vdeos de
monitoramento de trfego.
O mtodo composto de trs etapas: construir o grafo AND-OR para representar os
veculos no trfego congestionado; treinar os parmetros no AOG; e detectar os veculos
usando inferncia ascendente. Na construo do grafo AND-OR definido um nodo raiz
que ento hierarquicamente decomposto at nodos terminais, que devem ser modelados
de maneira que os nodos terminais possam ser relacionados com a imagem do vdeo. Os
autores utilizaram para isso um modelo deformvel que pode esboar as bordas de objeto
e adaptar-se a forma do objeto. Em seguida, realizada uma etapa para o aprendizado
dos parmetros e as probabilidades de cada nodo. Na etapa de inferncia utilizada uma
abordagem multiescalar para fazer a correspondncia do modelo com os veculos.
A Figura 2.11a exibe o grafo AND-OR e sua decomposio at os nodos terminais, e
Figura 2.11b exemplos de veculos detectados utilizado esse mtodo.
Em Feris et al. (2012), foi proposto um mtodo de deteco de veculos que utiliza a
tcnica de co-treinamento, onde os dados so capturados em condies simples baseados
no movimento e formas e ento so usados para treinar detectores baseados em aparncia
que funcionam bem em condies complexas. Esses detectores baseados em aparncia
so treinados usando seleo de caractersticas em larga escala. Um banco de dados com
imagens de veculos gerado de forma semiautomtica. Uma regio de interesse (ROI)
26
(a)
(b)
Figura 2.11: Exemplos do mtodo proposto por Li et al.. (a) Grafo AND-OR para o
objeto veculo e os modelos de nodos terminais; (b) resultados da deteco de veculos
em diferentes posies (LI et al., 2013).
definida manualmente, e o mtodo de subtrao de fundo utilizado para obter os objetos
em movimento em cada quadro do vdeo. Um simples classificador baseado em regras
utilizado para analisar a forma, comprimento, largura e direo do movimento de cada
um dos objetos detectados no primeiro plano e se estiverem dentro de um intervalo de
valores predefinidos so considerados como veculos. Foram coletadas mais de um milho de imagens de veculos para o banco de dados, e os veculos foram classificados em
12 categorias diferentes, de acordo com a direo de movimento de cada um deles. A
Figura 2.12 mostra alguns exemplos de 12 categorias, de acordo com a direo de movimento (de 0 a 360 graus), mostrando a diversidade de posies de veculos no banco de
dados. Tambm foram adicionadas imagens com ocluses sintticas parciais de veculos
ao conjunto de treinamento para tornar o mtodo mais robusto. A base para o algoritmo
de aprendizado o framework proposto por Viola e Jones (2001), que consiste em classificadores Adaboost em cascata, onde os classificadores mais fracos so simples limiares
sobre as caractersticas Haar-like.
Figura 2.12: Exemplo do mtodo proposto por Feris et al. mostrando as 12 categorias
de veculos, de acordo com a direo de movimento dos veculos (de 0 a 360 graus),
mostrando a diversidade de posies no banco de dados (FERIS et al., 2012).
O mtodo proposto em Sanchez et al. (2011) utiliza reas predefinidas de entrada e
sada para realizar a contagem de veculos. As regies da pista tambm so definidas
para cada uma das faixas, ajudando a localizar e rastrear os veculos presentes em cada
uma das faixas e tambm a resolver situaes de conflito na identificao. A Figura 2.13a
apresenta a imagem utilizada como modelo de fundo, com as regies de entrada (linha
verde), sada (linha azul) e as quatro linhas delimitando as faixas da pista (em branco).
As regies de entrada e sada so predefinidas (e fixas), e representam as regies onde
os veculos entram e saem da cena analisada, respectivamente. Uma imagem binria contendo os veculos em movimento obtida atravs da subtrao do quadro atual de uma
imagem de fundo, que pode ser um modelo fixo do background, ou obtida adaptativamente, usando uma mediana aproximada, que verifica se o valor do pixel do quadro atual
27
28
A Figura 2.13b apresenta um exemplo do resultado do rastreamento. O mtodo atingiu uma taxa de acerto mdio de 91.7% utilizando um modelo de fundo esttico e 92.1%
utilizando o modelo de fundo adaptativo. Para calcular os valores das porcentagens, os
autores compararam o nmero de veculos detectados automaticamente com o nmero de
veculos detectados por inspeo visual. Este um dos mtodos utilizados como comparao com o mtodo proposto neste trabalho, e o resultado pode ser visto no Captulo 5.
(a)
(b)
Figura 2.13: Exemplo do mtodo proposto por Sanchez et al.. (a) imagem utilizada como
modelo de fundo, com as regies de entrada (linha verde), sada (linha azul) e as quatro
linhas delimitando as faixas da pista (em branco); (b) exemplo de rastreamento (SANCHEZ et al., 2011).
Alguns trabalhos estudam solues para o rastreamento em outros cenrios, como em
vdeos noturnos. Os mtodos que trabalham com imagens noturnas baseiam-se principalmente na deteco dos faris dos veculos. Um mtodo que utiliza essa abordagem o
proposto por Mossi et al. (2011). A contagem realizada quando os faris identificados
passam sobre laos virtuais na pista. Muitas vezes os faris causam reflexos na pista,
gerando reas similares aos faris dentro da regio de interesse, criando falsas deteces.
Para resolver isso, os autores propuseram um operador morfolgico semelhante a uma
operao TopHat (diferena entre a imagem original e a abertura da imagem original),
mas realizando quatro aberturas na imagem utilizando elementos estruturantes elpticos,
um para cada orientao (0, 45, 90 e 135 graus). Como os reflexos dos faris na pista
geralmente possuem uma forma alongada na direo do movimento do veculo, essa operao elimina esse reflexos, mantendo apenas os pontos que realmente correspondem aos
faris dos veculos. Tambm so adicionadas algumas restries baseadas na coerncia
temporal, como considerar que o veculo deve passar dentro do lao virtual por um nmero mnimo de quadros.
A Figura 2.14a mostra um veculo passando com os faris sobre uma rea de interesse, e a Figura 2.14b mostra o resultado da deteco dos faris. Os autores realizaram
testes com sequencias de vdeo totalizando 165.000 quadros e 653 veculos, apresentando
um total de 61 erros (falsos positivos + falsos negativos) no clculo da intensidade (ou
densidade ? nmero de veculos por unidade de tempo).
Outro mtodo, proposto por Chen et al. (2011), tambm identifica veculos atravs
da deteco das luzes dianteiras e traseiras dos veculos. O mtodo utiliza um processo
automtico de limiarizao de histogramas multinvel para extrair objetos brilhantes dos
veculos em movimento nas sequncias de imagens de cenas noturnas. Esses objetos
brilhantes so processados atravs de um mtodo de agrupamento espacial e um procedi-
29
(a)
(b)
Figura 2.14: Exemplo mtodo proposto por Mossi et al.. (a) veculo passando com os
faris sobre a rea de interesse; (b) resultado da deteco dos faris (MOSSI et al., 2011).
mento de rastreamento, que localiza e analisa as caractersticas espaciais e temporais das
luzes dos veculos, como a posio em relao s linhas de fuga e as relaes de distancias horizontais e verticais entre os faris, e a informao de movimento dos potenciais
veculos so analisadas em quadros consecutivos para fazer a identificao e classificao
de veculos e motocicletas. Sequncias de vdeos de 320 240 pixels com 30 quadros
por segundo foram utilizadas para testes. Para a avaliao quantitativa da deteco, foi
utilizado o coeficiente de Jaccard, definido como J = Tp +FTpp+Fn , onde Tp o nmero de
veculos detectados corretamente, Fp o nmero de veculos falsamente detectados, e Fn
o nmero de veculos no detectados. O coeficiente de Jaccard (J) determinado para
cada quadro do vdeo e o coeficiente mdio obtido somando os coeficientes J de todos
os quadros e dividindo pelo nmero total de quadro do vdeo. Assim, o mtodo apresentou taxa de deteco mdia de 97% para os vdeos testados pelos autores. A Figura 2.15
mostra um exemplo de veculos sendo rastreados em uma sequncia de imagens noturnas.
Figura 2.15: Exemplo de veculos sendo rastreados em uma sequncia de imagens noturnas com o mtodo proposto por Chen et al. (2011).
Um mtodo baseado em hierarquia de caractersticas foi proposto por (ROBERT,
2009). A primeira camada da hierarquia extrai caractersticas da imagem, a segunda
30
camada faz a fuso dessas caractersticas para detectar caractersticas de veculos, como
faris e para-brisas, e a ltima camada faz a fuso das caractersticas dos veculos para
detectar o veculo com mais confiana. Esse mtodo consegue detectar veculos durante
o dia e a noite.
Utilizando os parmetros da cmera, que foi calibrada previamente, realizada uma
projeo de um modelo tridimensional representando os faris e os para-brisas em todos
os pixels do plano da cmera para extrair as caractersticas dos veculos. Um filtro de
Kalman utilizado para rastrear cada caracterstica dos veculos na pista. As caractersticas do veculo so representadas por um ponto e um tamanho. Com imagens noturnas,
o ponto rastreado o ponto central entre os dois faris, e o tamanho a distancia separando os faris, com imagens diurnas, o ponto o centro do para-brisa, e o tamanho
a sua altura. A taxa mdia de deteco do mtodo foi de 91% para os testes realizados
pelos autores, e a avaliao consiste em comparar o resultado da contagem automtica de
veculos em vdeos contra a contagem manual (ground truth). A Figura 2.16 exibe um
exemplo de deteco para uma sequncia de imagens diurnas.
Figura 2.16: Exemplo de deteco para uma sequncia de imagens diurnas utilizando
mtodo proposto por Robert (2009).
O mtodo proposto por Chan et al. (2012) baseado em um filtro de partculas, e realiza a deteco e rastreamento de veculos em cmeras mveis. O mtodo utiliza a sombra
sob o veculo, atravs da deteco de bordas horizontais com baixa intensidade para localizar os pixels pertencentes s sombras dos veculos, bordas verticais, obtidas com o
detector de bordas Sobel, as luzes dos faris, em cenas noturnas, e a simetria horizontal
da parte traseira para detectar os veculos. Essas caractersticas so fundidas, gerando
um descritor para as partculas, sendo capaz de identificar veculos em diferentes condies climticas e de luminosidade. O algoritmo de agrupamento BSAS (THEODORIDIS;
KOUTROUMBAS, 2008) utilizado para agrupar as partculas, e um filtro de Kalman
utilizado para fazer o rastreamento. Foram realizados testes com vdeos com resoluo de
320 240 pixels, totalizando mais de 28.000 quadros. Os autores no informam como foi
calculada a taxa de deteco, apenas que o mtodo apresentou uma taxa mdia de acertos
de 92%, sendo 5146 o nmero de veculos detectados corretamente e 403 o nmero de
veculos no detectados. A Figura 2.17 exibe uma cena de exemplo desse mtodo.
31
Figura 2.17: Exemplo de deteco e rastreamento utilizando o mtodo proposto por Chan
et al. (2012).
32
3.1
Para ser processada em um computador, uma imagem precisa ser digitalizada, ou seja,
representada usando uma estrutura discreta apropriada, como por exemplo, uma matriz.
A imagem capturada por um sensor expressa como uma funo contnua f (x, y) de duas
coordenadas no plano. A digitalizao de uma imagem significa que a funo f (x, y)
amostrada em uma matriz com M linhas e N colunas. Atravs da quantizao da imagem,
atribudo um valor inteiro para cada amostra contnua, ou seja, o intervalo contnuo da
funo f (x, y) dividido em K intervalos (SONKA; HLAVAC; BOYLE, 2007).
A Figura 3.1 mostra o conceito bsico do processo de amostragem e quantizao. A
Figura 3.1a mostra uma imagem contnua, f (x, y), que ser convertida para o formato
digital. A imagem contnua em relao s coordenadas x e y e tambm em amplitude, e
para convert-la para a forma digital preciso fazer a amostragem em ambas as coordenadas e amplitude. A digitalizao dos valores das coordenadas chamada amostragem
e a digitalizao da amplitude chamada quantizao (GONZALEZ; WOODS, 2002).
A funo unidimensional na Figura 3.1b um grfico dos valores de amplitude (nveis
de cinza) da imagem contnua ao longo do segmento de linha AB na Figura 3.1a. Para
amostrar essa funo, so utilizadas amostras igualmente espaadas ao longo da linha
AB, como pode ser visto na Figura 3.1c. o conjunto desses locais discretos constituem
a funo amostrada, contudo os valores das amostras ainda abrangem um intervalo contnuo de valores de nveis de cinza (verticalmente). Para converter a funo para a forma
digital, esses valores de nveis de cinza precisam ser convertidos (quantizados) em valores discretos, como podemos observar no lado direito da Figura 3.1c a escala de nveis
de cinza dividida em oito nveis discretos, do preto ao branco. O resultado da imagem
amostrada e quantizada exibido na Figura 3.1d (GONZALEZ; WOODS, 2002).
Portanto, a transio entre valores contnuos de uma imagem e o seu equivalente digital chamado quantizao. O nmero de nveis de quantizao deve ser alto o suficiente para permitir a percepo de detalhes finos de sombreamento (SONKA; HLAVAC;
BOYLE, 2007).
33
(a)
(b)
(c)
(d)
Figura 3.1: Processo de amostragem e quantizao. (a) imagem contnua; (b) linha de
varredura de A at B na imagem contnua; (c) amostragem e quantizao; (d) linha de
varredura digitalizada (GONZALEZ; WOODS, 2002).
34
3.2
Modelo de Cores
35
profundidade de 24 bits.
3.3
3.3.1
Vizinhana de um Pixel
Um pixel p com coordenadas (x, y) tem quatro vizinhos considerando as posies verticais e horizontais, que correspondem as coordenadas (x+1, y), (x1, y), (x
1, y + 1), (x, y 1). Esses pixels formam a chamada vizinhana-4 de p, e
representada por N4 (p). Os quatro vizinhos diagonais de p possuem as coordenadas
(x + 1, y + 1), (x + 1, y 1), (x 1, y + 1), (x 1, y 1), e so
representados por ND (p). O conjunto formado pelos oito vizinhos do pixel p chamado
de vizinhana-8 de p, e representado por N8 (p) = N4 (p) ND (p) (FILHO; NETO,
1999). A Figura 3.4 exemplifica os conceitos de vizinhana-4, vizinhana diagonal e
vizinhana-8, respectivamente.
(a)
(b)
(c)
36
3.3.2
3.4
Mtricas de Imagens
37
Distncia D4 (city block): Tambm conhecida como Manhattan, seu nome deriva da
analogia com a distncia entre dois locais em uma cidade com ruas divididas em quadras
com blocos de casas. Apenas movimentos horizontais e verticais so permitidos. dada
pela equao:
D4 ((i, j), (h, k)) = |i h| + |j k|.
(3.2)
Distncia D8 (chessboard): Anloga ao nmero mnimo de movimentos do rei no
tabuleiro de xadrez, ou seja, alm de movimentos horizontais e verticais, tambm so
permitidos movimentos em diagonal, dada por:
D8 ((i, j), (h, k)) = max{|i h| + |j k|}.
(3.3)
(a)
(b)
(c)
Figura 3.5: Exemplos de distancias entre pixels. (a) distncia euclidiana entre dois pixels;
(b) distncia city block entre dois pixels; (c) distncia chessboard entre dois pixels.
3.5
Unio, interseco e complemento so operaes de conjuntos que podem ser aplicadas no processamento de imagens. Quando lidamos com imagens binrias, essas operaes de unio, interseco e complemento so referenciadas, geralmente, como as operaes lgicas OR, AND e NOT. Considerando duas regies (conjuntos) A e B contendo
pixels no primeiro plano, ou seja, pixels com o valor lgico um, a operao lgica OR
entre essas duas regies A e B resulta em C = A B, que contm elementos pertencentes a A, B ou ambos. A operao AND entre as regies A e B resulta em C = A B,
que contm elementos pertencentes a A e B. As operao N OT (A) e N OT (B) resultam em elementos que no esto presentes em A e B, respectivamente, ou seja, todos
os elementos que esto em A so trocados para 0 (preto) e todos os elementos que no
esto em A para 1 (branco). A operao diferena entre A e B resulta em C = A B C ,
que contm os elementos que esto em A mas no em B, onde B C representa o complemento de B. Outra operao muito utilizada em processamento de imagens a operao
XOR (exclusive OR), que o conjunto de pixels que pertencem a A ou B, mas no ambos (GONZALEZ; WOODS, 2002). Esses operadores so extensivamente utilizados em
operaes morfolgicas, que sero discutidas na Seo 3.6.
3.6
Operaes Morfolgicas
38
quantificam e preservam as caractersticas principais da forma do objeto (SONKA; HLAVAC; BOYLE, 2007).
Os operadores morfolgicos primrios so dilatao e eroso, e a partir desses dois,
operaes morfolgicas mais complexas, como abertura e fechamento, so construdas.
Segundo Filho e Neto (1999), para compreender as operaes morfolgicas, inicialmente devemos conhecer as seguintes definies da teoria de conjuntos. Sejam A e B
conjuntos em Z 2 , cujos componentes so a = (a1 , a2 ) e b = (b1 , b2 ), respectivamente. A
translao de A por x = (x1 , x2 ), denotada por (A)x , definida como:
(A)x = {c|c = a + x, para a A}.
(3.4)
definida como:
A reflexo de B, denotada B,
= {x|x = b, para b B}.
B
(3.5)
O complemento do conjunto A :
AC = {x|x
/ A}.
(3.6)
(3.7)
Dilatao
(3.8)
Eroso
(3.9)
Abertura e Fechamento
39
(a)
A B = (A B) B
(3.10)
A B = (A B) B
(3.11)
(b)
(c)
(d)
(e)
Figura 3.6: Exemplo de operaes morfolgicas em imagens binrias utilizando um quadrado de tamanho 5x5 como elemento estruturante. (a) imagem original; (b) dilatao;
(c) eroso; (d) abertura; (e) fechamento (SZELISKI, 2010).
3.7
Envoltria Convexa
(a) Convexo
(b) No convexo
Figura 3.7: Exemplo de regio convexa e no convexa. (a) regio convexa; (b) regio no
convexa. Um subconjunto R do plano chamado convexo se e somente se para qualquer
par de pontos p, q R o segmento de linha pq est completamente contido em R (BERG
et al., 2008).
A envoltria convexa de uma regio a menor regio convexa H que satisfaa a
condio R H (SONKA; HLAVAC; BOYLE, 2007), ou seja, a menor regio convexa
40
que contm R. A Figura 3.8 exibe um exemplo de envoltria convexa para um conjunto
de pontos.
3.8
Comparao de Histogramas
Segundo Gonzalez e Woods (2002), dada uma imagem digital com nveis de intensidades no intervalo [0, L-1], o histograma dessa imagem uma funo discreta h(rk ) = nk ,
onde rk o k- simo valor de intensidade e nk o nmero de pixels na imagem com
intensidade rk . comum utilizar o histograma normalizado da imagem, que obtido
dividindo cada um de seus componentes pelo nmero total de pixels na imagem, denotado por n = M N , onde M e N so as dimenses das linhas e colunas da imagem,
respectivamente. Assim, o histograma normalizado uma estimativa da probabilidade de
ocorrncia do nvel de intensidade rk na imagem, e dado por:
pr (rk ) =
nk
,
n
(3.12)
onde:
0 rk 1
k = 0, 1, . . . , L 1, onde L o nmero de nveis de intensidade na imagem.
pr (rk ) = probabilidade do k- simo valor de intensidade.
nk = nmero de pixels cujo nvel de intensidade corresponde a k.
A Tabela 3.1 apresenta os dados que correspondem a uma imagem de 128x128 pixels,
com 8 nveis de cinza. O nmero de pixels que corresponde a cada um dos nveis de cinza
indicado pela segunda coluna, e as respectivas probabilidades aparecem na terceira coluna. A representao grfica deste histograma pode ser observada na Figura 3.9 (FILHO;
NETO, 1999).
Podemos comparar a semelhana entre dois histogramas utilizando os coeficientes de
Bhattacharyya (COMANICIU; RAMESH; MEER, 2000), de acordo com a Equao 3.13.
h2)
=
s(h1,
L q
X
i , h2
i
h1
(3.13)
i=1
e h2,
e L a quantidade
onde s a similaridade entre os histogramas normalizados h1
de nveis de intensidade. Os valores de similaridade estaro no intervalo [0, 1], onde o
e h2
so diferentes e o valor um indica que os
valor zero indica que os histogramas h1
histogramas h1 e h2 so iguais.
A interpretao geomtrica da Equao 3.13 o cosseno do ngulo entre os vetores
p
T p
T
p
p
unitrios
h11 , . . . ,
h1L
e
h21 , . . . ,
h2L
(COMANICIU; RAMESH; MEER, 2000).
41
Tabela 3.1: Exemplo de histograma para imagem de 128x128 pixels e 8 nveis de cinza
(FILHO; NETO, 1999).
Nvel de cinza (rk) nk
pr(rk)
0
1/7
2/7
3/7
4/7
5/7
6/7
1
1120
3214
4850
3425
1995
784
541
455
0.068
0.196
0.296
0.209
0.122
0.048
0.033
0.028
Total
16384
Figura 3.9: Exemplo histograma da imagem com 8 nveis de cinza (FILHO; NETO,
1999).
3.9
Detector de Cantos
XX
u
(3.14)
42
XX
u
(3.15)
x
y)A
,
y
(3.16)
onde A a derivada de segunda ordem de S ao redor do ponto (u, v) = (0, 0), e dada
por:
2
2
XX
hIx i hI
x Iyi
Ix Ix Iy
w(u, v)
=
,
(3.17)
A=
Ix Iy Iy2
hIx Iy i
Iy2
u
(3.18)
43
3.10
Estimativa de Movimento
N 1 N 1
1 XX
|Cij Rij |,
N 2 i=0 j=0
(3.19)
onde N o tamanho do macro bloco, Cij e Rij so os pixels que sero comparados do
macro bloco atual e do macro bloco de referncia, respectivamente.
3.11
Rudo em Imagens
44
A seguir, sero descritos dois tipos comuns de rudo: o rudo gaussiano e o rudo
impulsivo.
3.11.1
Rudo Gaussiano
p(z) =
2
1
2
e(z) /2 ,
2
(3.20)
Rudo Impulsivo
Rudo impulsivo significa que uma imagem est corrompida com pixels individuais
ruidosos que apresentam uma intensidade que difere significativamente dos pixels da sua
vizinhana. O termo rudo sal e pimenta utilizado para descrever rudos impulsivos
saturados, como por exemplo, uma imagem corrompida com pixels pretos e brancos
(SONKA; HLAVAC; BOYLE, 2007).
O rudo impulsivo pode ser modelado como uma varivel aleatria, z, com a funo
densidade de probabilidade dada pela Equao 3.21, e pode ser visualizada na Figura 3.13:
Pa , para z = a
p(z) = Pb , para z = b
(3.21)
0,
caso contrrio.
Se b > a, pixels com intensidade b aparecero como pontos brilhantes na imagem,
enquanto com intensidade a aparecero como pontos escuros. Se Pa ou Pb for zero, o
45
3.12
Algoritmo K-means
O algoritmo k-means (k-mdias) um mtodo utilizado para agrupar itens em k clusters (agrupamentos), onde cada item pertence ao cluster que tiver o centroide (mdia)
mais prximo (JOHNSON; WICHERN, 2007).
Segundo Bishop (2006) , dado um conjunto de N observaes de uma varivel euclidiana aleatria D-dimensional x = x1 , , xN , o objetivo particionar o conjunto de dados
em um nmero K de clusters. Introduzindo um conjunto de vetores D-dimensionais k ,
onde k = 1, , K, com k representando o centro do cluster K. O objetivo encontrar
uma atribuio dos dados aos clusters e um conjunto de vetores {k } tal que a soma dos
quadrados das distncias de cada dado para o seu vetor k seja mnimo. Para cada dado
xn , podemos introduzir um conjunto de variveis binrias indicadoras rnk 0, 1, onde
k = 1, , K descrevendo a qual dos K clusters o dado xn foi atribudo. Uma funo
objetiva, geralmente dada por:
J=
N X
K
X
(3.22)
n=1 k=1
que representa a soma dos quadrados das distncias de cada dado para o seu respectivo
vetor k . O objetivo encontrar valores para {rnk } e k de modo a minimizar J. Isso
46
feito atravs de um procedimento iterativo, onde cada iterao envolve duas etapas sucessivas que correspondem a sucessivas otimizaes com relao a rnk e k . Essas etapas
so listadas abaixo.
1. So escolhidos valores iniciais para k
2.
(3.24)
N
X
|xn n |
(3.25)
n=1
DCos =
3.12.2
~x.~
1
||~x||.||~||
(3.26)
Mtodo K-Medides
Esse algoritmo uma variao do algoritmo K-Means e ao contrrio deste, o Kmedide escolhe objetos existentes como centroides. Ao final do agrupamento obteremos um objeto como o elemento central, normalmente classificado como o prottipo do
agrupamento, o medide.
Uma vantagem em relao ao K-means sobre os rudos ou outliers contidos no agrupamento, pois as estratgias na escolha do centroide e do medide so diferentes. No
47
K-means, o centroide dado pela mdia de todos os objetos do agrupamento. Desta maneira, se o agrupamento possuir um objeto muito distante dos outros, o centroide ser
influenciado erradamente. J no K-medide, o algoritmo utiliza a mdia do erro quadrado
para validar a escolha de um medide. Com isso o algoritmo obtm o elemento mais
representativo ou central do agrupamento.
Mtodos Hierrquicos
Os mtodos hierrquicos de agrupamento trabalham atravs de uma srie de sucessivas unies ou divises. Mtodos hierrquicos aglomerativos iniciam com objetos individuais, tendo assim tantos clusters quanto o nmero de objetos. Os objetos mais similares
so agrupados, e esses agrupamentos iniciais so unidos de acordo com a suas similaridades, at que todos os subgrupos sejam unidos em um nico agrupamento. Mtodos
hierrquicos divisivos trabalham de maneira oposta. Um nico grupo inicial dividido em
subgrupos, e o processo continua at que cada grupo seja formado por um nico objeto
(JOHNSON; WICHERN, 2007).
A representao mais natural de um cluster hierrquico um diagrama de rvore,
chamado dendrograma, que mostra como cada objeto est agrupado (DUDA; HART;
STORK, 2000). A Figura 3.14 exibe um exemplo de dendrograma com 8 amostras. No
nvel 1 cada amostra forma um grupo nico, pois cada ponto no cluster altamente similar
a ele mesmo, nos prximos nveis as amostras so agrupadas de acordo com um critrio
de similaridade, at que todas formem um nico agrupamento.
A seguir so descritos alguns dos mtodos hierrquicos mais comuns. Os seguintes
passos so utilizados para agrupar N objetos utilizando mtodos hierrquicos aglomerativos (JOHNSON; WICHERN, 2007):
1. Iniciar com N clusters, cada um contendo um nico objeto e uma matriz N N de
distncias (ou dissimilaridades) D = dik ;
2. Procurar pelo par de clusters mais similar na matriz de distncias, onde a distncia
entre os clusters mais similares, U e V dada por dU V .
3. Unir os clusters U e V , dando um rtulo para o novo cluster formado (UV). Atualizar a matriz de distncias:
(a) deletar linhas e colunas referentes aos clusters U e V ;
(b) adicionar linha e coluna com as distncias entre o cluster (UV) e os clusters
restantes.
4. Repetir os passo 2 e 3 N 1 vezes, guardando a identidade dos clusters eu so
unidos e em que nvel (distncia ou similaridade) eles ocorreram.
Mtodo Single Linkage ou Nearest Neighbour: o mtodo do vizinho mais prximo,
que consiste em considerar a medida de distncia entre dois clusters como sendo a menor
distncia entre um elemento de um cluster e um elemento de outro cluster. A distncia
mnima entre o cluster (U V ) e outro cluster W dada pela Equao 3.27:
dU V W = min{dU W , dV W },
(3.27)
48
(3.28)
N
X
j=1
(3.30)
49
N X
K
X
i=1 k=1
50
P
onde ck = N
i=1 uik xi o centro do k-simo cluster fuzzy. Reatribuir elementos
para o cluster para reduzir o valor desta funo de critrio e recalcular U .
3. Repetir o passo 2 at que as entradas em U no mudem significativamente.
A Figura 3.16 ilustra um exemplo de agrupamento fuzzy. Os retngulos delimitam
dois clusters rgidos nos dados: H1 = 1, 2, 3, 4, 5 e H2 = 6, 7, 8, 9. Um algoritmo de
agrupamento fuzzy gera dois clusters fuzzy F1 e F2 , delimitados pelas elipses. Os elementos tero valores no intervalo [0, 1], que indicam o valor de pertinncia, para cada um
dos clusters (JAIN; MURTY; FLYNN, 1999). Os clusters F1 e F2 poderiam, por exemplo,
ser descritos como:
F1 = {(1, 0.9), (2, 0.8), (3, 0.7), (4, 0.6), (5, 0.55), (6, 0.2), (7, 0.2), (8, 0.0), (9, 0.0)}
F2 = {(1, 0.0), (2, 0.0), (3, 0.0), (4, 0.1), (5, 0.15), (6, 0.4), (7, 0.0.35), (8, 1.0), (9, 0.9)}
onde cada par (i, i ) representa o i-simo elemento e seu valor de pertinncia ao cluster
i . Valores de pertinncia maiores indicam maior confiana na atribuio do elemento
para o cluster.
51
Neste captulo ser apresentado detalhadamente o mtodo de monitoramento de trfego proposto. Sero apresentadas cada uma das etapas necessrias para o funcionamento
do mtodo, assim como cada uma das tcnicas de processamento de imagens e viso
computacional que foram utilizadas no mtodo.
Ao longo do texto sero descritas cada uma das etapas para a obteno das mscaras
binrias contendo os objetos mveis detectados no primeiro plano do vdeo, para realizar
a deteco dos veculos, para fazer o rastreamento dos veculos e, finalmente, para efetuar
a contagem dos veculos.
Entre os desafios que o mtodo proposto precisa lidar, podemos citar as tarefas de
detectar e rastrear os veculos, pois os veculos andam muito prximos uns dos outros e,
em situaes de trfego lento ou parado, podem ocorrer ocluses parciais dos veculos, o
que poderia levar mais de um veculo a ser detectado como apenas um, alm de dificultar
o rastreamento.
As figuras apresentadas nessa seo para ilustrar e esclarecer os mtodos utilizados
foram adquiridas de diferentes vdeos, cedidos pela Empresa Pblica de Transporte e
Circulao (EPTC) de Porto Alegre - RS. Os vdeos foram obtidos utilizando cmeras
fixas posicionadas acima da via, obtendo uma viso frontal do fluxo de trfego, durante o
perodo diurno. A Figura 4.1 ilustra alguns quadros dos vdeos utilizados.
O trabalho foi desenvolvido utilizando a plataforma Matlab (verso 7.13, 64 bits) e a
biblioteca multiplataforma OpenCV (Open Source Computer Vision Library - verso 2.4)
juntamente com as linguagens de programao C/C++. O mtodo foi desenvolvido em
um computador equipado com processador Intel Core 2 Quad Q8300 de 2.50 GHz e 8GB
de memria RAM com o sistema operacional Windows 7 de 64 bits.
4.1
O objetivo do mtodo proposto realizar a contagem de veculos presentes nos vdeos. Para isso, podemos dividir o mtodo nas seguintes etapas: inicializao (Seo 4.2),
obteno do foreground (Seo 4.3), deteco de veculos (Seo 4.7), rastreamento de
veculos (Seo 4.8) e contagem de veculos (Seo 4.9).
A primeira etapa consiste em definir as regies do vdeo que sero processadas. Nessa
etapa inicial preciso que um usurio fornea os dados de entrada. Primeiro, exibido
um quadro do vdeo que ser processado, e o usurio dever informar a regio de interesse
(ROI - Region of Interest), traando um polgono sobre o quadro do vdeo. Essa ROI serve
52
(a) Cam06
(b) Cam25
(c) Cam41
(d) Cam64
(e) Cam68
(f) Cam73
Figura 4.1: Exemplos de vdeos utilizados, com seus respectivos cdigos de identificao.
para delimitar a rea de processamento do mtodo, ou seja, os processos de deteco,
rastreamento e contagem ocorrero apenas com os objetos mveis que estiverem dentro
desse polgono. A Figura 4.2 ilustra os polgonos representando as regies de interesse
dos vdeos.
Em seguida, solicitado ao usurio que informe as posies dos laos virtuais, que
so as reas onde os veculos sero contados no vdeo quando passam sobre essas regies.
Foram utilizados retngulos para delimitar a rea do lao virtual, sendo utilizados um
lao em cada uma das faixas da via, como ilustrado na Figura 4.3. Existe um contador
associado a cada um dos laos, e esse contador ser incrementado cada vez que um veculo
passar sobre o lao virtual.
Na etapa seguinte, so obtidas as mscaras binrias com os objetos detectados como
objetos mveis na cena. Uma mscara binria obtida utilizando o modelo de misturas de
gaussianas (GMM) (STAUFFER; GRIMSON, 1999), e os objetos do primeiro plano so
representados pelos objetos mveis na cena que possuem uma cor que difere das cores do
fundo da cena. Outra mscara binria obtida utilizando Motion Energy Images (MEI)
(DAVIS; BOBICK, 1997). O MEI fornece uma mscara binria contendo os pixels do primeiro plano que mudaram de cor recentemente, representando onde ocorreu movimento
ao longo de uma sequncia definida de quadros, ajudando a descrever a forma e a trajetria dos objetos em movimento ao longo do vdeo. Uma mscara mais precisa obtida
combinando os resultados das mscaras obtidas com os mtodos GMM e MEI. Assim, a
nova mscara conter somente os pixels que foram detectados como objetos mveis em
ambas as mscaras, e obtida atravs de uma operao AN D entre as duas mscaras.
A Figura 4.4a e a Figura 4.4b exemplificam as mscaras binrias obtidas com o mtodo GMM e com o mtodo MEI, respectivamente. O resultado da combinao das mscaras exibido na Figura 4.4c.
Aps a obteno da mscara de foreground, temos o incio do algoritmo principal, que
ir analisar a mscara e o vdeo original para fazer a deteco e rastreamento dos veculos.
Inicialmente, so lidos um quadro da mscara binria (M F ) e dois quadros do vdeo,
o quadro atual (quadrot ) e o quadro seguinte (quadrot+1 ). Esses dois quadros sero
necessrios para a obteno dos vetores de movimento, posteriormente. A escolha da
53
(a)
(b)
(c)
(d)
(e)
(f)
Figura 4.2: Exemplos de regies de interesse, delimitadas pelas linhas vermelhas. (a)
regio de interesse do vdeo Cam06; (b) regio de interesse do vdeo Cam25; (c) regio
de interesse do vdeo Cam41; (d) regio de interesse do vdeo Cam64; (e) regio de
interesse do vdeo Cam68; (f) regio de interesse do vdeo Cam73.
Figura 4.3: Exemplos de laos virtuais. Cada lao virtual posicionado em uma das
faixas da via, juntamente com seus respectivos contadores
(a)
(b)
(c)
Figura 4.4: Exemplo de deteco dos objetos no primeiro plano do vdeo. (a) mscaras
binria obtida com o mtodo GMM; (b) mscaras binria obtida com o mtodo MEI; (c)
mscara combinando os resultados GMM e MEI.
54
utilizao do quadrot e o quadrot+1 para a obteno dos vetores de movimento foi apenas
uma questo de implementao, poderiam ser utilizados tambm o quadro atual, quadrot
e o quadro anterior, quadrot1 , para a obteno dos vetores de movimento.
Esses dois quadros passam por um processo de compensao de cor, calculando-se
a cor mdia do fundo e dos dois quadros, sendo aplicada a devida compensao. Essa
compensao de cor utilizada para reduzir a diferena de cores entre um quadro e outro,
devido s mudanas bruscas de iluminao que ocorrem nos vdeos utilizados.
O prximo passo a deteco de cantos no quadrot , utilizando o mtodo dos mnimos autovalores (SHI; TOMASI, 1994), que chamamos de partculas. Essas partculas
so detectadas somente nas regies onde foram detectados objetos mveis, de acordo com
a mscara binria (M F ). Aps a obteno das partculas, so obtidos os vetores de movimento para cada uma dessas partculas, utilizando a comparao de blocos com busca
exaustiva, conforme visto na Seo 3.10. Assim, cada partcula ser formada por quatro
valores, as suas coordenadas espaciais, indicadas pelas suas posies x e y na imagem, e
os valores dos vetores de movimento, Vx e Vy , indicando a posio da partcula no quadro
seguinte.
As partculas sero agrupadas, formando clusters, e o centroide de cada cluster ser
armazenado para ser processado no prximo quadro do vdeo. As regies do quadrot
do vdeo so divididas em: (a) regies de partculas livres, que possuem partculas que
no foram atribudas a grupos de partculas ou veculos detectados previamente; (b) regies de partculas agrupadas, onde as partculas fazem parte de um cluster detectado
previamente; e (c) regies de veculos, formadas por partculas que foram atribudas aos
veculos detectados. Cada uma dessas regies ser processada de uma maneira diferente.
A prxima etapa ento verificar as regies existentes que devero ser processadas.
Se no existirem centroides referentes regies de partculas agrupadas ou regies de
veculos e o nmero de partculas for menor que um valor predeterminado, nada feito
nessa iterao, e o algoritmo vai para a prxima iterao, para processar o quadrot+1 .
Essa condio ocorre quando no existem veculos passando no vdeo. Porm, se no
existirem centroides, mas o nmero de partculas for maior que o valor mnimo predeterminado, temos regies de partculas livres, e um processo de agrupamento inicial com
as partculas aplicado, gerando novos agrupamentos. Essa situao ocorre no incio do
vdeo, quando ainda no foram formados todos os agrupamentos ou um veculo entra na
regio de interesse.
Se existirem centroides referentes a regies de partculas agrupadas ou regies de veculos, significa que j temos veculos detectados no vdeo ou agrupamentos formados,
que podero ser detectados como veculos posteriormente. Nessa situao, tambm realizado o processo de agrupamento, mas agora utilizando os valores dos centroides obtidos
no quadro anterior como inicializao, que sero usados como centroides iniciais do algoritmo de agrupamento. Os clusters formados nesse processo passaro por processos de
fuso e diviso de clusters, que so detalhados na Seo 4.6 e Seo 4.5, resultando em
novos clusters, cujos centroides sero armazenados para serem processados no prximo
quadro.
A prxima etapa verificar se os clusters correspondem a veculos. utilizada a
envoltria convexa, discutida na Seo 3.7 para gerar uma regio convexa das partculas
que correspondem a cada um dos agrupamentos. Essas regies convexas, juntamente
com a mscara com os objetos do primeiro plano, so utilizadas para determinar se os
clusters realmente correspondem a um veculo. So realizados testes para verificar a rea
do cluster, a taxa de ocupao, a proporo entre os eixos maiores e menores e tambm
55
a rea da mscara de primeiro plano presente nas posies que correspondem parte
interna e parte externa do cluster analisado. Cada teste possui uma pontuao, e ao
final dos testes, os agrupamentos que atingirem um valor mnimo de pontuao, definido
experimentalmente, so considerados como pertencentes a veculos.
Com os veculos detectados, inicia-se a etapa de rastreamento. O rastreamento realizado apenas nos clusters que foram identificados como associados aos veculos e
baseado na similaridade de histogramas de cor computados para janelas de pixels centradas em cada uma das partculas associadas com a rea convexa dos veculos no quadro
anterior e com as mesmas partculas no quadro atual, cujas posies so dadas pelos vetores de movimento. Um valor de similaridade alto indica que so as mesmas partculas
em ambos os quadros, e as partculas so mantidas. Se a similaridade entre as partculas resultar em um valor baixo, isso indica que as partculas so diferentes, e so ento
eliminadas do rastreamento. Uma nova envoltria convexa criada considerando apenas as partculas que foram mantidas. Essa nova regio convexa receber um rtulo para
ser usado durante o rastreamento, e esse rtulo dever ser o mesmo rtulo atribudo a
essa regio nos quadros anteriores, e serve para identificar cada um dos veculos desde o
momento em que ele detectado pela primeira vez at a sua sada da regio de interesse.
Os veculos rastreados tambm passaro por um processo de diviso de clusters. Essa
etapa realizada para casos em que veculos sobrepostos so considerados como sendo
o mesmo veculo, devido perspectiva. Quando os veculos entram na rea de interesse,
eles geralmente esto prximos aos pontos de fuga da cena e por isso aparecem pequenos e
muito prximos, o que pode fazer com que sejam incorretamente detectados como apenas
um veculo. Conforme o movimento dos veculos em direo sada da rea de interesse,
mais separados e prximos da cmera eles ficaro, facilitando a deteco dos veculos.
Por fim, temos a etapa de contagem dos veculos, que baseada em laos virtuais.
Somente os veculos detectados e rastreados sero contados, ou seja, os clusters que no
forem identificados como correspondentes a um veculo no sero contados, mesmo se os
clusters forem persistentes ao longo de vrios quadros do vdeo. A contagem realizada
em laos virtuais definidos pelo usurio, que podem ser definidos em qualquer regio da
rea de interesse que o usurio desejar. Contudo, como so contados somente os veculos detectados e rastreados, a melhor posio para os laos virtuais na rea em que os
veculos esto deixando a cena. Assim, a chance do veculo ser contado corretamente
aumenta, pois os veculos tero passado pelos processos de deteco e rastreamento ao
longo de um nmero maior de quadros at atingir os laos. Os contadores de cada lao
virtual sero incrementados quando ocorrer uma interseco entre as reas do veculo rastreado e a do lao virtual. Cada cluster detectado e identificado como pertencente a um
veculo ser contado apenas uma vez. Se ocorrer uma interseco com mais de um lao,
apenas o que tiver a maior rea de interseco ser considerado. A Figura 4.5 apresenta a
viso geral do mtodo proposto. A obteno das mscaras binrias do primeiro plano, ou
foreground, utilizando os mtodos de modelo de misturas de gaussianas (GMM) (STAUFFER; GRIMSON, 1999) e Motion Energy Images (MEI) (DAVIS; BOBICK, 1997), e a
combinao dos resultados desses dois mtodos, foram implementadas com a linguagem
de programao C/C++, juntamente com a biblioteca multiplataforma OpenCV. As outras
etapas do mtodo foram implementadas utilizando a plataforma Matlab.
Como principais contribuies desse trabalho, podemos citar a combinao de dois
mtodos para melhor segmentao dos objetos que esto em movimento no primeiro
plano do vdeo utilizando GMM e MEI. Dessa forma criada uma mascara binria que
representa os objetos em movimento no vdeo de maneira mais confivel. Os detalhes
56
podem ser vistos na Seo 4.3. Tambm podemos citar como contribuies deste trabalho
o desenvolvimento de tcnicas que utilizam a mscara com os objetos mveis no primeiro plano para melhor identificar a qual agrupamento pertence cada uma das partculas
e verificar se realmente os agrupamentos pertencem aos veculos. Foram desenvolvidos
procedimentos para determinar se algum agrupamento apresenta correspondncia com
mais de um veculo na cena, fazendo a diviso do agrupamento caso necessrio, e tambm determinar se temos mais de um agrupamento correspondendo ao mesmo veculo
na cena, situao em que necessrio realizar a fuso desses agrupamentos. Essas duas
principais contribuies do trabalho esto descritas na Seo 4.5 e na Seo 4.6.
Outra contribuio fundamental deste trabalho a etapa de deteco de veculos, apresentada na Seo 4.7. Apenas o agrupamento de partculas no garante que cada agrupamento corresponda a um veculo na cena. Podem ocorrer situaes em que os veculos
ficam muito prximos ou sofram ocluses, fazendo com que seja formado um agrupamento que no corresponde corretamente a um veculo da cena, ou ainda erros na mscara
de foreground, detectando regies no foreground que no so veculos. Atravs de uma
srie de testes, so determinados se cada um dos agrupamentos possuem caractersticas
que indiquem que eles correspondem a veculos na cena, como tamanho, proporo, entre
outras.
4.2
Inicializao
A etapa de inicializao abrange a inicializao das variveis e dos parmetros fornecidos pelo usurio. O primeiro parmetro fornecido pelo usurio o vdeo que dever ser
processado, e, em seguida, a ROI e os laos virtuais.
Aps informar o vdeo que ser utilizado, exibido um quadro do vdeo e solicitado ao
usurio que trace as linhas para demarcar a regio de interesse. O resultado uma mscara
57
binria da regio que dever ser processada. realizada uma operao AN D entre a
mscara binria da ROI e os quadros do vdeo, delimitando a rea que ser processada.
A Figura 4.6 ilustra esse processo. A Figura 4.6a exibe o quadro do vdeo, a Figura 4.6b
exibe as linhas traadas pelo usurio para demarcar a regio de interesse, a Figura 4.6c
exibe a mscara binria obtida e a Figura 4.6d exibe o quadro final, que o que ser
processado pelo mtodo proposto.
(a)
(b)
(c)
(d)
Figura 4.6: Exemplo do processo de obteno da regio de interesse. (a) quadro do vdeo;
(b) linhas traadas pelo usurio para demarcar a regio de interesse; (c) mscara binria
da ROI obtida; e (d) resultado da operao AN D entre a mscara da ROI e o quadro.
A obteno dos laos virtuais semelhante obteno da ROI. Quando o usurio
termina de traar cada lao virtual e ele inserido na imagem, perguntado ao usurio
se ele deseja inserir outro lao virtual. Quando o usurio finalizar a insero de laos,
gerada uma mscara contendo todos os laos virtuais, cada um com uma numerao,
partindo de um at o nmero de laos inseridos pelo usurio.
Em seguida, obtida uma imagem do fundo da cena atravs do mtodo da mediana
temporal para cada canal de cor RGB, ou seja, utilizada a mediana dos quadros do vdeo
para criar uma imagem do fundo da cena, que ser usada no processo de compensao de
cor. A cor mdia de fundo obtida atravs da Equao 4.1.
CM F C
M N
1 XX
p(i, j, C),
=
M N i=1 j=1
(4.1)
onde CM FC cor mdia de fundo para cada um dos canais de cor RGB, M e N so as
dimenses do quadro do vdeo e p(i, j, C) o valor do pixel na posio (i, j) do canal de
cor C.
Ento, para realizar a compensao de cor para o vdeo, primeiramente calculada
a cor mdia do quadro processado, de acordo com a Equao 4.2. A seguir, obtida a
diferena da cor mdia do fundo para a cor mdia do quadro processado em cada um dos
58
(4.2)
onde CM QC cor mdia do quadro processado no canal de cor C, M e N so as dimenses do quadro do vdeo e p(i, j, C) o valor do pixel na posio (i, j) do canal de cor
C.
4.3
K
X
~ i,t ,
i,t,k (X
~ i,t,k , i,t,k ),
(4.3)
k=1
onde i,t,k ,
~ i,t,k , i,t,k so o peso, o vetor de mdias e a matriz de covarincia da k-sima
componente da GMM no tempo t, e a funo densidade de probabilidade gaussiana,
dada por:
~ i,t ,
(X
~ i,t,k , i,t,k ) =
1
n
2
(2) |k,t |
1
2
e 2 (Xt ~k,t ) .
(4.4)
2
A matriz de covarincia estabelecida como diagonal i,t,k = diag[R2 i,t,k G
2 ],
i,t,k Bi,t,k
2
onde R2 i,t,k G
B2 i,t,k so as varincias dos canais RGB do componente k da GMM no
i,t,k
tempo t, respectivamente (RIBEIRO; GONZAGA, 2006). Por simplicidade, a matriz de
covarincia assumida como i,t,k = 2 I3 , onde I3 a matriz identidade.
Para criar o modelo background, as componentes da GMM so ordenadas em ordem
decrescente de acordo com os seus valores da razo entre seus pesos e o desvio padro
i,t,kord
}, onde kord = 1, . . . , K denota as componentes da GMM ordenadas.
{ i,t,k
ord
59
(4.6)
~ i,t,k = (1 )~i,t1,k + X
(4.7)
~ i,t
~ i,t
i,t,k = (1 )i,t1,k + (X
~ i,t,k )T (X
~ i,t,k ),
(4.8)
(4.9)
(4.10)
Se nenhuma das K componentes corresponder ao pixel RGB atual, ento a componente menos provvel da GMM substituda por uma nova componente, com sua mdia
~ i,t , uma varincia inicial alta e um baixo peso a priori.
igual ao valor atual de X
A Figura 4.7 ilustra um quadro de um vdeo e a sua respectiva mscara de primeiro
plano gerada utilizando o GMM. A Figura 4.7a exibe o quadro original, e a Figura 4.7b
exibe a mscara binria obtida.
A seguir discutido o mtodo Motion Energy Images (MEI) (DAVIS; BOBICK,
1997), que fornece uma mscara binria com os objetos em movimento no primeiro plano
60
(a)
(b)
Figura 4.7: Exemplo de mscara binria obtida atravs do mtodo GMM. (a) quadro
original; (b) mscara binria gerada.
do vdeo. Cada quadro dessa mscara mostra, de maneira sobreposta, as regies de movimento que foram detectadas ao longo de um nmero recente de quadros. Ajudando a
obter o formato e a trajetria dos objetos mveis ao longo do tempo.
Seja Ig (x, y, t) uma sequncia do vdeo em tons de cinza, e D(x, y, t) uma sequncia
binria indicando as regies de movimento da cena, dada por:
D(x, y, t) = |Ig (x, y, t) Ig (x, y, t 1)| > T b,
(4.11)
[
1
D(x, y, t j),
(4.12)
j=0
(a)
(b)
Figura 4.8: Exemplo de mscara binria obtida atravs do mtodo MEI. (a) quadro original; (b) mscara binria gerada.
Para obter uma mscara binria mais precisa dos objetos que esto em movimento em
cada quadro do vdeo, as duas mscaras, obtidas pelos mtodos GMM e MEI, so combinadas, formando uma nica mscara binria. As mscaras so combinadas utilizando
uma operao lgica AN D entre as duas mscaras, assim, somente os pixels que foram
61
detectados como pertencentes a objetos em movimento em ambas as mscaras sero considerados como pixels que realmente pertencem a objetos do primeiro plano do vdeo.
Algumas operaes so utilizadas nas mscaras para remover pequenas regies e fechar
buracos. Foi utilizada uma operao de abertura de componentes conectados menores
que 20 pixels, uma operao de fechamento, utilizando elemento estruturante elptico de
raio 4, preenchimento de regies por difuso (flood-fill) utilizando conectividade 4, e outra operao de abertura de componentes conectados menores que 100 pixels. Essa nova
mscara obtida tende a ser mais precisa do que a mscara gerada somente utilizando a
mistura de gaussianas, eliminando erros que foram causados por mudanas de iluminao, como pode ser observado na Figura 4.9.
(a)
(b)
(c)
Figura 4.9: Mscara binria resultante da combinao das mscaras geradas pelos mtodos GMM e MEI. (a) mscara gerada com GMM; (b) mscara gerada com MEI; (c)
mscara resultante da operao AND entre (a) e (b).
4.4
O processo de deteco das partculas ocorre de acordo com a regio das partculas,
que, como visto antes, esto divididas em: (a) regies de partculas livres, que possuem
partculas que no foram atribudas a grupos de partculas ou veculos detectados previamente; (b) regies de partculas agrupadas, onde as partculas fazem parte de um cluster
detectado previamente; e (c) regies de veculos, formadas por partculas que foram atribudas aos veculos detectados.
As regies so verificadas baseadas nas partculas existentes do quadro anterior. No
incio ainda no existem agrupamentos anteriores, ento todas as partculas obtidas sero
consideradas partculas livres. As partculas so detectadas utilizando o mtodo dos mnimos autovalores (SHI; TOMASI, 1994), que baseado na deteco de cantos na imagem,
conforme discutido na Seo 3.9. As partculas so detectadas somente nas regies detectadas como primeiro plano, isto , em regies que representam movimento na mscara
binria de foreground. Uma ilustrao das partculas detectadas no primeiro plano exibida na Figura 4.10. A Figura 4.10a mostra a mscara de foreground e a Figura 4.10b as
partculas (cantos) que foram detectadas, delimitadas pelas regies que foram detectadas
como movimento na mscara binria.
Se existirem agrupamentos obtidos no quadro anterior, quadrot1 , gerada uma rea
convexa ao redor das posies dadas pelos vetores de movimento da partculas, usando
a envoltria convexa explanada na Seo 3.7, para cada um dos agrupamentos. Ou seja,
a rea convexa gerada no quadrot nas posies para onde as partculas do quadrot1
foram deslocadas, de acordo com a estimativa de movimento realizada utilizando a comparao de blocos com busca exaustiva, discutida na Seo 3.10.
62
(a)
(b)
63
clusterk
cluster
Xk
n
X
i=1
j=1
(4.13)
b(~u) a(~u)
,
max{a(~u), b(~u)}
(4.14)
onde S(~u) o valor da silhueta para a partcula ~u, e descreve o quo similar essa partcula
das partculas de seu prprio cluster, quando comparada com as partculas dos outros
clusters. a(~u) a distncia mdia da partcula ~u para as outras partculas no mesmo cluster
que ~u, e b(~u) a distncia mdia mnima da partcula ~u para as partculas de algum outro
cluster, mais prximo, ou seja, distncia mdia da partcula ~u para as partculas no cluster
mais prximo do cluster contendo a partcula ~u. O cluster com a menor dissimilaridade
mdia chamado de cluster vizinho. Os valores da silhueta variam entre 1 e +1. Um
valor alto de silhueta indica que a partcula ~u combina bem com o seu prprio cluster, e
tem uma baixa correspondncia com os clusters vizinhos. Um valor de silhueta prximo
a 1 indica que seria mais apropriado atribuir a partcula ~u para o cluster vizinho. Neste
trabalho, as partculas com valores de silhueta menores que zero so consideradas como
no sendo similares s outras partculas de seus respectivos clusters, e so eliminadas.
Qualquer medida de dissimilaridade pode ser usada, sendo mais comum o uso de medidas
de distncia, como a city block, que foi a utilizada neste trabalho.
As partculas que foram eliminadas passam recursivamente por esse processo de agrupamento inicial para serem agrupadas em novos clusters, que se juntaro aos obtidos anteriormente.
64
(a)
(b)
Figura 4.12: Exemplo de agrupamento inadequado causado pela regio com pouca textura. (a) veculo com poucas partculas associadas a ele; (b) vetores de movimento diferentes ao longo do mesmo veculo; Esses fatores levam obteno de dois agrupamentos
para o mesmo veculo.
Portanto, necessrio um processo para verificar e fazer a fuso desses clusters que
65
parecem estar associados com veculos diferentes, mas de fato pertencem ao mesmo veculo. Esse processo, denominado fuso de clusters, usa a mscara com os objetos de
foreground para verificar se existe mesmo uma regio de fundo detectada na posio da
mscara correspondente posio do cluster. Caso no exista, significa que os clusters
pertencem ao mesmo veculo, e os clusters sero unidos em apenas um. Em outros casos, pode ser necessrio fazer o processo inverso, dividir um cluster que foi associado
a apenas um objeto mvel, mas na verdade existem dois objetos mveis. Essa situao
ocorre quando os veculos esto muito prximos, gerando partculas com posies espaciais muito prximas e com vetores de movimento similares. Esse processo, denominado
diviso de clusters, tambm utiliza a mscara de foreground para verificar a existncia de
uma regio de fundo detectada na posio da mscara correspondente posio do cluster. Caso exista, isso significa que existem objetos na mscara de foreground que, apesar
de estarem prximos, esto separados um do outro, e o cluster deve ento ser dividido em
dois.
Os processo de diviso e fuso de clusters sero descritos detalhadamente a seguir, na
Seo 4.5 e na Seo 4.6.
4.5
Diviso de Clusters
66
rea de background ser tolerada dentro da regio Econv sem que o cluster seja dividido.
A Figura 4.13e ilustra os clusters aps o processo de diviso, onde agora cada veculo
corretamente associado s partculas de um cluster.
(a)
(b)
(c)
(d)
(e)
Figura 4.13: Exemplo de diviso de clusters. (a) partculas sobrepostas ao quadro processado que foram associadas a apenas um cluster; (b) rea convexa (Econv ) ao redor das
partculas em (a); (c) rea de foreground contida em Econv ; (d) rea do cluster que no
corresponde a um objeto detectado na mscara de foreground (AB), em azul; (e) resultado da diviso dos cluster. Como podemos observar, a razo entre as reas AB e Econv
maior que o limiar de diviso, e os clusters so divididos em dois.
4.6
Fuso de Clusters
A fuso dos clusters ocorre de maneira similar ao processo de diviso visto na seo
anterior. A fuso de cluster um processo necessrio para lidar com situaes como
a ilustrada na Figura 4.12, em que veculos longos e com regies homogneas, sem a
presena de muita textura, no apresentam muitas partculas detectadas e tambm so
gerados vetores de movimento diferentes ao longo do veculo. Isso faz com que sejam
associados mais de um cluster a um mesmo veculo. A Figura 4.14 ilustra o processo de
fuso de clusters.
Todos os clusters so testados, aos pares, para verificar se eles precisam ser fundidos.
Assim, inicialmente verificado se a distncia euclidiana entre os centroides dos dois
clusters testados, Qi e Qj , menor que a soma das distncias mximas das partculas para
os centroides de seus respectivos clusters, com i = {1, , nc 1}, j = {i + 1, , nc}
e i 6= j, como indicado abaixo:
DE (~
ci , c~j ) < maxdist(~
ui , c~i ) + maxdist(u~j , c~j ),
(4.15)
onde DE (~
ci , c~j ) a distncia euclidiana entre os centroides dos clusters Qi e Qj , c~i e c~j ,
respectivamente, que dada pela Equao 4.16; maxdist(~
ui , c~i ) a distncia mxima de
uma partcula u~i no cluster Qi para o seu centroide c~i , e maxdist(u~j , c~j ) a distncia
mxima de uma partcula u~j no cluster Qj para o seu centroide, c~j , indicado na Equao 4.17.
q
ci c~j )2 ,
(4.16)
DE (~
ci , c~j ) = (~
maxdist(~u, ~c) = max
k=1,...,n
p
(uk ~c)2 ,
(4.17)
67
(a)
(b)
(c)
(d)
(e)
Figura 4.14: Exemplo de fuso de clusters. (a) partculas sobrepostas ao quadro processado que foram associadas a dois clusters. (b) rea convexa (Econv ) ao redor das partculas
em (a); (c) rea de foreground (AF ) contida em Econv ; (d) rea de foreground (AF ), em
branco, intersectando Econv , em azul; (e) resultado da fuso dos cluster. Como podemos
observar, a razo entre as reas AF e Econv maior que o limiar de fuso, e os clusters
so unificados.
4.7
Deteco de Veculos
O agrupamento das partculas apenas o passo inicial para a deteco dos veculos.
Para realizar a deteco dos veculos, so utilizados procedimentos que utilizam os agrupamentos de partculas e a mscara binria de foreground para verificar a forma de cada
cluster e a correspondncia do cluster com um objeto detectado na mscara binria, com a
finalidade de determinar se cada um dos agrupamentos realmente corresponde a veculos
na cena. A Figura 4.15 e a Figura 4.16 ilustram o processo de deteco de veculos, que
ser descrito a seguir.
No processo de deteco de veculos verificado a rea do cluster, que deve ser grande
o bastante para corresponder a um veculo, a taxa de ocupao, que determina a distribuio das partculas dentro do cluster, e a razo entre o eixo maior e o eixo menor do cluster,
68
pois os veculos possuem um formato retangular, mantendo certa proporo entre os dois
eixos. Tambm so verificados os objetos do foreground detectados na mscara binria
nas coordenadas que correspondem s regies dentro e ao redor da rea do cluster, sendo
que a regio interna do cluster deve possuir uma grande rea de interseco com os objetos detectados na mscara binria e a regio externa uma pequena rea de interseco
com os objetos da mscara, pois a maior parte do objeto deve estar na regio interna do
cluster.
Para todos os clusters Qi , i = {1, , nc}, onde nc o nmero total de clusters, so
realizados testes para verificar se o cluster Qi corresponde a um veculo. Os testes so realizados de acordo com as definies dadas a seguir. Sejam Econv = envoltoria_convexa(Qi )
a menor rea convexa contendo todas as partculas de Qi , como ilustrado na Figura 4.15b
e na Figura 4.15c, Cdilatadas = V IZ(u~ij ) B a vizinhana das partculas u~ij , j =
{1, , n} no cluster Qi dilatada por um elemento estruturante B de formato circular
e raio 5 (Figura 4.15d), CDenv = envoltoria_convexa(Cdilatadas ) a menor rea convexa contendo toda a vizinhana dilatada das partculas em Qi , como ilustrado na Figura 4.15e, Emaior = eixo_maior(Econv ) e Emenor = eixo_menor(Econv ) o comprimento, em pixels, do maior e menor eixo da regio Econv , respectivamente, como ilustrado na Figura 4.15f, AFint = Econv M F a correspondente rea de foreground da
interseo entre Econv e M F (a mscara de foreground), como indicado na Figura 4.16c,
e AFext = M F Econv a correspondente rea de foreground ao redor da regio Econv ,
exibido na Figura 4.16d.
(a)
(b)
(c)
(d)
(e)
(f)
Figura 4.15: Exemplo de anlise da forma do cluster. (a) cluster analisado; (b) mscara
com as partculas do cluster analisado; (c) rea convexa contendo as partculas em (b)
para obter a rea do cluster (Econv ); (d) partculas dilatadas usadas para obter a taxa de
ocupao Cdilatadas ); (e) rea convexa contendo as partculas dilatadas (CDenv ), a taxa de
ocupao Cdilatadas calculada como a rea das partculas dilatadas (d) dividida por essa
rea convexa (e); (f) o eixo maior (Emaior ) dividido pelo eixo menor (Emenor ) deve ser
menor que um limiar Teixos .
Os testes possuem uma pontuao associada, que ser acumulada durante o processo.
Quando um teste resultar em um valor verdadeiro, a pontuao adicionada, e quando
69
70
(a)
(b)
(c)
(d)
4.8
Rastreamento de Veculos
O rastreamento de veculos realizado somente nos clusters que correspondem a veculos (Vi ), ou seja, aqueles que foram identificados como associados aos veculos, como
visto na seo anterior. O rastreamento baseado na similaridade entre histogramas de
cor, discutido na Seo 3.8, computados para pequenas janelas de pixels centradas em
cada uma das partculas associadas com a rea convexa formada pelos veculos (Vi ) no
quadrot1 e nas partculas no quadrot , cujas posies so dadas de acordo com os vetores
de movimento de cada partcula em Vi . Neste trabalho foram usadas janelas de pixels de
tamanho 99, em vdeos com resolues ou distncias da cmera em relao aos veculos
diferentes dos utilizados neste trabalho, poder ser necessrio modificar o tamanho desta
janela de pixels, de modo que a janela de pixels seja grande o suficiente para abranger
detalhes ao redor da partcula, mas sem abranger a regio ao redor dos veculos quando a
partcula estiver nas bordas.
Sejam Vit1 = {u~i,1 t1 , , ui,npp
~ t1 } os clusters que correspondem a veculos no
quadro anterior no tempo t 1, Vit = {u~i,1 t , , ui,npc
~ t } os clusters que correspondem a
veculos no quadro atual (tempo t), com i = {1, , nv}, onde {u~i,1 t1 , , ui,npp
~ t1 }
e {u~i,1 t , , ui,npc
~ t } so as partculas dos veculos no quadrot1 (Vit1 ) e no quadrot
(Vit ), respectivamente, nv o nmero de clusters que correspondem a veculos, npp e
71
(4.18)
j=1
(~u u)
~ T 1
u u)
~
u (~
(4.19)
72
73
(a) Wi,p
(b) Wi,p
Figura 4.18: Exemplo de similaridade entre histogramas de cor. Neste exemplo Hi,p
e Hi,c no so muito similares de acordo com a Equao 3.13, possuindo um valor de
similaridade de shist (Hi,p , Hi,c ) = 0, 6631.
74
(a) Wi,p
(b) Wi,c
Figura 4.19: Exemplo de similaridade entre histogramas de cor. Neste exemplo Hi,p e
Hi,c so similares de acordo com a Equao 3.13, possuindo um valor de similaridade de
shist (Hi,p , Hi,c ) = 0, 9948.
75
4.9
Contagem de Veculos
76
(a)
(b)
(c)
(d)
(e)
(f)
77
(a)
(b)
(c)
(d)
(e)
(f)
Figura 4.22: Ilustrao do processo de incremento do contador de veculos do lao virtual. (a) veculo entrando no lao virtual; (b) caixa envolvendo o veculo detectado; (c)
partculas correspondentes ao veculo rastreado; (d) regio convexa formada pelas partculas (CT ); (e) rea de interseco entre a regio convexa correspondente ao veculo
(CT ) com os laos virtuais (Lao1 e Lao2 ); (f) ativao do lao virtual com maior rea
de interseco (Lao1 ).
78
RESULTADOS EXPERIMENTAIS
79
seis diferentes cmeras, cedidos pela Empresa Pblica de Transporte e Circulao (EPTC)
de Porto Alegre - RS, com resoluo originalmente variando entre 1280960 e 640480
pixels, que foram redimensionados para 320 240 pixels para reduzir o tempo de processamento, com cada vdeo possuindo em mdia 8 minutos de durao e taxa de 25 quadros
por segundo, totalizando mais de 80 mil quadros, e consistem em vdeos diurnos com
iluminao relativamente uniforme, obtidos atravs de cmeras fixas posicionadas acima
da via, de modo que o fluxo de veculos ocorra na direo vertical, sendo que na parte
superior do vdeo os veculos esto mais afastados da cmera, e na parte inferior mais
prximos da cmera. Sero apresentados exemplos de deteco e rastreamento para cada
um dos vdeos, juntamente com os seus respectivos resultados e comparaes.
O tempo de processamento do mtodo em media 8 segundos por quadro. Isso se
deve ao fato de estar implementado em Matlab. As etapas de maior complexidade so as
etapas de fuso/diviso de clusters e de deteco dos veculos. Nessas etapas, necessrio verificar todos os agrupamentos existentes na cena, e tambm envolve o clculo de
distncias entre partculas e entre cluster. Com a otimizao do cdigo e a utilizao de
uma plataforma mais rpida que o Matlab, como C/C++, por exemplo, esperado que o
mtodo possa executar em tempo real, sendo que muitos dos testes e verificaes realizados em cada uma das etapas no precisam executar sequencialmente, como est sendo
executado neste trabalho.
Para cada vdeo apresentado uma tabela contendo o nmero de veculos detectados
sobre os laos virtuais em cada uma das pistas da via para o mtodo proposto e para os
mtodos de comparao. Em seguida, so apresentadas outras duas tabelas, uma com
o nmero de veculos que no foram detectados e outra com o nmero de veculos que
foram contados mais de uma vez. Por fim, exibida uma tabela com o resultado geral,
considerando os vdeos de todas as cmeras. A Seo 5.1 apresenta a discusso a respeito
dos resultados obtidos, sendo descritas tambm as situaes em que ocorreram falhas no
mtodo proposto e as possveis correes que poderiam ser realizadas.
5.1
Resultados e Discusso
A seguir, sero exibidos exemplos de cada uma das cmeras utilizadas nos testes.
Sero exibidos quadros dos vdeos processados, a mscara de foreground obtida e as
posies da regio de interesse e dos laos virtuais de cada uma das cmeras. Sero
apresentados tambm exemplos de rastreamento e contagem dos veculos, assim como
falhas e outras situaes que ocorreram em cada um dos vdeos.
Para cada uma das cmeras sero apresentadas trs tabelas. A primeira mostrar os
resultados obtidos para a contagem com o mtodo proposto e tambm com os mtodos
comparativos. Os resultados so comparados com os valores da contagem real, obtidos
atravs de inspeo visual. A tabela apresenta para cada uma das pistas a contagem de
veculos, a diferena da contagem para o valor real, o erro em relao ao valor real e a
porcentagem do erro. Esses valores tambm so apresentados para o total da via, ou seja,
o somatrio de todas as pistas, onde a porcentagem do erro calculada como o nmero
total de erros sobre o nmero real de veculos no vdeo.
Outras duas tabelas apresentam o nmero de veculos que no foram detectados em
cada um dos mtodos, e o nmero de veculos que foram detectados mltiplas vezes, ou
seja, os veculos que acabaram sendo divididos e contados como se fossem mais de um
veculo. So apresentados os valores totais e tambm os valores para cada uma das pistas,
separadamente. Para melhor analisar os resultados, os veculos foram divididos em trs
80
(a)
(b)
(c)
(d)
Figura 5.1: Vdeo Cam06. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
A Figura 5.2a exibe um exemplo de rastreamento de veculos na Cam06. So exibidos
quadros mostrando desde o momento que o veculo entra na regio de interesse at o momento que ele sai. Cada veculo que est sendo rastreado possui um retngulo, em verde,
ao seu redor, juntamente com um nmero identificador, em vermelho, que permanece o
mesmo at o veculo sair da regio de interesse. Na Figura 5.3 ilustrado o processo
de contagem dos veculos na Cam06. Quando o veculo passa sobre a regio dos laos
virtuais, o lao que tiver a maior rea de interseco com esse veculo ativado, o que
indicado pela mudana de cor do lao, de vermelho para verde, e o valor do contador
associado com o lao que foi ativado incrementado.
A Tabela 5.1 mostra os resultados obtidos para a contagem dos veculos da Cam06
com o mtodo proposto e tambm com os mtodos comparativos.
A Tabela 5.2 apresenta o nmero de veculos que no foram detectados em cada um
dos mtodos, e a Tabela 5.3 apresenta o nmero de veculos que foram detectados mltiplas vezes, ou seja, os veculos que acabaram sendo divididos e contados como se fossem
81
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
KIM
SANCHEZ et al.
Pista 1
Pista 2
Pista 3
Total
43
92
89
224
Contagem
82
Diferena
39
Erro
39
Erro (%) 90.70%
103
11
11
11.96%
80
-9
9
10.11%
265
41
59
26.34%
Contagem
51
Diferena
8
Erro
8
Erro (%) 18.60%
100
8
8
8.70%
96
7
7
7.87%
247
23
23
10.27%
92
0
0
0.00%
92
3
3
3.37%
225
1
5
2.23%
Contagem
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
41
-2
2
4.65%
82
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.3: Exemplo do processo de contagem de veculos na Cam06. (a) - (i) exemplificam o processo de contagem dos veculos sobre os laos virtuais.
83
Mtodo
KIM
SANCHEZ et al.
Mtodo Proposto
Total Veculos
Motocicletas
Carros
Caminhes
1 (5)
0 (26)
0 (12)
0 (3)
4 (83)
0 (6)
2 (3)
9 (80)
0 (6)
3
13
0
Total
11
16
Motocicletas
Carros
Caminhes
5 (5)
3 (26)
2 (12)
0 (3)
5 (83)
1 (6)
0 (3)
9 (80)
1 (6)
5
17
4
Total
10
10
26
Motocicletas
Carros
Caminhes
0 (5)
2 (26)
1 (12)
1 (3)
2 (83)
0 (6)
0 (3)
1 (80)
0 (6)
1
5
1
Total
Tipo de Veculo
Pista 1
Pista 2
Pista 3
Total Veculos
KIM
Motocicletas
Carros
Caminhes
0 (5)
8 (26)
32 (12)
0 (3)
8 (83)
7 (6)
0 (3)
1 (80)
1 (6)
0
17
40
Total
40
15
57
Motocicletas
Carros
Caminhes
0 (5)
11 (26)
7 (12)
1 (3)
5 (83)
8 (6)
1 (3)
14 (80)
2 (6)
2
30
17
Total
18
14
17
49
Motocicletas
Carros
Caminhes
0 (5)
1 (26)
0 (12)
0 (3)
0 (83)
3 (6)
0 (3)
4 (80)
0 (6)
0
5
3
Total
SANCHEZ et al.
Mtodo Proposto
Como pode ser visto na Figura 5.2a, existe um semforo na via, o que torna mais
difcil a contagem correta dos veculos, pois quando os veculos param devido ao sinal de
trnsito, eles ficam muito prximos uns dos outros, podendo inclusive ocorrer situaes de
ocluses de veculos, principalmente se estiverem presentes na cena veculos de grandes
dimenses. O mtodo proposto por Sanchez et al. tende a considerar os veculos parados
como parte do fundo e o mtodo proposto por Kim tende a dividir os veculos grandes em
vrios objetos, contando mltiplas vezes o mesmo veculo.
84
A Tabela 5.1 apresenta o resultados da contagem com cada um dos mtodos. Nela
observamos que o mtodo proposto obteve o menor valor de erro, 2,23%, e que o mtodo proposto por Kim apresentou um valor bastante alto. Analisando a Tabela 5.2 e a
Tabela 5.3, notamos que isso se deve ao elevado nmero de veculos detectados mais de
uma vez na pista 1, especialmente veculos grandes, enquanto deixou de contar apenas
um veculo.
O mtodo proposto por Sanchez et al. tambm obteve um nmero elevado de veculos
detectados mltiplas vezes em todas as pistas, assim como um nmero elevado de veculos
no detectados, fazendo com que o nmero de veculos no detectados fosse compensado
pelo nmero de veculos detectados mais de uma vez. Por isso, o valor do erro total
ficou menor que no mtodo proposto por Kim. Isso ocorre quando os veculos param
no sinal de trnsito, e o mtodo proposto por Sanchez et al. detecta os veculos muito
prximos como sendo um nico objeto, principalmente os menores. Outro motivo para
as deteces mltiplas ocorridas a utilizao de um modelo de fundo adaptativo por
Sanchez et al., pois quando os veculos ficam parados, eles so considerados como parte
do fundo, mesmo os que j foram detectados e contados. Quando os veculos retornam o
movimento, o mtodo considera esses veculos como parte do foreground novamente, e
os mesmos veculos so detectados e contados mais uma vez.
A Figura 5.4a mostra um quadro de exemplo do vdeo Cam25, e a Figura 5.4b a
sua respectiva mscara de foreground. Podemos observar que quando os veculos esto
parados no sinal, eles ficam muito prximos uns dos outros, fazendo com que os objetos
da mscara binria fiquem conectados, s voltando normalidade quando os veculos
reiniciam o movimento. A Figura 5.4c exibe as linhas, em vermelho, que delimitam a
regio de interesse. A ROI foi posicionada de maneira a cobrir todas as pistas da via. Cada
uma das pistas recebeu um lao virtual, posicionado prximo do ponto onde os veculos
deixam a rea de interesse, como exibido na Figura 5.4d. Essa cmera apresenta pequenos
movimentos e vibraes, por isso, os laos virtuais tiveram a sua largura diminuda para
no ficarem prximos das linhas que dividem as pistas, pois isso poderia fazer com que
as linhas fossem detectadas como veculos.
A Figura 5.5 exibe um exemplo de rastreamento de veculos na Cam25. Nesse exemplo podemos ver que os veculos so detectados como sendo apenas um nico veculo
quando entram na ROI, mas quando se aproximam da parte inferior do vdeo, passam
a ser detectados corretamente, com cada veculo rastreado recebendo um retngulo, em
verde, ao seu redor, e um nmero identificador diferente, em vermelho. Na Figura 5.6
apresentada uma sequncia de quadros que mostra as faixas da pista sendo detectadas
como veculos, devido vibrao da cmera. Apesar disso, esses erros de deteco no
so contados como veculos, pois no ocorrem sobre os laos virtuais.
A Tabela 5.4 mostra os resultados obtidos para a contagem dos veculos da Cam25
com o mtodo proposto e tambm com os mtodos comparativos.
Na Tabela 5.5 apresentado o nmero de veculos que no foram detectados em cada
um dos mtodos e a Tabela 5.6 apresenta o nmero de veculos que foram detectados
mltiplas vezes.
Na Figura 5.4b apresentado um exemplo da mscara de foreground quando os veculos esto parados. Nela podemos observar que diversos veculos so detectados como
sendo um nico objeto na mscara. Isso ocorre devido proximidade dos veculos, que
ficam muito prximos enquanto esperam no semforo, com alguns at mesmo sofrendo
ocluses pelos veculos maiores.
Outra situao onde os veculos acabam fundidos em um s ilustrada na Figura 5.5.
85
(a)
(b)
(c)
(d)
Figura 5.4: Vdeo Cam25. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
KIM
SANCHEZ et al.
Pista 1
Pista 2
Pista 3
Total
97
68
24
189
Contagem
85
Diferena
-12
Erro
12
Erro (%) 12.37%
65
-3
3
4.41%
39
15
15
62.50%
189
0
30
15.87%
Contagem
118
Diferena
21
Erro
21
Erro (%) 21.65%
74
6
6
8.82%
22
-2
2
8.33%
214
25
29
15.34%
69
1
1
1.47%
25
1
1
4.17%
189
0
4
2.12%
Contagem
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
95
-2
2
2.06%
86
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Mtodo
KIM
SANCHEZ et al.
Mtodo Proposto
Total Veculos
Motocicletas
Carros
Caminhes
9 (26)
4 (63)
2 (8)
1 (6)
3 (54)
1 (8)
0 (0)
0 (0)
0 (24)
10
7
3
Total
15
20
Motocicletas
Carros
Caminhes
4 (26)
16 (63)
1 (8)
0 (6)
9 (54)
2 (8)
0 (0)
0 (0)
5 (24)
4
25
8
Total
21
11
37
Motocicletas
Carros
Caminhes
4 (26)
3 (63)
0 (8)
0 (6)
0 (54)
1 (8)
0 (0)
0 (0)
2 (24)
4
3
3
Total
10
87
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.6: Exemplo de rastreamento Cam25. (a) - (i) ilustram o rastreamento de veculos
em uma sequncia de quadros da Cam25. Devido vibrao da cmera, as faixas so
detectadas como objetos mveis na via. Entretanto, como no passam sobre os laos
virtuais, as faixas no so contadas como veculos.
Tabela 5.6: Veculos detectados mltiplas vezes na Cam25.
Mtodo
Tipo de Veculo
Pista 1
Pista 2
Pista 3
Total Veculos
KIM
Motocicletas
Carros
Caminhes
1 (26)
0 (63)
2 (8)
0 (6)
1 (54)
1 (8)
0 (0)
0 (0)
15 (24)
1
1
18
Total
15
20
Motocicletas
Carros
Caminhes
3 (26)
34 (63)
5 (8)
4 (6)
10 (54)
3 (8)
0 (0)
1 (0)
2 (24)
7
45
10
Total
42
17
62
Motocicletas
Carros
Caminhes
2 (26)
2 (63)
1 (8)
0 (6)
2 (54)
0 (8)
0 (0)
0 (0)
3 (24)
2
4
4
Total
10
SANCHEZ et al.
Mtodo Proposto
88
Quando os veculos esto entrando na regio de interesse, eles esto mais longe da cmera, isso faz com que os objetos detectados possuam um tamanho menor e tambm
apaream muito prximos uns dos outros, o que contribui para que os veculos sejam
fundidos. Apesar disso, quando os veculos vo se aproximando da sada da ROI, onde
esto posicionados os laos virtuais, eles passam a ser detectados como veculos diferentes e quando passam sobre os laos virtuais j esto corretamente detectados, sendo ento
contados sem erros.
A Figura 5.6 apresenta uma ocasio onde ocorrem falhas de deteco devido a vibraes na cmera. Com essas vibraes, ocorrem pequenos deslocamentos nas imagens,
fazendo com que as faixas sejam detectadas como objetos mveis na mscara de foreground em alguns quadros do vdeo. Para evitar que essas faixas fossem contadas como
veculos, optou-se por reduzir um pouco a largura dos laos virtuais, assim, mesmo que
ocorra algum deslocamento nos quadros, as faixas no entraram na rea dos laos virtuais,
e, portanto, no so incorretamente contadas como veculos.
Podemos observar na Tabela 5.4 que o mtodo proposto apresentou um erro de contagem menor que os mtodos comparativos. O mtodo proposto por Kim obteve uma
contagem maior na pista 3, isso causado pelo fato desse mtodo dividir veculos grandes em diversos objetos menores. O que pode ser verificado na Tabela 5.6, que indica
que a maioria dos veculos detectados mltiplas vezes so caminhes, e esto na pista
3. Pela Tabela 5.5 e pela tabela 3 vemos que o mtodo de Sanchez et al. obteve um
nmero equilibrado de veculos no detectados e detectados mltiplas vezes. Ele deixou
de detectar diversos veculos na pista 1, mas em compensao contou mltiplas vezes os
veculos dessa pista. Por detectar o fundo da cena de maneira adptativa, os veculos que
ficam parados durante certo tempo so considerados parte do fundo da cena, e, quando o
retornam o movimento, so contados novamente.
A Figura 5.7a mostra um quadro de exemplo do vdeo Cam41, e a Figura 5.7b a
sua respectiva mscara de foreground. A Figura 5.7c exibe as linhas, em vermelho, que
delimitam a regio de interesse. A ROI no cobre inteiramente a via, pois existe um
defeito na obteno do vdeo, que causa um reflexo nas imagens, que pode ser observado
na Figura 5.8. Assim, a ROI foi definida um pouco acima dessa regio para evitar a
interferncia do problema do vdeo na contagem. As pistas recebem os laos virtuais, que
foram posicionados dentro da rea de interesse, cobrindo toda a extenso da via, prximo
do ponto onde os veculos deixam a rea de interesse, como exibido na Figura 5.7d.
A Figura 5.9 exibe um exemplo de rastreamento de veculos na Cam41. Nesse exemplo podemos ver que os veculos so detectados como sendo apenas um nico veculo
quando entram na ROI, mas quando se aproximam da parte inferior do vdeo, passam a
ser detectados corretamente, com cada veculo rastreado recebendo um retngulo verde
ao seu redor, e um nmero identificador diferente, em vermelho. Na Figura 5.10 apresentada uma sequncia de quadros que mostra uma falha na contagem. Um veculo longo
detectado como dois veculos diferentes.
A Tabela 5.7 mostra os resultados obtidos para a contagem dos veculos da Cam41
com o mtodo proposto e tambm com os mtodos comparativos. Os resultados so
comparados com os valores da contagem real, obtidos atravs de inspeo visual.
A Tabela 5.8 apresenta o nmero de veculos que no foram detectados em cada um
dos mtodos, e a Tabela 5.9 apresenta o nmero de veculos que foram detectados mltiplas vezes.
Na Figura 5.7 observamos que a Cam41 no apresenta semforos, e os veculos andam em um fluxo contnuo, no precisando parar em sinais de trnsito, dessa forma, no
89
(a)
(b)
(c)
(d)
Figura 5.7: Vdeo Cam41. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
(a)
(b)
(c)
(d)
(e)
(f)
Figura 5.8: Defeito na obteno dos vdeos da Cam41. (a) - (f) exibem quadros da Cam41
ilustrando os reflexos nas imagens.
90
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Pista 1
Pista 2
Pista 3
Total
Inspecao Visual
Contagem
10
157
84
251
KIM
Contagem
Diferena
Erro
Erro (%)
10
0
0
0.00%
185
28
28
17.83%
81
-3
3
3.57%
276
25
31
12.35%
Contagem
11
Diferena
1
Erro
1
Erro (%) 10.00%
132
-25
25
15.92%
83
-1
1
1.19%
226
-25
27
10.76%
162
5
5
3.18%
82
-2
2
2.38%
254
3
7
2.79%
SANCHEZ et al.
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
10
0
0
0.00%
91
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.10: Exemplo de falha de contagem na Cam41. (a) - (i) ilustram o rastreamento
de veculos em uma sequncia de quadros da Cam41. Um veculo longo detectado como
dois veculos distintos.
Mtodo
KIM
SANCHEZ et al.
Mtodo Proposto
Total Veculos
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
0 (0)
2 (6)
5 (122)
0 (29)
0 (5)
4 (70)
1 (9)
2
9
1
Total
12
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
0 (0)
0 (6)
18 (122)
7 (29)
0 (5)
1 (70)
0 (9)
0
19
7
Total
25
26
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
0 (0)
0 (6)
1 (122)
0 (29)
0 (5)
2 (70)
0 (9)
0
3
0
Total
92
Tipo de Veculo
Pista 1
Pista 2
Pista 3
Total Veculos
KIM
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
0 (0)
0 (6)
1 (122)
34 (29)
0 (5)
0 (70)
2 (9)
0
1
36
Total
35
37
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
1 (0)
0 (6)
0 (122)
0 (29)
0 (5)
0 (70)
0 (9)
0
0
1
Total
Motocicletas
Carros
Caminhes
0 (1)
0 (9)
0 (0)
0 (6)
3 (122)
3 (29)
0 (5)
0 (70)
0 (9)
0
3
3
Total
SANCHEZ et al.
Mtodo Proposto
93
(a)
(b)
(c)
(d)
Figura 5.11: Vdeo Cam64. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
para essa cmera. Devido posio da cmera, os veculos da primeira pista, localizada
na parte esquerda do vdeo, sofrem ocluses, principalmente quando veculos maiores,
como nibus, esto na pista central.
A Tabela 5.10 mostra os resultados obtidos para a contagem dos veculos da Cam64
com o mtodo proposto e tambm com os mtodos comparativos.
Na Tabela 5.11 apresentado o nmero de veculos que no foram detectados em
cada um dos mtodos, enquanto a Tabela 5.12 apresenta o nmero de veculos que foram
detectados mltiplas vezes.
A via monitorada pela Cam64, ilustrada na Figura 5.11, apresenta um semforo.
Como visto anteriormente, isso causa problemas de deteco e ocluses, devido aos veculos ficarem muito prximos quando parados. Uma outra dificuldade encontrada o
fato do vdeo j iniciar com os veculos parados, no tendo portanto nenhum movimento
detectado na mscara de foreground. Quando os veculos comeam o movimento, eles
comeam a ser detectados corretamente, mas alguns veculos, principalmente os que j
estavam prximos ou sobre os laos virtuais, so detectados e contados incorretamente,
como ilustrado na Figura 5.12.
Na Cam64, temos tambm uma situao em que a pista 1, mais a esquerda do vdeo,
fica livre enquanto os veculos esto parados no semforo nas pistas 2 e 3. Assim, os
veculos da pista 1 sofrem ocluses quando existem veculos grandes parados na faixa
central.
A Tabela 5.10 mostra que todos os mtodos tiveram mais dificuldades com as pistas
2 e 3, devido ao fato dos veculos ficarem parados e muito prximos. O mtodo proposto
por Kim apresentou um grande nmero de erros na contagem, principalmente na pista 2,
onde, conforme a Tabela 5.12, diversos veculos foram detectados mltiplas vezes, principalmente os veculos grandes. O mtodo proposto por Sanchez et al. deixou de contar
diversos veculos, como pode ser observado na Tabela 5.11, principalmente motocicletas,
94
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.12: Exemplo de falha de deteco na Cam64. (a) - (i) ilustram o rastreamento de
veculos na Cam64 em uma situao onde ocorrem problemas de deteco dos veculos.
O problema ocorre devido aos veculos estarem parados no incio do vdeo, o que faz com
que a mscara de foreground fique fragmentada, voltando ao normal conforme os veculos
se movem.
95
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.13: Exemplo ocluses na Cam64. (a) - (i) ilustram o rastreamento de veculos na
Cam64 em uma situao onde ocorrem problemas de ocluso de veculos. Devido posio da cmera, os veculos da primeira pista sofrem ocluses quando veculos maiores,
como nibus, esto na pista central.
Tabela 5.10: Contagem de veculos para a Cam64.
Mtodo
Pista 1
Pista 2
Pista 3
Total
Inspecao Visual
Contagem
72
36
54
162
KIM
Contagem
Diferena
Erro
Erro (%)
67
-5
5
6.94%
48
12
12
33.33%
43
-11
11
20.37%
158
-4
28
17.28%
SANCHEZ et al.
Contagem
Diferena
Erro
Erro (%)
67
-5
5
6.94%
33
-3
3
8.33%
61
7
7
12.96%
161
-1
15
9.26%
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
73
1
1
1.39%
41
5
5
13.89%
55
1
1
1.85%
169
7
7
4.32%
96
Mtodo
KIM
SANCHEZ et al.
Mtodo Proposto
Motocicletas
Carros
Caminhes
2 (14)
8 (50)
0 (8)
0 (1)
2 (27)
0 (8)
3 (10)
8 (42)
1 (2)
5
18
1
Total
10
12
24
Motocicletas
Carros
Caminhes
8 (14)
13 (50)
0 (8)
1 (1)
6 (27)
3 (8)
7 (10)
7 (42)
0 (2)
16
26
3
Total
21
10
14
45
Motocicletas
Carros
Caminhes
0 (14)
3 (50)
0 (8)
0 (1)
1 (27)
0 (8)
3 (10)
1 (42)
0 (2)
3
5
0
Total
Tipo de Veculo
Pista 1
Pista 2
Pista 3
Total Veculos
KIM
Motocicletas
Carros
Caminhes
0 (14)
1 (50)
4 (8)
0 (1)
5 (27)
9 (8)
0 (10)
1 (42)
0 (2)
0
7
13
Total
14
20
Motocicletas
Carros
Caminhes
1 (14)
8 (50)
7 (8)
0 (1)
5 (27)
2 (8)
2 (10)
17 (42)
2 (2)
3
30
11
Total
16
21
44
Motocicletas
Carros
Caminhes
0 (14)
3 (50)
1 (8)
0 (1)
1 (27)
5 (8)
1 (10)
1 (42)
3 (2)
1
5
9
Total
15
SANCHEZ et al.
Mtodo Proposto
97
que passam muito prximas dos veculos. Esse mtodo tambm teve bastante veculos
detectados mais de uma vez, como apontado na Tabela 5.12. Comparando a Tabela 5.12
e a Tabela 5.11, podemos notar que o mtodo de Sanchez et al. obteve um valor de erro
menor devido ao nmero equilibrado entre veculos no detectados e veculos detectados
mltiplas vezes.
Apesar de ter obtido o melhor resultado, o mtodo proposto tambm apresentou um
nmero elevado de veculos detectados mltiplas vezes, devido aos veculos pararem no
semforo, fazendo com que os objetos da mscara de foreground fiquem todos conectados, como um nico objeto, e, quando os veculos reiniciam o movimento, a mscara
de foreground fique fragmentada por alguns instantes, causando mltiplas deteces dos
veculos prximos aos laos virtuais.
A Figura 5.14a mostra um quadro de exemplo do vdeo Cam68, e a Figura 5.14b a sua
respectiva mscara de foreground. A Figura 5.14c exibe as linhas, em vermelho, da regio
de interesse. Ao contrrio dos outros vdeos, este possui apenas duas faixas de trfego,
e cada uma recebeu um lao virtual, posicionado na parte inferior da imagem, onde os
veculos deixam a rea de interesse, como exibido na Figura 5.14d.
(a)
(b)
(c)
(d)
Figura 5.14: Vdeo Cam68. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
A Figura 5.15 exibe um exemplo de rastreamento de veculos na Cam68. Aqui os veculos tambm estavam parados, e tambm ocorre uma fragmentao da mscara de foreground, fazendo com que os objetos da cena sejam detectados incorretamente. Entretanto,
como podemos observar na imagem, assim que os veculos comeam a se movimentar,
e se aproximar da parte inferior do vdeo, so todos detectados e contados corretamente,
com cada veculo rastreado recebendo ao seu redor um retngulo, em verde, e um nmero
identificador diferente, em vermelho. Na Figura 5.16 apresentada uma sequncia de
quadros onde os veculos esto parados e muito prximos, e todos os veculos so detectados como um nico objeto, principalmente por causa do nibus, que, devido ao seu
tamanho, faz com que ele cubra uma parte dos veculos da pista ao lado. Conforme os
98
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
99
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.16: Exemplo de falha de contagem na Cam68. (a) - (i) mostram uma sequncia
de quadros da Cam68 onde os veculos esto parados e muito prximos. Os veculos so
detectados como um nico objeto e, conforme os veculos se movimentam, alguns dos
veculos so detectados e contados corretamente, porm, pelo menos trs veculos no
so contados.
100
Pista 1
Pista 2
Total
66
88
154
Contagem
83
Diferena
17
Erro
17
Erro (%) 25.76%
91
3
3
3.41%
174
20
20
12.99%
Contagem
Diferena
Erro
Erro (%)
66
0
0
0.00%
96
8
8
9.09%
162
8
8
5.19%
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
65
-1
1
1.52%
89
1
1
1.14%
154
0
2
1.30%
Inspecao Visual
KIM
SANCHEZ et al.
Contagem
KIM
SANCHEZ et al.
Mtodo Proposto
Motocicletas
Carros
Caminhes
1 (7)
0 (43)
1 (16)
2 (17)
3 (64)
0 (7)
3
3
1
Total
Motocicletas
Carros
Caminhes
4 (7)
14 (43)
2 (16)
11 (17)
8 (64)
2 (7)
15
22
4
Total
20
21
41
Motocicletas
Carros
Caminhes
2 (7)
6 (43)
1 (16)
2 (17)
1 (64)
0 (7)
4
7
1
Total
12
101
Tipo de Veculo
Pista 1
Pista 2
Total Veculos
KIM
Motocicletas
Carros
Caminhes
0 (7)
5 (43)
14 (16)
0 (17)
0 (64)
8 (7)
0
5
22
Total
19
27
Motocicletas
Carros
Caminhes
3 (7)
11 (43)
6 (16)
0 (17)
17 (64)
12 (7)
3
28
18
Total
20
29
49
Motocicletas
Carros
Caminhes
1 (7)
5 (43)
2 (16)
0 (17)
0 (64)
4 (7)
1
5
6
Total
12
SANCHEZ et al.
Mtodo Proposto
valor real, principalmente na pista 1. Observando a Tabela 5.15 vemos que isso ocorre
devido ao elevado nmero de veculos que foram detectados mltiplas vezes, principalmente caminhes, que so divididos em vrios objetos. J o mtodo de Sanchez et al.,
apresentou para esse vdeo um nmero equilibrado de veculos no detectados e veculos
detectados mltiplas vezes. Esse mtodo apresentou um grande nmero de motocicletas
no detectadas, devido ao posicionamento da cmera ser mais afastado da pista e, novamente, contou multiplamente diversos veculos em ambas as pistas, devido ao fato do
mtodo proposto por Sanchez et al. detectar o fundo da cena adaptativamente, fazendo
com que os veculos que ficam parados durante certo tempo sejam considerados parte do
fundo da cena, e, quando o retornam o movimento, so contados novamente.
A Figura 5.17a exibe um quadro de exemplo do vdeo Cam73, enquanto a Figura 5.17b
exibe a sua respectiva mscara de foreground. Na Figura 5.17c so exibidas as linhas, em
vermelho, que delimitam a regio de interesse. Esse vdeo possui um ngulo de viso
mais elevado, capturando uma vista do topo da cena, por isso os laos virtuais deste vdeo
foram posicionados na parte central da imagem, para que pudessem cobrir totalmente as
pistas externas, como exibido na Figura 5.17d.
A Figura 5.18 ilustra o rastreamento de veculos na Cam73. Neste vdeo, por ter
uma viso mais do topo da cena, alguns veculos ocupam toda a regio de interesse. Na
imagem podemos observar que o veculo maior que a rea de interesse, entretanto, ele
detectado e contado corretamente. Na Figura 5.19 apresentada uma sequncia de
quadros onde ocorre uma deteco mltipla de um veculo, que dividido em duas partes
e contado como sendo dois veculos diferentes.
A Tabela 5.16 exibe os resultados obtidos para a contagem dos veculos da Cam73
utilizando o mtodo proposto e tambm os mtodos comparativos.
Na Tabela 5.17 apresentado o nmero de veculos que no foram detectados, utilizando cada um dos mtodos, enquanto na Tabela 5.18 apresentado o nmero de veculos
que foram contados mais de uma vez.
A Figura 5.17 ilustra a Cam73, que um dos cenrios onde no existem veculos
parados nas sinalizaes de trnsito, no apresentando tantos problemas relacionados com
102
(a)
(b)
(c)
(d)
Figura 5.17: Vdeo Cam73. (a) uma sequncia do vdeo; (b) mscara de foreground; (c)
regio de interesse; (d) laos virtuais.
KIM
SANCHEZ et al.
Pista 1
Pista 2
Pista 3
Total
Contagem
25
48
28
101
Contagem
Diferena
Erro
Erro (%)
24
-1
1
4.00%
43
-5
5
10.42%
18
-10
10
35.71%
89
-16
16
15.84%
Contagem
21
Diferena
-4
Erro
4
Erro (%) 16.00%
49
1
1
2.08%
28
0
0
0.00%
98
-3
5
4.95%
51
3
3
6.25%
29
1
1
3.57%
105
4
4
3.96%
Contagem
Diferena
Mtodo Proposto
Erro
Erro (%)
25
0
0
0.00%
103
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Mtodo
KIM
SANCHEZ et al.
Mtodo Proposto
Motocicletas
Carros
Caminhes
0 (1)
5 (17)
0 (7)
1 (3)
6 (34)
0 (11)
0 (1)
10 (25)
0 (2)
1
21
0
Total
10
22
Motocicletas
Carros
Caminhes
0 (1)
1 (17)
3 (7)
1 (3)
0 (34)
0 (11)
0 (1)
1 (25)
0 (2)
1
2
3
Total
Motocicletas
Carros
Caminhes
0 (1)
0 (17)
0 (7)
0 (3)
0 (34)
0 (11)
0 (1)
0 (25)
0 (2)
0
0
0
Total
104
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figura 5.19: Exemplo de deteco mltipla de veculos na Cam73. (a) - (i) ilustram uma
sequncia de quadros da Cam73 onde um veculo dividido em duas partes e contado
como sendo dois veculos diferentes.
Tabela 5.18: Veculos detectados mltiplas vezes na Cam73.
Mtodo
Tipo de Veculo
Pista 1
Pista 2
Pista 3
Total Veculos
KIM
Motocicletas
Carros
Caminhes
0 (1)
0 (17)
4 (7)
0 (3)
0 (34)
2 (11)
0 (1)
0 (25)
0 (2)
0
0
6
Total
Motocicletas
Carros
Caminhes
0 (1)
0 (17)
0 (7)
0 (3)
0 (34)
2 (11)
0 (1)
0 (25)
1 (2)
0
0
3
Total
Motocicletas
Carros
Caminhes
0 (1)
0 (17)
0 (7)
0 (3)
2 (34)
1 (11)
0 (1)
0 (25)
1 (2)
0
2
2
Total
SANCHEZ et al.
Mtodo Proposto
105
106
Mtodo Proposto
KIM
SANCHEZ et al.
Cont. Dif. Erro Erro (%) Cont. Dif. Erro Erro (%) Cont. Dif. Erro Erro (%)
Pista 1
Pista 2
Cam06
Pista 3
43
92
89
41
92
92
-2
0
3
2
0
3
4.65%
0.00%
3.37%
82 39
103 11
80 -9
39
11
9
90.70%
11.96%
10.11%
51
100
96
8
8
7
8
8
7
18.60%
8.70%
7.87%
Total
224
225
2.23%
265 41
59
26.34%
247 23
23
10.27%
Pista 1
Cam25 Pista 2
Pista 3
97
68
24
95
69
25
-2
1
1
2
1
1
2.06%
1.47%
4.17%
85
65
39
-12 12
-3 3
15 15
12.37%
4.41%
62.50%
118 21
74 6
22 -2
21
6
2
21.65%
8.82%
8.33%
Total
189
189
2.12%
189
30
15.87%
214 25
29
15.34%
Pista 1
Cam41 Pista 2
Pista 3
10
157
84
10
162
82
0
5
-2
0
5
2
0.00%
3.18%
2.38%
10 0
185 28
81 -3
0
28
3
0.00%
17.83%
3.57%
11 1
1
132 -25 25
83 -1 1
10.00%
15.92%
1.19%
Total
251
254
2.79%
276 25
31
12.35%
226 -25 27
10.76%
Pista 1
Pista 2
Cam64
Pista 3
72
36
54
73
41
55
1
5
1
1
5
1
1.39%
13.89%
1.85%
67
48
43
-5 5
12 12
-11 11
6.94%
33.33%
20.37%
67
33
61
-5
-3
7
5
3
7
6.94%
8.33%
12.96%
Total
162
169
4.32%
158
-4
28
17.28%
161
-1
15
9.26%
Pista 1
Cam68 Pista 2
66
88
65
89
-1
1
1
1
1.52%
1.14%
83
91
17
3
17
3
25.76%
3.41%
66
96
0
8
0
8
0.00%
9.09%
Total
154
154
1.30%
174 20
20
12.99%
162
5.19%
Pista 1
Pista 2
Cam73
Pista 3
25
48
28
25
51
29
0
3
1
0
3
1
0.00%
6.25%
3.57%
24
43
18
-1 1
-5 5
-10 10
4.00%
10.42%
35.71%
21
49
28
-4
1
0
4
1
0
16.00%
2.08%
0.00%
101
105
3.96%
85
-16 16
15.84%
98
-3
4.95%
1081
1096 15
29
2.68%
Total
Geral
9.90%
Mtodo Proposto
KIM
SANCHEZ et al.
Pista 1 Pista 2 Pista 3 Total Pista 1 Pista 2 Pista 3 Total Pista 1 Pista 2 Pista 3 Total
Cam06
Cam25
Cam41
Cam64
Cam68
Cam73
3
7
0
3
9
0
3
1
1
1
3
0
1
2
2
4
0
7
10
3
8
12
0
1
15
0
10
2
5
4
5
7
2
5
7
11
0
5
12
10
16
20
12
24
7
22
10
21
0
21
20
4
6
11
25
10
21
1
10
5
1
14
1
26
37
26
45
41
6
Geral
22
40
33
30
38
101
76
74
31
181
107
Mtodo Proposto
KIM
SANCHEZ et al.
Pista 1 Pista 2 Pista 3 Total Pista 1 Pista 2 Pista 3 Total Pista 1 Pista 2 Pista 3 Total
Cam06
Cam25
Cam41
Cam64
Cam68
Cam73
1
5
0
4
8
0
3
2
6
6
4
3
4
3
0
5
1
8
10
6
15
12
4
40
3
0
5
19
4
15
2
35
14
8
2
2
15
2
1
0
57
20
37
20
27
6
18
42
1
16
20
0
14
17
0
7
29
2
17
3
0
21
1
49
62
1
44
49
3
Geral
18
24
13
55
71
76
20
167
97
69
42
208
108
109
6.1
Trabalhos Futuros
Infelizmente, no existe uma abordagem consolidada capaz de lidar com todas as dificuldades encontradas no monitoramento de trfego. Essas dificuldades podem ser causadas, por exemplo, por distores na lente da cmera, mudanas de iluminao, sombras
dos veculos, que so detectadas como se fizessem parte dos veculos, por congestionamentos, que fazem com que o trfego fique lento ou parado, o que impossibilita a utilizao de abordagens de deteco baseadas em movimento, alm do fato de os veculos
andarem muito prximos uns dos outros ocasionar a ocluso de alguns veculos (LI et al.,
2013). Outro desafio ter um mtodo robusto que possa operar de maneira contnua, com
cmeras que funcionam dia e noite, sendo necessrio processar vdeos que foram capturados atravs de cmeras de viso noturna e tambm com as mais diversas condies
climticas.
Todos esses fatores fazem com que encontrar uma soluo para cada uma destas situaes seja realmente uma tarefa desafiadora, tendo agora que desenvolver mtodos mais
robustos que lidem com situaes e cenrios mais complexos e desafiadores, onde os
mtodos e abordagens tradicionais falham em obter resultados satisfatrios.
Em trabalhos futuros, pretende-se resolver algumas dessas limitaes. Futuramente,
sero investigados meios para lidar com cmeras que operam de maneira contnua, sofrendo os efeitos das mudanas de iluminao e sombras ao longo do dia, mudanas
climticas, e tambm a utilizao de cmeras noturnas. Outras situaes que sero investigadas futuramente so situaes de trfego lento, onde no se tem informao de
movimento, e as situaes em que a proximidade entre os veculos ocasiona ocluses.
Aps resolver essas situaes, planejada a criao deu um sistema de monitoramento
de fluxo de trfego, onde ser possvel determinar trajetrias, contagem e tipo de veculos
em cada pista, extrair caractersticas e outras informaes relevantes dos veculos, que
podem ser utilizadas para diversos fins, como detectar violaes de trnsito, congestionamentos, entre outros.
Com o desenvolvimento desse sistema, pretende-se fazer tambm a classificao dos
veculos. Atravs da anlise do vdeo ser possvel detectar automaticamente os veculos
que trafegam na pista. Ser realizado o rastreamento de cada veculo, permitindo traar
a rota e determinar a trajetria do veculo, a contagem de veculos, e a classificao de
cada tipo de veculo. Os veculos detectados sero classificados em diferentes categorias,
como, por exemplo, carro, nibus, motocicleta, etc.
6.2
Publicaes
110
Resumo do trabalho: Este trabalho apresenta um novo mtodo para rastrear e contar veculos em seqncias de vdeo de trfego. O mtodo
proposto utiliza processamento de imagem, filtragem de partculas,
e coerncia de movimento para agupar partculas do vdeos, a formando regies convexas que so analisadas para potenciais veculos. Esta anlise leva em considerao a forma convexa dos objetos e informaes do background da cena para fundir, ou dividir, os
agrupamentos. Depois que um veculo detectado, ele rastreado
utilizando similaridade de histogramas de cor em janelas centradas
nas posies das partculas (BOUVIE; SCHARCANSKI; BARCELLOS; ESCOUTO, 2013).
ARTIGOS SUBMETIDOS PARA PUBLICAO EM PERIDICOS:
1. Counting and Tracking Vehicles in Urban Traffic Videos. Barcellos, P.; Bouvie,
C.; Lopes Escouto, F.; Scharcanski, J.. Submetido para: IEEE Transactions on
Instrumentation and Measurement.
Resumo do trabalho: Este artigo apresenta um mtodo para o rastreamento e contagem de veculos em vdeos de trnsito. Usando tcnicas de processamento de imagens e agrupamento de partculas,
o mtodo proposto usa coerncia de movimento e adjacncia espacial para agrupar partculas nas sequncias de vdeo. Uma mscara
de foreground criada usando o Gaussian Mixture Model e Motion
Energy Images para determinar os locais onde as partculas devem
ser geradas, e as formas convexas dos agrupamentos detectados so
ento analisados para a deteco de veculos. Esta anlise leva em
considerao a forma convexa do agrupamento de partculas (objetos), e a mscara de foreground para unir ou dividir os agrupamentos
obtidos. Depois que um veculo detectado, ele rastreado utilizando similaridade de histogramas de cor em janelas centradas nos
locais de partculas. A contagem de veculos ocorre atravs da interseco dos veculos rastreados com laos virtuais definidos pelo
usurio. Os testes foram realizados utilizando diferentes vdeos de
trfego, totalizando mais de 80.000 quadros. Os resultados preliminares foram comparados com mtodos semelhantes disponveis na
literatura, obtendo resultados equivalentes ou superiores (BARCELLOS; BOUVIE; SCHARCANSKI; FABIANO, 2013).
111
REFERNCIAS
BARCELLOS, P. et al. Counting and Tracking Vehicles in Urban Traffic Videos. IEEE
Transactions on Instrumentation and Measurement, [S.l.], 2013. Em processo de submisso.
BARJATYA, A. Block matching algorithms for motion estimation. IEEE Transactions
Evolution Computation, [S.l.], v.8, n.3, p.225239, 2004.
BERG, M. de et al. Computational Geometry Algorithms and Applications. [S.l.: s.n.],
2008. 386p.
BISHOP, C. M. Pattern Recognition and Machine Learning. [S.l.]: Springer, 2006,
2006. 738p.
BOUTTEFROY, P. L. M. et al. Vehicle tracking by non-drifting mean-shift using projective kalman filter. In: INTELLIGENT TRANSPORTATION SYSTEMS, 2008. ITSC
2008. 11TH INTERNATIONAL IEEE CONFERENCE ON. Proceedings. . . [S.l.: s.n.],
2008. p.6166.
BOUVIE, C. et al. Tracking and Counting Vehicles in Traffic Video Sequences Using
Particle Filtering. In: INSTRUMENTATION AND MEASUREMENT TECHNOLOGY
CONFERENCE (I2MTC), 2013 IEEE INTERNATIONAL. Proceedings. . . [S.l.: s.n.],
2013. p.812815.
BUCH, N.; VELASTIN, S. a.; ORWELL, J. A Review of Computer Vision Techniques
for the Analysis of Urban Traffic. IEEE Transactions on Intelligent Transportation
Systems, [S.l.], v.12, n.3, p.920939, Sept. 2011.
CHAN, Y.-M. et al. Vehicle detection and tracking under various lighting conditions using
a particle filter. IET Intelligent Transport Systems, [S.l.], v.6, n.1, p.1, 2012.
CHEN, T.-H.; LIN, Y.-F.; CHEN, T.-Y. Intelligent Vehicle Counting Method Based on
Blob Analysis in Traffic Surveillance. In: SECOND INT. CONF. INNOVATIVE COMPUTING, INFORMATION AND CONTROL ICICIC 07. Proceedings. . . [S.l.: s.n.],
2007.
CHEN, Y.-L. et al. A real-time vision system for nighttime vehicle detection and traffic
surveillance. IEEE Transactions on Industrial Electronics, [S.l.], v.58, n.5, p.2030
2044, 2011.
112
CHEN, Z.; ELLIS, T.; VELASTIN, S. Vehicle type categorization- a comparison of classification schemes. International IEEE Conference on Intelligent Transportation Systems, [S.l.], 2011.
COMANICIU, D.; RAMESH, V.; MEER, P. Real time tracking of non-rigid objects using
mean shift. In: IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 2000. Proceedings. . . [S.l.: s.n.], 2000. v.2, p.142149.
CUCCHIARA, R. et al. Detecting Moving Objects, Ghosts and Shadows in Video Streams. IEEE Transactions on Pattern Analysis and Machine Intelligence, [S.l.], v.25,
n.10, p.13371342, 2003.
DAVIS, J. W.; BOBICK, A. F. The representation and recognition of human movement using temporal templates. Proceedings of IEEE Computer Society Conference
on Computer Vision and Pattern Recognition, [S.l.], v.23, p.928934, 1997.
DUDA, R. O.; HART, P. E.; STORK, D. G. Pattern Classification (2Nd Edition). [S.l.]:
Wiley-Interscience, 2000.
DUFAUX, F.; MOSCHENI, F. Motion estimation techniques for digital TV A review and
a new contribution. Proceedings of the IEEE, [S.l.], 1995.
FERIS, R. S. et al. Large-Scale Vehicle Detection , Indexing , and Search in Urban Surveillance Videos. IEEE Transactions on Multimedia, [S.l.], v.14, n.1, p.2842, 2012.
FILHO, O. M.; NETO, H. V. Processamento Digital de Imagens. [S.l.]: Brasport, 1999.
331p.
FORSYTH, D. A.; PONCE, J. Computer Vision: a modern approach. [S.l.]: Prentice
Hall Professional Technical Reference, 2002.
GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing (2nd Edition). [S.l.]:
Prentice Hall, 2002.
HU, W. et al. Active contour-based visual tracking by integrating colors, shapes, and motions. IEEE Transactions on Image Processing, [S.l.], v.22, n.5, p.177892, May 2013.
JAIN, A. K. Fundamentals of Digital Image Processing. Upper Saddle River, NJ, USA:
Prentice-Hall, Inc., 1989.
JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data Clustering: a review. ACM Computing
Surveys (CSUR), New York, NY, USA, v.31, n.3, p.264323, Sept. 1999.
JOHNSON, R. A.; WICHERN, D. W. Applied Multivariate Statistical Analysis (6th
Edition). [S.l.]: Pearson, 2007.
JOUBERT, N. Background modelling and subtraction for object detection in video.
2009. Tese (Doutorado em Cincia da Computao) Stellenbosch University.
KAEWTRAKULPONG, P.; BOWDEN, R. An improved adaptive background mixture
model for real-time tracking with shadow detection. In: European Workshop on Advanced Video-Based Surveillance Systems. [S.l.]: Springer, 2001.
113
KANHERE, N. K.; BIRCHFIELD, S. T. Real-time incremental segmentation and tracking of vehicles at low camera angles using stable features. IEEE Transactions on Intelligent Transportation Systems, [S.l.], v.9, n.1, p.148160, 2008.
KASTRINAKI, V.; ZERVAKIS, M.; KALAITZAKIS, K. A survey of video processing
techniques for traffic applications. Image and Vision Computing, [S.l.], v.21, p.359
381, 2003.
KIM, Z. Real time object tracking based on dynamic feature grouping with background
subtraction. In: COMPUTER VISION AND PATTERN RECOGNITION, 2008. CVPR
2008. IEEE CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2008. p.18.
LAI, J.-C.; HUANG, S.-S.; TSENG, C.-C. Image-based vehicle tracking and classification on the highway. In: GREEN CIRCUITS AND SYSTEMS (ICGCS), 2010 INTERNATIONAL CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2010. p.666670.
LI, Y. et al. Vehicle Detection Based on the andor Graph for Congested Traffic Conditions.
IEEE Transactions on Intelligent Transportation Systems, [S.l.], v.14, n.2, p.984993,
June 2013.
LIANG, W.; WEIMING, H.; TIE-NIU, T. A survey of visual analysis of human motion.
Chinese Journal of Computers, [S.l.], v.25, n.3, p.225237, 2002.
LO, B. P. L.; VELASTIN, S. A. Automatic congestion detection system for underground
platforms. In: INTERNATIONAL SYMPOSIUM ON INTELLIGENT MULTIMEDIA,
VIDEO AND SPEECH PROCESSING, 2001. Proceedings. . . [S.l.: s.n.], 2001. p.158
161.
MAGALHAES, H. A. Anlise em alta resoluo de perfis magnticos de sensores a
lao indutivo para classificao de veculos automotores. 2008. Tese (Doutorado em
Cincia da Computao) UFMG.
MEI, X.; LING, H. Robust visual tracking and vehicle classification via sparse representation. IEEE transactions on pattern analysis and machine intelligence, [S.l.], v.33,
n.11, p.225972, Nov. 2011.
MOSSI, J. M. et al. Real-time traffic analysis at night-time. 2011 18th IEEE International Conference on Image Processing, [S.l.], p.29412944, Sept. 2011.
PURNAMA, I. K. E. et al. Real time vehicle counter system for Intelligent Transportation System. In: INSTRUMENTATION, COMMUNICATIONS, INFORMATION TECHNOLOGY, AND BIOMEDICAL ENGINEERING (ICICI-BME), 2009 INTERNATIONAL CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2009. p.14.
RIBEIRO, H.; GONZAGA, A. Hand Image Segmentation in Video Sequence by GMM :
a comparative analysis. Computer Graphics and Image Processing, 2006. SIBGRAPI
06. 19th Brazilian Symposium on, [S.l.], p.18, 2006.
ROBERT, K. Video-based traffic monitoring at day and night vehicle features detection
tracking. In: INT. IEEE CONF. INTELLIGENT TRANSPORTATION SYSTEMS ITSC
09, 12. Proceedings. . . [S.l.: s.n.], 2009. p.16.
114
ROSS, D. A. et al. Incremental Learning for Robust Visual Tracking. International Journal of Computer Vision, [S.l.], v.77, p.125141, 2007.
ROUSSEEUW, P. J. Silhouettes a graphical aid to the interpretation and validation of
cluster analysis. Journal of Computational and Applied Mathematics, [S.l.], v.20,
p.5365, Nov. 1987.
SANCHEZ, A. et al. Video-Based Distance Traffic Analysis Application to Vehicle Tracking and Counting. Computing in Science & Engineering, [S.l.], v.13, n.3, p.3845,
2011.
SCHARCANSKI, J. et al. A particle-filtering approach for vehicular tracking adaptive to
occlusions. Vehicular Technology, IEEE Transactions on, [S.l.], v.60, n.2, p.381389,
2011.
SETCHELL, C. J. Applications of Computer Vision to Road-traffic Monitoring. 1997.
185p. Tese (Doutorado em Cincia da Computao) University of Bristol. (September).
SHEN, Y. The Research and Applications of Visual Tracking Based on Mean Shift.
2008. Tese (Doutorado em Cincia da Computao) Jiangsu University of Science and
Technogoly.
SHI, J.; TOMASI, C. Good features to track. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition CVPR94, [S.l.], v.94, p.593600, 1994.
SONKA, M.; HLAVAC, V.; BOYLE, R. Image Processing, Analysis, and Machine
Vision. [S.l.: s.n.], 2007. 800p. v.3.
STAUFFER, C.; GRIMSON, W. Adaptive background mixture models for real-time tracking. In: IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION
AND PATTERN RECOGNITION, 1999. Proceedings. . . IEEE Comput. Soc, 1999. v.2,
p.246252.
SZELISKI, R. Computer Vision Algorithms and Applications. [S.l.: s.n.], 2010. 832p.
v.5.
TAKEUCHI, A.; MITA, S.; MCALLESTER, D. On-road vehicle tracking using deformable object model and particle filter with integrated likelihoods. In: INTELLIGENT
VEHICLES SYMPOSIUM (IV), 2010 IEEE. Proceedings. . . [S.l.: s.n.], 2010. p.1014
1021.
THEODORIDIS, S.; KOUTROUMBAS, K. Pattern Recognition, Fourth Edition.
[S.l.: s.n.], 2008. 164165p. v.11.
TIAN, B. et al. Video processing techniques for traffic flow monitoring A survey. In: INTELLIGENT TRANSPORTATION SYSTEMS (ITSC), 2011 14TH INTERNATIONAL
IEEE CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2011. p.11031108.
TSENG, B. L.; LIN, C.-Y.; SMITH, J. R. Real-time video surveillance for traffic monitoring using virtual line analysis. In: MULTIMEDIA AND EXPO, 2002. ICME02.
PROCEEDINGS. 2002 IEEE INTERNATIONAL CONFERENCE ON. Proceedings. . .
[S.l.: s.n.], 2002. v.2, p.541544.
115
TU, Q.; XU, Y.; ZHOU, M. Robust vehicle tracking based on scale invariant feature transform. In: INFORMATION AND AUTOMATION, 2008. ICIA 2008. INTERNATIONAL
CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2008. p.8690.
VIOLA, P.; JONES, M. Robust real-time object detection. International Journal of
Computer Vision, [S.l.], 2001.
WANG, G.; XIAO, D.; GU, J. Review on vehicle detection based on video for traffic
surveillance. In: IEEE INTERNATIONAL CONFERENCE ON AUTOMATION AND
LOGISTICS. Proceedings. . . [S.l.: s.n.], 2008. n.September, p.29612966.
WARD, J. H. Hierarchical Grouping to Optimize an Objective Function. Journal of the
American Statistical Association, [S.l.], v.58, n.301, p.236244, 1963.
XIE, L. et al. Real-time vehicles tracking based on Kalman filter in a video-based ITS. In:
COMMUNICATIONS, CIRCUITS AND SYSTEMS, 2005. 2005 INTERNATIONAL
CONFERENCE ON. Proceedings. . . [S.l.: s.n.], 2005. v.2.
ZHONG, Q.; JUNPING, Z. Method of removing moving shadow based on texture.
In: CONTROL AND DECISION CONFERENCE, 2008. CCDC 2008. Proceedings. . .
[S.l.: s.n.], 2008. p.22542256.