Estudo e implementa¸c˜ao de um sistema para monitoramento ... · para contagem de ve´ıculos em...

52
Gabriel Irribarem Soares Ruas Victor Alberto Parcianello Benso Estudo e implementa¸c˜ao de um sistema para monitoramento do fluxo de ve´ ıculos em cruzamentos urbanos atrav´ es de v´ ıdeo digital Curitiba – PR Novembro / 2006

Transcript of Estudo e implementa¸c˜ao de um sistema para monitoramento ... · para contagem de ve´ıculos em...

Gabriel Irribarem Soares Ruas

Victor Alberto Parcianello Benso

Estudo e implementacao de um sistema

para monitoramento do fluxo de veıculos

em cruzamentos urbanos atraves de vıdeo

digital

Curitiba – PR

Novembro / 2006

Gabriel Irribarem Ruas

Victor Alberto Parcianello Benso

Estudo e implementacao de um sistema

para monitoramento do fluxo de veıculos

em cruzamentos urbanos atraves de vıdeo

digital

Trabalho apresentado como requisito da dis-ciplina Projeto de Graduacao

Orientador: Prof. Dr. Evelio Martın Garcıa Fernandez

Co-Orientador: Marcus Vinicius Lamar,Ph.D.

Departamento de Engenharia EletricaSetor de Tecnologia

Universidade Federal do Parana

Curitiba – PR

Novembro / 2006

Dedicamos esta dissertacao aos nossos pais, irmaos,

namoradas e amigos que de forma ımpar

nos apoiaram na realizacao deste projeto.

Agradecimentos

Dedico meus sinceros agradecimentos para:

– Aos Professores Doutores Marcus Vinicus Lamar e Evelio Martın Garcıa Fernandez

pelas insistentes revisoes solicitadas e pelas crıticas altamente construtivas que contribui-

ram em muito para a realizacao deste projeto;

– A equipe do Laboratorio de Processamento de Vıdeo Digital nas pessoas de Ticiano

Bragatto e Andre Leone, que nao pouparam esforcos nos auxiliando na obtencao de dados

experimentais;

– Ao professor da disciplina de projeto final, pelo apoio sempre manifestado;

– Ao Centro de Formacao de Recursos Humanos em Transporte da Universidade de

Brasılia, pelo financiamento do projeto;

“A atividade da engenharia, enquanto permanecer atividade,

pode levar a criatividade do homem a seu grau maximo;

mas, assim que o construtor para de construir e se entrincheira

nas coisas que fez, as energias criativas se congelam,

e o palacio se transforma em tumba.”

Marshall Berman

Resumo

Este trabalho apresenta uma nova metodologia baseada em processamento de vıdeopara contagem de veıculos em cruzamentos e vias urbanas. O objetivo deste projeto edemonstrar a viabilidade tecnica do uso de tecnicas de visao computacional para a cons-trucao de um equipamento portatil que realize a contagem de fluxo de veıculos urbanosde forma completamente automatica. Tecnicas de processamento de imagens, tais comosubtracao de fundo, definicao e rastreamento de caracterısticas de objetos quaisquer fo-ram utilizadas no desenvolvimento e implementacao do prototipo. Os resultados obtidos,demonstram a viabilidade tecnica, atingindo taxas de acerto da ordem de 91.3% para viasde mao dupla e 83.3% em cruzamentos mais complexos.

Sumario

Lista de Figuras

Lista de Tabelas

1 Introducao p. 12

2 Revisao Bibliografica p. 14

2.1 Sistemas com Modelagem Tridimensional da Cena . . . . . . . . . . . . p. 14

2.2 Sistemas Monoculares de Rastreamento . . . . . . . . . . . . . . . . . . p. 16

2.2.1 Rastreamento de Contornos . . . . . . . . . . . . . . . . . . . . p. 16

2.2.2 Rastreamento de Caracterısticas . . . . . . . . . . . . . . . . . . p. 17

3 Sistema Proposto p. 18

3.1 Estrutura do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19

3.1.1 Captura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

3.2 Subtracao de Fundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23

3.2.1 Mistura de Gaussianas . . . . . . . . . . . . . . . . . . . . . . . p. 24

3.2.2 Scoreboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

3.2.3 Motion Templates . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

3.2.4 Comparacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

3.3 Segmentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

3.4 Identificacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

3.5 Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29

3.5.1 Cria CARROS . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29

3.5.2 Extrai caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . p. 29

3.5.3 Segue caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . p. 30

3.5.4 Estima CARRO . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31

3.5.5 Corrige Referencias . . . . . . . . . . . . . . . . . . . . . . . . . p. 31

3.5.6 Apaga CARROS . . . . . . . . . . . . . . . . . . . . . . . . . p. 32

3.6 Contagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32

3.7 Interface Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32

3.7.1 Operacao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . p. 33

3.7.2 Especificacao do cruzamento . . . . . . . . . . . . . . . . . . . . p. 33

3.7.3 Especificacoes de processamento . . . . . . . . . . . . . . . . . . p. 33

3.7.4 Controles da Camera . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.7.4.1 Exposicao . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.7.4.2 Obturador . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.7.4.3 Ganho . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.7.4.4 Brilho . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.7.4.5 Nitidez . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.7.4.6 Gama . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

3.7.4.7 Saturacao . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

3.7.4.8 Balanco de Branco . . . . . . . . . . . . . . . . . . . . p. 37

3.7.5 Elaboracao de Relatorios . . . . . . . . . . . . . . . . . . . . . . p. 37

4 Resultados Obtidos p. 38

4.1 Resultados em Vias Simples . . . . . . . . . . . . . . . . . . . . . . . . p. 38

4.2 Resultados em Cruzamentos . . . . . . . . . . . . . . . . . . . . . . . . p. 40

4.3 Recursos do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

4.3.1 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

4.3.2 Prototipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

4.3.3 Analise de Mercado . . . . . . . . . . . . . . . . . . . . . . . . . p. 46

5 Conclusao p. 48

Referencias p. 50

Lista de Figuras

1 Fluxograma de processamento em algoritmo com modelagem 3D. . . . p. 15

2 Fluxograma de processamento da proposta . . . . . . . . . . . . . . . . p. 16

3 Fluxo de processo do software desenvolvido . . . . . . . . . . . . . . . . p. 20

4 Cruzamento da rua Santa Quiteria . . . . . . . . . . . . . . . . . . . . p. 21

5 Cruzamento da rua Francisco H. dos Santos . . . . . . . . . . . . . . . p. 21

6 Comparativo entre lentes . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

7 Pixel com gaussianas concentradas . . . . . . . . . . . . . . . . . . . . p. 25

8 Pixel com gaussianas espalhadas . . . . . . . . . . . . . . . . . . . . . . p. 25

9 Fluxograma de funcionamento da etapa rastreadora . . . . . . . . . . . p. 30

10 Janela para marcacao de vias . . . . . . . . . . . . . . . . . . . . . . . p. 33

11 Janela para ajuste dos parametros de operacao . . . . . . . . . . . . . . p. 34

12 Influencia da exposicao . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

13 Influencia do brilho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

14 Influencia da nitidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

15 Influencia da correcao de gama . . . . . . . . . . . . . . . . . . . . . . p. 36

16 Influencia da saturacao . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

17 Influencia do balanco de branco . . . . . . . . . . . . . . . . . . . . . . p. 37

18 Sistema monitorando fluxo em vias simples . . . . . . . . . . . . . . . . p. 38

19 Sistema monitorando fluxo em vias simples . . . . . . . . . . . . . . . . p. 39

20 Resultados da contagem para o cruzamento da Figura 18. . . . . . . . . p. 40

21 Resultados da contagem para o cruzamento da Figura 19 . . . . . . . . p. 40

22 Sistema monitorando fluxo em cruzamento . . . . . . . . . . . . . . . . p. 41

23 Sistema monitorando fluxo em cruzamento . . . . . . . . . . . . . . . . p. 41

24 Resultados da contagem para o cruzamento da Figura 22 . . . . . . . . p. 42

25 Resultados da contagem para o cruzamento da Figura 23 . . . . . . . . p. 43

26 Situacao de oclusao parcial . . . . . . . . . . . . . . . . . . . . . . . . . p. 44

Lista de Tabelas

1 Exemplo de matriz que sumariza os dados coletados pelo sistema . . . . p. 32

2 Custos de implementacao do prototipo . . . . . . . . . . . . . . . . . . p. 46

12

1 Introducao

Nos ultimos anos devido a estabilidade economica e carencia de um sistema de trans-

porte coletivo de passageiros que seja funcional e ofereca conforto aos usuarios, o numero

de veıculos particulares aumentou de forma significativa nos centros urbanos. Neste con-

texto surge a necessidade de um planejamento urbano que preze pela eficiencia no transito.

Este planejamento demanda informacoes sobre o fluxo de veıculos em vias urbanas. Estas

informacoes sao coletadas atualmente pelas autoridades de transito utilizando metodos

automaticos de contagem ou por mera observacao humana.

Este trabalho propoe o desenvolvimento de um sistema automatico para o monito-

ramento do fluxo de veıculos em cruzamentos urbanos que seja de baixo custo e com o

grande diferencial inovador de ser portatil.

O sistema proposto e baseado em processamento inteligente de imagens ,unica solucao

tecnologica a baixo custo que atende aos requisitos exigidos. Uma camera de vıdeo digital e

um computador portatil customizado sao os unicos requerimentos de hardware necessarios

a execucao do sistema proposto.

O sistema computacional desenvolvido no decorrer do projeto tem-se mostrado como

alternativa viavel, tanto no aspecto tecnico quanto no economico, aos metodos atualmente

existentes para obtencao do fluxo de veıculos em cruzamentos. Algumas melhorias ainda

serao adicionadas ao projeto visando aumentar sua robustez as condicoes de iluminacao e

posicionamento da camera, bem como reduzir a incerteza de sua contagem pela melhoria

dos algoritmos de processamento de imagens. Tecnicas para a reducao da complexidade

computacional do sistema serao aplicadas ao sistema ao final desse processo, visando

reduzir ainda mais os custos relativos a plataforma de hardware necessaria.

Este trabalho encontra-se organizado da seguinte maneira: A secao 2 apresenta uma

pesquisa bibliografica realizada no ambito do monitoramento de veıculos e processamento

de imagens e vıdeos visando essa aplicacao. O sistema proposto e apresentado na secao 3.

A secao 4 e dedicada a apresentacao e discussao dos resultados obtidos com o prototipo

1 Introducao 13

implementado. Finalmente a secao 5 apresenta as conclusoes deste trabalho e sugestoes

de trabalhos futuros.

14

2 Revisao Bibliografica

Um sistema automatico e portatil, que tenha como objetivo estimar o fluxo de veıculos

que trafegam por um cruzamento ou via, baseado em processamento de imagens, precisa

mostrar-se robusto a varias questoes tais como: modificacoes de iluminacao ao longo

do dia, multiplicidade de pistas, oclusao entre veıculos, infracoes de transito, variacoes

bruscas de clima e transito de pedestres entre muitos outros. Propoe-se um sistema que

faca uso de apenas uma camera para obtencao das informacoes e que sua montagem e

operacao sejam intuitivas a um usuario leigo.

Em pesquisas, bibliografia cientıfica e de produtos comerciais, realizadas sobre o tema

nao foi encontrado nenhum sistema que realize as metas apresentadas neste trabalho sob

as condicoes de portabilidade propostas. Existem varios sistemas destinados ao moni-

toramento de auto-estradas, pracas de pedagio, entradas de estacionamentos ou vias de

mao unica. Os estudos de monitoramento de interseccoes e bastante escasso. Todos os

sistemas pesquisados basicamente utilizam um sistema fixo, baseado em lacos indutivos

implantados sob a via, ou entao atraves do uso de uma camera estrategicamente colocada,

porem de posicionamento fixo dedicado ao processamento das imagens da via a partir de

um angulo muito bem definido, o que facilita muito o modelamento dos objetos a serem

detectados. Alguns mesmo nao atendendo especificamente as condicoes propostas pelo

corrente trabalho serviram de ponto de partida para as pesquisas bibliograficas sobre como

abordar o problema do processamento visual portatil ora proposto de forma coerente.

2.1 Sistemas com Modelagem Tridimensional da Cena

Nestes sistemas e necessario o conhecimento das coordenadas da camera e a calibracao

da mesma para que se possa analisar o espaco tridimensional por onde os veıculos circulam.

E comum seu uso em conjunto com algoritmos que envolvam a modelagem tridimensional

dos veıculos. Sistemas como este sao apresentados em (ELLIS; TEAL, 1997) e em (KIM;

MALIK, 2003).

2.1 Sistemas com Modelagem Tridimensional da Cena 15

Figura 1: Fluxograma de processamento em algoritmo com modelagem 3D.

Nestes casos, e necessario conhecimento a priori das caracterısticas de todos os ele-

mentos presentes na cena em analise. Este fato, dificulta em muito o desenvolvimento

de um sistema que seja robusto a varios ambientes, tendo em vista que a portabilidade

do sistema proposto pode conduzi-lo a cenarios de difıcil modelagem. Nestas condicoes.

torna-se ainda necessario o desenvolvimento de uma base de dados com os parametros

tridimensionais dos veıculos observados pelo sistema, tais como automoveis sedam, vans,

micro-onibus, onibus, caminhoes, veıculos utilitarios, motocicletas, etc. Estas necessida-

des de sistemas deste tipo desmotivam sua adocao quanto a sua aplicabilidade em tempo

real no escopo da proposta deste projeto.

O fluxograma de processamento apresentado na figura 1 e o proposto em (ELLIS; TEAL,

1997), e evidencia as etapas de calibracao e utilizacao dos modelos tridimensionais.

Em sua proposicao principal, deteccao e separacao de veıculos oclusos em situacoes de

transito em vias de mao unica, o algoritmo citado apresenta excelentes resultados, estes

acima de 90% de correto modelamento em casos de oclusoes.

Em (KIM; MALIK, 2003) e apresentado um metodo que faz uso de multiplas cameras

para a modelagem tridimensional dos veıculos e das cenas. Neste artigo, fixam-se multiplas

cameras no alto de um predio de mais de 30 andares, a fim de obter uma visao mais

proxima da ideal, que seria a visao perpendicular superior, da via. Esta situacao foge

das condicoes previstas para a operacao do sistema proposto, uma vez que nao se pode

requerer a existencia de um predio desse porte em todo e qualquer cruzamento a ser

analisado. No entanto, cabe ressaltar aqui, que a metodologia proposta neste trabalho,

2.2 Sistemas Monoculares de Rastreamento 16

aplica-se perfeitamente a essa condicao ideal, e resultados otimos tambem podem ser

esperados, embora nao tenha sido efetivamente testada por nao ser o escopo visado aqui.

A figura 2 apresenta o algoritmo de processamento adotado no artigo.

Figura 2: Fluxograma de processamento da proposta. (KIM; MALIK, 2003)

Como pode-se notar a complexidade computacional deste algoritmo e bastante ele-

vada, principalmente devido ao fato de ser uma aproximacao de multiplas cameras de

difıcil instalacao em um sistema portatil.

2.2 Sistemas Monoculares de Rastreamento

Nas pesquisas bibliograficas realizadas, encontrou-se varios metodos que utilizam um

sistema de visao monocular – apenas uma camera – propondo-se a desempenhar o acom-

panhamento de objetos moveis em uma sequencia de vıdeo.

Estes sistemas dentre varias abordagens possıveis, em sua grande maioria, concentram-

se em duas categorias basicas: acompanhamento de contornos e acompanhamento de

caracterısticas. Cada um destes metodos sera apresentado em pormenores nas secoes

seguintes.

2.2.1 Rastreamento de Contornos

Sistemas que utilizam contornos para acompanhamento de corpos em movimento sao

largamente descritos na literatura, tais como em (TECHMER, 2001), (GEMIGNANI et al.,

2.2 Sistemas Monoculares de Rastreamento 17

1999), (WANG; AI; XU, 2002) e tem aplicacoes em diversas areas.

Algumas destas tecnicas mostram-se poderosas tanto para rastreamento quanto para

tarefas de classificacao de objetos como proposto em (JOLLY; LAKSHMANAN; JAIN, 1996).

2.2.2 Rastreamento de Caracterısticas

Outro metodo amplamente difundido em aplicacoes de rastreamento de objetos moveis

em sequencias de vıdeo – (RICHARDSON; BLOSTEIN, 1992), (XIE; SUDHAKAR; ZHUANG,

1995), (TOMMASINI et al., 1998), (CUCCHIARA; PICCARDI, 1999) entre outros – e o baseado

em definicao e rastreamento de caracterısticas locais. Nessa classe de sistemas, uma regiao

que define o objeto nao e rastreada no espaco de pixels diretamente, mas sim em um espaco

transformado, no qual se definem certas caracterısticas que definam bem o objeto e sejam

invariantes a sua movimentacao, ao contrario da sua imagem que pode sofrer alem dos

deslocamentos, deformacoes e variacoes de iluminacao. As tecnicas eficientes de extracao

dessas caracterısticas para aplicacoes definidas ainda sao problemas bastante desafiadores

para a comunidade cientıfica. Um dos metodos mais populares e computacionalmente

simples, praticavel em aplicacoes de tempo real e o definido por Harris em (HARRIS;

STEPHENS, 1988). Harris propoe o uso da funcao de auto correlacao local de um sinal para

determinar a posicao das caracterısticas mais significativas do mesmo. O procedimento

matematico que define esta tecnica encontra-se detalhado em (HARRIS; STEPHENS, 1988).

Metologias existentes para agrupamento das caracterısticas extraıdas de acordo com

suas tendencias de movimento sao apresentadas por (MODAYUR; SHAPIRO, 1996), (CAMA-

PUM; FISHER, 1998) e (WEI; NGAN; HABILI, 2004). Tais metodologias podem no futuro ser

incorporadas ao projeto buscando maior robustez para situacoes de oclusao parcial entre

veıculos.

18

3 Sistema Proposto

O sistema proposto tem como um de seus principais objetivos a portabilidade. Desta

forma, ele deve ser aplicavel a quaisquer cruzamentos urbanos, inclusive aqueles que nao

encontram-se proximos a uma grande construcao, local este aonde a maioria dos artigos

ate aqui apresentados posicionavam suas cameras. Essa fixacao em um local bastante

elevado, facilita muito o rastreamento dos objetos, uma vez que a projecao do espaco

de visao da camera e praticamente paralela ao plano do CCD. No entanto, uma vez que

devido a portabilidade necessaria, essa solucao nao e viavel, temos de trabalhar com

projecoes mais realistas e de maior complexidade visual, do ponto de vista de perspectiva

e probabilidade de oclusoes.

O posicionamento da camera e um fator importantıssimo e deve ser cuidadosamente

estudado. Colocar a camera ao nıvel dos veıculos, aumenta em demasia a probabilidade

de oclusao dos mesmos, gerando assim um elevado ındice de perda, diminuindo a precisao

do sistema na contagem dos veıculos. Alem de nao permitir discriminar as rotas de cada

veıculo de maneira eficiente.

Certamente a posicao ideal a ser posicionada a camera e diretamente acima do cru-

zamento. De forma a reduzir a zero os problemas de oclusao de veıculos. No entanto,

essa solucao esbarra em varios aspectos praticos e de legislacao. O posicionamento de um

dispositivo a 6m localizado no meio de um cruzamento, envolve, alem da disponibilidade

de infra estrutura adequada a esse posicionamento atraves de cabos, a permissao do orgao

regulador de transito local, que nem sempre e de facil e rapida obtencao. Sob os aspectos

tecnicos, uma camera digital localizada nesta posicao, alem da necessidade de levar cabos

de alimentacao ao local, necessita que o cabo de dados (USB ou FireWire) tenha com-

primento suficiente para alcancar a central de processamento. Limitacoes normativas dos

cabos USB e de 5m e FireWire 4,5m, insuficientes portanto para uma distancia de 15 a

20m. Uma solucao seria o uso de repetidores de modo a aumentar o alcance, no entanto

esses dispositivos encarecem o sistema.

3.1 Estrutura do Sistema 19

Tornou-se entao necessario, o projeto e a construcao de um suporte desmontavel. O

criterio de portabilidade e conseguido utilizando-se 3 modulos de 1,5m que podem entao

ser facilmente manejado pelo operador do sistema em qualquer cruzamento em estudo,

sendo posicionado na lateral do cruzamento ou via, sem necessidade de infra-estrutura

local muito elaborada. Desta forma, a camera fica posicionada a uma altura de 4,5m. No

entanto, essa solucao portatil, gera uma serie de fatores complicadores aos algoritmos de

processamento de imagens devido ao maior ındice de oclusoes.

A metodologia de (CUCCHIARA; PICCARDI; MELLO, 2000) e (CUCCHIARA; PICCARDI,

1999) que divide o sistema em modulos de processamento de imagens e aplicacao de regras

mostrou-se muito convincente e foi adotada neste desenvolvimento.

As tecnicas de subtracao de fundo propostas em (ELLIS; TEAL, 1997) tambem mostram-

se muito promissoras, ja que as condicoes de funcionamento no artigo apresentam relativa

semelhanca com as condicoes de operacao ora propostas.

Apos uma analise das referencias bibliograficas aqui citadas, quanto ao seu desem-

penho tanto em precisao quanto em complexidade computacional, ındice este ausente na

maioria dos trabalhos, optou-se pelo desenvolvimento de um sistema inovador hıbrido

que herdasse as caracterısticas mais promissoras de todos os estudados e que no futuro

pudesse ser aprimorado de forma contınua em busca de um sistema cada vez mais robusto

e eficiente.

3.1 Estrutura do Sistema

O sistema proposto neste trabalho tem seu fluxograma de processamento apresentado

na figura 3, sendo que a descricao de suas etapas e feita em maiores detalhes nas secoes

seguintes.

Cada sessao do sistema e composto basicamente de tres etapas gerenciadas pela in-

terface grafica com o usuario:

• Ajustes e definicoes da camera e via;

Nesta etapa e escolhida pelo operador a posicao da camera com base principalmente

no criterio de maior visibilidade do cruzamento, e definicao das regioes de entrada

e saıda conforme detalhada na sessao 3.7

• Operacao em tempo-real;

3.1 Estrutura do Sistema 20

Figura 3: Fluxo de processo do software desenvolvido

Etapa onde efetivamente o sistema permanece em operacao, monitorando os veıculos.

• Apresentacao dos relatorios obtidos para a sessao.

Encerramento da sessao de monitoramento. Os relatorio escolhidos pelo usuario sao

finalizados e apresentados.

3.1.1 Captura

No sistema proposto, as imagens sao adquiridas utilizando uma camera de vıdeo digi-

tal. Dados o proposito deste projeto, procura-se posicionar a camera e capturar sequencias

de imagens em que aparecam cruzamentos, com todas, ou a maioria das suas vias de acesso

bem evidenciadas.

O angulo sob o qual a camera observa o cruzamento e de fundamental importancia

para o resultado final. Tendo em vista a portabilidade proposta, o posicionamento da

camera em uma posicao definitiva nao e possıvel, demandando do sistema de processa-

mento de vıdeo uma grande robustez quanto a variacoes do posicionamento da mesma.

Os vıdeos capturados durante o desenvolvimento do projeto contemplam interseccoes

de duas vias em angulos proximos de 90o. Conforme mostrado nas figuras 4 e 5.

A camera escolhida para utilizacao no prototipo, apresenta as seguintes vantagens,

quando comparada as cameras usualmente encontradas no mercado, capacidade de cap-

3.1 Estrutura do Sistema 21

Figura 4: Cruzamento da rua Santa Quiteria

Figura 5: Cruzamento da rua Francisco H. dos Santos

3.1 Estrutura do Sistema 22

(a) (b)

Figura 6: Comparativo entre lentes: a) lente grande angular(107o), b) lente convencionalwide(89.95o)

tura progressiva e controle individual sobre suas caracterısticas, tais como tempo de ex-

posicao, brilho, contraste, balanco de branco, ganho e saturacao.

Desta forma, e possıvel ajustar a camera para minimizar a influencia das condicoes

de iluminacao do ambiente sobre o vıdeo capturado. No entanto para operacoes de mo-

nitoramento por um longo perıodo de tempo, 24 horas ou mais, torna-se necessario o

desenvolvimento de um pre-processamento capaz de adaptar o sistema desenvolvido as

variacoes de iluminacao ao longo do dia e noite. Neste primeiro prototipo, o tempo de

monitoramento e definido como curto, de forma que as variacoes de iluminacao possam

ser desprezadas.

Outra vantagem que a camera utilizada apresenta e a possibilidade de mudar a lente

utilizada, para que seja possıvel obter uma visao mais ampla do cruzamento, sem o corte

de alguma das duas vias de entrada ou saida, conforme acontece na figura 5. Adotou-

se uma lente grande angular, com uma abertura de 107◦. Abertura esta que colabora

em muito para que o sistema contemple todas as vias envolvidas no cruzamento, como

apresentado na figura 6.

A figura 6, mostra claramente que o uso da lente grande angular amplia de forma

significativa o campo de visao da camera, no entanto, esta lente incorpora a imagem

uma distorcao do tipo esferica. Dado que neste prototipo, nao serao necessarias realizar

medidas baseadas nos deslocamentos, tais como velocidade do veıculo, a distorcao causada

pela lente nao e um problema serio.

O modelo de camera utilizado foi o UNIBRAIN Fire-i (http://www.unibrain.com).

Capaz de realizar captura progressiva com resolucao maxima de 640x480 pixels (VGA)

a uma taxa maxima de 30 quadros por segundo. Quanto maior for a taxa de quadros

3.2 Subtracao de Fundo 23

conseguida, melhor sera a resolucao temporal e por conseguinte mais facil e o rastreamento

dos objetos. No entanto, a maioria das cameras de baixo custo sao voltadas a captura de

vıdeo para fins de comunicacao pela internet (MSN, Yahoo Messenger, etc), isso devido a

limitacao de sensibilidade do olho humano a movimentos muito rapidos. Cameras capazes

de adquirir a 60, 120 ou mais quadros por segundo sao extremamente caras e dedicadas

a aplicacoes especiais, fugindo do escopo deste projeto.

3.2 Subtracao de Fundo

Um metodo tipicamente utilizado para deteccao de objetos em movimento em uma

sequencia de vıdeo e a subtracao de fundo. Esta tecnica envolve a estimacao de uma ima-

gem de referencia a partir da sequencia de imagens obtidas anteriormente, que representa

o fundo do vıdeo. Esse fundo corresponde a caracterıstica estatica da cena. A imagem

capturada e entao subtraıda deste fundo estimado e comparada a um limiar, gerando uma

mascara binaria que destaca as regioes referentes as regioes nao estacionarias do quadro

atual. Em ambientes controlados em que nao haja mudancas na luminosidade, e possıvel

utilizar uma imagem real do fundo ao inves de uma estimativa, porem isto e inviavel em

aplicacoes de monitoramento automatico como este projeto, uma vez que o cenario esta

em constante alteracao, como por exemplo, luzes piscando, folhas de arvores se movendo,

nuvens, e mudancas gradativas e lentas de luminosidade.

A maneira mais simples de se obter a estimativa do fundo e atraves de uma media

temporal de quadros obtidos previamente, porem esta tecnica apresenta diversas desvan-

tagens. Primeiramente, para que o fundo seja estimado de maneira correta, e necessario

garantir um perıodo inicial de treinamento em que apenas o fundo seja visıvel. Objetos

inicialmente estacionarios que entrem em movimento serao considerados como perten-

centes a uma regiao nao estacionaria, porque o objeto ainda estara presente por um

determinado tempo na estimativa do fundo. Objetos em movimento que se tornem esta-

cionarios tambem sao considerados nao estacionarios ate que sejam assimilados na imagem

de fundo. Esses dois problemas advem da natureza da media temporal, utilizada para

realizar a estimativa. Para que a imagem media comece a assimilar um novo objeto (ou o

espaco deixado por um objeto), e necessario que este objeto permaneca estacionario por

tanto tempo quanto a media estivesse rodando antes da presenca (ou ausencia) do objeto.

Devido a esta dificuldade de adaptacao, mudancas na luminosidade da cena ou pequenas

perturbacoes na posicao da camera podem trazer grandes problemas ao monitoramento.

3.2 Subtracao de Fundo 24

Devido ao exposto acima, sao necessarios algoritmos mais avancados para estimar o

fundo. A seguir, serao apresentados os tres algoritmos testados para este projeto.

3.2.1 Mistura de Gaussianas

O metodo basico da mistura de gaussianas busca modelar os pixels do fundo atraves

de uma funcao de distribuicao de probabilidades aproximada por uma soma de K dis-

tribuicoes Gaussianas ponderadas, onde cada Gaussiana representa uma cor do pixel do

fundo (KAEWTRAKULPONG; BOWDEN, 2001). Os pesos de cada gaussiana representam a

proporcao de tempo em que cada cor esteve presente na cena. O fundo e representando

pelas B Gaussianas que mais permanecem, isto e, por aquelas com maior peso.

O metodo utilizado para atualizar as Gaussianas e uma variacao do algoritmo de

Expectation-Maximization (EM).O EM e um algoritmo iterativo que garante a con-

vergencia a um maximo local em um dado espaco de buscas. Devido aos requerimentos do

modelamento do fundo, utiliza-se um algoritmo de EM online, isto e, que otimize o mo-

delo progressivamente com a captura de novos quadros. Foram desenvolvidos dois tipos de

algoritmos de EM online: os parametricos buscam uma estimacao parametrica da funcao

de distribuicao de probabilidades do fundo, isto e, atualizam o modelo anterior sem modi-

ficar a estrutura do mesmo; ja os nao-parametricos fazem uma aproximacao mais simples

das probabilidades do pixel. O algoritmo usado neste projeto e um nao-parametrico.

Ao modelar-se o fundo, regioes estaticas sao representadas por agrupamentos de gaus-

sianas mais concentradas, como na figura 7, enquanto que regioes de movimento sao re-

presentadas por gaussianas mais espalhadas, como na figura 8. A atualizacao do modelo

e dada por um esquema de atualizacao seletiva, na qual cada novo pixel e comparado

contra os componentes do modelo existente, ordenados pelo agrupamento. Caso o valor

do pixel esteja a uma distancia igual ou menor a um limiar de desvios-padrao de uma

gaussiana, essa gaussiana e atualizada pelo algoritmo EM. Caso o pixel nao corresponda

a nenhum componente do modelo, a gaussiana com menor probabilidade e descartada, e

uma nova gaussiana e criada, com media igual ao valor atual do pixel, uma grande matriz

de covariancia e peso pequeno.

Para evitar uma dificuldade inicial de adaptacao, a estimativa nos primeiros L quadros

e feita com equacoes diferentes dos quadros restantes, para acelerar a adaptacao inicial.

O limiar T e a menor probabilidade para que uma gaussiana seja escolhida como repre-

sentando o fundo. A subtracao e realizada marcando-se todos os pixeis que nao sejam

classificados como uma das B cores do fundo como pertencendo a frente da cena.

3.2 Subtracao de Fundo 25

Figura 7: Pixel com gaussianas concentradas. A linha contınua indica a gaussianaescolhida como fundo

Figura 8: Pixel com gaussianas espalhadas. As linhas contınuas indicam as gaussianasescolhidas como fundo

3.2 Subtracao de Fundo 26

3.2.2 Scoreboard

O algoritmo de scoreboard para a subtracao de fundo e uma tentativa de unir duas

tecnicas mais simples de subtracao de fundo, a media movel e a moda movel.(LAI; YUNG,

1998)

O fundo pode ser considerado, como visto acima, a caracterıstica estatica da cena.

Uma maneira de se capturar essa caracterıstica estatica dos pixeis, e estimar a funcao

densidade de probabilidade do pixel para um certo numero de quadros anteriores, sendo

a intensidade mais frequente, isto e, a moda do pixel, considerada como a intensidade do

pixel do fundo. A precisao deste metodo aumenta com o aumento do numero de ima-

gens anteriores consideradas para o calculo, porem o tempo de calculo tambem aumenta,

tornando este metodo bastante demorado.

Utilizando a media movel, o fundo passa a ser simplesmente a media movel dos ultimos

quadros. Este e um calculo computacionalmente mais rapido, porem, a precisao deste

metodo e reduzida, principalmente em regioes de grande movimento.

Para aproveitar tanto a velocidade da media movel quanto a precisao da moda movel,

utiliza-se o algoritmo de scoreboard, ou placar. A ideia basica deste algoritmo e detectar

as regioes do quadro que sofrem altas ou baixas variacoes em relacao ao fundo estimado.

Nas regioes de baixa variacao utiliza-se a media movel, enquanto que nas de alta variacao,

onde a media movel seria mais imprecisa, utiliza-se a moda movel. Para isso, a cada

quadro todos os pixeis recebem uma pontuacao, de acordo com a variacao em relacao

ao fundo. Variacoes pequenas, isto e, menores que um determinado limiar, recebem uma

pontuacao positiva, ate um maximo de 1.0 para pixeis que nao sofreram nenhuma variacao.

Variacoes maiores que o limiar recebem uma pontuacao negativa, limitada em -1.0 para

evitar a propagacao de erro. Essas pontuacoes sao acumuladas em um placar, gerando

tres possıveis situacoes para os pixeis:

1. Placar positivo e pontuacao positiva - O pixel de fundo e atualizado pela media

movel;

2. Placar positivo e variacao negativa - O pixel de fundo nao e atualizado;

3. Placar negativo - O pixel de fundo e atualizado pela moda movel;

3.2 Subtracao de Fundo 27

3.2.3 Motion Templates

Ao contrario das tecnicas apresentadas anteriormente, a tecnica de motion templates,

ou padroes de movimento, busca modelar o movimento dos objetos na cena. Isso e feito

atraves da diferenciacao temporal dos quadros, isto e modelado como a subtracao do

quadro mais recente e do quadro anterior. Em regioes de baixo ou nenhum movimento,

nao ha grandes variacoes entre um quadro e outro e isto resulta em um valor proximo

de zero. Em regioes de maior movimento, havera uma maior variacao entre os quadros

e, portanto, o resultado da subtracao sera maior. Comparando-se o resultado obtido

com um limiar pre-estabelecido, obtem-se uma mascara binaria que indica as regioes do

quadro em que houve movimento. Estas mascaras sao acumuladas da seguinte maneira:

primeiramente, os valores contidos na imagem acumulada sao atenuados. Em seguida,

os pixeis com alto valor da mascara sao adicionados a imagem acumulada com o valor

maximo da imagem.

A imagem acumulada resultante contem um historico do movimento da cena nos

ultimos quadros, onde as areas com maior intensidade indicam um movimento recente,

enquanto que areas de menor intensidade representam o movimento mais antigo. Esta

imagem permite, atraves da analise do gradiente da imagem, estimar a direcao e a velo-

cidade dos objetos. Estas informacoes podem ser usadas posteriormente para o rastrea-

mento dos objetos.

3.2.4 Comparacao

A analise dos tres metodos pode ser feita a partir dos seguintes parametros: tempo

de adaptacao do modelo, qualidade da segmentacao e complexidade computacional. Os

metodos da mistura de gaussianas e do scoreboard necessitam de um tempo inicial para

adaptar seus modelos de fundo. Este tempo pode ser ajustado, porem quanto menor o

tempo menor sera a qualidade da estimacao. Ja o metodo de motion templates, que nao

estima um modelo do fundo, e capaz de detectar os objetos a partir do inıcio da sequencia

de vıdeo. Deste modo, o sistema proposto aqui permite que o usuario escolha qualquer

um dos 3 tipos para ser usado durante uma sessao de monitoramento de trafego.

3.3 Segmentacao 28

3.3 Segmentacao

O resultado obtido das tecnicas de subtracao de fundo apresentadas acima e uma

imagem binaria que representa as regioes consideradas de interesse para o posterior pro-

cessamento. O papel da etapa de segmentacao e separar e localizar estes objetos, alem de

filtrar os objetos que sejam oriundo de ruıdo, ou objetos que nao interessam ao programa.

O primeiro passo realizado e remover regioes muito pequenas que muito provavelmente

foram geradas pelo ruıdo do sistema de aquisicao, e destacar as regioes que representam

objetos. Isto e feito atraves da utilizacao dos filtros morfologicos de erosao e dilatacao. A

erosao remove pixeis de alta intensidade que tenham pixeis de baixa intensidade ao seu

redor, tendo como efeito remover pequenas regioes classificadas como frente do quadro

devido a ruıdo. A dilatacao realiza o oposto da erosao, isto e, ela tende remover pixeis

de baixa intensidade que estejam cercados por pixeis de alta intensidade. Este procedi-

mento reforca as regioes detectadas, eliminando pequenos buracos nos objetos e evitando

a fragmentacao dos objetos.

Uma vez que a mascara esteja processada e o ruıdo eliminado, e necessario separar os

objetos para o processamento seguinte. Os objetos sao localizados atraves do algoritmo

de componentes conectados. Este algoritmo realiza uma busca em todos os pixeis, locali-

zando todos os de mesma intensidade e agrupando-os em regioes chamadas neste trabalho

de blobs. Estes blobs sao agrupados em uma estrutura de arvore, com os blobs mais ex-

ternos e abrangentes na raiz da arvore, e aqueles que se encontram dentro de outros blobs

localizados nos galhos da arvore. Para este trabalho, apenas os blobs mais externos sao

escolhidos para as proximas etapas do processamento. As informacoes do blob obtidas

apos a analise de componentes conectados sao a posicao de sua centroide e as dimensoes

do retangulo que contem a regiao localizada.

3.4 Identificacao

Apos a localizacao dos blobs, eles sao organizados em um vetor e identificados por sua

posicao no mesmo.

3.5 Rastreamento 29

3.5 Rastreamento

O modulo de rastreamento e responsavel por validar as informacoes que sao proveni-

entes das etapas anteriores, e seu funcionamento e mostrado na figura 9.

Definiu-se uma entidade chamada CARRO, e como seu proprio nome sugere, esta

devera representar um veıculo que esteja passando pelo cruzamento. Ela possui proprie-

dades que definem sua procedencia, suas dimensoes e suas caracterısticas.

A seguir explica-se em maiores detalhes o funcionamento dos blocos apresentados no

fluxograma de rastreamento, figura 9.

3.5.1 Cria CARROS

Esta etapa utiliza as informacoes provenientes do modulo de Identificacao anterior-

mente descrito. Para cada regiao que a etapa de Identificacao validou como blob, o bloco

seguinte procede uma serie de verificacoes e caso o blob passe em todas as condicoes o

bloco cria uma entidade CARRO para o mesmo. As verificacoes sao as seguintes:

• Possui parte de sua area distribuıda em uma regiao de entrada?

• Nao possui parte de sua area compartilhada com outro CARRO?

Caso o blob seja reprovado em qualquer um dos dois testes ele nao sera processado

neste quadro, sendo entao desprezado.

3.5.2 Extrai caracterısticas

Para cada um dos CARROS existentes e feita a verificacao do numero de carac-

terısticas que o mesmo possui, caso este numero seja inferior que um determinado limiar,

e necessario executar o processo de identificacao destas caracterısticas. O sistema desen-

volvido esta utilizando o conjunto de caraterısticas de Harris(HARRIS; STEPHENS, 1988)

para acompanhar os corpos.

Nos CARROS criados no item anterior, existe a clara necessidade de localizacao

destas caracterısticas, ja nos CARROS que estao em processamento ha mais quadros,

isso nao acontece com tamanha frequencia. A necessidade de identificacao de novas ca-

racterısticas para os CARROS ja em processamento acontece pois o metodo de acompa-

nhamento das caracterısticas, em determinadas ocasioes nao consegue rastrear de forma

3.5 Rastreamento 30

eficiente algumas delas, logo estas sao excluıdas pelo proprio sistema para que caso ne-

cessario sejam localizadas outras mais significativas.

Figura 9: Fluxograma de funcionamento da etapa rastreadora

A figura 9 apresenta o diagrama de blocos da etapa rastreadora de caracterısticas.

Funciona basicamente da seguinte maneira: quando um objeto blob e localizado sobre

uma regiao previamente definida como entrada, suas caracterısticas sao detectadas e entao

cria-se um objeto CARRO que acompanhara o movel em deslocamento ate que este passe

por uma regiao marcada como saıda e seja contado pelo sistema.

3.5.3 Segue caracterısticas

Quando um objeto CARRO ja possui um grupo de caracterısticas, provenientes

de deteccao no quadro anterior ou rastreamento na sequencia de quadros anteriores, o

sistema aplica um algoritmo que baseado no fluxo luminoso calculado entre o quadro

atual e o quadro anterior, determinando deste modo, o deslocamento de cada uma das

caracterısticas existentes.

O algoritmo aqui empregado no calculo do fluxo luminoso entre os quadros e o desen-

volvido por Lucas e Kanade em (LUCAS; KANADE, 1981), que dentre os diversos algoritmos

de calculo de fluxo luminoso apresenta a vantagem de ser computacionalmente otimizado.

Uma vez obtidos o deslocamento de cada uma das caracterısticas entre os dois ultimos

quadros de vıdeo, passa-se para o proximo modulo que estima os novos parametros do

carro.

3.5 Rastreamento 31

3.5.4 Estima CARRO

Cada CARRO delimita uma regiao retangular do quadro, regiao esta que engloba

as caracterısticas encontradas e rastreadas nas etapas anteriores do processo. Tendo em

vista o deslocamento dos veıculos, existe a necessidade de estimar qual a proxima posicao

em que deve-se procurar as caracterısticas no proximo quadro. Desta forma e necessario

estimar a translacao do objeto CARRO.

Outro atributo que deve ser estimado e a mudanca de tamanho sofrida pelo carro

entre um quadro e outro, sendo que este ao aproximar-se da camera tem uma imagem

maior e ao afastar-se tem uma imagem menor.

Nesta etapa sao utilizadas apenas as caracterısticas que mostrem consistencia entre

si, evitando assim que caracterısticas que nao puderam ser acompanhadas com precisao

na etapa anterior alterem de forma negativa a precisao do processo de estimacao.

Calcula-se media e desvio padrao dos deslocamentos das caracterısticas obtidos na

etapa anterior de processamento, e eliminam-se todas as que distanciam-se da media por

mais de 1 desvio padrao.

Utiliza-se a media para estimar a translacao do objeto carro e para estimar seu novo

tamanho, calcula-se o retangulo que engloba todas as caracterısticas que nao foram eli-

minadas na regra do desvio padrao.

3.5.5 Corrige Referencias

Como o objeto CARRO agora passa a ter uma nova posicao, e necessario atualizar a

posicao que suas caracterısticas ocupavam anteriormente, tendo em vista que as coorde-

nadas das mesmas referiam-se nao a origem do quadro de vıdeo, mas a origem do objeto

carro em si.

Calcula-se o deslocamento da origem do sistema de coordenadas do carro, seu vertice

superior esquerdo, e entao aplica-se o deslocamento que este sofreu em todas as suas

caracterısticas, garantindo que apesar da mudanca local de coordenadas, estas ainda assim

apontam para os mesmos pixeis na imagem.

3.6 Contagem 32

FluxoHHHHHHS

E0 1 2

0 1 0 01 5 0 32 0 2 0

Tabela 1: Exemplo de matriz que sumariza os dados coletados pelo sistema

3.5.6 Apaga CARROS

Esta etapa do processo calcula a area em comum entre cada objeto CARRO e cada

uma das saıdas do cruzamento. Caso esta area em comum seja maior que um limiar,

o CARRO e contabilizado na matriz de contagem e nao e mais rastreado nos quadros

seguintes.

3.6 Contagem

Quando uma entidade CARRO e rastreada ate um espaco delimitado como saıda,

ela deixa de ser rastreada e e creditada em uma matriz que descreve o fluxo de carros

entre as entradas e saıdas do cruzamento. Tal matriz tem colunas referentes as entradas

do cruzamento e suas linhas referentes as saıdas. A Tabela 1 exemplifica a matriz entrada

saıda para o cruzamento apresentado na figura em um perıodo de 15 segundos..

Neste exemplo, 5 veıculos provenientes da entrada 0 saıram por 1, 2 entraram por 1

e saıram por 2 durante o tempo de monitoramento.

No capıtulo 4, sao apresentados e analisados os resultados obtidos pelo sistema nos

teste de campo ao quais este sistema foi submetido.

3.7 Interface Grafica

Este modulo foi desenvolvido empregando a biblioteca GTK+ e tem como objetivo

proporcionar ao usuario do sistema uma forma intuitiva de coletar e inserir dados no

mesmo, bem como ajustar seus parametros de operacao.

3.7 Interface Grafica 33

3.7.1 Operacao do Sistema

3.7.2 Especificacao do cruzamento

Neste procedimento o usuario observa o vıdeo capturado em uma janela na qual pode-

se marcar com o auxılio de um dispositivo apontador, mouse, as regioes em que e prevista

entrada ou saıda de veıculos. Uma vez marcada uma regiao com o botao primario do

apontador, utiliza-se o botao secundario para a definicao da regiao, que pode ser entrada

ou saıda de veıculos. As entradas e saıdas devem ser numeradas de forma crescente a

partir de zero.

As regioes ja marcadas sao mostradas na janela em exibicao em cores distintas, verde

para entradas e azul para saıdas. A figura 10 mostra os resultados do processo de marcacao

de entradas e saıdas.

Figura 10: Janela para marcacao de vias

3.7.3 Especificacoes de processamento

Na janela apresentada pela figura 11 sao ajustados os parametros para a operacao

do sistema. Dependendo das condicoes de iluminacao, velocidade media dos veıculos ou

necessidades proprias do operador, o sistema pode ser ajustado para responder de forma

diferente ao fundo, estatico ou dinamico, efetuar o rastreamento dos veıculos em uma

3.7 Interface Grafica 34

janela de busca maior, ou caso conveniente salvar os vıdeos capturados e/ou processados

para uma analise posterior.

Figura 11: Janela para ajuste dos parametros de operacao

3.7.4 Controles da Camera

A camera utilizada possui a capacidade de ajustar seus parametros automaticamente,

de acordo com as condicoes do ambiente. Essas mudancas bruscas na imagem podem

confundir a subtracao de fundo, dificultando o funcionamento do sistema. Por essa razao,

e necessario que o operador possa ajustar os parametros da camera manualmente. Esses

parametros serao explicados brevemente a seguir.

3.7.4.1 Exposicao

A exposicao pode ser definida como a quantidade de luz que atinge o sensor da camera

para uma determinada imagem. Ela e definida por dois parametros: o obturador e o ga-

nho. Seu ajuste correto depende do nıvel de iluminacao e evita a saturacao da imagem ou

a escuridao excessiva. O padrao IEEE1394 preve um controle automatico da exposicao,

com um parametro de Referencia de Exposicao. Caso a Exposicao Automatica seja utili-

zada, o valor medio da imagem em escala de cinza e comparado a esta referencia, e caso

haja diferenca os parametros de obturador e ganho sao ajustados para compensar esta

diferenca. Na figura 12 pode-se ver um exemplo de diferentes valores da exposicao.

3.7 Interface Grafica 35

Figura 12: Influencia da exposicao:(a)automatica;(b)mınima(c)maxima

3.7.4.2 Obturador

O parametro Obturador - do ingles Shutter - controla o tempo de exposicao do sensor

da camera a luz.

3.7.4.3 Ganho

O parametro Ganho determina a amplificacao do sinal de saıda do sensor, alterando

o contraste da imagem.

3.7.4.4 Brilho

O Brilho e um valor constante adicionado a saida do sensor CCD, para que a faixa

dinamica do mesmo possa ser melhor aproveitada.O efeito de diferentes valores do brilho

pode ser visto na figura 13

Figura 13: Influencia do brilho:(a)automatico;(b)mınimo;(c)maximo

3.7.4.5 Nitidez

A Nitidez envolve a capacidade de percepcao de descontinuidades. Quanto menor a

nitidez, menos definidas ficam as descontinuidades da imagem. Quanto maior a nitidez,

mais definidas ficam as descontinuidades, porem isto pode causar uma maior visibilidade

do ruıdo. Isso pode ser visto na figura 14

3.7 Interface Grafica 36

Figura 14: Influencia da nitidez:(a)padrao(b)mınima(c)maxima

3.7.4.6 Gama

O parametro Gama, quando ativado, altera os nıveis medios de intensidade da imagem.

Isto serve unicamente para compensar a nao-linearidade dos monitores de CRT. Os efeitos

desta chamada correcao de gama podem ser vistos na figura 15

Figura 15: Influencia da correcao de gama:(a)Ligada(b)Desligada

3.7.4.7 Saturacao

A saturacao indica a intensidade das tonalidades da imagem. Uma imagem com baixa

saturacao se aproxima de uma imagem em escala de cinza, enquanto que uma imagem

com alta saturacao apresenta cores mais intensas e destacadas. Pode-se ver estes efeitos

na figura 16.

Figura 16: Influencia da saturacao:(a)Padrao(b)Baixa(c)Alta

3.7 Interface Grafica 37

Figura 17: Influencia do balanco de branco .A esquerda, a imagem original. Em (a) haexcesso de azul. Em (b) ha falta de azul. Em (c) ha excesso de vermelho e em (d) ha

falta de vermelho.

3.7.4.8 Balanco de Branco

O Balanco de Branco define a relacao entre o azul e o vermelho na imagem. Seu ajuste

permite uma representacao das cores mais fiel a realidade. Os efeitos dos diferentes ajustes

do balanco de braco podem ser vistos na figura 17

3.7.5 Elaboracao de Relatorios

Para analisar o desempenho do sistema e sumarizar as informacoes por este obtidas

durante o processamento realizado para um determinado cruzamento, desenvolveu-se um

sistema que apresenta os dados obtidos em um relatorio intuitivo, de facil exportacao para

qualquer outro programa de analise de dados tais como Excel ou MatLab, e de facil analise

por parte do usuario final, o Engenheiro de Transportes. E possıvel elaborar relatorios com

varios graus de detalhamento, de acordo com as necessidades do usuario. Desde um relato

simples que apresente a matriz de contagem resultante do processamento, como outros

muito mais detalhados que apresentem as imagens de cada um dos veıculos detectados,

bem como o horario/data de sua deteccao, o tempo que demandou para realizar o percurso

e qual foi a sua trajetoria exata. No entanto, como a definicao destes relatorios e uma

tarefa da area de Engenharia de Transportes, nao abordaremos aqui a sua concepcao,

bem como a estruturacao do banco de dados necessario a fim de armazenar os dados para

a consolidacao dos relatorios desejados.

38

4 Resultados Obtidos

Este capıtulo apresenta os resultados obtidos pela implementacao do sistema em

tempo-real processando arquivos de vıdeo previamente armazenados e video ao vivo, em

duas situacoes tıpicas de monitoramento de trafego: Via simples de mao dupla e cruza-

mento.

4.1 Resultados em Vias Simples

O sistema desenvolvido para monitoramento de cruzamentos, foi testado inicialmente

em uma aplicacao mais simples, na qual este foi configurado para monitorar o fluxo de

veıculos nos dois sentidos de uma via, conforme esquema apresentado nas Figuras 18 e

19.

Figura 18: Sistema monitorando fluxo em vias simplesLocal:Amoroso Costa x Carlos Pradi

A analise de validacao realizada considerou os dados obtidos pelo processamento das

imagens e os comparou com fluxo real de veıculos do cruzamento, sendo que este fluxo real

foi obtido pela contagem manual, a partir do vıdeo gravado, dos veıculos que transitaram

pelo cruzamento durante o processamento. Definiram-se as seguintes grandezas para

avaliar o desempenho do sistema:

4.1 Resultados em Vias Simples 39

Figura 19: Sistema monitorando fluxo em vias simples - Local:Francisco H. dos Santos xCarlos Pradi

• CC - Veıculos contados pelo sistema, valores obtidos da matriz de contagem.

• FP - Falsos Positivos: Sao os veıculos que foram contados em excesso pelo sistema.

• FN - Falsos Negativos: Veıculos que deveriam ter sido contados pelo sistema mas

que foram desconsiderados.

• CR - Carros Reais: Veıculos que transitaram pela via ou cruzamento, contados por

um observador humano a partir de um vıdeo gravado.

As tabelas 20 e 21, apresentam a analise de validacao feita sobre os dados coletados

pelo sistema durante o processamento realizado respectivamente nos cruzamentos das vias

apresentados nas Figuras 18 e 19. Sendo que as percentagens apresentadas nos graficos

foram obtidas a partir das equacoes 4.1, 4.3 e 4.2.

CC% =CC

CR(4.1)

FP% =FP

CR(4.2)

FN% =FN

CR(4.3)

Sumarizando os dados apresentados nesta secao, constata-se que quando aplicado

em vias simples o sistema obtem uma taxa media de acerto da ordem de 91,43% com

desvio padrao de 12,70%. Valores estes calculados a partir da Taxa de Acerto(TA%)

obtida conforme Equacao 4.4 e ponderada pelo numero de carros reais que passaram pelo

cruzamento durante a medicao.

TA% = 100(1− |CR− CC|CR

) (4.4)

4.2 Resultados em Cruzamentos 40

Desempenho0 → 1 1 → 0

Figura 20: Resultados da contagem para o cruzamento da Figura 18. Sendo CR01 = 43e CR10 = 74 veıculos

Desempenho0 → 1 1 → 0

Figura 21: Resultados da contagem para o cruzamento da Figura 19. Sendo CR01 = 238e CR10 = 193 veıculos

4.2 Resultados em Cruzamentos

Quando utilizado em cruzamentos, para monitorar todas as vias envolvidas na in-

terseccao, conforme apresentado nas Figuras 22 e 23, o sistema alcancou o desempenho

apresentado nas Figuras 24 e 25.

Observa-se que a precisao obtida nas medicoes realizadas no cruzamento da Figura

22, supera em muito aquela obtida para o cruzamento da Figura 23. Fato este que se deve

as modificacoes de iluminacao que constantemente aconteceram durante aquela medicao,

situacao esta que pode ser claramente observada na Figura 23 que apresenta ao mesmo

tempo regioes de iluminacao excessiva e regioes com pouca iluminacao.

Nas regioes da imagem em que ocorre a saturacao, os algoritmos de extracao de ca-

4.2 Resultados em Cruzamentos 41

Figura 22: Sistema monitorando fluxo em vias simples - Local:Francisco H. dos Santos xCarlos Pradi

Figura 23: Sistema monitorando fluxo em vias simples - Local:Amoroso Costa x CarlosPradi

4.2 Resultados em Cruzamentos 42

Saıda Entrada0 1 2 3

0 Sem Transito

1 Sem Transito Sem Transito

2 Sem Transito Sem Transito

3 Sem Transito Sem Transito Sem Transito

Figura 24: Resultados da contagem para o cruzamento da Figura 22

4.2 Resultados em Cruzamentos 43

Saıda Entrada0 1 2 3

0 Sem Transito

1 Sem Transito Sem transito

2 Sem Transito Sem Transito Sem Transito

3 Sem Transito Sem Transito

Figura 25: Resultados da contagem para o cruzamento da Figura 23

4.2 Resultados em Cruzamentos 44

racterısticas utilizados, nao retornam nenhuma caracterıstica. Desta forma os carros que

surgem nestas regioes nao conseguem ser corretamente tratados pelo modulo de rastrea-

mento. Fenomeno semelhante acontece quando o sistema vem acompanhando um carro e

este entra em uma regiao de saturacao, neste caso, os algoritmos de fluxo luminoso nao

convergem ao procurar as novas posicoes das caracterısticas de cada carro, uma vez que

isso ocorra, o algoritmo de rastreamento em sua atual forma nao consegue acompanhar o

deslocamento do carro dali em diante.

Para evitar este tipo de situacao, propoe-se como atividade futura o desenvolvimento

de uma rotina em software que controle em tempo real os atributos da camera visando

otimizar a qualidade da imagem captada pela mesma. Em conjunto com este dispositivo,

pode-se adotar uma lente que possua um filtro que iniba a captacao da faixa de luz

infra-vermelha a qual os CCDs das cameras sao altamente sensıveis.

Problemas previamente previstos, como por exemplo situacoes de oclusao parcial entre

veıculos atualmente sao tratadas pelo sistema com grande robustez, como mostrado na

Figura 26.

Figura 26: Situacao de oclusao parcial

Nesta situacao, o veıculo de numero 1 apresenta-se parcialmente ocluso pelo veıculo 2,

entretanto o sistema consegue atraves do acompanhamento das caracterısticas individuais

de cada movel, computa-los de maneira correta.

Para as situacoes em que ocorre oclusao total, ainda deve ser desenvolvido um metodo

que a partir do caminho ja percorrido pelo veıculo extrapole qual o seu provavel destino,

ou a provavel posicao onde este possa ser encontrado. Metodos mais apurados para a es-

timacao dos parametros dos carros tambem podem ser implementados, sistemas baseados

em filtros de Kalman(XIE; SUDHAKAR; ZHUANG, 1995) ou algoritmos como o CONDEN-

4.3 Recursos do Projeto 45

SATION (MEIER; ADE, 1999).

Resumindo-se os resultados apresentados nesta secao, constata-se que quando aplicado

em cruzamentos o sistema obtem uma taxa media de acerto da ordem de 83,33% com

desvio padrao de 21,53%. Valores estes calculados a partir da Taxa de Acerto(TA%)

obtida conforme Equacao 4.4 e ponderada pelo numero de carros reais que passaram pelo

cruzamento durante a medicao.

4.3 Recursos do Projeto

O presente projeto foi financiado em parte por um laboratorio de pesquisa na area de

engenharia de transportes, que forneceu as bolsas de Iniciacao Cientifica para os alunos, e

emprestou os recursos computacionais para a implementacao do prototipo. Assim, sendo

no calculo dos recursos necessarios ao desenvolvimento serao considerados tambem esses

investimentos feitos.

4.3.1 Desenvolvimento

O projeto foi desenvolvido no sistema operacional Linux, utilizando a biblioteca de

visao computacional OpenCV para o processamento de vıdeo, e a biblioteca GTK+ para

a interface grafica. Todos estes sao softwares livres e gratuitos, o que significa que nao

houve nenhum custo para licenciamento de software. Os computadores utilizados para

o desenvolvimento sao do modelo Pentium IV, com 512 MiB de memoria RAM. Para o

desenvolvimento inicial, foi utilizada uma filmadora digital JVC para gravar os vıdeos de

teste, pertencentes ao Laboratorio de Processamento de Vıdeo (LPVD) da Universidade

Federal do Parana (UFPR).

Foram necessarios 2 bolsistas de Iniciacao Cientıfica para seu desenvolvimento. Con-

siderando que o projeto teve seu inicio efetivo em Maio de 2006, foram investidos para

o desenvolvimento do prototipo 2 homens trabalhando 80 horas/mes, durante 6 meses,

ao custo de R$500,00 mes/homem. Resultando em investimento em mao-de-obra de

R$6.000,00, ate o momento.

4.3.2 Prototipo

O prototipo montado consiste da camera firewire Unibrain Fire-i, com lente grande

angular 107◦, conforme explicado na secao 3.1.1, conectada a um computador portatil

4.3 Recursos do Projeto 46

Tabela 2: Custos de implementacao do prototipo

Componente CustoLaptop R$7520,00Camera R$350,00Suporte R$50,00Alimentacao R$180,00Total R$8100,00

Pentium Dual Core 1.63GHz com 1 GiB de memoria RAM. Foi utilizado um computador

completo devido a necessidade de realizar testes e ajustes durante a operacao em campo do

programa, o produto pensado final utilizara um PC customizado de mais baixo custo. Para

posicionar a camera em uma posicao adequada, foi desenvolvido um suporte desmontavel

feito de canos de alumınio, que uma vez montado alcanca 4,5 metros de altura. Para

alimentar o computador e a camera, optou-se por utilizar um inversor de frequencia

acoplado a bateria de um carro. Evita-se desta maneira problemas de autonomia que

pudessem surgir com o uso de baterias. Os custos de montagem do prototipo estao

sumarizados na tabela 2, nao incluindo nesta tabela a mao de obra.

Cabe ressaltar mais uma vez, que este e o custo do prototipo caso ele fosse o produto

final. O custo de desenvolvimento deve-se acrescentar ainda cerca de R$1.000,00 gastos

em material de consumo durante os 6 meses, alem dos gastos com pessoal. Assim, o custo

de desenvolvimento e construcao deste prototipo e estimado em R$15.100,00.

A analise do preco de um produto final a ser comercializado esta fora do escopo deste

trabalho, uma vez que o objetivo e validar a metodologia. No entanto, podemos estima-lo

para fins de relatorio, sem contar a recuperacao dos custos de desenvolvimento e possıveis

lucros: computador customizado embarcado R$1.000,00, camera firewire R$350, suporte

profissional R$100.00. Totalizando R$1.450,00 como preco do produto para producao nao

em larga escala.

4.3.3 Analise de Mercado

Conforme dito no capıtulo 2, nao foi possıvel encontrar um produto com especificacoes

similares as propostas neste trabalho. Mesmo produtos comerciais baseados em visao

computacional, como o software israelense See Car, disponıvel em http://www.htsol.com,

necessitam que a camera seja posicionada em uma estrutura permanente, numa posicao

pre-determinada da pista. A portabilidade deste sistema e de grande interesse para orgaos

governamentais ligados ao transito e empresas que prestem servicos a esses orgaos. O

4.3 Recursos do Projeto 47

sistema desenvolvido permite a execucao de estudos mais abrangentes e detalhados do

transito das cidades, uma vez que a instalacao do sistema em uma via nao traz nenhum

custo adicional e nao interfere no trafego da via. Isto, por sua vez, permite que os planos

de desenvolvimento da malha viaria possam ser feitos com maior exatidao.

48

5 Conclusao

Este projeto propos a concepcao, desenvolvimento e implementacao de um sistema

automatico de determinacao de fluxo de veıculos em cruzamentos e vias urbanas, tendo

como principal diferencial inovador a portabilidade. Inicialmente uma extensa revisao

bibliografica foi realizada, fornecendo insumos tecnicos e conhecimento do estado-da-arte

de rastreamento de objetos e veıculos, bem como detalhamento dos principais problemas

e solucoes encontradas pela comunidade cientıfica em aplicacoes semelhantes. O sistema

desenvolvido e baseado na analise visual do cruzamento atraves do uso de um computador

portatil e uma camera digital de baixo custo. Problemas inerentes a portabilidade do

sistema proposto, tais como, variacoes do cenario, variacoes das condicoes de iluminacao,

grande variabilidade do formato dos veıculos dependendo do posicionamento da camera,

ruıdos e regioes de movimentacao indesejaveis, foram analisados e solucoes baseadas em

tecnicas de subtracao de fundo e rastreamento de caracterısticas foram apresentadas e

aplicadas.

O prototipo foi desenvolvido e aplicado a situacoes reais em campo, mostrando-se

bastante robusto e eficiente, atingindo taxas de acertos de 91.4% quando comparados aos

resultados obtidos pela analise humana manual, em vias simples. Em cruzamentos, devido

a maior complexidade da analise da cena, o desempenho cai para 83.3%, no entando a

analise visual humana atinge tambem menores ındices de acertos. Em ambos os casos, um

grande diferencial do sistema proposto e a ausencia do incremento do fator erro humano

devido a fadiga, ausencias, distracoes, e outros diversos fatores inerentes de uma massante

contagem manual.

Os resultados obtidos mostram que a solucao proposta e tecnicamente viavel a um

custo baixo uma vez que as tecnicas de visao computacional empregadas sempre visaram

minimizar a complexidade computacional, com isso um hardware barato de facil aquisicao,

juntamente com uma camera de baixo custo, tornam o sistema economicamente acessıvel

a qualquer agente regulador ou planejador de Sistemas de Transporte Urbanos.

5 Conclusao 49

Como trabalhos futuros, este prototipo sera incrementado de forma a torna-lo mais

robusto a variacao de iluminacao durante o dia, permitindo que o monitoramento contınuo

do fluxo seja realizado por um perıodo muito maior de tempo (12, 24, 48hs ou mais),

medidas impossıveis de se obter com a tecnica de contagem manual realizada hoje em

dia. Implementaremos ainda rotinas que permitam classificar os tipos de veıculos em

automoveis de passeio, vans, motos, caminhoes e onibus, cujo interesse de conhecimento

da Engenharia de Trafego e Transportes e muito grande devido a dificuldade de se estimar

com precisao o fluxo de cada uma dessas categorias em rotas em cruzamentos urbanos.

Com essa informacao, os gestores e projetistas urbanos podem desenvolver tecnicas muito

mais eficientes de gestao de recursos e planejamento do transporte urbano, melhorando a

qualidade de vida de toda populacao.

50

Referencias

CAMAPUM, J.; FISHER, M. Segmentation using spatial-feature clustering fromimage sequences. In: Image Processing, 1998. ICIP 98. Proceedings. 1998 InternationalConference on. [S.l.: s.n.], 1998. p. 799–803.

CUCCHIARA, R.; PICCARDI, M. Vehicle Detection under Day and Night Illumination.1999. Disponıvel em: <citeseer.ist.psu.edu/cucchiara99vehicle.html>.

CUCCHIARA, R.; PICCARDI, M.; MELLO, P. Image analysis and rule-based reasoningfor a traffic monitoring system. IEEE Trans. on Intelligent Transportation Systems, v. 1,n. 2, p. 119–130, 2000.

ELLIS, T.; TEAL, M. Occlusion prediction based on target dynamics and spatialreasoning. Image Processing and Its Applications, 1997., Sixth International Conferenceon, v. 1, p. 219–223, 1997.

GEMIGNANI, V. et al. A dsp-based real time contour tracking system. In: ImageAnalysis and Processing, 1999. Proceedings. International Conference on. [S.l.: s.n.],1999. p. 630–635.

HARRIS, C.; STEPHENS, M. J. A combined corner and edge detector. Alvey VisionConference, p. 147–152, 1988.

JOLLY, M.-P. D.; LAKSHMANAN, S.; JAIN, A. Vehicle segmentation and classificationusing deformable templates. Pattern Analysis and Machine Intelligence, IEEETransactions on, v. 18, p. 293–308, 1996. ISSN 0162-8828.

KAEWTRAKULPONG, P.; BOWDEN, R. An improved adaptive background mixturemodel for real-time tracking with shadow detection. In: 2nd European Workshop onAdvanced Video Based Surveillance Systems. [S.l.]: Kluwer Academic Publishers, 2001.

KIM, Z.; MALIK, J. Fast vehicle detection with probabilistic feature grouping andits application to vehicle tracking. In: ICCV ’03: Proceedings of the Ninth IEEEInternational Conference on Computer Vision. Washington, DC, USA: IEEE ComputerSociety, 2003. p. 524–0.

LAI, A.; YUNG, N. A fast and accurate scoreboard algorithm for estimating stationarybackgrounds in an image sequence. Circuits and Systems, 1998. ISCAS ’98. Proceedingsof the 1998 IEEE International Symposium on, v. 4, p. 241–244, 1998.

LUCAS, B. D.; KANADE, T. An iterative image registration technique with anapplication to stereo vision (ijcai). In: Proceedings of the 7th International JointConference on Artificial Intelligence (IJCAI ’81). [S.l.: s.n.], 1981. p. 674–679. A morecomplete version is available as Proceedings DARPA Image Understanding Workshop,April 1981, pp.121-130.

Referencias 51

MEIER, E.; ADE, F. Tracking cars in range images using the condensation algorithm.In: . [S.l.: s.n.], 1999. p. 129–134.

MODAYUR, B.; SHAPIRO, L. 3d matching using statistically significant groupings. In:Pattern Recognition, 1996., Proceedings of the 13th International Conference on. [S.l.:s.n.], 1996. p. 238–242.

RICHARDSON, H.; BLOSTEIN, S. A sequential detection framework for featuretracking within computational constraints. In: Computer Vision and Pattern Recognition,1992. Proceedings CVPR ’92., 1992 IEEE Computer Society Conference on. [S.l.: s.n.],1992. p. 861–864.

TECHMER, A. Contour-based motion estimation and object tracking for real-timeapplications. In: Image Processing, 2001. Proceedings. 2001 International Conferenceon. [S.l.: s.n.], 2001. p. 648–651.

TOMMASINI, T. et al. Making good features track better. In: Computer Vision andPattern Recognition, 1998. Proceedings. 1998 IEEE Computer Society Conference on.[S.l.: s.n.], 1998. p. 178–183.

WANG, Q.; AI, H.; XU, G. A probabilistic dynamic contour model for accurateand robust lip tracking. In: Multimodal Interfaces, 2002. Proceedings. Fourth IEEEInternational Conference on. [S.l.: s.n.], 2002. p. 281–286.

WEI, W.; NGAN, K.; HABILI, A. Multiple feature clustering algorithm for automaticvideo object segmentation. In: Acoustics, Speech, and Signal Processing, 2004.Proceedings. (ICASSP ’04). IEEE International Conference on. [S.l.: s.n.], 2004. p.625–8.

XIE, X.; SUDHAKAR, R.; ZHUANG, H. Real-time eye feature tracking from a videoimage sequence using kalman filter. Systems, Man and Cybernetics, IEEE Transactionson, v. 25, n. 12, p. 1568–1577, 1995.