Вы находитесь на странице: 1из 115

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMTICA
PROGRAMA DE PS-GRADUAO EM COMPUTAO

PABLO ROBERLAN MANKE BARCELLOS

Deteco e Contagem de Veculos em


Vdeos de Trfego Urbano

Dissertao apresentada como requisito parcial


para a obteno do grau de
Mestre em Cincia da Computao

Prof. Dr. Jacob Scharcanski


Orientador

Porto Alegre, abril de 2014

CIP CATALOGAO NA PUBLICAO


Barcellos, Pablo Roberlan Manke
Deteco e Contagem de Veculos em Vdeos de Trfego Urbano / Pablo Roberlan Manke Barcellos. Porto Alegre: PPGC
da UFRGS, 2014.
115 f.: il.
Dissertao (mestrado) Universidade Federal do Rio Grande
do Sul. Programa de Ps-Graduao em Computao, Porto Alegre, BRRS, 2014. Orientador: Jacob Scharcanski.
1. Contagem de veculos. 2. Deteco de veculos. 3. Rastreamento de veculos. 4. Agrupamento de partculas. 5. Processamento de vdeos. 6. Viso computacional. I. Scharcanski, Jacob.
II. Ttulo.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL


Reitor: Prof. Carlos Alexandre Netto
Pr-Reitor de Coordenao Acadmica: Prof. Rui Vicente Oppermann
Pr-Reitor de Ps-Graduao: Prof. Vladimir Pinheiro do Nascimento
Diretor do Instituto de Informtica: Prof. Lus da Cunha Lamb
Coordenador do PPGC: Prof. Luigi Carro
Bibliotecrio-chefe do Instituto de Informtica: Alexsander Borges Ribeiro

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

.
.
.
.

. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

REVISO BIBLIOGRFICA SOBRE MONITORAMENTO DE TRFEGO


DE VECULOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Viso Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Segmentao dos Objetos no Primeiro Plano do Vdeo . . . . . . . . . .
2.2.1
Diferena entre Quadros . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
Diferena do Quadro para o Fundo da Cena . . . . . . . . . . . . . . . .
2.2.3
Subtrao do Fundo Usando a Mdia e Mediana . . . . . . . . . . . . . .
2.3
Rastreamento e Contagem Utilizando Cmeras de Vdeo . . . . . . . . .

10
11
13
13
14

FUNDAMENTOS DE PROCESSAMENTO DE IMAGENS E VISO COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.1
Representao de Imagens Digitais . . . . . . . . . . . . . . . . . . . . .
3.2
Modelo de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3
Relaes entre Pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
Vizinhana de um Pixel . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2
Conectvidade e Adjacncia de Pixels . . . . . . . . . . . . . . . . . . . .
3.4
Mtricas de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5
Operaes Lgicas e Aritmticas . . . . . . . . . . . . . . . . . . . . . .
3.6
Operaes Morfolgicas . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.1
Dilatao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2
Eroso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.3
Abertura e Fechamento . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7
Envoltria Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8
Comparao de Histogramas . . . . . . . . . . . . . . . . . . . . . . . .
3.9
Detector de Cantos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Estimativa de Movimento . . . . . . . . . . . . . . . . . . . . . . . . . .

16
16
17
18
18
19
19

32
32
34
35
35
36
36
37
37
38
38
38
39
40
41
43

3.11 Rudo em Imagens . . . . . . . . . . .


3.11.1 Rudo Gaussiano . . . . . . . . . . .
3.11.2 Rudo Impulsivo . . . . . . . . . . . .
3.12 Algoritmos de Agrupamento de Dados
3.12.1 Algoritmo K-means . . . . . . . . . .
3.12.2 Outros Mtodos de Agrupamento . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

43
44
44
45
45
46

MTODO PROPOSTO PARA RASTREAMENTO E CONTAGEM DE


VECULOS EM VDEOS DE TRFEGO URBANO . . . . . . . . . . .
4.1
Viso Geral do Mtodo Proposto . . . . . . . . . . . . . . . . . . . . . .
4.2
Inicializao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Obteno da Mscara com Objetos no Primeiro Plano do Vdeo . . . . .
4.4
Detectando os Agrupamentos de Partculas . . . . . . . . . . . . . . . .
4.4.1
Agrupamento Inicial de Partculas . . . . . . . . . . . . . . . . . . . . .
4.5
Diviso de Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6
Fuso de Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7
Deteco de Veculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8
Rastreamento de Veculos . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9
Contagem de Veculos . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51
51
56
58
61
62
65
66
67
70
75

5 RESULTADOS EXPERIMENTAIS . . . . . . . . . . . . . . . . . . . . .
5.1
Resultados e Discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78
79

6 CONCLUSES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . 108


6.1
Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2
Publicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

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

Exemplo diferena entre quadros . . . . . . . . . . . . . . . . .


Exemplo diferena do quadro para o fundo . . . . . . . . . . .
Exemplo de subtrao de fundo usando a mediana . . . . . . .
Exemplo do mtodo proposto por Kanhere e Birchfield . . . . .
Exemplo do mtodo proposto por Purnama et al . . . . . . . . .
Exemplo mtodo proposto por Chen et al. . . . . . . . . . . . .
Exemplo mtodo proposto por Kim . . . . . . . . . . . . . . .
Exemplo de rastreamento utilizando eigenbasis . . . . . . . . .
Exemplo mtodo de deteco baseado em modelos deformveis
Exemplo de rastreamento do mtodo proposto por Mei e Ling .
Exemplos do mtodo proposto por Li et al. . . . . . . . . . . .
Exemplo do mtodo proposto por Feris et al. . . . . . . . . . .
Exemplo do mtodo proposto por Sanchez et al. . . . . . . . . .
Exemplo mtodo proposto por Mossi et al. . . . . . . . . . . .
Exemplo de rastreamento noturno . . . . . . . . . . . . . . . .
Deteco em imagens diurnas . . . . . . . . . . . . . . . . . .
Exemplo do mtodo proposto por Chan et al. . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

Processo de amostragem e quantizao . . . . . . . . . . . .


Representao de uma imagem digital . . . . . . . . . . . . .
Cubo de cores RGB . . . . . . . . . . . . . . . . . . . . . .
Exemplos de vizinhanas de pixels . . . . . . . . . . . . . . .
Exemplos de distancias entre pixels . . . . . . . . . . . . . .
Exemplo de operaes morfolgicas . . . . . . . . . . . . . .
Exemplo de regio convexa e no convexa . . . . . . . . . . .
Exemplo envoltria convexa . . . . . . . . . . . . . . . . . .
Exemplo de histograma de uma imagem . . . . . . . . . . . .
Deteco de cantos em uma imagem . . . . . . . . . . . . . .
Exemplo comparao de blocos dentro de uma rea de busca.
Funo densidade de probabilidade do rudo impulsivo. . . . .
Funo densidade de probabilidade do rudo impulsivo. . . . .
Exemplo de dendrograma . . . . . . . . . . . . . . . . . . .
Exemplo de agrupamento de dados utilizando rvores . . . . .
Ilustrao de um agrupamento fuzzy . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

33
34
35
35
37
39
39
40
41
42
43
44
45
48
49
50

4.1
4.2
4.3

Exemplos de vdeos utilizados . . . . . . . . . . . . . . . . . . . . .


Exemplos de regies de interesse . . . . . . . . . . . . . . . . . . . .
Exemplos de laos virtuais . . . . . . . . . . . . . . . . . . . . . . .

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

Exemplo de deteco dos objetos no primeiro plano do vdeo . . . . .


Viso geral do mtodo proposto . . . . . . . . . . . . . . . . . . . .
Exemplo do processo de obteno da regio de interesse . . . . . . .
Exemplo de mscara binria obtida atravs do mtodo GMM . . . . .
Exemplo de mscara binria obtida atravs do mtodo MEI . . . . . .
Mscara binria resultante da combinao dos mtodos GMM e MEI
Exemplo de partculas detectadas no foreground . . . . . . . . . . . .
Ilustrao do processo de agrupamento inicial . . . . . . . . . . . . .
Exemplo de agrupamento inadequado . . . . . . . . . . . . . . . . .
Exemplo de diviso de clusters. . . . . . . . . . . . . . . . . . . . .
Exemplo de fuso de clusters. . . . . . . . . . . . . . . . . . . . . .
Exemplo de anlise da forma do cluster . . . . . . . . . . . . . . . .
Exemplo de anlise do foreground do cluster . . . . . . . . . . . . .
Exemplo veculo detectado. . . . . . . . . . . . . . . . . . . . . . .
Exemplos de histogramas de cor no similares . . . . . . . . . . . .
Exemplos de histogramas de cor similares . . . . . . . . . . . . . . .
Exemplo de laos virtuais . . . . . . . . . . . . . . . . . . . . . . .
Ilustrao do processo de incremento do contador de veculos . . . .
Ilustrao de veculo sobre mais de um lao . . . . . . . . . . . . . .

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

Exemplo de histograma de uma imagem . . . . . . . . . . . . . . . .

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

Contagem de veculos para a Cam06. . . . . . . . . . .


Veculos no detectados na Cam06. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam06. . . . . .
Contagem de veculos para a Cam25. . . . . . . . . . .
Veculos no detectados na Cam25. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam25. . . . . .
Contagem de veculos para a Cam41. . . . . . . . . . .
Veculos no detectados na Cam41. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam41. . . . . .
Contagem de veculos para a Cam64. . . . . . . . . . .
Veculos no detectados na Cam64. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam64. . . . . .
Contagem de veculos para a Cam68. . . . . . . . . . .
Veculos no detectados na Cam68. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam68. . . . . .
Contagem de veculos para a Cam73. . . . . . . . . . .
Veculos no detectados na Cam73. . . . . . . . . . . .
Veculos detectados mltiplas vezes na Cam73. . . . . .
Resultado geral da contagem de veculos. . . . . . . . .
Resultado geral dos veculos no detectados. . . . . . .
Resultado geral dos veculos detectados mltiplas vezes.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

41
81
83
83
85
86
87
90
91
92
95
96
96
100
100
101
102
103
104
106
106
107

RESUMO

Este trabalho apresenta um novo mtodo para o rastreamento e contagem de veculos


em vdeos de trfego urbano. Usando tcnicas de processamento de imagens e de agrupamentos de partculas, o mtodo proposto usa coerncia de movimento e coerncia espacial
para agrupar partculas, de modo que cada grupo represente veculos nas sequncias de
vdeo. Uma mscara contendo os objetos do primeiro plano criada usando os mtodos
Gaussian Mixture Model e Motion Energy Images para determinar os locais onde as partculas devem ser geradas, e as regies convexas dos agrupamentos so ento analisadas
para verificar se correspondem a um veculo. Esta anlise leva em considerao a forma
convexa dos grupos de partculas (objetos) e a mscara de foreground para realizar a fuso ou diviso dos agrupamentos obtidos. Depois que um veculo identificado, ele
rastreado utilizando similaridade de histogramas de cor em janelas centradas nas partculas dos agrupamentos. A contagem de veculos acontece em laos virtuais definidos pelo
usurio, atravs da interseo dos veculos rastreados com os laos virtuais. Testes foram
realizados utilizando seis diferentes vdeos de trfego, em um total de 80000 quadros. Os
resultados foram comparados com mtodos semelhantes disponveis na literatura, fornecendo, resultados equivalentes ou superiores.

Palavras-chave: Contagem de veculos, deteco de veculos, rastreamento de veculos,


agrupamento de partculas, processamento de vdeos, viso computacional.

Detecting and Counting Vehicles in Urban Traffic Video

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.

Keywords: vehicle counting, vehicle detection, vehicle tracking, Particle Clustering,


video processing, computer vision.

11

INTRODUO

Com o desenvolvimento da urbanizao, aumentou tambm o nmero de veculos nas


cidades, fazendo com que seja necessria a utilizao de algum sistema de monitoramento
do trfego de veculos. Atravs do monitoramento do trfego de veculos podemos extrair diversas informaes sobre, por exemplo, congestionamentos do trfego, incidentes
e violaes de trnsito, e as informaes coletadas a partir desse monitoramento ajudam
as autoridades a identificar e solucionar esses problemas, permitindo uma melhor utilizao das vias urbanas. Por isso, extrair essas informaes de maneira confivel e precisa
torna-se um grande desafio nos sistemas de gesto de trfego.
Um dado importante no monitoramento de trfego a contagem dos veculos que
esto passando por determinada via, o que possibilita detectar quais vias esto com trfego
lento, congestionamentos, pontos com interrupo do trfego, entre outras situaes.
Para realizar a contagem de veculos possvel utilizar sistemas automatizados de
contagem, como, por exemplo, detectores por lao indutivo, cabos piezeltricos, ultrassom, infravermelho, micro-ondas, laser e vdeo. Uma maneira comum de realizar essa
contagem de maneira automtica instalando sensores indutivos fixados ao pavimento.
Esses sensores realizam a contagem dos veculos que cruzam a seo da via, podendo
ainda classificar os veculos atravs da anlise dos perfis magnticos dos veculos, como
em Magalhes (2008).
A anlise automtica de trfego atravs de vdeos um campo de pesquisa emergente,
com grande relevncia para sistemas de monitoramento de trfego urbano. Com o avano
da viso computacional, a cmera de vdeo torna-se um meio promissor e de baixo custo
para o monitoramento do fluxo de trfego (ROBERT, 2009). A anlise do trfego utilizando cmeras possui muitas vantagens em relao aos outros meios de monitoramento.
As cmeras possuem fcil instalao, no causam danos s estradas e possuem custo relativamente baixo de instalao e manuteno. Alm disso, elas fornecem uma ampla rea
de monitoramento, podendo monitorar diversas pistas ao mesmo tempo, permitindo uma
melhor anlise do fluxo do trfego, medio de velocidade, contagem de veculos, classificao de veculos e avaliao de rodovias. O monitoramento automtico do trfego
uma fonte rica de informaes, e os dados coletados atravs das cmeras podem ser
utilizados para as mais diversas finalidades.
Viso computacional o processo de utilizar um computador para extrair informaes
de alto nvel de uma imagem digital. Uma cmera fornece o vdeo que digitalizado e
inserido no computador, onde algoritmos de viso computacional realizam tarefas como
a deteco, o rastreamento e a classificao dos veculos. Sensores de vdeo oferecem um
custo de instalao relativamente baixo, com pouca interrupo do trfego para sua manuteno, e permitem extrair diversas informaes da via, onde poderiam ser necessrios
a utilizao de diversos tipos de sensores para extrair a mesma informao.

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

No Brasil, os sistemas de monitoramento que esto instalados permanentemente nas


vias utilizam, geralmente, cabos piezoeltricos e laos indutivos (ILD - Inductive Loop
Detector), que capta mudanas na indutncia de uma bobina enterrada no pavimento
quando um objeto metlico (veculo) passa sobre ela (MAGALHAES, 2008). A instalao desses sensores na pista podem apresentar algumas desvantagens, como custo,
restrio do monitoramento a apenas algumas reas de maior interesse, entre outros. Por
precisar ser embutido no pavimento, tambm causam a interrupo das vias para a sua
instalao e eventuais reparos em caso de defeitos.
A aplicao de tcnicas de processamento de imagens e viso computacional em
sequncias de vdeos oferece uma considervel melhoria sobre os mtodos existentes de
coleta de dados de trfego e monitoramento de estradas (KASTRINAKI; ZERVAKIS;
KALAITZAKIS, 2003). As cmeras de vdeo podem monitorar uma rea bastante ampla
e no requerem a interrupo do trfego para instalao e manuteno.
Como mencionado anteriormente, o monitoramento automtico do trfego uma
fonte rica de informaes, e os dados coletados atravs das cmeras podem ser empregados para os mais diversos fins. Uma diferena entre o monitoramento do trfego e, por
exemplo, reconhecimento de objetos genricos, que a tarefa de reconhecer um objeto
geralmente se concentra em imagens de alta resoluo, com poucas restries sobre o
ngulo de viso. J no monitoramento de trfego urbano preciso lidar com um ambiente externo, mudanas climticas e de iluminao, cmeras com baixa resoluo e uma
quantidade limitada de detalhes visuais, e o fato de os veculos andarem muito prximos,
que dependendo do posicionamento da cmera, pode favorecer a ocorrncia de ocluses
(BUCH; VELASTIN; ORWELL, 2011).
Portanto, os principais desafios deste trabalho so lidar com cmeras que operam em
ambientes externos e precisam lidar com situaes como o trfego lento e denso de veculos, e com veculos dos mais variados tipos e dimenses, trafegando com diferentes
velocidades e muito prximos uns dos outros. Esses fatores fazem com que lidar com
deteco e rastreamento de veculos por vdeos seja realmente uma tarefa desafiadora.
Dessa forma, a motivao para a realizao deste trabalho foi desenvolver um mtodo
automtico e de baixo custo para realizar a deteco e o rastreamento para possibilitar a
contagem de veculos em vdeos de trfego urbano atravs de sequncias de vdeo.

1.2

Definio do Problema e Objetivos

A primeira tarefa a ser resolvida a definio de um mtodo que analise as sequncias


de imagens e consiga diferenciar o que veculo ou no. A separao dos veculos que
esto em movimento no primeiro plano do vdeo (foreground) da parte esttica da cena,
ou seja, a regio que est ao fundo da cena (background) de maneira confivel e robusta
geralmente o primeiro passo utilizado para o monitoramento de fluxo de trfego. Com
essa abordagem, os veculos so detectados levando em considerao o movimento do
veculo atravs do vdeo, uma vez que, geralmente, os veculos os quais se deseja detectar
apresentam algum tipo de movimento, enquanto a via e os objetos ao redor, como veculos
estacionados, rvores e prdios, esto fixos, no apresentando uma mudana de posio
ao longo do vdeo.
Uma vez que os veculos foram detectados, a prxima tarefa a ser definida como
fazer o rastreamento desses veculos ao longo do vdeo, ou seja, determinar se um veculo

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

Apresentao do Mtodo Proposto e Contribuies

O mtodo proposto utiliza um modelo de Mistura de Gaussianas (Gaussian Mixture


Models - GMM) (STAUFFER; GRIMSON, 1999), e a Energia de Movimento (Motion
Energy Images - MEI) (DAVIS; BOBICK, 1997) para gerar uma mscara binria contendo os objetos mveis detectados no primeiro plano do vdeo. Aps, so detectadas
partculas presentes apenas nessas regies onde foram detectados objetos em movimento.
As partculas correspondem a cantos detectados na imagem, atravs do uso de um mtodo de deteco de cantos. Essas partculas so ento agrupadas usando o algoritmo de
agrupamento de dados K-mdias (K-means clustering), de acordo com a coerncia de
movimento dessas partculas ao longo do vdeo. As partculas so rastreadas atravs da
similaridade de histogramas de cor, e os centroides de cada um desses agrupamentos so
armazenados para que possa ocorrer a comparao com os agrupamentos formados nas
sequncias de imagens seguintes.
A contagem realizada atravs da identificao de intersees entre as regies espaciais associadas aos grupos de partculas rastreadas, que representam os veculos, e as
regies formadas por laos virtuais, que so marcaes no vdeo definidas pelo usurio,
especificando regies onde os veculos devero ser contados caso passem sobre elas.
Dentre as contribuies deste trabalho podemos citar:
A introduo de uma aplicao para um sistema de contagem de veculos atravs
de cmeras de vdeo estticas (Captulo 4);
Uma 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 (Seo 4.3);
A realizao da deteco de partculas apenas em regies onde algum movimento
foi detectado, o que aumenta a acurcia do mtodo, pois as partculas pertencem
s regies mais provveis de corresponder a um veculo, alm de reduzir o custo
computacional atravs da diminuio do nmero de partculas que precisam ser
processadas (Seo 4.4);
A proposta de um mtodo para detectar os veculos atravs do agrupamento das
partculas, de forma que cada um desses agrupamentos corresponda aos veculos
do vdeo. Tambm so propostos mtodos que utilizam a mscara com os objetos

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

2 REVISO BIBLIOGRFICA SOBRE MONITORAMENTO


DE TRFEGO DE VECULOS

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

O monitoramento de trfego uma importante ferramenta para o desenvolvimento de


sistemas de transporte inteligentes, e a classificao de veculos tem surgido como um
relevante campo de estudo na rea devido a sua importncia para sistemas de segurana,
vigilncia, preveno de congestionamento de trfego e de acidentes, sendo essencial para
algumas tarefas, como, por exemplo, monitorar o volume e a taxa de fluxo de diferentes
categorias de veculos (CHEN; ELLIS; VELASTIN, 2011).
A contagem dos veculos geralmente realizada com o uso de sensores indutivos, que
apesar de possurem um bom desempenho, so muito intrusivos, necessitando cortes no
pavimento para sua instalao, fazendo com que tenham um alto custo de instalao e
manuteno. De acordo com Tian et al. (2011), comparada com as tecnologias atuais
de monitoramento de fluxo de trnsito, a viso computacional usando cmeras de vdeo
apresenta vantagens significantes, como produzir uma quantidade rica de informao sem
afetar a integridade da via. Alm disso, com a utilizao de cmeras de vdeo para o monitoramento de trfego de veculos possvel cobrir uma rea mais ampla e tambm obter
outros parmetros, como, por exemplo, a classificao dos veculos (BUCH; VELASTIN;
ORWELL, 2011).
Segundo Tian et al. (2011), a deteco dos objetos no primeiro plano do vdeo de maneira robusta e confivel a primeira etapa para o monitoramento do trfego de veculos,
e com o resultado da deteco, o rastreamento e a classificao so geralmente realizados
para obter as trajetrias e as categorias dos objetos em primeiro plano.
A deteco de objetos pode ser baseada na modelagem do fundo, que consiste em
criar um modelo do fundo esttico da cena, chamado background, subtrair o quadro atual
do modelo de background e obter o quadro de diferena. Uma abordagem muito empregada utilizar a mdia ou mediana dos n frames anteriores para o clculo do modelo de
background (BUCH; VELASTIN; ORWELL, 2011) (CUCCHIARA et al., 2003). Mtodos baseados em modelos estatsticos e clculos de probabilidade tambm so muito

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

Segmentao dos Objetos no Primeiro Plano do Vdeo

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

primeiro plano no vdeo, tambm chamado de foreground. As regies do primeiro plano


so extradas e utilizadas para formar uma mscara de foreground, uma mscara binria
indicando as regies onde esto os objetos do primeiro plano da cena, que utilizada posteriormente para o processamento dos objetos detectados. Fazem parte do primeiro plano
todos os objetos que no esto fixos em uma cena. A seguir sero conhecidos alguns dos
mtodos de segmentao de foreground mais utilizados.
2.2.1

Diferena entre Quadros

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

Diferena do Quadro para o Fundo da Cena

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

Subtrao do Fundo Usando a Mdia e Mediana

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

Rastreamento e Contagem Utilizando Cmeras de Vdeo

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.

(a) Estrutura do modelo

(b) Exemplo de deteco

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

maior que o valor do pixel correspondente na imagem de fundo. Se valor do pixel do


quadro atual for maior que o valor do pixel na imagem de fundo, o pixel da imagem de
fundo incrementado, caso contrrio, o pixel da imagem de fundo decrementado.
O mtodo verifica se o nmero de pixels da mscara binria que fazem interseo
com as regies de entrada e sada maior que um determinado limiar, e nesse caso a
correspondente regio de entrada ou sada ativada e o componente conectado detectado
com um alvo ativo. As regies de entrada no podem ser simultaneamente regies de
sada, e vice-versa. Se um alvo ativo que foi rastreado ao longo do tempo atinge a regio
de sada, representa que esse alvo deixou a cena. Quando no existe nenhum alvo ativo
e um nmero de pixels for maior que o limiar predeterminado aparece numa regio de
entrada, um novo blob produzido por um veculo detectado, e seu estado includo na
lista de veculos detectados.
Cada veculo na regio analisada caracterizado por um numero nico de identificao (id), que atribudo a ele quando passar pela primeira vez por uma regio de entrada,
um valor booleano (ft ) indicando se a posio atual do veculo conhecida, no quadro
t, as coordenadas espaciais correspondentes ao centroide do alvo (xt e yt ), dois valores
representando os lados do retngulo (bounding Box) contendo o veculo (Lxt e Lyt ) e as
correspondentes coordenadas de velocidade (vx,t e vy,t ).
A cada quadro, a posio e o tamanho da bounding Box so ajustados apropriadamente. O rastreamento baseado em verificar se existe uma sobreposio do retngulo
contendo o veculo no quadro atual e no quadro anterior. Para cada veculo detectado no
quadro anterior, verificado se um blob no quadro atual pode ser atribudo a ele. Se existir uma sobreposio entre as bounding Boxes do veculo no quadro atual e no anterior, a
posio do veculo verificada e atualizada de acordo com o movimento do veculo. Caso
contrrio, a posio do veculo considerada como temporariamente perdida.
As linhas delimitando as faixas da pista so utilizadas em alguns cenrios para ajudar a
localizar e rastrear o conjunto de veculos ao longo do tempo, e tambm resolver situaes
difceis de analisar, como diversos veculos compartilhando o mesmo blob. Um raciocnio
baseado em regras aplicado sobre esses cenrios:
Regra 1: Alguns veculos esto compartilhando o mesmo componente conectado
(blob).
Condio prvia: o nmero de veculos envolvido e as posies de seus respectivos
centroides so conhecidas no quadro atual.
Particionar o conjunto de veculos em subconjuntos de acordo com a proximidade das linhas delimitando as faixas da pista;
Para cada subconjunto, considerar as posies dos veculos no quadro anterior e determinar a ordem de posicionamento das identificaes dos veculos,
atribuindo a mesma identificao do quadro anterior para o veculo no quadro
atual, preservando a ordem de posicionamento.
Regra 2: um veculo considerado como perdido durante o rastreamento.
Condio prvia: as posies dos veculos so conhecidas no quadro anterior.
Fazer a uma previso da posio atual do veculo considerando a posio anterior e os vetores de velocidade.
Realizar uma busca local por blobs no atribudos a veculos ao redor da posio predita.

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 FUNDAMENTOS DE PROCESSAMENTO DE IMAGENS


E VISO COMPUTACIONAL

Nesta seo sero apresentados os fundamentos tericos na rea de processamento de


imagens e viso computacional. Sero apresentadas as definies tericas e uma breve introduo das tcnicas e mtodos que foram utilizados na elaborao do mtodo proposto,
como, por exemplo, operaes morfolgicas, detectores de canto, medidas de distncia,
entre outras tcnicas.

3.1

Representao de Imagens Digitais

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

Uma imagem contnua digitalizada em pontos de amostragem. Estes pontos de


amostragem esto ordenados no plano, em uma relao geomtrica chamada grade, que
geralmente possuem o formato quadrado ou hexagonal (SONKA; HLAVAC; BOYLE,
2007). Cada elemento dessa grade chamado de pixel (abreviao de Picture Element).
Essa grade representada como uma matriz de nmeros reais de M linhas e N colunas, onde cada coordenada (x, y) representa um valor discreto da intensidade ou nvel de
cinza da imagem f (x, y). A Figura 3.2 exibe a conveno de coordenadas mais utilizada.

Figura 3.2: Representao de uma imagem digital M N (GONZALEZ; WOODS, 2002).

3.2

Modelo de Cores

O propsito dos modelos de cores, tambm chamado espao de cores, facilitar a


especificao das cores em um formato padronizado e aceito por todos. O espao de
cores especifica um sistema de coordenadas e um subespao dentro desse sistema onde
cada cor representada por um nico ponto.
No espao de cores RGB, cada cor aparece na sua componente espectral primria
vermelha, verde e azul. O modelo RGB baseado em um sistema de coordenadas cartesianas, que pode ser visto como um cubo, onde os valores primrios (R-vermelho,G- verde
e B-azul) aparecem em trs vrtices, e as cores secundrias, ciano, magenta e amarelo,
esto em outros trs vrtices. O preto est na origem e o branco o vrtice mais distante
da origem. A escala de cinza, que compreende os pontos com valores iguais para as componentes RGB, se estende ao longo da linha que liga esses dois vrtices, conforme pode
ser observado na Figura 3.3 (GONZALEZ; WOODS, 2002).
O modelo RGB consiste na composio de trs imagens, tambm chamadas de camadas ou canais, uma para cada cor primria, que so combinadas na tela para produzir
uma imagem colorida. O nmero de bits usados para representar cada pixel no espao
RGB chamado de profundidade de pixel (GONZALEZ; WOODS, 2002). O valor de
uma cor em particular expresso como um vetor de trs elementos, correspondendo
intensidade das trs cores primrias (SONKA; HLAVAC; BOYLE, 2007).
Considerando uma imagem RGB onde cada uma das imagens vermelha, verde e azul
uma imagem de 8 bits, cada pixel RGB, representado pela tripla (R, G, B), possui uma

35

profundidade de 24 bits.

Figura 3.3: Cubo de cores RGB.


Um vdeo digital formado por diversas imagens estticas, chamadas quadros ou
frames, que so exibidas de maneira sequencial gerando o efeito de movimento. A quantidade de quadros individuais processados e exibidos por unidade de tempo denominado
frequncia de quadros ou frame rate. Nos vdeos utilizados neste trabalho, por exemplo,
as frequncias de quadros so de 25 ou 30 quadros por segundo.

3.3

Relaes entre Pixels

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)

Figura 3.4: Exemplos de vizinhanas de um pixel p. (a) vizinhana-4; (b) vizinhana


diagonal; (c) vizinhana-8 (GONZALEZ; WOODS, 2002).

36

3.3.2

Conectvidade e Adjacncia de Pixels

Conectividade entre pixels um conceito fundamental que simplifica a definio de


diversos outros conceitos de imagens digitais, como regies e limites de objetos. Para
determinar se dois pixels esto conectados, preciso determinar se eles so vizinhos e se
suas intensidades satisfazem um critrio especifico de similaridade, como, por exemplo,
possurem o mesmo nvel de cinza (GONZALEZ; WOODS, 2002).
Dados um conjunto V de valores de tons de cinza utilizados para se definir a conectividade, podem ser definidos os seguintes critrios de conectividade (FILHO; NETO, 1999):
Conectividade-4: dois pixels p e q com valores de tom de cinza obtidos em V , so
conectados-4 se q N4 (p).
Conectividade-8: dois pixels p e q com valores de tom de cinza obtidos em V , so
conectados-8 se q N8 (p).
Conectividade-m (conectividade mista): dois pixels p e q com valores de tom de cinza
obtidos em V, so conectados-m se:
1. q N4 (p) ou
2. q ND (p) e N4 (q) N4 (p) =
Um pixel p adjacente a um pixel q se eles forem conectados. Existem tantos critrios
de adjacncia quantos so os critrios de conectividade. Dados dois subconjuntos de
imagens, S1 e S2 , eles so considerados adjacentes se algum pixels em S1 adjacente a
algum pixel em S2 (FILHO; NETO, 1999).
Regies de pixels adjacentes que tenham o mesmo valor so chamadas de componentes conectados ou componentes conexos (SZELISKI, 2010).

3.4

Mtricas de Imagens

Algumas propriedades de imagens contnuas no tm uma analogia direta no domnio


discreto, como por exemplo, as medidas de distncia. Distncia ou mtrica qualquer
funo D que satisfaa as trs condies seguintes (SONKA; HLAVAC; BOYLE, 2007):
1. Identidade
D(p, q) 0, com (D(p, q) = 0 se e somente se p = q)
2. Simetria
D(p, q) = D(q, p)
3. Desigualdade triangular
D(p, r) D(p, q) + D(q, r)
A distncia entre dois pontos com coordenadas (i, j) e (h, k) podem ser definidas de
diversas maneiras diferentes. A seguir sero discutidas algumas dessas diferentes mtricas que podem ser utilizadas para mediar a distncia entre dois pontos em uma imagem.
Distncia Euclidiana: A distncia euclidiana entre dois pontos o comprimento do segmento de linha que os conecta, e pode ser dada por:
q
(3.1)
DE ((i, j), (h, k)) = (i h)2 + (j k)2 .

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 Figura 3.5 exemplifica cada uma dessas distncias.

(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

Operaes Lgicas e Aritmticas

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

Morfologia matemtica usa ferramentas de lgebra no linear e opera com conjuntos


de pontos, sua conectividade e forma. Operaes morfolgicas simplificam imagens e

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)

Por fim, a diferena entre dois conjuntos A e B, denotada A B, definida como:


A B = {x|x A, x
/ B} = A B C .
3.6.1

(3.7)

Dilatao

Dados os conjuntos A e B no espao Z 2 , a dilatao de A por B definida como:


A] A}.
A B = {x|[(B)
x

(3.8)

Assim, o processo de dilatao consiste em obter a reflexo de B sobre sua origem e


depois deslocar esta reflexo de x, e resulta no conjunto de todos os x deslocamentos para
x e A inclui pelo menos um elemento diferente de zero. Dessa
os quais a interseo de B
forma, a aplicao da operao de dilatao expande a imagem original. O conjunto B
geralmente chamado de elemento estruturante (FILHO; NETO, 1999).
3.6.2

Eroso

Dados os conjuntos A e B no espao Z 2 , a dilatao de A por B definida como:


A B = {x|(B)x A}.

(3.9)

Assim, a eroso de A por B resulta no conjunto de pontos x tais que B, transladado


de X, est contido em A. Portanto, a aplicao da operao de eroso encolhe a imagem
original (FILHO; NETO, 1999).
3.6.3

Abertura e Fechamento

A operao de abertura suaviza o contorno de uma imagem, quebra ligaes finas


entre objetos e elimina proeminncias finas, enquanto a operao de fechamento funde
pequenos objetos prximos, elimina pequenos orifcios no interior de objetos e preenche
buracos no contorno. A abertura de um conjunto A por um elemento estruturante B,
denotada por A B, realizada atravs da eroso de A por B, seguida da dilatao do
resultado obtido por B, conforme a Equao 3.10. O fechamento de um conjunto A

39

por um elemento estruturante B, denotado por A B, obtido atravs da operao de


dilatao de A por B seguida da eroso do resultado por B, conforme a Equao 3.11
(FILHO; NETO, 1999).
A seguir, na Figura 3.6, so exibidos alguns exemplos de operaes morfolgicas em
imagens binrias.

(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 envoltria convexa, ou convex hull, bastante utilizada no mtodo proposto para


agrupar feies detectadas nas sequncias de imagens dos vdeos. Para definirmos envoltria convexa, primeiro precisamos definir o que uma regio convexa. A regio R
dita convexa se e somente se para quaisquer dois pontos p, q R, todo o segmento de
linha pq definido pelos seus pontos finais p, q est dentro da regio R (SONKA; HLAVAC; BOYLE, 2007). A Figura 3.7 mostra dois exemplos, um de uma regio considerada
convexa e outra de uma regio considerada no 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.

Figura 3.8: Exemplo envoltria convexa (BERG et al., 2008).

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

A deteco de cantos uma abordagem utilizada na viso computacional para extrair


pontos de interesse ou feies de uma imagem. Um canto na imagem pode ser definido
como um pixel no qual em sua vizinhana local existem duas bordas dominantes com
direes diferentes. Os cantos podem ser obtidos usando detectores locais. Fornecendo
uma imagem como entrada para o detector de cantos, a sada uma imagem cujos valores
so proporcionais probabilidade daquele pixel ser um canto. Pontos de interesse so obtidos aplicando-se um limar sobre o resultado do detector de cantos (SONKA; HLAVAC;
BOYLE, 2007). A Figura 3.10 exibe um exemplo de cantos detectados em uma imagem.
Neste trabalho foi utilizado o mtodo dos mnimos autovalores, tambm conhecido
como detector de cantos de Shi-Tomasi, proposto por Shi e Tomasi (1994).
Dada uma imagem em tons de cinza I, pegamos um pedao (patch) dessa imagem
sobre a rea (u, v) e deslocamos ele por (x, y). A soma ponderada das diferenas quadrticas (SSD) entre estas duas reas, denotada por:
s(x, y) =

XX
u

w(u, v)(I(u + x, v + y) I(u, v))2 .

(3.14)

42

Figura 3.10: Exemplo de deteco de cantos em uma imagem. Os cantos, identificados


em verde na imagem, foram detectados usando o mtodo dos mnimos autovalores (SHI;
TOMASI, 1994).
Se a imagem deslocada, I(u+x, v+y), for aproximada por uma expanso de Taylor
de primeira ordem, I(u + x, v + y) I(u, v) + Ix (u, v)x + Iy (u, v)y, onde Ix e Iy so as
derivadas parciais de I, isso produz a aproximao:
s(x, y)

XX
u

w(u, v)(Ix (u, v)x + Iy (u, v)y)2 .

(3.15)

Que pode ser escrita na sua forma matricial:


s(x, y) (x

 
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 Iy i
Ix Ix Iy
w(u, v)
=
,
(3.17)
A=
Ix Iy Iy2
hIx Iy i
Iy2
u

onde h.i denotam mdia (somatrio sobre (u, v)).


Um canto caracterizado por uma grande variao de S em todas as direes do vetor
(x y), que refletido nos autovalores 1 e 2 da matriz A. Essas variaes podem ser
encontradas usando a anlise das componentes principais (PCA), e as seguintes situaes
podem ocorrer (SONKA; HLAVAC; BOYLE, 2007):
1. Ambos os autovalores so pequenos. Significando que uma imagem plana ao
redor do pixel examinado, sem a presena de bordas ou cantos.
2. Um autovalor pequeno e o outro grande. Uma borda encontrada.
3. Ambos os autovalores possuem um valor grande. Um canto encontrado.
Assim, o mtodo proposto por Shi e Tomasi (1994) detecta um canto quando:
min(1 , 2 ) > ,
onde um limiar predefinido.

(3.18)

43

3.10

Estimativa de Movimento

Neste trabalho utilizado um algoritmo de block matching para estimar os vetores de


movimentos de um pixel, ou seja, determinar o deslocamento em relao aos eixos x e y
de um ponto de interesse entre o quadro atual do vdeo e o quadro seguinte. Para isso, foi
utilizada a comparao de blocos com busca exaustiva.
O quadro atual dividido em macro blocos, que so ento comparados com o bloco
correspondente e os seus vizinhos no quadro anterior para criar um vetor representando
o movimento de um macro bloco de um local no quadro atual para outro local no quadro
anterior. A rea de busca pela melhor correspondncia de um macro bloco restringida a
p pixels nas quatro direes ao redor da posio do macro bloco no quadro anterior, onde
p chamado de parmetro de busca (BARJATYA, 2004). A Figura 3.11 exibe um bloco
e a sua correspondente rea de busca.

Figura 3.11: Exemplo comparao de blocos dentro de uma rea de busca.


Para cada bloco, o vetor de deslocamento avaliado atravs da busca de uma correspondncia da informao presente em um bloco do quadro atual com a informao
presente em um bloco dentro da rea de busca no quadro anterior, atravs da minimizao
de uma funo de custo. Encontrar o mnimo absoluto para o critrio de correspondncia
s pode ser garantido executando uma busca exaustiva por todos os blocos candidatos
dentro de um intervalo mximo de deslocamento, e essa tcnica chamada de full-search
block matching (DUFAUX; MOSCHENI, 1995). A funo de custo utilizada foi a Mdia
das Diferenas Absolutas (MDA), que dada pela Equao 3.19, o bloco que apresentar
o menor custo escolhido como o bloco correspondente ao bloco do quadro atual.
M DA

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

Imagens so frequentemente degradadas por alguns erros aleatrios, e essa degradao


usualmente chamada de rudo. O rudo pode ocorrer durante a captura da imagem,
transmisso, ou processamento, e pode ser dependente ou independente do contedo da
imagem (SONKA; HLAVAC; BOYLE, 2007).

44

A seguir, sero descritos dois tipos comuns de rudo: o rudo gaussiano e o rudo
impulsivo.
3.11.1

Rudo Gaussiano

O rudo usualmente descrito por suas caractersticas probabilsticas. O rudo ideal,


chamado de rudo branco, e tem um espectro de potncia constante, significando que todas
as frequncias de rudo esto presentes e tem a mesma intensidade. Um caso especial de
rudo branco o rudo Gaussiano (SONKA; HLAVAC; BOYLE, 2007).
Uma varivel aleatria, z, com distribuio Gaussiana (ou normal) tem sua funo
densidade de probabilidade dada pela curva Gaussiana, de acordo com a Equao 3.20, e
pode ser visualizada na Figura 3.12.

Figura 3.12: Funo densidade de probabilidade do rudo impulsivo.

p(z) =

2
1
2
e(z) /2 ,
2

(3.20)

onde z representa a intensidade, a mdia de z, e o seu desvio padro. O desvio padro


ao quadrado, 2 , chamado de varincia de z.
3.11.2

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

Figura 3.13: Funo densidade de probabilidade do rudo impulsivo.


rudo impulsivo chamado unipolar. Se nenhuma das probabilidades for zero e forem
aproximadamente iguais, os valores do rudo impulsivo sero semelhantes a pequenos
gros de sal e pimenta espalhados aleatoriamente sobre a imagem, e o rudo impulsivo
chamado bipolar (GONZALEZ; WOODS, 2002) .

3.12

Algoritmos de Agrupamento de Dados

O processo de criar agrupamentos de dados busca agrupar os pontos de um conjunto


de dados de acordo com a similaridade entre eles, fazendo com que dados que sejam
parecidos, de acordo com algum critrio de similaridade, sejam considerados como pertencentes ao mesmo agrupamento, tambm chamado de cluster.
Um cluster um conjunto de pontos no espao de dados para os quais sua densidade
local alta comparada com a densidade dos pontos da regio ao redor (JAIN, 1989).
Na Subseo 3.12.1, ser apresentado o mtodo k-means, que utilizado neste trabalho, em seguida, na Subseo 3.12.2, sero apresentados outros mtodos de agrupamentos
de dados.
3.12.1

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

rnk ||xn k ||2 ,

(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.

(a) Minimizar J em relao rnk , mantendo k fixo


(b) Minimizar J em relao k , mantendo rnk fixo

3. Repetir a etapa 2 at a convergncia.


Considerando a determinao de rnk , simplesmente atribumos o n-simo dado para o
cluster com o centro mais prximo, que pode ser descrito como:
(
1 se k = argminj |xn j |2
rnk =
(3.23)
0 caso contrrio.
A otimizao de k pode ser dada por:
P
n rnk xn
.
k = P
n rnk

(3.24)

O denominador nessa expresso igual ao nmero de dados atribudos ao cluster k, e


o resultado tem um simples interpretao: estabelecer k igual a mdia de todos os dados
xn atribudos ao cluster k. Por essa razo, o procedimento conhecido como algoritmo
k-means. As duas fases de reatribuir dados para os clusters e recomputar as mdias dos
clusters so repetidos at no ocorrer nenhuma mudana nas atribuies ou at atingir um
nmero mximo de iteraes (BISHOP, 2006).
Outras mtricas podem ser utilizadas como funo objetiva J a ser minimizada. Neste
trabalho foram utilizadas, por exemplo, a distncia city block, que representa a soma das
diferenas absolutas, dada pela Equao 3.25 e a distncia do cosseno, dada como um
menos o cosseno do ngulo formado entre os pontos (tratado como vetores), de acordo
com a Equao 3.26, onde cada centroide a mdia dos pontos naquele cluster, aps
serem normalizados para uma unidade de comprimento euclidiano.
DCB =

N
X

|xn n |

(3.25)

n=1


DCos =
3.12.2

~x.~
1
||~x||.||~||


(3.26)

Outros Mtodos de Agrupamento

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)

onde dU W e dV W so as distncias entre os vizinhos mais prximos dos clusters U e W e


clusters V e W , respectivamente.

48

Figura 3.14: Exemplo de dendrograma. No primeiro nvel cada agrupamento composto


por uma nica amostra. As amostras mais similares so agrupadas, de acordo com um
critrio de similaridade, at que todas sejam consideradas similares, formando um nico
agrupamento (DUDA; HART; STORK, 2000).
Mtodo Complete Linkage ou Farthest Neighbour: o mtodo do vizinho mais distante, que consiste em considerar a medida de distncia entre dois clusters como sendo
a maior distncia entre um elemento de um cluster e um elemento de outro cluster. A
distncia entre o cluster (U V ) e outro cluster W dada pela Equao 3.28:
dU V W = max{dU W , dV W },

(3.28)

onde dU W e dV W so as distncias entre os mais distantes membros dos clusters U e W e


clusters V e W , respectivamente.
Mtodo Average Linkage: o mtodo das distncias mdias entre clusters, que considera a distncia entre dois clusters como sendo a distncia mdia entre todos os pares de
elementos, onde um elemento de cada par pertence a cada um dos clusters. A distncia
entre o cluster (U V ) e outro cluster W dada pela Equao 3.29:
P P
dik
,
(3.29)
d(U V )W = i k
N(U V ) NW
onde dik a distncia entre o objeto i no cluster (U V ) e o objeto k no cluster W , e N(U V )
e NW so o nmero de itens nos clusters (U V ) e W , respectivamente.
Mtodo de Ward: mtodo proposto por Ward (1963) que baseado em minimizar a
perda de informao. Geralmente implementado utilizando o erro das somas ao quadrado como critrio funo objetiva para determinar os dois clusters que devem ser unidos. Para um dado cluster k, seja ESSk a soma dos quadrados dos desvios de todos os
itens no cluster em relao ao valor mdio do cluster (centroide). Se tiverem K clusters,
ESS definida como a soma de ESSk ou ESS = ESS1 + ESS2 , + . . . , +ESSk . A
cada etapa, a unio de todos os possveis pares de clusters considerada, e os dois clusters cuja combinao resulta no menor aumento em ESS (mnima perda de informao)
so unidos (JOHNSON; WICHERN, 2007). No incio, cada cluster consiste de um nico
item, e ESS = 0. Quando todos os clusters forem combinados em um nico grupo de N
itens, o valor de ESS dado pela Equao 3.30:
ESS =

N
X
j=1

(xj x) (xj x),

(3.30)

49

onde xj a medida multivariada associada com o j-simo item e x a mdia de todos os


itens.
Mtodos baseados em Teoria dos Grafos O agrupamento de dados pode ser visto
como um problema de corte de grafos. Cada dado associado a um vrtice em um grafo
ponderado, onde os pesos das arestas entre cada elemento grande se os elementos so
similares e pequeno caso contrrio. O objetivo cortar o grafo em componentes conectados com grande peso interior, que correspondem aos clusters, atravs do corte das arestas
que possuem um peso relativamente baixo (FORSYTH; PONCE, 2002).
Um mtodo de agrupamento divisivo baseados na construo de uma rvore de
extenso mnima (MST - Minimum Spanning Tree) com os dados, e ento so deletados as
arestas da rvore com as maiores distncias para gerar os clusters. A Figura 3.15 ilustra
o grafo obtido de nove pontos bidimensionais. Quebrando a ligao entre C e D com
comprimento de 6 unidades (a aresta com maior distncia euclidiana) faz com que sejam
obtidos 2 clusters (JAIN; MURTY; FLYNN, 1999).

Figura 3.15: Exemplo de agrupamento de dados utilizando rvores. Removendo a aresta


entre C e D com comprimento de 6 unidades (a aresta com maior distncia euclidiana)
faz com que os dados sejam obtidos 2 clusters (JAIN; MURTY; FLYNN, 1999).
Mtodos de Agrupamento Fuzzy
As abordagens tradicionais dos mtodos de agrupamento geram parties, e cada elemento pertence a somente um cluster. So definidos agrupamentos rgidos, definindo em
que grupo cada elemento ficar. O agrupamento fuzzy estende esta noo por ter um grau
de associao de cada elemento com todos os clusters. As sadas desses algoritmos so
clusters, mas no parties. As etapas do algoritmo de agrupamento fuzzy podem ser
descritas como a seguir (JAIN; MURTY; FLYNN, 1999).
1. Selecionar uma partio fuzzy inicial de N objetos em K clusters atravs da seleo
da matriz de pertinncia U N K. Um elemento uij dessa matriz representa o grau
de pertinncia do objeto xi no cluster CJ . Geralmente uij [0, 1].
2. Usando U , encontrar o valor de uma funo de critrio fuzzy associada com a partio correspondente. Uma possvel funo de critrio fuzzy :
E 2 (X, U ) =

N X
K
X
i=1 k=1

uij ||xi ck ||2 ,

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.

Figura 3.16: Ilustrao de um agrupamento fuzzy. Os retngulos delimitam dois clusters


rgidos e as elipses dois clusters fuzzy (JAIN; MURTY; FLYNN, 1999).

51

4 MTODO PROPOSTO PARA RASTREAMENTO E CONTAGEM DE VECULOS EM VDEOS DE TRFEGO URBANO

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

Viso Geral do Mtodo Proposto

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.

Figura 4.5: Viso geral do mtodo proposto.

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

canais de cor (CM FC CM QC ), e essa diferena somada a cada um dos pixels do


quadro processado, em cada um dos canais de cor C.
M N
1 XX
CM QC =
p(i, j, C),
M N i=1 j=1

(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

Obteno da Mscara com Objetos no Primeiro Plano do Vdeo

Como mencionado anteriormente, so utilizados os mtodos modelo de misturas de


gaussianas (GMM) (STAUFFER; GRIMSON, 1999) e Motion Energy Images (MEI)
(DAVIS; BOBICK, 1997) para a obteno da mscara binria do primeiro plano, ou foreground, combinando os resultados desses dois mtodos. Primeiramente, ser discutido o
mtodo de mistura de gaussianas, que utiliza uma mistura de gaussianas adaptativa para
modelar o fundo da cena e um algoritmo de componentes conectados para segmentar os
objetos que fazem parte do primeiro plano do vdeo.
Cada pixel modelado por uma mistura de K distribuies gaussianas, e o primeiro
plano considerado como contendo objetos mveis, que possuem cores diferentes das
regies do fundo da cena, que so mais estticos, no tendo muitas variaes ao longo
do tempo (STAUFFER; GRIMSON, 1999). Este mtodo foi escolhido porque pode lidar
melhor com mudanas de iluminao e com pequenas mudanas de localizao de objetos
do fundo da cena, como, por exemplo, o movimento das folhas de rvores.
As mudanas de cor em cada pixel dentro de uma janela temporal so representadas
~ i,t = {Ri,t , Gi,t , Bi,t }. A probabilidade de observar uma dada cor em um
como vetores X
pixel i = (x0 , y0 ) no tempo t modelado por K componentes (K = 3 neste trabalho).
As cores assumidas por um pixel em um intervalo de tempo [1, t 1] so denotadas como
~ i,1 , . . . X
~ i,t1 } = {I(x
~ 0 , y0 , j) : 1 j t 1}, onde I~ a sequncia de vdeo. Assim,
{X
a probabilidade de observar uma dada cor no pixel i no tempo t :
~ i,t ) =
P (X

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

Assim, as componentes da GMM mais provveis de representar o fundo (isto , com


maiores i,t,kord ) e mais estticas na cena (com menor variabilidade i,t,kord ) permanecem
no topo da ordenao (i.e. assumindo menor kord , kord  K), enquanto as componentes
menos provveis ficam em torno do final da ordenao (i.e. assumem um valor alto para
kord ) (STAUFFER; GRIMSON, 1999). Baseado na Equao 4.5, as ktop componentes que
esto no topo so escolhidas como modelo do fundo.
Um pixel com suas cores RGB correspondendo a alguma dessas ktop componentes
da GMM considerado como pertencente ao fundo da cena (KAEWTRAKULPONG;
BOWDEN, 2001).
Uma correspondncia ocorre se a cor RGB do pixel est dentro de 2.5 desvios padres
de alguma das componentes da GMM, em todos os canais RGB. Se a cor RGB do pixel
no corresponder a nenhuma das ktop componentes no topo da GMM ele considerado
como pertencente ao foreground, como detalhado a seguir.
!
kind
X
(i,t,j ) > TBackground ,
(4.5)
Bktop = argminkind
j=1

onde TBackground um limiar usado para selecionar um nmero de ktop componentes


GMM representando o fundo da cena. TBackground = 0.5 neste experimento.
Se um pixel RGB corresponder com alguma das K componentes, a componente que
teve uma correspondncia com o pixel ter o peso, a mdia e a sua covarincia atualizada,
seguindo duas etapas. Primeiro, a componente que teve uma correspondncia com o pixel
ter seu peso i,t1,k no tempo t 1 atualizado para obter i,t,k , como a seguir:
i,t,k = (1 )i,t1,k + ,

(4.6)

onde uma taxa de aprendizagem, e o vetor de mdias e a matriz de covarincia so


atualizados como a seguir:
~ i,t ,

~ 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)

onde o parmetro tambm uma taxa de aprendizagem, definida por:


~ i,t ,
= (X
~ i,t1,k , i,t1,k ).

(4.9)

A seguir, os parmetros das distribuies que no tiveram uma correspondncia so


mantidas, assim
~ i,t,k =
~ i,t1,k e i,t,k = i,t1,k , enquanto seus pesos so atualizados
como indicado na Equao 4.10:
i,t,k = (1 )i,t1,k .

(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)

onde x e y so as posies dos pixels no quadro no tempo t e t 1, e T b um limiar


(T b = 35 neste experimento). A mscara binria gerada pelo mtodo MEI E (x, y, t)
definida como a unio dessas sequncias binrias D(x, y, t) em um intervalo de tempo:
E (x, y, t) =

[
1

D(x, y, t j),

(4.12)

j=0

onde determina a extenso temporal da sequncia binria MEI E (x, y, t).


A Figura 4.8 exibe um exemplo de uma mscara binria obtida atravs do mtodo
MEI. A Figura 4.8a exibe o quadro original, e a Figura 4.8b exibe a mscara binria
obtida.

(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

Detectando os Agrupamentos de Partculas

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)

Figura 4.10: Exemplo de partculas detectadas no foreground. (a) mscara de primeiro


plano; (b) partculas obtidas.
Dentro de cada uma dessas regies convexas so geradas partculas aleatrias.Essas
partculas aleatrias serviro para melhorar a deteco dos veculos, especialmente os
mais longos e que no possuem muita textura, e que por isso no tero muitas partculas
detectadas.
A seguir, so obtidos os vetores de movimento para todas as partculas, as que foram
detectadas como cantos e as que forem eventualmente geradas com o rudo impulsivo. Os
vetores de movimento so obtidos utilizando a comparao de blocos com busca exaustiva
discutida na Seo 3.10. So geradas janelas do tamanho de 9 9 pixels ao redor de cada
partcula do quadrot , que so ento comparadas com uma regio de busca de 17 17
pixels ao redor das mesmas posies de cada partcula, mas no quadrot+1 . Assim so
obtidas as posies estimadas de onde cada uma das partculas deve estar no prximo
quadro.
A prxima etapa realizar o agrupamento inicial das partculas livres, que so partculas que no foram atribudas a grupos de partculas ou veculos detectados previamente.
Essas partculas livres existem em duas situaes. A primeira quando no existirem
agrupamentos passados dos quadros anteriores e houver um nmero mnimo de partculas, o que ocorre quando so processados os primeiros quadros do vdeo ou quando novos
veculos entram no quadro. A segunda quando, apesar de existirem agrupamentos formados e/ou agrupamentos identificados como veculos que foram passados do quadro
anterior, tambm existem partculas que no pertencem a nenhum desses grupos.
Se existirem centroides referentes a regies de partculas agrupadas ou regies de veculos, significa que j temos veculos detectados ou agrupamentos formados, que podero
ser detectados como veculos posteriormente. Nesses casos, tambm sero realizados processos 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. O processo de agrupamento inicial das partculas livres descrito na seo
abaixo.
4.4.1

Agrupamento Inicial de Partculas

As partculas so agrupadas de acordo com as suas posies espaciais e vetores de


movimento. O agrupamento realizado utilizando o algoritmo k-means, apresentado
na Subseo 3.12.1, que, como foi explanado, necessita que o nmero de clusters seja
definido antes de sua execuo. Para definir o nmero inicial de clusters presentes no
quadro atual, feito o procedimento descrito a seguir.
Seja Nmin o nmero mnimo de partculas que podem estar associadas a uma regio

63

do primeiro plano (i.e. veculo). Foi determinado experimentalmente que Nmin = 8


partculas/veculo o suficiente para os vdeos testados (resoluo de 320 240 pixels).
Vdeos com resolues diferentes ou contendo veculos com outras dimenses em relao
s dimenses do quadro podem necessitar de um ajuste no valor de Nmin .
Dados Nmin e o nmero total de partculas detectadas no quadro, Npart , podemos definir o nmero mximo de clusters para o quadro de vdeo processado como clustersmax =
Npart /Nmin . Em seguida, so obtidos os clusters iterativamente com o algoritmo k-means,
com o nmero de clusters variando de um at clustersmax . A cada iterao, a soma das
distncias das partculas para os seus respectivos centroides calculada (Equao 4.13), e
quando a diferena absoluta das distncias partculas-centroides em duas iteraes consecutivas for menor que um limiar TDif (0.01 neste trabalho), o processo iterativo termina.
A medida de distncia utilizada no algoritmo k-means para obter a distncia das partculas para os seus respectivos centroides que gerou os clusters com maior preciso, foi a
medida do cosseno, apresentada na Subseo 3.12.1. A soma das distncias das partculas
para os seus respectivos centroides em cada iterao calculada como:
SD

clusterk

cluster
Xk

n
X

i=1

j=1

Dcos (~ui,j , ~ci ),

(4.13)

onde clusterk o nmero de clusters a cada iterao e n o nmero de partculas em um


cluster Qi e Dcos (~ui,j , ~ci ) a distncia das partculas ~ui , pertencentes ao cluster Qi , para
o seu respectivo centroide, ~ci . A diferena absoluta das distncias entre duas iteraes
consecutivas definida como Dif = |SDclusterk 1 SDclusterk |.
A qualidade de cada cluster formado verificada utilizando a tcnica de grfico da
silhueta dos clusters (ROUSSEEUW, 1987), atravs da comparao da similaridade de
cada partcula com as outras partculas de seu prprio cluster assim como com as partculas pertencentes a outros clusters. A silhueta mostra quais partculas esto bem ajustadas
dentro de seus clusters, e dada por:
S(~u) =

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 Figura 4.11 mostra o diagrama do processo de agrupamento inicial, onde clusterk


o nmero de clusters em cada iterao, TDif um limiar para a diferena absoluta das
distncias partculas-centroides, clustersmax o nmero mximo de clusters permitidos,
dado por Npart /Nmin .

Figura 4.11: Ilustrao do processo de agrupamento inicial.


A hiptese que as partculas associadas a um veculo ocorrem prximas uma das outras e se movem de maneira coerente, no pode ser verificada em alguns casos prticos.
Um exemplo o caso de veculos longos, que podem apresentar pouca textura, como
ilustrado na Figura 4.12. A Figura 4.12 apresenta um caso em que teremos mais de um
grupo de partculas associado ao mesmo veculo. Devido ao comprimento do veculo, so
gerados grupos de partculas com uma grande distncia espacial entre eles (Figura 4.12a).
Tambm podem ocorrer deslocamentos das partculas devido deformao perspectiva,
levando a vetores de movimento diferentes para as partculas, mesmo que pertenam ao
mesmo veculo (Figura 4.12b).

(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

A diviso de cluster a prxima etapa a ser aplicada aos agrupamentos presentes no


quadro atual. A diviso dos clusters necessria para tratar situaes em que dois veculos
esto muito prximos, movendo-se na mesma direo e com velocidades semelhantes,
pois nessas situaes ocorre o agrupamento incorreto das partculas deles como um nico
cluster. A Figura 4.13 ilustra o processo de diviso de cluster.
No processo de diviso, para todos os clusters Qi = {u~i1 , , u~in }, i = {1, , nc},
onde {u~i1 , u~i2 , , u~in } um vetor representando as partculas no cluster Qi e nc o
nmero total de clusters, o seguinte teste realizado para verificar se o cluster Qi deve
ser dividido. A Figura 4.13a mostra as partculas sobrepostas ao quadro processado, de
acordo com as suas coordenadas. Como podemos observar na imagem, existem dois veculos na regio desse cluster, e, portanto, deveriam existir dois clusters, cada um associado
com um dos veculos.
Seja Econv = envoltoria_convexa(Qi ) a rea da envoltria convexa, ou seja, a rea
convexa determinada pelo menor polgono convexo que contm todos os pontos de um
conjunto, do cluster Qi (Figura 4.13b) e AB = Econv (Econv M F ), AB Econv a rea
que no est na mscara de foreground (M F ), na posio do cluster Qi . A Figura 4.13c
mostra a rea do primeiro plano em Econv , e a Figura 4.13d mostra as duas reas sobrepostas, permitindo vermos, em azul, AB, a rea do cluster que no corresponde a um objeto
detectado na mscara de foreground. Se #{AB}/#{Econv } > Tdiv (um limiar de diviso,
0
0
t
t 0
t 00
0.15 neste trabalho), ento Qt+1
= (Qti ) , Qt+1
j
j+1 = Qi (Qi ) = (Qi ) , j = {1, , nc },
0
com nc > nc, onde #{AB}, #{Econv } representam o nmero de pixels nas regies AB
0
00
e Econv , respectivamente, e (Qti ) , (Qti ) so obtidos atravs do agrupamento das partculas em Qti com o mtodo k-means, com k = 2. Isto , se mais de 15% da rea em Econv
no est presente em M F , o cluster Qi dividido em dois, usando o algoritmo k-means,
especificando que sero criados dois clusters com as partculas do cluster analisado, Qi .
O valor do limiar Tdiv baseado em uma razo, e deve funcionar bem com vdeos com
diferentes resolues e distncias em relao cmera, mas pode ser ajustado caso necessrio. Esse limiar indica a rea mxima aceitvel de background presente na regio
convexa do cluster para que ele no seja dividido. Conforme esse limiar aumenta, mais

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)

onde ~u = (u1 , u2 , , un ) representa o conjunto de partculas no cluster Q, e ~c o centroide


do cluster Q.

67

Se o teste da Equao 4.15 for verdadeiro para os clusters Qi e Qj , o seguinte teste


realizado para determinar se os clusters sero unificados:
Seja Econv = envoltoria_convexa(Qi Qj ) a menor rea convexa contendo todas as
partculas de Qi Qj , como ilustrado na Figura 4.14b, e AF = Econv M F , AF Econv
a rea de interseco entre a mscara de foreground (M F ) e a Econv , isto , a rea de
foreground contida em Econv , como ilustrado na Figura 4.14c.
Se #{AF }/#{Econv } > Tf und (Tf und = 0.85 neste trabalho), ento Qt+1
max(i,j) =
t+1
Qti Qtj e Qmin(i,j) = , onde max(i, j) e min(i, j) so os ndices mximo e mnimo
entre i e j, respectivamente, #{AF } e #{Econv } so o nmero de pixels nas regies
AF e Econv , respectivamente. Isto , se a rea de AF corresponde a pelo menos 85%
da rea total da rea de Econv , os clusters Qi e Qj so unificados em um nico cluster
(Figura 4.14e). O valor do limiar Tf und baseado em uma razo, e tambm deve funcionar
bem com vdeos com diferentes resolues e distncias em relao cmera, mas pode
ser ajustado caso necessrio. Esse limiar indica a rea mnima aceitvel de Econv que
deve corresponder ao foreground para que os clusters sejam fundido. Conforme esse
limiar aumenta, mais rea de foreground precisar existir na regio Econv para que os
clusters sejam fundidos. A Figura 4.13d mostra as duas reas, Econv e AF , sobrepostas,
permitindo ver a rea do cluster que corresponde a um objeto detectado na mscara de
foreground, AF , em branco, correspondendo a mais de 85% da rea de Econv , em azul.

(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

resultar em falso, a pontuao do teste subtrada. Os seguintes testes so realizados para


verificar se o cluster Qi corresponde a um veculo:
Tareamin < #{Econv } < Tareamax , o valor da rea (nmero de pixels) de Econv
deve estar dentro de um intervalo de valores mximo e mnimo de rea para ser
considerado um veculo (esse intervalo varia de acordo com a resoluo do vdeo e
a distncia da cmera para aos veculos na cena). (pontuao: 1)
#{CDenv }/#{Cdilatadas } > Tocup , a taxa de ocupao fornece a distribuio das
partculas dentro do cluster, indicando se o cluster est densamente ocupado (mais
provvel de corresponder a um veculo ) ou tem partculas mais esparsas (menos
provvel de corresponder a um veculo). Tocup = 0.8, neste trabalho. (pontuao:
1)
Emaior /Emenor < Teixos , verifica a razo entre o eixo maior e o eixo menor do
cluster, onde Teixos = 3 neste experimento. (pontuao: 1)
#{AFint }/#{Econv } > Tint , para corresponder a um veculo, a parte interna desta
rea convexa (Econv ) deve ter uma grande rea de interseco com a regio do primeiro plano (AFint ). Tint = 0.9 neste experimento. (pontuao: 1)
#{AFext }/#{Econv } < Text , para corresponder a um veculo, a parte ao redor da
regio Econv deve ser pequena, o que significa que Econv cobre a maior parte do
objeto mvel na mscara de primeiro plano. Text = 0.1 neste trabalho. (pontuao:
1)
Os valores dos limiares de rea, Tareamin e Tareamax podem variar de acordo com a
resoluo do vdeo e a distncia da cmera para aos veculos na cena. Para ajustar esses
valores para outros vdeos, deve-se ter Tareamin como o menor valor de rea (menor nmero de pixels) ocupado pelos menores veculos, e Tareamax como o maior valor de rea
(maior nmero de pixels) ocupado por veculos grandes. A razo entre os eixos maior
e menor um valor fixo, e, neste trabalho, o valor trs, indicando que um veculo pode
ter o seu comprimento at trs vezes maior que a sua largura, obteve bons resultados.
Caso o vdeo a ser processado apresente veculos com dimenses atpicas deve-se ajustar
para um valor apropriado. Os outros valores de limiares presentes nos testes acima so
baseados em porcentagens, com valores variando de zero a um, com valores prximos a
um indicando que os valores dessas propores devem ser altos (prximos de 100%), e
valores prximos zero indicando que devem ser baixos (prximos de 0%). Portanto,
devem funcionar bem com outros vdeos com diferentes resolues e distncias em relao cmera, mas podem ser ajustados caso necessrio, preferencialmente escolhendo
limiares acima de 0.7 para os valores que possuem um valor de proporo alto, e abaixo
de 0.3 para os o valor de proporo deve ser baixo.
Ao final de todos os testes, se a pontuao acumulada for maior que zero, o cluster Qi
considerado como associado a um veculo, passando, portanto, a ser denotado por Vi .
Cada um dos clusters associados aos veculos detectados so envolvidos por um retngulo
e passam a ter um nmero de identificao nico, como exibido na Figura 4.17.

70

(a)

(b)

(c)

(d)

Figura 4.16: Exemplo de anlise da mscara de foreground na regio do cluster. (a)


cluster analisado; (b) rea convexa (Econv ) das partculas no cluster analisado; (c) rea do
foreground (AFint ) intersectando a rea correspondente parte interna de Econv ; (d) rea
do foreground AFext correspondente parte externa ao redor de Econv .

Figura 4.17: Exemplo veculo detectado.

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

npc so os nmeros de partculas em Vit1 e Vit , respectivamente. Ento, janelas de pixels


centradas nas posies dadas pelas coordenadas das partculas so extradas do quadrot1 ,
t
denotada Wi,p = janela(ut1
i,p ), e do quadrot , denotada Wi,c = janela(ui,c ), com p =
t
{1, , npp} e c = {1, , npc}, onde Wi,p = janela(ut1
i,p ) e Wi,c = janela(ui,c )
fornecem as janelas de pixels centradas em cada uma das coordenadas das partculas
associadas com a rea convexa formada pelos veculos no quadro anterior (Vit1 ) e no
quadro atual (Vit ), npp e npc indicam o nmero de partculas nos clusters Vit1 e Vit ,
respectivamente.
A seguir, obtido o histograma de cor para cada uma das janelas de pixels. Para isso,
realizada uma requantizao uniforme da imagem, reduzindo as 256 cores em cada canal RGB da imagem para 8 cores em cada canal, ou seja, cada canal dividido em 8
intervalos iguais, resultando em uma imagem final com 512 cores. Assim, obtido o
histograma de cor normalizado para cada janela de imagem no quadro anterior (Wi,p ),
denotado Hi,p = hist(Wi,p ) e a janela correspondente no quadro atual (Wi,c ), denotado
Hi,c = hist(Wi,c ). Os histogramas extrados da vizinhana de cada partcula no quadrot
so ento comparadas com os histogramas dessas partculas no quadrot1 usando o coeficiente de Bhattacharyya (COMANICIU; RAMESH; MEER, 2000), apresentado na Seo 3.8 e indicado na Equao 4.18. Um valor alto de similaridade (acima de 0,8 neste
trabalho) indica que a partcula mesma em ambos os quadros, j um valor baixo, indica
que so partculas diferentes, ou seja, que a partculas do quadro atual no corresponde a
partculas do frame anterior, sendo ento descartada do rastreamento.
L q
X
(Hi,p )j (Hi,c )j ,
shist (Hi,p , Hi,c ) =

(4.18)

j=1

onde Hi,p o histograma extrado da vizinhana da partcula u~i,p t1 no quadro anterior no


tempo t 1, Hi,c o histograma extrado da vizinhana da partcula correspondente u~i,c t
no quadro atual no tempo t, L o nmero de intervalos de cores do histograma (512).
As partculas no cluster Vi no tempo t cujas similaridades com partculas no tempo
t 1, em termos de histogramas de cor, forem menores que um limiar de similaridade
TSim (TSim = 0.8 neste trabalho) so descartadas. Um novo cluster de partculas, nomeado Ti = {u~i,1 , , u~i,nt }, onde nt o nmero de veculos rastreados, obtido com
as partculas do cluster de partculas Vi que no foram eliminadas, isto , Ti contm as
partculas de Vi que no foram descartadas no teste shist (Hi,p , Hi,c ) > TSim . Este novo
cluster de partculas, Ti , significa que o cluster de partculas associado a um veculo detectado no tempo t1 corresponde ao mesmo veculo no tempo t, e portanto um veculo
rastreado. Como as posies das partculas entre dois quadros consecutivos so da dadas
pelos vetores de movimento, sobreposies podem ocorrer entre dois clusters Ti e Tj .
Para determinar a qual cluster as partculas na regio de sobreposio pertencem, cada
partcula na regio de sobreposio testada com a finalidade de distribuir elas para um
dos cluster, Ti ou Tj , e isso realizado utilizando a distncia de Mahalanobis, apresentada na Equao 4.19, e cada partcula u~i,k , onde k so os ndices das partculas na regio
de sobreposio, atribuda ao cluster considerado como o mais prximo dessa partcula
u~i,k .
M d(~u) =

(~u u)
~ T 1
u u)
~
u (~

(4.19)

onde ~u representa a partcula no cluster de partculas associado com um veculo T , u


~
o vetor de mdias das partculas no cluster T , u a matriz de covarincia das partculas

72

no cluster T , e T indica transposio.


A Figura 4.18 mostra um exemplo de similaridade de histograma de cor entre duas
partculas, uma no quadrot1 e outra no quadrot , onde Wi,p (Figura 4.18a) e Wi,c (Figura 4.18b) so as janelas de imagem de 9 9 pixels centradas em cada uma dessas
partculas. Podemos observar pelo grfico que o histograma da imagem Wi,p (Hi,p ), que
pode ser observado na Figura 4.18c em azul, no muito similar ao histograma da imagem Wi,c (Hi,c ), que pode ser observado na Figura 4.18d em vermelho. A Figura 4.18e
exibe os histogramas Hi,p e Hi,c sobrepostos, onde podemos observar facilmente que eles
no possuem grande similaridade, possuindo, de acordo com a Equao 4.18, um valor
de similaridade shist (Hi,p , Hi,c ) = 0, 6631, que menor que o limiar de similaridade
TSim = 0, 8, sendo, portanto, consideradas partculas diferentes. Na Figura 4.19 temos
um exemplo de similaridade de histograma de cor entre outras duas partculas, uma no
quadrot1 e outra no quadrot , onde Wi,p (Figura 4.19a) e Wi,c (Figura 4.19b) so as
janelas de imagem de 9 9 pixels centradas nessas partculas. Podemos observar pelo
grfico que o histograma da imagem Wi,p (Hi,p ), que pode ser observado na Figura 4.19c
em azul, no muito similar ao histograma de Wi,c (Hi,c ), que pode ser observado na
Figura 4.19d em vermelho. A Figura 4.19e exibe os histogramas Hi,p e Hi,c sobrepostos,
onde podemos observar que agora eles possuem grande similaridade, de acordo com a
Equao 4.18, um valor de similaridade shist (Hi,p , Hi,c ) = 0, 9948, que maior que o
limiar de similaridade TSim = 0, 8.

73

(a) Wi,p

(c) Histograma de Wi,p (Hi,p )

(b) Wi,p

(d) Histograma de Wi,c (Hi,c )

(e) Histogramas Hi,p e Hi,c sobrepostos

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

(c) Histograma de Wi,p (Hi,c )

(b) Wi,c

(d) Histograma de Wi,c (Hi,c )

(e) Histogramas Hi,p e Hi,c sobrepostos

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

Nesta etapa, realizada a contagem dos veculos. Somente os agrupamentos que


foram detectados como veculos e rastreados sero contados, os agrupamentos que no
foram identificados como veculos no sero contados. Os veculos so contados somente
quando passam sobre laos virtuais definidos pelo usurio, que podem ser definidos em
qualquer posio dentro da rea de interesse, como pode ser observado na Figura 4.20. No
entanto, uma vez que apenas os veculos detectados e rastreados so contados, o melhor
lugar para incluirmos um lao virtual na rea onde os veculos esto deixando a cena.
Dessa maneira, as chances de um veculo ser contado aumentam, pois o veculo ter sido
detectado e rastreado ao longo de um maior nmero de quadros antes de atingir o lao
virtual.

Figura 4.20: Exemplo de trs laos virtuais posicionados sobre as pistas.


A Figura 4.21 exemplifica o processo de incremento do contador de veculos do lao
virtual. A contagem dos veculos baseada na interseco das regies convexas formadas pelas partculas rastreadas associadas a um veculo com as regies poligonais que
definem os laos virtuais. Isso pode ser definido formalmente da seguinte maneira: Seja
CT = envoltoria_convexa(Ti )) a menor rea convexa contendo todas as partculas do
cluster associado a um veculo, Ti , i = {1, , nt}, onde nt o nmero de veculos
rastreados, e LaoL = {Lao1 , , LaonLaos }, que representa as regies dos laos virtuais, onde nlaos o nmero de laos virtuais. O incremento do lao virtual realizado
de acordo com argmaxL (LaoL CT ). Isto , o lao virtual (LaoL ) que tiver a maior
rea de interseco com um grupo de partculas rastreadas (veculos) CT tem o seu contador incrementado, e essas partculas rastreadas no ativaro outros laos virtuais. Cada
agrupamento de partculas rastreado e detectado como correspondente a um veculo
contado apenas uma vez, mesmo quando passam sobre mais de um lao virtual ao mesmo
tempo, como ilustrado na Figura 4.22. Na Figura 4.22c podemos ver que as partculas
correspondentes ao veculo sobre os laos na Figura 4.22a esto sobre os laos 1 e 2.
Aps ser obtida a envoltria convexa dessas partculas (CT ), ilustrado na Figura 4.22d,
verificado com qual lao CT tem a maior rea de interseco (Figura 4.22e). Como
podemos observar, lao virtual com maior interseco com CT o Lao3 , que ento
ativado e tem o seu contador incrementado (Figura 4.22f).

76

(a)

(b)

(c)

(d)

(e)

(f)

Figura 4.21: Ilustrao do processo de incremento do contador de veculos do lao virtual.


(a) veculo entrando no lao virtual; (b) retngulo 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
o lao virtual definido pelo usurio (Lao3 ); (f) ativao do lao virtual com maior rea de
interseco, o lao muda de cor para indicar que foi ativado e o contador incrementado.

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

Este trabalho consiste no desenvolvimento de um sistema automtico para realizar a


contagem de veculos em trfego urbano por cmeras de vdeos utilizando tcnicas de
processamento de imagens e viso computacional. Para isso, so utilizadas partculas,
obtidas atravs de um mtodo de deteco de cantos em imagens, que so agrupadas de
maneira que cada um dos agrupamentos formados corresponda a um veculo presente
no vdeo, empregando mtodos para fazer a correta deteco dos veculos e tambm o
rastreamento, que essencial para garantir que um mesmo veculo seja contado apenas
uma vez. Essa contagem realizada quando os veculos passam sobre marcaes na pista
que foram definidas pelo usurio, chamadas de laos virtuais.
Esta seo apresenta os resultados obtidos com o mtodo proposto, sendo tambm
realizada uma comparao com dois outros mtodos encontrados na literatura, um com
abordagem semelhante, proposto por Kim (2008), que combina subtrao de fundo, rastreamento de partculas (feies) e algoritmos de agrupamento, e outro baseado na obteno de objetos de interesse e rastreamento de componentes conectados, proposto por
Sanchez et al. (2011), apresentados na Seo 2.3. Esses mtodos foram escolhidos por
serem similares ao mtodo proposto, utilizando partculas (KIM, 2008) e uma mscara
que detecta os objetos em movimento no primeiro plano do vdeo (SANCHEZ et al.,
2011). Para gerar os resultados das comparaes foram utilizados um aplicativo do mtodo proposto por Kim, disponibilizado pelo autor, e uma implementao em Matlab para
o mtodo proposto Sanchez et al., implementado de acordo com o artigo.
Uma das vantagens em relao aos mtodos comparativos a utilizao de uma mscara de foreground mais robusta, o que faz com que os objetos em movimento na cena
sejam identificados de maneira mais precisa. Outra vantagem em relao aos mtodos
comparativos a realizao de etapas de verificao dos veculos, que verifica se cada
agrupamento formado corresponde a um veculo, e tambm as etapas de fuso e diviso
de clusters, que corrige falhas que possam ocorrer no agrupamento inicial das partculas, atribuindo as partculas para os agrupamentos corretos. A etapa de rastreamento das
partculas, que leva em considerao as posies estimadas pelos vetores de movimento,
tambm garante que em situaes onde o trfego est parado ou lento o mtodo ainda consiga manter um rastreamento razovel dos veculos, evitando que sejam contados como
novos veculos quando o movimento reiniciar.
Como mencionado anteriormente, a obteno das mscaras binrias de foreground,
utilizando os mtodos de modelo de misturas de gaussianas (GMM) e Motion Energy
Images (MEI), foram implementadas utilizando a linguagem de programao C/C++, juntamente com a biblioteca multiplataforma OpenCV. Aps a obteno das mscaras, so
executadas as etapas seguintes do mtodo, que foram implementadas utilizando a plataforma Matlab. Os vdeos utilizados nos experimentos e comparaes foram adquiridos de

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

tipos: motocicletas (veculos pequenos), carros (veculos mdios) e caminhes (veculos


grandes). O valor entre parnteses representa a contagem real. Assim, possvel saber a
quantidade de veculos de cada tipo nas pistas e quais os tipos de veculos que esto tendo
problemas para serem contados.
A Figura 5.1a mostra um quadro de exemplo do vdeo Cam06, e na Figura 5.1b a
sua respectiva mscara de foreground. A Figura 5.1c 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, que foi posicionado dentro da rea
de interesse, cobrindo toda a extenso de cada pista da via, prximo do ponto onde os
veculos deixam a rea de interesse, como exibido na Figura 5.1d. Isso faz com que as
chances do veculo ser contado corretamente aumente, pois ele j ter sido detectado e
rastreado ao longo de vrios quadros.

(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)

Figura 5.2: Exemplo de rastreamento na Cam06. (a) - (i) ilustram o rastreamento de


veculos em uma sequncia de quadros da Cam06.

Tabela 5.1: Contagem de veculos para a Cam06.


Mtodo
Inspecao Visual

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

mais de um veculo. So apresentados os valores totais e tambm os valores para cada


uma das pistas, separadamente. Os valores entre parnteses representam a contagem real
para cada tipo de veculo.

Mtodo

KIM

SANCHEZ et al.

Mtodo Proposto

Tabela 5.2: Veculos no detectados na Cam06.


Tipo de Veculo Pista 1 Pista 2 Pista 3

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

Tabela 5.3: Veculos detectados mltiplas vezes na Cam06.


Mtodo

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.

Tabela 5.4: Contagem de veculos para a Cam25.


Mtodo
Inspecao Visual

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)

Figura 5.5: Exemplo de rastreamento na Cam25. (a) - (i) ilustram o rastreamento de


veculos em uma sequncia de quadros da Cam25.

Mtodo

KIM

SANCHEZ et al.

Mtodo Proposto

Tabela 5.5: Veculos no detectados na Cam25.


Tipo de Veculo Pista 1 Pista 2 Pista 3

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)

Figura 5.9: Exemplo de rastreamento na Cam41. (a) - (i) ilustram o rastreamento de


veculos em uma sequncia de quadros da Cam41 onde 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.
Tabela 5.7: Contagem de veculos para a Cam41.
Mtodo

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

Tabela 5.8: Veculos no detectados na Cam41.


Tipo de Veculo Pista 1 Pista 2 Pista 3

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

Tabela 5.9: Veculos detectados mltiplas vezes na Cam41.


Mtodo

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

temos as dificuldades apresentadas em outras cmeras, como a ocluso causada quando


os veculos esto parados e prximos uns dos outros.
A Figura 5.9 tambm ilustra a situao em que os veculos so considerados como
sendo um objeto nico quando entram na regio de interesse, mas sendo, em seguida,
detectados corretamente, quando se aproximam da cmera.
Como podemos observar na Tabela 5.7, o mtodo proposto obteve o melhor resultado
na contagem. Todos os mtodos tiveram uma taxa de erro maior na pista central, pois a
que possui o maior nmero de veculos trafegando, e eles tambm entram muito prximos
na rea de interesse, fazendo com que inicialmente sejam contados como um nico objeto.
Por esse motivo, os mtodos comparativos contaram alguns veculos como sendo um
veculo nico, deixando de detectar diversos veculos na pista central, principalmente o
mtodo proposto por Sanchez et al., como pode ser verificado na Tabela 5.8. Verificando
a Tabela 5.9, percebemos que o mtodo proposto por Kim apresentou dificuldades para
contar corretamente os veculos grandes, como nibus e caminhes, tendendo a dividir
esses veculos em diversos objetos menores, fazendo com que os mesmos veculos sejam
contados mais de uma vez.
A Figura 5.11a mostra um quadro de exemplo do vdeo Cam64, e a Figura 5.11b a sua
respectiva mscara de foreground. Figura 5.11c exibe as linhas que delimitam a regio de
interesse, em vermelho. A regio de interesse cobre todas as pistas do lado esquerdo do
vdeo. Cada uma das pistas recebeu um lao virtual, de modo que os laos cubram toda a
extenso da via, como exibido na Figura 5.11d.
A Figura 5.12 exibe um exemplo onde a deteco de veculos falha na Cam64. Neste
exemplo, os veculos estavam parados no incio do vdeo, isso faz com que no seja
detectado movimento na cena e os veculos no aparecem na mscara de foreground.
Quando o movimento inicia, so detectados os objetos no foreground, mas ainda assim um
pouco fragmentados. Conforme os veculos passam, os objetos comeam a ser detectados
corretamente na mscara de foreground, e os veculos passam ser detectados corretamente,
com cada veculo rastreado recebendo ao seu redor um retngulo verde, e um nmero
identificador nico, em vermelho. Na Figura 5.13 apresentada outra situao desafiadora

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

Tabela 5.11: Veculos no detectados na Cam64.


Tipo de Veculo Pista 1 Pista 2 Pista 3 Total Veculos

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

Tabela 5.12: Veculos detectados mltiplas vezes na Cam64.


Mtodo

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

veculos se movimentam, alguns dos veculos so detectados e contados corretamente,


porm, pelo menos trs veculos no so contados

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 5.15: Exemplo de rastreamento na Cam68. (a) - (i) ilustram o rastreamento de


veculos em uma sequncia de quadros da Cam68. Os veculos estavam parados devido
ao sinal de trnsito, fazendo com que os objetos da cena sejam detectados incorretamente.
Entretanto, como podemos observar nas figuras, assim que os veculos comeam a se
movimentar, e se aproximar da parte inferior do vdeo, so todos detectados e contados
corretamente.
Na Tabela 5.13 so exibidos os resultados obtidos para a contagem dos veculos da
Cam68 utilizando o mtodo proposto e tambm com os mtodos comparativos.
A Tabela 5.14 apresenta o nmero de veculos que no foram detectados, utilizando
cada um dos mtodos, enquanto a Tabela 5.15 apresenta o nmero de veculos que foram
contados mais de uma vez.
Na Cam68 os veculos tambm param devido ao sinal de trnsito, causando problemas semelhantes aos da Cam64. Quando os veculos esto parados, eles so detectados
como um nico objeto, como ilustrado na Figura 5.16, e, no momento que os veculos
se movimentam, ocorrem fragmentaes na mscara de foreground. A pista da esquerda
tambm apresenta situaes de ocluso quando existem veculos grandes na pista da direita, fazendo com que seja detectado um nico veculo.
De acordo com a Tabela 5.13, o mtodo proposto obteve o menor valor de erro para
a Cam68, 1,30%, enquanto o mtodo proposto por Kim obteve a maior diferena para o

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

Tabela 5.13: Contagem de veculos para a Cam68.


Mtodo

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

Tabela 5.14: Veculos no detectados na Cam68.


Mtodo
Tipo de Veculo Pista 1 Pista 2 Total Veculos

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

Tabela 5.15: Veculos detectados mltiplas vezes na Cam68.


Mtodo

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.

Tabela 5.16: Contagem de veculos para a Cam73.


Mtodo
Inspecao Visual

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)

Figura 5.18: Exemplo de rastreamento de veculo maior que a regio de interesse na


Cam73. (a) - (i) ilustram o rastreamento de veculos em uma sequncia de quadros da
Cam73. Por ter um viso mais do topo da cena, alguns veculos ocupam quase toda a
regio de interesse.

Mtodo

Tabela 5.17: Veculos no detectados na Cam73.


Tipo de Veculo Pista 1 Pista 2 Pista 3 Total Veculos

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

veculos sendo contados mltiplas vezes, principalmente no mtodo Sanchez et al..


De acordo com a Tabela 5.16, o mtodo proposto apresentou um erro de 3.96%, e o
mtodo de Sanchez et al. ficando tambm bastante prximo, com 4.95% de erro, obtendo
um erro maior na pista 1, de 16%. O mtodo proposto por Kim obteve 15.84% de erro,
sendo a pista 3 a com o maior nmero de erros.
Observando a Tabela 5.17 e a Tabela 5.18, notamos que esses erro so causados por
veculos que no foram detectados, sendo poucos os veculos que foram detectados mltiplas vezes. Inclusive o mtodo de Kim, que geralmente apresenta um elevado nmero
de erros causados pela deteco mltipla, apresentou um nmero maior de erros causados
por veculos no detectados. Um dos motivos para esses erros de deteco o posicionamento da cmera. Como visto na Figura 5.17, a cmera captura uma viso mais de topo
da cena, e tambm est bem prxima da via. Por isso, juntamente com o fato de veculos no precisarem parar devido a alguma sinalizao na via, os veculos passam muito
rpido pelo vdeo, no ficando um nmero de quadros suficientes para serem detectados
corretamente. Assim, os mtodos comparativos tiveram dificuldades para detectar alguns
veculos.
A Tabela 5.19 rene a contagem obtida em todos os vdeos, com o mtodo proposto e
com os mtodos de comparao, mostrando ao final o resultado geral. Nela so apresentas
para cada um dos vdeos 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 dos vdeos, ou seja, o somatrio de todas as pistas de todos os
vdeos, onde a porcentagem do erro calculada como o nmero total de erros sobre o
nmero real de veculos no vdeo.
Na Tabela 5.20 esto os resultados gerais do nmero de veculos no detectados, e na
Tabela 5.21 os resultados gerais dos veculos detectados mais de uma vez, para todos os
vdeos e utilizando o mtodo proposto e os mtodos de comparao.
O mtodo proposto apresenta um erro de 2,68%, ou seja, um erro de contagem de
29 veculos para um total de 1081 veculos. Podemos observar que o mtodo proposto
tem uma taxa de erro e uma diferena absoluta menor em relao ao mtodo comparativo proposto por Kim, que possui um erro de contagem de 184 veculos (17,02%), e ao
mtodo proposto por Sanchez et al., que obteve uma diferena de deteco de 107 veculos (9,9%). Um ponto importante, que o valor menor para a diferena de contagem
do mtodo comparativo proposto por Sanchez et al., 27 veculos contados a mais do que
o nmero total de veculos, na verdade se deve ao nmero mais balanceado de falhas de
deteco e mltiplas deteces de veculos, sendo esses erros de deteco e de deteco
mltipla maiores que os outros mtodos testados, como pode ser observado na Tabela 5.20
e na Tabela 5.21.
Como vemos na Tabela 5.20, o mtodo proposto perde menos veculos na avaliao
geral que os mtodos comparativos, deixando de contar apenas 40 veculos. O nmero
de veculos no detectados no mtodo proposto no mnimo duas vezes menor que nos
mtodos comparativos de Kim e Sanchez et al., que no detectaram 101 e 181 veculos,
respectivamente.
Quando se trata de detectar veculos longos, o mtodo proposto tambm apresenta
resultados melhores que os mtodos comparativos. O processo de fuso de clusters assegura que agrupamentos de partculas que so diferentes, mas na verdade pertenam ao
mesmo veculo, sejam unidos, na maioria das vezes, com xito para detectar um veculo,
e isso ocorre devido ao auxlio da mscara de foreground, que identifica os objetos em
movimento nas regies correspondentes aos clusters.

106

Tabela 5.19: Resultado geral da contagem de veculos.


Vdeo Pistas Inspeo Visual

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

1147 66 184 17.02% 1108 27 107

9.90%

Tabela 5.20: Resultado geral dos veculos no detectados.


Vdeo

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

Tabela 5.21: Resultado geral dos veculos detectados mltiplas vezes.


Vdeo

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

No entanto, as regies de agrupamentos semelhantes ao fundo, ou cujos agrupamentos


so formados longe um do outro, podem ser divididos e considerados como mais do
que um veculo, no mtodo proposto. Entretanto, o mtodo proposto pode dividir um
veculo em dois ou, no mximo, trs objetos detectados, enquanto que o segundo mtodo
comparativo, proposto por Kim, pode dividir veculos, especialmente os mais longos, em
mais de cinco objetos diferentes, resultando em um erro de contagem muito maior, devido
aos veculos contados mltiplas vezes.
O valor alto da contagem no mtodo proposto por Sanchez et al. ocorre pela diviso
de veculos longos em vrios objetos e a contagem mltipla de veculos parados sobre
os laos virtuais, nos sinais de trnsito. Devido ao fato de o mtodo utilizar uma estratgia de deteco de background adaptativa, veculos que permanecem parados por longos
perodos de tempo podem ser considerados como parte do fundo da cena, e quando o
movimento reinicia, eles so considerados novos veculos, sendo contados novamente.

108

CONCLUSES E TRABALHOS FUTUROS

Neste trabalho foi apresentado um mtodo que realiza a deteco e o rastreamento de


veculos com o objetivo de obter a contagem de veculos que passam sobre laos virtuais
distribudos na pista, em posies definidas pelo usurio. Como apontado pelos resultados experimentais, o mtodo comprovou ser eficiente na contagem de veculos utilizando
vdeos de trfego urbano, e tambm obteve resultados melhores que os mtodo comparativos, Kim (2008) e Sanchez et al. (2011).
Na contagem geral, o mtodo proposto foi melhor em todos os vdeos, obtendo o valor
total de erro de apenas 29 veculos, enquanto o mtodo proposto por Kim obteve 184 e
o proposto por Sanchez et al. 107. O mtodo proposto foi melhor tambm em relao
ao nmero geral de veculos no detectados e de veculos detectados mltiplas vezes, no
detectando apenas 40 veculos, e detectando mltiplas vezes 55 veculos.
Alguns veculos podem deixar de serem detectados, principalmente veculos muito
pequenos, como motocicletas, pois muitas vezes no apresentam um nmero mnimo de
partculas para formar um agrupamento, e tambm trafegam entre dois veculos ou muito
prximas de outros veculos, fazendo com que no sejam detectadas corretamente. Contudo, veculos grandes, s vezes at mesmo maiores que a rea de interesse, so detectados
corretamente, e em situaes em que no so detectados corretamente, so divididos em
no mximo duas ou trs partes.
Uma situao difcil de lidar quando os veculos param na via, devido aos sinais de
trnsito. Nessa situao, os veculos ficam muito prximos, o que dificulta a deteco
correta dos mesmos. Entretanto, assim que o movimento retomado, os veculos passam
a ser detectados corretamente. Em algumas situaes, tambm pode ocorrer a contagem
mltipla dos veculos que estiverem parados sobre os laos virtuais, pois quando o movimento reinicia, a mscara de foreground fica um pouco fragmentada por alguns instantes.
Outra situao que impe limitaes para o mtodo proposto a ocluso. Em virtude do
ngulo de captura de alguns vdeos, ocorrem algumas situaes de ocluses quando os
veculos esto muito prximos, geralmente quando esto parados nos sinais de trnsito,
ou quando existem veculos grandes, como nibus, nas pistas mais prximas da cmera,
como visto na Cam64 e na Cam68.
Os resultados dos experimentos sugerem que os mtodos de contagem e rastreamento
de veculos podem ser incorporados aos sistemas existentes de monitoramento de trfego.
No futuro, pretende-se melhorar o mtodo proposto atravs do desenvolvimento de novos
mtodos de deteco de veculos e novas tcnicas para o rastreamento das partculas que
possam lidar adequadamente com problemas causados por ocluses. Tambm pretendese realizar mais testes e avaliar o desempenho do mtodo em outras condies climticas
e tambm outras posies de cmeras.

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

Durante o desenvolvimento deste trabalho, foram elaborados artigos cientficos para


publicao em eventos e peridicos da rea, relatando os resultados obtidos e as contribuies do trabalho desenvolvido durante o mestrado. Nesta seo, sero apresentadas
resumidamente cada uma dessas publicaes.
ARTIGOS PUBLICADOS EM CONFERNCIAS:
1. Tracking and Counting Vehicles in Traffic Video Sequences Using Particle Filtering. Bouvie, C.; Scharcanski, J.; Barcellos, P.; Lopes Escouto, F.. Publicada
em: 2013 IEEE Instrumentation and Measurement Technology Conference
(I2MTC 2013).

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.

Вам также может понравиться