Post on 13-Feb-2019
UNIVERSIDADE FEDERAL DA FRONTEIRA SULCAMPUS CHAPECÓ
CURSO DE CIÊNCIA DA COMPUTAÇÃO
ARIEL GALANTE DALLA COSTA
SEMÁFORO COM TEMPORIZAÇÃO ADAPTATIVA BASEADA NAANÁLISE DE FLUXO DE VEÍCULOS USANDO VISÃO
COMPUTACIONAL
CHAPECÓ2015
ARIEL GALANTE DALLA COSTA
SEMÁFORO COM TEMPORIZAÇÃO ADAPTATIVA BASEADA NAANÁLISE DE FLUXO DE VEÍCULOS USANDO VISÃO
COMPUTACIONAL
Trabalho de conclusão de curso de graduaçãoapresentado como requisito para obtenção dograu de Bacharel em Ciência da Computação daUniversidade Federal da Fronteira Sul.Orientador: Prof. Dr. Emílio Wuerges
CHAPECÓ2015
Galante Dalla Costa, Ariel
Semáforo com temporização adaptativa baseada na análise defluxo de veículos usando visão computacional / por Ariel Galante DallaCosta. – 2015.
60 f.: il.; 30 cm.
Orientador: Emílio WuergesMonografia (Graduação) - Universidade Federal da Fronteira Sul,
Ciência da Computação, Curso de Ciência da Computação, SC, 2015.
1. Visão computacional. 2. Temporização adaptativa. 3. Análisede fluxo. 4. Semáforo. 5. Sistemas de transporte inteligente. I. Wuerges,Emílio. II. Título.
c© 2015Todos os direitos autorais reservados a Ariel Galante Dalla Costa. A reprodução de partes oudo todo deste trabalho só poderá ser feita mediante a citação da fonte.E-mail: arielgdallacosta@gmail.com
RESUMO
Os congestionamentos são problemas que afetam semáforos em estradas e vias urbanas. Oscruzamentos possuem semáforos estáticos que necessitam de regulagem manual e não se adap-tam aos picos de fluxo de veículos. Neste contexto, este trabalho propõe uma ferramenta quegera o tempo de liberação de fluxo de cada via do semáforo baseado no fluxo de veículos,contando e classificando os automóveis utilizando visão computacional. O trabalho foi dividoem dois módulos, o de visão computacional e o módulo de modelagem de fluxo. A partir docruzamento da avenida Fernando Machado com a rua Barão do Rio Branco, na Cidade de Cha-pecó - Santa Catarina, utilizou-se visão computacional para contar e classificar a quantidade deveículos que passaram pelo semáforo, e posteriormente, calculou-se a temporização do modeloproposto e comparou-se ao tempo equânime dimensionado para as mesmas. Como parte adici-onal deste trabalho, foram realizados testes empíricos de simulação do modelo proposto atravésde um simulador desenvolvido para este fim. O modelo mostrou-se mais eficiente na liberaçãode fluxo de vias congestionadas quando comparado a temporização equânime.
Palavras-chave: Visão computacional. Temporização adaptativa. Análise de fluxo. Semáforo.Sistemas de transporte inteligente.
ABSTRACT
Traffic jams are common urban problems that are directly affecting by how the trafficlights work in crossroads. Usually the traffic lights have a static behavior that requires manualadjustment of its timing. They are unable to adapt dynamically to traffic flow peaks. This workproposes a tool that generates adaptative times for semaphores of crossroads using a computervision based analysis that counts and classifies vehicles of the traffic flow being monitored. Thework was divided into two modules: the computer vision and the traffic flow modeling module.The computer vision module was used to count and sort the vehicles at the crossroad of avenuesFernando Machado and Barão do Rio Branco, at Chapecó, SC, Brazil. New timings for eachsemaphore was calculated based on a proposed model, which was later compared to the alreadyexisting equal-time scaled semaphore behavior. This work also presents an empirical testingsimulation for the proposed traffic model obtained by a simulator developed specifically for thiswork. The tests state that the adaptative time approach was more efficient to organize a heavytraffic flow than the equal-time scaled timing.
Keywords: Computer vision. Adaptative timing. Traffic flow analysis. Traffic light. Intelligenttransportation systems.
LISTA DE FIGURAS
Figura 1.1 – Fluxo dos módulos de contagem e classificação dos veículos . . . . . . . . . . . . . . . 13Figura 2.1 – Estrutura de um sistema de visão computacional [Marques Filho and Neto,
1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figura 2.2 – Passos da técnica de background substraction [Horprasert et al., 1999]. . . . . . 18Figura 2.3 – Máscaras do operador de Sobel. (1) Gx que representa a máscara vertical
(2) Gy que representa a máscara horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Figura 2.4 – Deslocamento em 4 e 8 direções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Figura 2.5 – Canny edge detecion. (1) Imagem com filtros Gaussianos aplicados [Wiki-
pedia, 2008]; (2) Resultado final do algoritmo [Wikipedia, 2008] . . . . . . . . . . . 22Figura 2.6 – Resultado do background substraction. (1) A imagem capturada; (2) O qua-
dro da imagem atual subtraído do quadro da imagem de fundo, resultandona primeira fase [Malhi et al., 2011]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 2.7 – Resultado da aplicação das operações morfológicas [Malhi et al., 2011] . . . . . 23Figura 2.8 – Veículos detectados [Malhi et al., 2011] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Figura 2.9 – Veículos detectados na imagem colorida [Malhi et al., 2011] . . . . . . . . . . . . . . . 24Figura 2.10 – Interface principal do sistema VVDC [Zhang et al., 2007] . . . . . . . . . . . . . . . . . 25Figura 2.11 – Um exemplo de extração de imagem de fundo: (a) um quadro da cena do
vídeo e (b) a imagem de fundo extraída [Zhang et al., 2007] . . . . . . . . . . . . . . . 26Figura 2.12 – Configuração das linhas de detecção / AGC [Zhang et al., 2007] . . . . . . . . . . . 26Figura 2.13 – Remoção de sombra: (a) imagem original; (b) bouding box area (em
azul); (c) arestas detectadas; (d) sombra identificada; (e) sombra removida.[Zhang et al., 2007] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 2.14 – Um snapshot do VVDC identificando e classificando um veículo [Zhanget al., 2007] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 2.15 – Zonas de detecção [Chintalacheruvu et al., 2012] . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 2.16 – Casos de detecção da técnica de Harris-Stephens corner detector nas zonas
de interesse. (a) veículo ignorado no processo de identificação; (b) veículona região de interesse; (c) o veículo tendo sua velocidade calculada peloalgoritmo de deslocamento [Chintalacheruvu et al., 2012] . . . . . . . . . . . . . . . . . 30
Figura 3.1 – Modelo pictográfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Figura 3.2 – Interface principal do sistema de contagem e classificação de veículos . . . . . . 32Figura 3.3 – Aplicação da conversão de escala de cinza e da aplicação do filtro gaussiano 33Figura 3.4 – Aplicação de subtração do fundo em relação ao fundo conhecido . . . . . . . . . . . 34Figura 3.5 – Aplicação de subtração do fundo em relação ao fundo conhecido, com a
interferência de um poste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Figura 3.6 – Resultado da aplicação de operações morfológicas com finalidade de apro-
ximar os objetos candidatos em um veículo, e os mais distantes serem des-cartados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figura 3.7 – Conexão de arestas próximas na operação morfológica de dilate . . . . . . . . . . . . 36Figura 3.8 – Aplicação do algoritmo de canny edge detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Figura 3.9 – Aplicação do algoritmo de busca de contornos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Figura 3.10 – Identificação do veículo em relação a centroide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Figura 3.11 – Cálculo do tamanho do veículo em relação ao seu contorno . . . . . . . . . . . . . . . . 39
Figura 3.12 – Erros na classificação de objetos em movimento nas zonas de detecção.(1) Pessoas se movimentando. (2) Ruído sendo gerado pelas alterações declaridade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 4.1 – Simulador do fluxo de veículos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 4.2 – Gráfico do experimento A1 e A2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 4.3 – Gráfico do experimento B1 e B2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figura 4.4 – Gráfico do experimento C1 e C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Figura 4.5 – Gráfico do experimento D1, D2 e D3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Figura 4.6 – Gráfico do experimento E1 e E2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 4.7 – Gráfico do experimento F1 e F2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
LISTA DE TABELAS
Tabela 2.1 – Tabela de acurácia na classificação dos veículos [Malhi et al., 2011] . . . . . . . . 25Tabela 3.1 – Amostras de identificação e classificação de veículos . . . . . . . . . . . . . . . . . . . . . . . 40Tabela 4.1 – Temporização utilizada para cálculo de ajuste do semáforo baseado no modelo 45Tabela 4.2 – Experimento A1. Simulação com temporização equânime - 3 zonas . . . . . . . . 46Tabela 4.3 – Experimento A2. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 46Tabela 4.4 – Experimento B1. Simulação com temporização equânime - 3 zonas . . . . . . . . . 48Tabela 4.5 – Experimento B2. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 48Tabela 4.6 – Experimento C1. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 49Tabela 4.7 – Experimento C2. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 49Tabela 4.8 – Experimento D1. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 50Tabela 4.9 – Experimento D2. Simulação com temporização equânime - 3 zonas . . . . . . . . 50Tabela 4.10 – Experimento D3. Simulação com temporização adaptativa - 3 zonas . . . . . . . . 50Tabela 4.11 – Experimento E1. Simulação com temporização equânime - 4 zonas . . . . . . . . . 52Tabela 4.12 – Experimento E2. Simulação com temporização adaptativa - 4 zonas . . . . . . . . 52Tabela 4.13 – Experimento F1. Simulação com temporização equânime - 4 zonas . . . . . . . . . 53Tabela 4.14 – Experimento F2. Simulação com temporização adaptativa - 4 zonas . . . . . . . . 53
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.1 Visão computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Sistemas de Transporte Inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Detecção de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.1 Remoção de imagem de fundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Fronteiras entre objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.1 Sobel-operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5 Identificação de cantos e arestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5.1 Harris-Stephen corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5.2 Canny edge detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5.3 Busca por contornos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 IMPLEMENTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1 Contagem e classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.1.1 Conversão para escala de cinza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.2 Subtração do fundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.1.3 Operações morfológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.4 Canny Edge Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.1.5 Busca por contornos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.1.6 Cálculo da centroide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.1.7 Detecção de veículos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.1.8 Cálculo do tamanho dos veículos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2 Testes de acurácia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 MODELAGEM E SIMULAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.1 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.1 Simulação de Semáforo com tempo equânime em 3 zonas . . . . . . . . . . . . . . . . . . . . . . . . . 464.3.2 Simulação de Semáforo com tempo equânime em 4 zonas . . . . . . . . . . . . . . . . . . . . . . . . . 514.4 Limitações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
11
1 INTRODUÇÃO
Os congestionamentos de trânsito têm sindo um problema nos últimos anos ao redor do
mundo. A quantidade crescente de pessoas fez com que a demanda por veículos automotores
aumentasse. Incentivos governamentais para aquisição de veículo também contribuem para o
fato do crescimento acelerado da frota de automóveis. Veículos leves e pesados são cada vez
mais necessários para atender à demanda de cidades e metrópoles. A partir desse crescente
aumento de veículos, surgem problemas, principalmente ligados a congestionamentos e escoa-
mento de tráfego.
Conforme dados do DENATRAN (2015) , circulam pelas ruas e estradas do país apro-
ximadamente 45 milhões de veículos, entre eles automóveis, caminhões, motocicletas, tratores
e ônibus. A região Sudeste, por exemplo, concentra 24 milhões de veículos, e desses, 6 milhões
transitam nos 17.000 quilômetros de vias da cidade de São Paulo. Além da capital paulista, Rio
de Janeiro, Brasília e Recife são algumas das capitais que também são afetadas por frequentes
engarrafamentos.
A abordagem de semáforos surgiu para controlar o fluxo de veículos e evitar acidentes
em cruzamentos de vias. A ideia baseia-se em um mecanismo que temporiza a quantidade
de tempo em que os veículos poderão atravessar determinados cruzamentos, sendo que esse
tempo é definido manualmente. Esse mecanismo de controle de fluxo necessita de um estudo
de engenharia de tráfego para que se possa concluir qual é o melhor valor para a temporização
do cruzamento em que a abordagem é aplicada. Alguns mecanismos de escoamento de tráfego
surgiram para tentar compreender o fluxo de veículos com o objetivo de melhorar a acurácia
na temporização das vias, fornecendo vazão ao trânsito e evitando a quantidade crescente de
acidentes neste meio. O fluxo de veículos em determinada via, porém, varia conforme condições
climáticas, de fluxo com outros congestionamentos ou imprevistos como acidentes. Também
existem alguns mecanismos que gerenciam de forma fixa o tempo de cada via em determinados
horários pré-programados.
Nesse contexto de problemas de fluxo, a visão computacional mostra-se como mais uma
alternativa que pode ser usada para se buscar uma solução para a organização viária. Sistemas
baseados em visão computacional são empregados de forma cada vez mais frequente, iniciando
no programa espacial dos Estados Unidos, quando as imagens eram processadas para corri-
gir falhas na transmissão da lua [Marques Filho and Neto, 1999]. As abordagens baseadas
12
em visão computacional também mostram-se eficientes na resolução dos problemas de fluxo
de trânsito, conforme apresentado por diversos autores [Broggi and Berte, 1995, Batavia et al.,
1997, Michalopoulos, 1991], na identificação das placas dos veículos [Han et al., 2015], na clas-
sificação de veículos utilizando o tamanho das rodas [Achler and Trivedi, 2004], visão noturna
[Choi et al., 2014], ou o tamanho do próprio veículo [Lai et al., 2001]. A visão computacional
também é usada na combinação entre câmeras e sensores [Shaw and Rajkumar, 2014].
Os congestionamentos custam muito dinheiro, prejudicam a saúde da população e li-
mitam o crescimento do país. Portanto, resolver (ou amenizar) o problema não é apenas uma
questão de conforto e bem estar - é também um importante incentivo ao desenvolvimento econô-
mico e social. Nesse contexto, semáforos não possuem temporização dinâmica para abertura e
fechamento. O tempo de abertura e fechamento é configurado por um ser humano. Para saber
quanto tempo é preciso para que não ocorram congestionamentos, faz-se necessário a realiza-
ção de um estudo sobre o fluxo de veículos que passam naquela via naquele horário, e a partir
desse mapeamento de veículos, deve-se ajustar a temporização do semáforo manualmente. Em
determinados momentos, porém, um fator externo, como um acidente pode ocasionar mudan-
ças no fluxo de veículos naquela via. Um semáforo que foi dimensionado para operar com
determinados parâmetros de tempo não conseguiria alterar sua temporização para aquela via,
o que o tornaria ineficiente ou mal dimensionado. Um semáforo com temporização dinâmica,
que consiga controlar o tempo baseado na análise de fluxo, não seria afetado por tais fatores
externos, mantendo o fluxo de veículos otimizado.
Em meio a esse contexto, a visão computacional mostra-se como alternativa viável para
ser utilizada no controle de fluxo de estradas e rodovias. Este trabalho apresenta uma proposta
para a criação de um semáforo com temporização adaptativa baseada na contagem e classifica-
ção dos veículos utilizando visão computacional.
A aplicação de técnicas de processamento de imagens e visão computacional para a
análise de sequências de vídeo de fluxo de tráfego oferece melhorias consideráveis em relação
aos métodos existentes de coleta de dados e monitoramento do tráfego rodoviário [Kastrinaki
et al., 2003]. Câmeras conseguem cobrir uma área maior que os sensores se comparados em
duas e quatro vias [Kastrinaki et al., 2003]. Outros métodos, incluindo ciclo indutor, detectores
de sonar e micro-ondas sofrem de inconvenientes, como alterações sazonais, são caros para
instalar e manter. Também são incapazes de detectar veículos lentos ou estacionários.
Técnicas de processamento de vídeo oferecem o custo de instalação relativamente baixo,
13
pois utilizam câmeras de baixa resolução. Elas também possuem pouco impacto no tráfego
durante a manutenção, pois não faz-se necessário interromper o fluxo de veículos para ajustes
no sistema, e várias câmeras podem ser processadas por um único computador. Além disso,
eles fornecem ampla área de vigilância que permite a análise dos fluxos de tráfego em vias
com vários cruzamentos, medindo a velocidade e contando veículos, bem como classificando
veículos e avaliando os congestionamentos e incidentes em rodovias e estradas de perímetro
urbano.
As técnicas de visão computacional possuem menos impacto de adaptabilidade que ou-
tros métodos, pois os algoritmos podem detectar um pico no fluxo, causado por um acidente, por
exemplo, e reagir a isso. Uma solução estática, como um semáforo pré-temporizado, não tem
essa capacidade. Sistemas de visão computacional também se adaptam a cenários diferentes
com maior facilidade, por exemplo, diferente angulação da câmera, visibilidade e luminosi-
dade, pois os recursos são configurados pelos próprios usuários da ferramenta, que demarcam
as regiões de interesse para a contagem e classificação dos veículos. Isso resulta em reusabili-
dade do sistema para várias estradas e rodovias, independente de sua configuração física, visto
que, ao passo de uma configuração do usuário, pode-se adaptar a solução ao novo cenário.
Figura 1.1: Fluxo dos módulos de contagem e classificação dos veículos
O objetivo principal deste trabalho é eliminar a temporização fixa dos semáforos, cal-
culando dinamicamente o tempo adaptativo baseado no fluxo de veículos em cada zona. A
contagem realizada manualmente não é prática, e também não permite adaptabilidade, então,
utilizou-se visão computacional para realizar a contagem e classificação de veículos. Como
parte adicional, foram realizados testes de simulação ao modelo adaptativo proposto.
A Figura 1.1 representa um modelo conceitual do módulo de contagem e classificação
de veículos. É posicionada uma câmera em um cruzamento de forma que ela consiga abranger
todas as vias. A partir do vídeo, o módulo de contagem e o módulo de classificação contam e
classificam os veículos que passam pelo semáforo. A partir da quantidade de veículos em cada
zona, gera-se o tempo adaptativo para cada via do cruzamento.
O segundo capítulo explica quais são as técnicas de visão computacional mais utilizadas
14
na área de sistemas de transporte inteligente, relacionando alguns trabalhos. O terceiro capítulo
explica como foi desenvolvido o módulo de contagem e classificação de veículos através da vi-
são computacional, e também, demonstra os testes de acurácia realizados para um cruzamento
na cidade de Chapecó - Santa Catarina. O quarto capítulo expressa o modelo utilizado para tem-
porização adaptativa, propõe alguns testes de fluxo nos cruzamentos e aponta o comportamento
da temporização perante os cenários. Este capítulo também discute algumas limitações do tra-
balho. Por fim, a conclusão e algumas sugestões de trabalhos futuros. Os próximos capítulos
apresentarão a fundamentação teórica e a implementação da solução proposta nesse trabalho.
15
2 REVISÃO BIBLIOGRÁFICA
2.1 Visão computacional
A visão computacional tem como objetivo fazer com que os computadores passem a
interpretar informações através de imagens e vídeos, simulando a interpretação do ser humano
[Marques Filho and Neto, 1999]. O reconhecimento da importância da visão computacional
é baseado no fato que os computadores podem simular e ter percepção visual complexa das
informações contidas nas cenas analisadas.
Um sistema de visão computacional é um sistema capaz de adquirir, processar e in-
terpretar imagens de cenas reais. Este sistema pode ser estruturado em seis principais etapas,
conforme representado na Figura 2.1: aquisição, pré-processamento, segmentação, extração de
características e reconhecimento e interpretação. A etapa definida como problema são as infor-
mações dadas como entrada para o sistema. Os resultados são todas as conclusões realizadas
pelo sistema no tempo de processamento, por exemplo a identificação ou a contagem de um
veículo em uma cena.
Na fase de aquisição tem-se a forma como serão capturadas as cenas (imagens) ana-
lisadas. Pode ser realizada por sensores, câmeras fotográficas ou câmeras de vídeo. O pré-
processamento é a fase em que são aplicadas operações com intuito de reduzir falhas na captura
e também reduzir imperfeições na imagem. Também possui outras funções, como aplicação
de técnicas para que as próximas etapas tenham maior desempenho em seu processamento. A
fase seguinte, de segmentação, divide a imagem em unidades de objetos de interesse. Na fase
de extração de características são extraídas as características da imagem que são consideradas
importantes, sendo essas alocadas em uma estrutura de dados que auxilie no próximo passo da
implementação. A saída desta etapa é um conjunto de dados referentes à imagem. Na última
fase, reconhecimento e interpretação, aplicam-se algoritmos que rotulem os objetos baseado
nas características trazidas pelos descritores. O significado de cada parte do processamento
mescla-se nesta etapa final, culminando no resultado da análise.
16
Figura 2.1: Estrutura de um sistema de visão computacional [Marques Filho and Neto, 1999]
2.2 Sistemas de Transporte Inteligente
Sistemas de transporte Inteligente são sistemas baseados em soluções tecnológicas vi-
sando melhorar uma arquitetura de transporte. O processamento de imagens possui uma extensa
aplicação no campo de sistemas de transporte inteligente, principalmente por ter fácil instalação
e respostas rápidas. Uma abordagem de direção automática baseada em visão computacional
com câmera estacionária foi proposta por Wan et. al.(1995) através do mapeamento automá-
tico das linhas de direção. Outras abordagens utilizando câmeras estacionárias também foram
propostas [Bertozzi et al., 1997, Foresti et al., 1999], assim como uma abordagem utilizando
câmera em movimento [Foresti et al., 1994]. Uma abordagem de controle de fluxo baseada
em sensores foi proposta por Nur et. al. (2012) . Porém, o controle de fluxo de veículos uti-
lizando puramente visão computacional é um tema de estudo recorrente [Broggi and Berte,
1995, Batavia et al., 1997, Michalopoulos, 1991].
Conforme demonstrado na literatura, diversas técnicas de visão computacional são em-
pregadas em sistemas de transporte inteligente. As seções seguintes apresentam as técnicas
17
utilizadas na contagem e classificação de veículos em cruzamentos de estradas e rodovias, que
é parte significante na execução do presente trabalho.
2.3 Detecção de objetos
A detecção de um objeto é feita através da identificação das regiões de interesse. Essas
regiões podem ser definidas manualmente ou podem ser configuradas para serem localizadas
automaticamente. Alguns recursos de identificação e modelagem 3D necessitam que os usuá-
rios das ferramentas marquem as regiões de interesse que terão captura automática quando em
fronteira com outros objetos.
A detecção de veículos utilizando visão computacional é baseada na análise automática
de cenas capturadas por uma câmera de vídeo. Após a captura, os veículos são identificados.
As câmeras são geralmente estacionárias, não possuem movimentação no ângulo de captura
das imagens, o que facilita a remoção de fundo das cenas, usado para identificar os veículos.
Alguns fatores externos podem influenciar, como sombras e ruídos, o que exige um tratamento
especial para evitar a identificação de uma sombra como sendo um veículo, por exemplo.
A seção a seguir apresenta e descreve uma das técnicas mais usadas para obtenção e
identificação de veículos em vídeos e imagens de tráfego viário.
2.3.1 Remoção de imagem de fundo
As técnicas de remoção de imagem de fundo tem por objetivo obter a diferença entre
duas imagens. Uma imagem de referência é obtida e outras imagens são subtraídas da ima-
gem de referência. Essas técnicas destinam-se a obter regiões de interesse entre a diferença de
imagens, para descrever os objetos que estão em determinada cena. O resultado da subtração
entre as imagens é uma nova imagem que contenha apenas as regiões que posteriormente serão
demarcadas como regiões de interesse.
A técnica de background subtraction [Horprasert et al., 1999] tem por função subtrair
uma imagem de outra imagem de referência, modelada por uma imagem de fundo de uma cena.
Basicamente, divide-se em três etapas: modelagem da imagem do fundo, seleção threshold e
operação de subtração. Na etapa de modelagem da imagem de fundo são computadas as ima-
gens de referência baseadas em um número de quadros pré-definido. Estaticamente é modelada
a imagem de fundo pixel a pixel por uma tupla < Ei, si, ai, bi > onde Ei é o valor de cor es-
18
perado, si é a derivação do valor da cor, ai é variação de distorção e brilho e bi é a variação
da cromaticidade da distorção do i − esimo pixel. O valor da cor esperada para cada pixel é a
média aritmética sobre o i−esimo pixel vermelho, azul e verde sobre os N quadros da imagem.
Em seguida considera-se a variação de brilho e cromaticidade sobre o espaço de tempo em que
foi treinada a imagem de fundo.
No passo de classificação de pixel, também conhecido como operação de subtração, a
diferença entre a imagem de fundo e a imagem atual é realizada. A diferença é decomposta
sobre os dados da cromaticidade e também de brilho que foram geradas na etapa anterior. Após
a aplicação do método, para cada pixel existente gera-se uma classificação, que pode ser: a)
possui o fundo original; b) possui brilho parecido com a imagem de fundo e c) fundo parci-
almente sombreado. Nesse último tem-se cromaticidade semelhante, porém menor que as do
mesmo pixel da imagem de fundo. Desta forma, é possível saber se a imagem possui alguma
cena de movimentação dentro de um determinado intervalo (quadros) de tempo.
A Figura 2.2 ilustra os passos para a realização da técnica, que exemplifica uma pessoa
se movendo em uma cena. O quadro A expressa a imagem de fundo. O quadro B representa a
imagem de entrada para o algoritmo. O quadro C expressa a saída da subtração do fundo, com
pixels do primeiro plano em azul e as sombras em vermelho. Por fim, o quadro D expressa o
resultado da extração de regiões de primeiro plano.
Figura 2.2: Passos da técnica de background substraction [Horprasert et al., 1999].
19
2.4 Fronteiras entre objetos
As técnicas de fronteiras entre objetos destinam-se a descobrir o contorno dos objetos
e suas respectivas cenas. Estes métodos são aplicados utilizando escalas de cinza para que a
luminosidade e a complexidade dos cálculos seja reduzida em tempo de processamento das
imagens. Baseiam-se na análise de pixels e gradientes respectivos ao contorno focado.
2.4.1 Sobel-operator
O operador de Sobel [Jin-Yu et al., 2009] é um algoritmo para detecção de bordas em
imagens. Utiliza diferenciação discreta, que computa uma aproximação do gradiente da função
de intensidade da imagem. O gradiente da função de intensidade é a mudança na intensidade
(cor) de uma imagem, calculado em cada pixel. Ele é classificado em claro ou escuro naquela
posição, bem como classificado na luminosidade em cada ponto. Desta forma, consegue-se
definir e estimar uma transição de claro para escuro, que é a definição de fronteiras entre objetos.
O operador de Sobel usa duas matrizes de três por três que, multiplicadas com a imagem
original, são usadas para encontrar o gradiente. Ambas as matrizes são denominadas máscaras
e, para cada pixel da imagem, elas multiplicam o pixel em questão para descobrir a intensidade
na direção horizontal e vertical, nos eixos x e y .
O termo central da matriz multiplica o pixel escolhido e o complemento da tabela mul-
tiplica os pixels vizinhos, resultando no gradiente de cada pixel. A Figura 3.3 representa as
máscaras horizontais e verticais através de uma matriz. O resultado da aplicação do operador
de Sobel é uma imagem com áreas de fronteiras (contornos) salientados.
Figura 2.3: Máscaras do operador de Sobel. (1) Gx que representa a máscara vertical (2) Gy
que representa a máscara horizontal
20
2.5 Identificação de cantos e arestas
A detecção de cantos e arestas é utilizada nos sistemas de visão computacional para
mapear pontos de interesse que serão utilizados como referência na movimentação de uma ima-
gem de várias cenas. Também pode ser utilizado para controle de fluxo de vídeo, modelagem,
reconhecimento, inferência de conteúdo na imagem.
2.5.1 Harris-Stephen corner
O Harris corner detector [Harris and Stephens, 1988] é um algoritmo de identificação
de cantos e arestas baseado na função de auto-correlação local de um sinal, sendo que essa
mede as alterações locais do sinal com correções de deslocamento de pequena quantidade por
diferentes direções. A técnica reconhece um ponto, analisando através de uma janela mapeada
em pixels. Deslocando-se a janela em determinadas direções, são verificadas as alterações na
intensidade de uma função R, procurando por pontos com maior sensibilidade nos cantos. Isso
acontece quando a intensidade da função R for maior que o threshold. A Figura 2.4 ilustra o
processo.
Se ambas as curvaturas resultantes da intensidade da função R são pequenas, na forma
em que a auto-correlação local é plana, então ela é constante, porque houve pouca alteração na
imagem. Uma região plana não produz alterações em R em qualquer uma das 8 vias de direção
da janela. A Figura 2.4-(1) ilustra esse caso.
Figura 2.4: Deslocamento em 4 e 8 direções
Se uma curvatura é alta e a outra baixa de forma que a função de auto-correlação tem
formato de cume, então há pouca alteração em R e a área é considerada uma aresta, conforme
ilustra a Figura 2.4-(2). Se ambas curvaturas são altas, de modo que a função de auto-correlação
é pontiaguda, o deslocamento em qualquer direção aumenta, o que descreve um canto, conforme
ilustra a Figura 2.4-(3). O algoritmo tem propriedade de invariância de rotação, ou seja, a
21
sensibilidade é invariante na rotação da imagem. Também não sofre alterações na escala de
imagens.
2.5.2 Canny edge detection
O método Canny edge detection [Canny, 1986] utiliza a detecção e classificação de
pixels por arestas. O propósito geral da detecção das arestas é reduzir a quantidade de dados
em uma imagem, preservando as propriedades estruturais dela. A técnica é dividida em cinco
passos: suavização, procura por gradientes, supressão máxima, duplo threshold e rastreamento
de borda por histerese.
Na etapa de suavização, são removidos os ruídos da imagem através de filtros Gaussi-
anos conforme ilustrado na Figura 2.5-(1) . Na fase seguinte, o sobel-operator é aplicado na
imagem para destacar as regiões com alto grau de elevações. Em seguida o algoritmo estabelece
zero para todos os pixels que não estão nas elevações (cume), de modo que é gerado como saída
uma linha fina no contorno.
A fase de supressão máxima tem por objetivo converter a imagem com filtros gaussianos
na imagem de magnitudes a arestas. No passo de duplo threshold, as arestas são comparadas
ao threshold, e caso haja ruido em alguma parte da imagem, ela pode ser descartada. Se um
gradiente de pixel é maior do que o threshold, o pixel é aceito como uma aresta. Se um valor
de gradiente de pixel for inferior ao threshold inferior, então é rejeitada. Se o gradiente de pixel
está entre os dois threshold, então ele será permitido somente se estiver ligado a um elemento
de imagem que está acima do threshold superior.
Finalmente, na etapa de rastreamento, caso a aresta esteja ligada a um elemento de
imagem que está acima do threshold superior, as arestas estarão conectadas apenas se estiverem
ligadas a uma aresta que esteja acima do threshold superior, então, as bordas fracas podem
ser devido a variações de ruído ou cor. Neste caso, as arestas são divididas utilizando análise-
BLOB(Binary Large Object) e conectadas usando 8 arestas vizinhas, contendo pelo menos uma
aresta em cada vizinho acima do threshold, e os outros são removidos. Esta fase é utilizada
como um meio de eliminar traços. O resultado final do processamento de todas as etapas é
mostrado na Figura 2.5-(2).
22
Figura 2.5: Canny edge detecion. (1) Imagem com filtros Gaussianos aplicados [Wikipedia,2008]; (2) Resultado final do algoritmo [Wikipedia, 2008]
2.5.3 Busca por contornos
O método de busca de contornos tem por finalidade determinar se um ponto (x,y)
encontra-se em uma borda interior ou exterior de uma figura. O algoritmo retorna o valor posi-
tivo (para dentro), negativo(fora), ou zero(em uma borda). O valor de cada ponto do contorno é
a distância entre o ponto e o contorno da borda mais próxima.
O método de busca de contornos [Suzuki et al., 1985]
2.6 Trabalhos Relacionados
A aplicação de visão computacional para o controle de fluxo oferece melhorias conside-
ráveis em relação a outros métodos, podendo classificar e evitar incidentes no trânsito. Malhi
et al. (2011) propôs uma ferramenta destinada a controlar o fluxo de veículos por classificação
da densidade do tráfego. A abordagem utiliza um algoritmo simples e eficiente para calcular o
número de veículos com objetivo de evitar congestionamentos. A solução utiliza as técnicas de
dynamic background subtraction e operações morfológicas para obter a detecção dos veículos.
A ferramenta recebe como entrada um conjunto de vídeos, capturados em rodovias e estradas
municipais.
A metodologia proposta pelo trabalho divide-se em cinco etapas: detecção do veículo,
23
pré processamento, remoção do fundo, classificação do fluxo e gerenciamento do tráfego. A
detecção do veículo extrai o primeiro quadro do vídeo, que ainda não possui algum veículo
e o considera como sendo a imagem de fundo. Nesta etapa, usa-se a técnica de background
subtraction descrito na seção 3.1.2. Esta técnica calcula a diferença entre o quadro da imagem
capturada como background e a imagem do quadro atual em processamento. O resultado pode
ser observado na Figura 2.6, em (1) a imagem capturada e em (2) o resultado do background
substraction baseado na imagem capturada.
Figura 2.6: Resultado do background substraction. (1) A imagem capturada; (2) O quadro daimagem atual subtraído do quadro da imagem de fundo, resultando na primeira fase [Malhiet al., 2011].
Após a detecção, operações morfológicas são usadas para traçar um retângulo ao redor
do objeto, que serve para classificar se é ou não um veículo. A forma como essa operação
é implementada não é citada pelos autores. A fase de processamento remove o ruído usando
operações morfológicas, para evitar falsas detecções. O resultado é observado na Figura 2.7.
Figura 2.7: Resultado da aplicação das operações morfológicas [Malhi et al., 2011]
Na fase de classificação do fluxo conta-se quantos veículos existem dentro da área de
interesse. Caso exista um veículo dentro da região de interesse, então, o contador de veículos
é incrementado e um retângulo é traçado ao redor do veículo, conforme ilustra a Figura 2.8.
24
O autor não especifica como essa detecção é feita. Finalizando, a fase de gerenciamento de
tráfego altera a contagem dos veículos depois de um intervalo regular de tempo, enviando os
dados para um banco de dados.
Figura 2.8: Veículos detectados [Malhi et al., 2011]
Figura 2.9: Veículos detectados na imagem colorida [Malhi et al., 2011]
A Figura 2.9 mostra a detecção dos veículos através da imagem atual. Dez vídeos de
teste foram propostos na implementação. A acurácia média dos testes na detecção de veículos
foi de aproximadamente 92,30%. A acurácia varia de forma significativa entre os vídeos, por
fatores externos como por exemplo, ruído. A Tabela 2.1 expressa a quantidade de veículos
e a acurácia obtida nos testes. A primeira coluna representa o vídeo utilizado nos testes, a
segunda expressa a quantidade de veículos calculados manualmente no vídeo de teste, a terceira
demonstra os veículos detectados pela ferramenta, a quarta expressa a quantidade de veículos
que não foram detectados pela ferramenta e por fim, a última coluna demonstra o intervalo de
acurácia nos testes realizados. Os vídeos utilizados variavam do tamanho 120x160 a 240x320
pixels.
25
Tabela 2.1: Tabela de acurácia na classificação dos veículos [Malhi et al., 2011]
Vídeo No Veículoscalculados
Veículosdetectados
Veículos nãodetectados
Acurácia dedetecção (%)
1 10 10 0 1002 17 18 1 94.453 14 13 1 92.854 23 26 3 88.465 14 12 2 85.71
Uma abordagem diferente, baseada no tamanho dos veículos, foi proposta por Zhang
et. al. (2007) . O objetivo é contar e estimar a densidade do tráfego de veículos em rodovias,
classificando-os em veículos leves e pesados, utilizando a análise de vídeos em tempo real. O
funcionamento da ferramenta em operação pode ser visualizado nas Figuras 2.10 e 2.11-(a).
A abordagem é executada em seis passos principais: captura de vídeo em tempo real, entrada
do usuário, extração do background, detecção do veículo, remoção de sombra e classificação
baseada no tamanho.
Figura 2.10: Interface principal do sistema VVDC [Zhang et al., 2007]
Na captura de vídeo utilizam-se vídeos de 20 quadros por segundo, sendo que cada
quadro é uma imagem. Baseado na imagem gerada, executam-se os passos para classificação.
Primeiramente uma área é delimitada pelo usuário para representar o fundo que será analisado a
cada quadro do vídeo, conforme ilustrado na Figura 2.11-(b). O cálculo da variação da imagem
de fundo é obtida pela construção do valor médio da coleção de imagens no canal RGB (Red,
26
Green e Blue). Para não sofrer com efeitos de iluminação, a imagem de fundo é atualizada
periodicamente dentro de um tempo definido manualmente, e a condição de luz é recalculada
conforme a condição de luz naquele instante.
Figura 2.11: Um exemplo de extração de imagem de fundo: (a) um quadro da cena do vídeo e(b) a imagem de fundo extraída [Zhang et al., 2007]
A análise do fundo não leva em conta iluminação transitória na cena. Em virtude disso,
alguns efeitos podem ser causados caso um veículo altamente reflexivo esteja na cena, por
exemplo, um grande caminhão branco. Estes efeitos de iluminação do ambiente devem ser
contabilizados, e a correção é feita pelo método AGC (Automatic Gain Control Area), conforme
pode ser visto no canto superior direito da Figura 2.12. O AGC é uma área retangular demarcada
pelo usuário que está sempre visível, e é a variação média da intensidade de luz ao longo da
área a partir da imagem de fundo. O AGC é aplicado para evitar a falsa detecção de veículos
reflexivos.
Figura 2.12: Configuração das linhas de detecção / AGC [Zhang et al., 2007]
Para detecção de veículos, configura-se manualmente uma zona de virtual loop. Uma
27
virtual loop contém linha de registro, linha de detecção e linha longitudinal, conforme a Figura
2.12. O virtual loop é utilizado porque flexibiliza o sistema a se adaptar a várias configurações
físicas de diferentes rodovias. O algoritmo de detecção procura por veículos na linha de registro.
Busca-se em todos os pixels da linha de registro a diferença da intensidade dos pixels, e desta
forma, define-se um conjunto C, que contém todas as diferenças absolutas de intensidade de
pixels maiores que o threshold. Se mais de 30% dos membros do conjunto da linha estão
contidos no conjunto C, então considera-se que está ocupada por um veículo. Existem dois
estágios na detecção do veículo: no momento em que ele está entrando e quando ele está saindo
da zona de detecção. Ele é apenas contabilizado quando está entrando na zona de detecção.
Para validação dos dados coletados, o veículo que estiver saindo da zona de detecção também
é contado. Depois os resultados são comparados e validados se as contagens de entrada forem
iguais as de saída.
Depois que os veículos são detectados, aplica-se a técnica para remoção de sombra. A
técnica destina-se a eliminar falsos-positivos, por exemplo um veículo leve ser detectado como
pesado por sua sombra ter duplicado seu tamanho. Esse passo baseia-se na escala de cinza
dos pixels, identificando as áreas com poucas arestas ou bordas com grande similaridade com a
imagem de fundo, identificando como regiões de sombra. O método utilizado é o Canny edge
detection, descrito na seção 2.5.2.
Figura 2.13: Remoção de sombra: (a) imagem original; (b) bouding box area (em azul); (c)arestas detectadas; (d) sombra identificada; (e) sombra removida. [Zhang et al., 2007]
Na Figura 2.13 é possível observar os passos do algoritmo de remoção de sombra uti-
lizando a técnica de Canny edge detection. A partir de uma imagem capturada da cena (a),
seleciona-se a região de interesse em azul (b), detectam-se as arestas que estão diferentes do
gradiente comparado ao fundo (c), identifica-se a disparidade entre cores do veículo e sua som-
bra (d), e por fim subtrai-se a imagem da imagem original (e).
A classificação do veículo é definida como leve e pesado baseada em seu tamanho (th-
reshold). O cálculo baseia-se na distância euclidiana entre o ponto de início e o ponto final do
veículo em relação à linha longitudinal com a sombra já removida, como pode ser observado
28
na Figura 2.14. O valor do threshold é especificado pelo usuário da ferramenta, o que permite
flexibilidade em vários contextos de classificação de veículos. Para demonstrar a efetividade do
sistema, dois testes offline e um teste online foram propostos. A média de acurácia do sistema
foi de 97% para todos os veículos e uma taxa de erro de 9% na contagem de caminhões.
Figura 2.14: Um snapshot do VVDC identificando e classificando um veículo [Zhang et al.,2007]
Utilizando uma abordagem baseada em cantos, Chintalacheruvu et. al. (2012) propõem
um sistema de detecção, contagem e estimativa de velocidade de veículos, baseado no algoritmo
de Harris-Stepen corner (seção 2.5.1) para determinar quais são os pontos de interesses. No
rastreamento do veículo utilizam-se pontos de rastreamento usando métodos determinísticos
para a correspondência entre os pontos de interesse. Os pontos de interesse são pontos mape-
ados pelo algoritmo de Harris-Stephens e que buscam referenciar os veículos no deslocamento
entre os frames, conforme a Figura 2.16. Também são mapeadas as centroides dos veículos,
pois a abordagem da centroide é adequada para a determinação do centro do objeto do veículo
na região de detecção delimitada pelas linhas.
Baseada na localização e no deslocamento dos pontos de interesse entre os quadros do
29
vídeo, os veículos são contados e sua velocidade é determinada. Os vídeos utilizados são de
320 x 240 pixels. A região de interesse selecionada pelo usuário por padrão é de 270 x 120
pixels.
A ferramenta foi dividida em sete módulos: captura de vídeo, pré processamento dos
quadros de vídeo, smoothing , conversão de cor, detecção por Harris-Stephen corner, rastrea-
mento e cálculo da velocidade. A captura de vídeo é feita por câmeras do tipo CCTV , obtendo
imagens de rodovias e estradas urbanas. Os vídeos são capturados em várias localizações e em
diferentes horas do dia.
No pré-processamento dos quadros de vídeo, o usuário da ferramenta deve traçar as
regiões de interesse na detecção dos veículos. Esta etapa tem a função de reduzir o tempo
de processamento dos quadros. É necessário especificar as zonas de detecção e as zonas de
velocidade utilizando linhas virtuais horizontais, conforme mostrado na Figura 2.15.
O intervalo entre as linhas H1 e H2 expressam a zona de velocidade. H2 e H3 expressam
a zona de detecção. A distância entre H1 e H3 é a zona de detecção da velocidade dos veículos.
L1 e L2 expressam uma via da rodovia e L2 e L3 expressam outra via da rodovia. Os limites
laterais da rodovia são identificados entre os intervalos L1 e L3.
Figura 2.15: Zonas de detecção [Chintalacheruvu et al., 2012]
A fase de smoothing tem por finalidade remover os ruídos dos quadros, utilizando ope-
rações Gaussianas. A fase de conversão converte a cor dos quadros de imagem da região de
interesse em escala de cinza, utilizando 29,89% de vermelho, 58,70% de verde e 11,40% de
azul na conversão.
Na fase de detecção por Harris-Stephen corner, determina-se a contagem de veículos.
Um threshold é usado para que se possa determinar se os pontos de interesse se referem ao
mesmo veículo. Se os pontos de interesse estão dentro do threshold mapeado, então quer dizer
que o veículo está em uma pista, senão, quer dizer que ele está ocupando mais que uma pista.
30
O centro de gravidade desses pontos são calculados considerando a proximidade do movimento
comum dos pontos.
Na fase de rastreamento e cálculo de velocidade, que utiliza detector de canto, os pon-
tos de interesse são determinados entre as zonas de detecção e de velocidade. As zonas de
velocidade e detecção permanecem adjacentes umas as outras. O deslocamento é calculado
utilizando a diferença das distâncias euclidianas entre todos os quadros do vídeo que tiveram
uma centroide identificada (cantos) das coordenadas no eixo x e no eixo y umas das outras. A
velocidade do veículo é calculada em milhas por hora (mph) dividindo o valor do deslocamento
calculado entre os quadros pelo valor real de milhas do tamanho da rodovia multiplicado por
3600, dividido pela quantidade de quadros do vídeo por segundo.
Os casos são ilustrados na Figura 2.16. A Figura 2.16-(a) demonstra um veículo fora da
zona de interesse de contagem do veículo. Neste caso, o veículo mais a esquerda foi ignorado.
Na Figura 2.16-(b) tem-se um veículo na zona de interesse com os pontos de interesse marcados
ao longo de sua carroceria. Por fim, a Figura 2.16-(c) exemplifica o veículo tendo sua velocidade
calculada , com os pontos já mapeados e sua centroide definida. Os autores não citam os dados
sobre acurácia.
Figura 2.16: Casos de detecção da técnica de Harris-Stephens corner detector nas zonas deinteresse. (a) veículo ignorado no processo de identificação; (b) veículo na região de interesse;(c) o veículo tendo sua velocidade calculada pelo algoritmo de deslocamento [Chintalacheruvuet al., 2012]
Vários sistemas de transporte inteligente utilizam visão computacional. Cada aborda-
gem propõe identificar os veículos para uma finalidade. Neste trabalho, propõe-se contar e
classificar os veículos baseado em sua centroide e seu tamanho em relação a hipotenusa dos
contornos, calculando o tempo adaptativo do semáforo em relação ao fluxo de cada via. Os
próximos capítulos descrevem detalhadamente os passos da implementação.
31
3 IMPLEMENTAÇÃO
O software é executado em um computador do tipo PC ou desktop, e é divido em dois
módulos, o de contagem e classificação de veículos e o módulo de modelagem do fluxo. O
módulo de contagem e classificação tem por finalidade contar e classificar os veículos que
passam pela via, e o módulo de modelagem de fluxo tem a função de gerar o tempo de liberação
do fluxo dinamicamente para cada semáforo.
Figura 3.1: Modelo pictográfico
A Figura 3.1 representa um modelo pictográfico do funcionamento da ferramenta. Inici-
almente, uma câmera é instalada no cruzamento, cobrindo todas as vias. As imagens capturadas
são processadas pelo módulo de contagem e classificação. Neste módulo, o usuário configura
as várias zonas de interesse. Essas zonas representam a área de identificação e classificação
de veículos para cada via. Podem ser adicionadas duas ou várias zonas. Cada zona possui um
identificador, que representa a temporização de uma via, e quando houver dois semáforos que
tenham a liberação do seu fluxo ao mesmo tempo, então, essas zonas compartilham a mesma
identificação. Neste módulo, são configuradas as zonas de identificação e também a identifica-
ção (id) de cada zona.
32
A partir dos valores coletados pelo módulo de contagem e classificação, o módulo de
modelagem do fluxo gera a temporização adaptativa baseada no fluxo de veículos em cada zona.
Neste módulo, configura-se qual é o tempo máximo para liberação de fluxo em todas as zonas
que o software gerencia. A partir dos tempos adaptativos calculados, ajusta-se o tempo em cada
semáforo de cada via.
3.1 Contagem e classificação
A ferramenta conta e classifica os veículos que passam pelas ruas. Tem como entrada
vídeos capturados em rodovias e vias de perímetro urbano, como cruzamentos de duas, três
e quatro vias. Há um passo de configuração manual do usuário no qual esse, para cada via,
informa as zonas de interesse que representam a temporização do semáforo.
Na etapa de identificação, são realizadas operações com finalidade de detectar objetos
se movendo ao longo dos quadros, bem como de remover o ruído e identificar os objetos se mo-
vendo como uma forma geométrica. No módulo de classificação e contagem, são processados
os limites superiores e inferiores dos objetos detectados, e, ignorados ou contados de acordo
com os thresholds definidos em cada quadro. Para implementação da visão computacional,
utilizou-se a biblioteca de visão computacional OpenCV1.
Figura 3.2: Interface principal do sistema de contagem e classificação de veículos
1 http://http://opencv.org
33
A entrada do módulo de contagem e classificação, é um vídeo que é processado e de-
marcado nas regiões de interesse através de coordenadas (x,y). As regiões de interesse são
retângulos traçados pelos usuário e demarcam onde os veículos devem ser detectados. Tam-
bém neste passo, define-se qual é o fluxo da via, chamado no software de zona. A zona é uma
forma de selecionar distintamente que haverá uma temporização para a liberação de fluxo da
via. Quando duas vias possuírem liberação de fluxo ao mesmo tempo, estas ocupam apenas
uma zona, demarcada pelo usuário. Na Figura 3.2 pode-se observar as regiões de interesse re-
presentadas em contornos na cor azul, e na cor amarelo, a identificação das zonas (id) em um
semáforo de três tempos. Cada id de zona, representa um tempo do semáforo.
As operações utilizadas para a identificação dos veículos são sequencialmente: conver-
são para escala de cinza, subtração do fundo, operações morfológicas, canny edge detection,
busca por contornos, cálculo da centróide dos objetos, detecção dos veículos e finalmente o cál-
culo do tamanho dos veículos. A próximas seções apresentarão uma descrição mais detalhada
do que é realizado em cada passo.
3.1.1 Conversão para escala de cinza
O primeiro passo consiste em converter a imagem para a escala de cinza, para tornar o
processo de computação dos próximos passos mais rápido. Após a conversão para escala de
cinza, aplica-se o filtro gaussiano para suavizar a imagem. Utiliza-se esta suavização com a
finalidade de diminuir os ruídos, aproximando os valores dos pixels em sua magnitude local.
Figura 3.3: Aplicação da conversão de escala de cinza e da aplicação do filtro gaussiano
34
A Figura 3.3 apresenta a conversão para escala de cinza e a aplicação do filtro gaussiano
com a finalidade de suavizar a imagem e diminuir o ruído, e também, facilitar os próximos
passos de computação.
3.1.2 Subtração do fundo
Realiza-se então a diferença entre o fundo anterior e o quadro atual. São computados
os quadros dos últimos 500 milissegundos, e a partir disso, a diferença do fundo conhecido
para o fundo atual é calculada. Ao calcular o fundo, o processo ignora o que são consideradas
sombras, resultando apenas em objetos não sombreados. A Figura 3.4 expressa o resultado da
subtração de fundo da Figura 3.3.
Figura 3.4: Aplicação de subtração do fundo em relação ao fundo conhecido
Figura 3.5: Aplicação de subtração do fundo em relação ao fundo conhecido, com a interferên-cia de um poste
Devido a câmera estar instalada a uma altura acima dos postes das vias, os postes e cabos
são computados juntamente com o fundo. Neste caso, a pós-computação da subtração do fundo
para um mesmo veículo resulta em vários objetos separados, conforme a Figura 3.5. Cada parte
35
computada não permite identificação como um veículo, mas sim, uma candidata a ser parte de
um veículo. O método utilizado para contornar esta condição, é proposto na próxima seção.
3.1.3 Operações morfológicas
Foram aplicados três tipos de operações morfológicas para suavizar os resultados e obter
menos ruído. A primeira operação morfológica aplicada é a de abertura, que remove o ruído
presente na imagem, como por exemplo algumas leves trocas de direção do vento, que modi-
fica pequenas partes da imagem. A remoção do ruído é importante para a próxima operação
morfológica, pois garante melhor conexão entre os vértices. A segunda operação morfológica
aplicada destina-se a filtrar as regiões que possuem menos ruído, separando as pequenas partes
da imagem que são candidatas com ruído, das candidatas sem ruído,.
Figura 3.6: Resultado da aplicação de operações morfológicas com finalidade de aproximar osobjetos candidatos em um veículo, e os mais distantes serem descartados
A terceira etapa é uma operação morfológica conhecida como dilate. Sua função é
conectar arestas próximas. Essa etapa junta as partes que são candidatas a serem parte de
um veículo, formando uma figura geométrica. Esta figura pode variar conforme a intensidade
da operação, porém, nos ambientes testados, mostrou-se fundamental na identificação de um
veículo de forma única, conforme a Figura 3.6. Percebe-se que as partes candidatas a veículos
da imagem original (Figura 3.5) adquiriram forma geométrica.
Devido a câmera estar mais próxima a alguma via, consequentemente os postes e fios
presentes no local terão um maior tamanho representado na imagem. A partir disso, ao executar
36
Figura 3.7: Conexão de arestas próximas na operação morfológica de dilate
a terceira operação morfológica, em alguns casos detectou-se que os veículos são agrupados de
forma errada. Dois ou mais veículos geram apenas uma figura geométrica, ocasionando erro
na contagem do veículo e alterando a categoria da contagem do veículo dentro do quadro da
imagem, conforme pode ser visto na Figura 3.7. Em verde o quadro expressa um veículo, no
quadro vermelho outro veículo e em branco, ambos erroneamente conectados pela operação.
3.1.4 Canny Edge Detection
Após a aplicação dos filtros gaussianos, são computados os contornos presentes na ima-
gem através do algoritmo Canny Edge Detection descrito na seção 2.5.2. O preenchimento
interior das figuras é removido, de modo que o próximo passo possa ser mais facilmente execu-
tado e não necessite de alto processamento.
Figura 3.8: Aplicação do algoritmo de canny edge detection
A Figura 3.8 exemplifica o algoritmo de canny edge detection, destacando os contornos
entre os objetos. Na implementação utilizou-se um filtro para as arestas que estiverem com mais
de 20 pixels de distância não sejam agrupadas.
3.1.5 Busca por contornos
Este passo calcula as coordenadas dos limites laterais, superiores e inferiores dos con-
tornos que são computados na etapa anterior. Todas as coordenadas dos limites são guardados
37
em uma lista, e posteriormente processadas no cálculo da centróide, descrito na próxima seção.
Figura 3.9: Aplicação do algoritmo de busca de contornos
A Figura 3.9 exemplifica o algoritmo de busca de contornos, retornando uma lista dos
limites dos contornos dos objetos da cena.
3.1.6 Cálculo da centroide
A partir dos contornos obtidos, calcula-se o perímetro entre os pontos mais próximos, e
caso os pontos estejam dentro do threshold mínimo, então calcula-se a média dos pontos que
compõem-a os contornos mais externos capturados na busca. A centroide é o ponto central da
forma geométrica identificada.
3.1.7 Detecção de veículos
As regiões de interesse são regiões retangulares que possuem a finalidade de identificar
o movimento de objetos, e são definidas pelo usuário antes de iniciar o uso do módulo de
contagem e classificação. Para identificar um objeto em movimento, a centroide do objeto
calculado na etapa anterior deve estar dentro de uma zona de interesse. Quando a centroide é
detectada dentro de uma região de interesse, calcula-se os limites dos pontos laterais, superiores
e inferiores da figura geométrica, e traça-se um contorno do retângulo para demonstrar que o
objeto está contido nessa região.
A partir do momento que há uma centroide dentro da região de interesse, então computa-
se a distância para todas as centroides conhecidas dentro daquela mesma região, e realiza-se
o cálculo de duas vezes o tamanho da quantidade de frames de deslocamento no interior do
quadro. Se o threshold não for atingido e houver pelo menos a diferença entre uma centroide
do quadro atual e do quadro anterior, então um veículo é contado dentro da zona de interesse.
A cada quadro, todas as centroides que estão contidas em regiões de interesse são guardadas
em suas respectivas zonas de identificação. Durante a computação, pode ocorrer o fluxo de
38
Figura 3.10: Identificação do veículo em relação a centroide
pedestres ou ruídos dentro das zonas de interesse. Esses aspectos são tratados na próxima
seção.
3.1.8 Cálculo do tamanho dos veículos
O cálculo do tamanho tem por finalidade classificar o veículo em leve ou pesado. A
partir dos limites dos contornos que são gerados e da sua centróide, calcula-se o tamanho da hi-
potenusa do retângulo dos contornos em relação a centroide, e a partir de um threshold definido
pelo usuário, são computados como sendo veículos leves os que não alcançarem o threshold e
pesados os que excederem o threshold.
Para evitar que as pessoas em movimento sejam computadas, observou-se que na maio-
ria dos casos, as pessoas não adquirem o tamanho de veículos. O usuário define um threshold
inferior para cada zona, sendo que um veículo somente será contado caso o seu tamanho atinja
o mínimo definido. A configuração de um threshold por parte do usuário é necessária, porque
há vias que estão mais distantes da câmera, influenciando na distância dos objetos da imagem,
e, consequentemente no cálculo do tamanho do veículo. Também configura-se um threshold
superior global, que tem por finalidade descartar ruídos. Na Figura 3.10 é possível observar um
exemplo de classificação de veículo através do sistema de contagem e classificação.
A Figura 3.11 mostra as demarcações na cor laranja, expressando os limites dos con-
39
Figura 3.11: Cálculo do tamanho do veículo em relação ao seu contorno
tornos do veículo. A partir da distância dos limites dos contornos, é calculado o perímetro que
expressa o tamanho do veículo, que é comparado ao threshold de classificação de veículos. A
partir do threshold, classifica-se os veículos. Abaixo do threshold, são classificados em leves, e
acima do threshold, são classificados em pesados.
Foram detectados falsos positivos quando duas ou mais pessoas passaram juntas nas
regiões de interesse. A subtração do fundo e as operações morfológicas agruparam as pessoas
e o resultado formou um contorno de tamanho similar ao de um veículo.
3.2 Testes de acurácia
Para efetuar os testes da ferramenta, foram capturados vídeos no cruzamento da avenida
Fernando Machado com a rua Barão do Rio Branco, na Cidade de Chapecó - Santa Catarina no
dia 18 de Setembro de 2015 das 10 horas às 10 horas e 25 minutos da manhã. O vídeo possui
formato MP4, 30 quadros por segundo e resolução de 720 pixels. O vídeo utilizado possui 25
minutos e 52 segundos.
Através do vídeo capturado, realizou-se a contagem manual dos veículos que passaram
pelas ruas e avenidas. A cada veículo que entrava em uma zona de interesse, contabilizou-
se um veículo. Ao processo total do vídeo, a contagem manual aferiu 513 veículos. Foram
realizados testes de acurácia para a visão computacional com a finalidade de validar os casos que
a aplicação consegue realizar o ajuste de tempo variável em um semáforo. A implementação,
bem como o código fonte encontra-se disponível no site GitHub2. O vídeo utilizado encontra-se
disponível no youtube3.
Através dos testes realizados foi possível identificar falsos positivos no sistema de conta-
gem e classificação. Também pôde-se identificar algumas pessoas que transitam sobre as faixas
e são reconhecidas como veículos, conforme a Figura 3.12 (2), o efeitos de claridade que geram
2 https://github.com/arieldll/TCC3 https://www.youtube.com/watch?v=HF57pLjWyH0
40
Figura 3.12: Erros na classificação de objetos em movimento nas zonas de detecção. (1) Pessoasse movimentando. (2) Ruído sendo gerado pelas alterações de claridade
ruídos e são identificados como veículos, conforme a Figura 3.12 (1). A computação automática
contabilizou ao todo 430 veículos, 8 Pessoas foram computadas como veículos leves e períodos
de ruído geraram 40 centroides falsas, ocasionando erros na contagem.
Tabela 3.1: Amostras de identificação e classificação de veículos
TempoClassificadosManualmente Automaticamente Pessoas Ruído Acurácia (%)
1 50 48 4 8 722 51 39 2 1 70,583 51 39 0 0 76,474 34 24 0 1 67,645 34 29 0 1 82,356 52 29 0 1 53,847 33 28 0 2 78,788 47 44 0 1 91,489 46 33 0 1 69,5610 31 24 0 0 77,4111 25 43 0 22 8412 40 32 1 1 7513 19 18 1 1 84,21Total 513 430 8 40 75,64
A Tabela 3.1 expressa o comportamento do sistema de contagem e classificação. Cada
linha expressa uma faixa de dois minutos. A coluna tempo expressa qual é a faixa de tempo
que foi observada. A coluna classificados manualmente expressa quantos veículos foram ma-
nualmente contados, a coluna classificados automaticamente expressa quantos veículos foram
contabilizados pelo sistema de contagem e classificação, a coluna pessoas demonstra quantas
pessoas foram contabilizadas como sendo veículos, a coluna ruídos expressa quantos ruídos
foram contabilizados como veículos e a coluna de acurácia mostra a porcentagem de veículos
que foram classificados corretamente perante o total contado manualmente.
Entre todo o processo de teste, houveram casos em que dois veículos foram agrupados,
41
diminuindo a acurácia do sistema. Nos primeiros dois minutos, houve um aumento de ruídos
considerável ao restante do tempo, devido alterações repentinas na claridade. Na sexta faixa
de minutos, a acurácia diminuiu em função da quantidade baixa de veículos transitando e as
alterações de luminosidade, gerando ruídos e impactando em poucos veículos sendo correta-
mente contados e classificados. Na décima segunda faixa, houve aumento na quantidade de
ruído, devido a instabilidade na claridade. A melhor acurácia aconteceu na oitava linha, onde
aproximadamente 91% dos veículos foram classificados corretamente, devido a baixa alteração
na luminosidade, gerando pouco ruído, e o fluxo significativo de veículos.
Apesar de em alguns momentos ao longo do tempo a precisão diminuir, foi possível
identificar a causa, que foram alterações abruptas na luminosidade, gerando ruído na operação
de subtração de fundo. A visão computacional se mostrou viável na contagem e classificação
de veículos, servindo como base para a segunda etapa, de modelagem e simulação de fluxo de
veículos, descrita nos próximos capítulos.
42
4 MODELAGEM E SIMULAÇÃO
Para efetuar o ajuste do tempo que o semáforo disponibiliza para a passagem dos veí-
culos, foi utilizado uma heurística baseada na relação simples entre a quantidade de veículos
que passam pela via e a quantidade total de veículos que passam naquele cruzamento em um
determinado tempo, multiplicado pelo tempo total para abertura de todas as vias do cruzamento.
4.1 Modelo
A temporização equânime de semáforos não permite que o fluxo de veículos seja ajus-
tado dinamicamente. Quando há uma sobrecarga de fluxo em alguma das vias, o semáforo se
comporta da mesma forma, liberando o fluxo de veículos em um mesmo intervalo de tempo em
cada uma das vias. Essa temporização, faz com que um menor fluxo de veículos passe pelo
semáforo no mesmo tempo, descartando o tempo dinâmico das vias que ficam ociosas. Esse
tempo ocioso poderia ser distribuído para a via que possui maior fluxo, diminuindo os conges-
tionamentos gerais do semáforo. Estes semáforos também sofrem com o dimensionamento do
tempo de liberação de seu fluxo em cada via do cruzamento.
Baseado na análise de alguns cruzamentos que utilizam semáforos, notou-se congesti-
onamentos em alguns períodos do dia. Na temporização, mesmo que ajustada manualmente,
faz-se necessário um ser humano contar quantos veículos passam pelo semáforo, podendo variar
ao longo do dia. A temporização manual necessita do ajuste de um operador técnico constante-
mente, e caso mude, não é dinamicamente recalculada ao novo cenário.
No modelo proposto por este trabalho, gera-se o tempo de liberação de fluxo em cada
semáforo baseado na quantidade de veículos que passam pelo cruzamento em um intervalo de
tempo. Os tempos são divididos percentualmente relativo a quantidade de veículos que passam
pelo cruzamento.
O modelo matemático representa a temporização adaptativa de um semáforo baseado na
quantidade de veículos que transitam em cada via. Este modelo também representa uma visão
do funcionamento de um cruzamento que utilize semáforo para controlar seu fluxo.
O cálculo do tempo de um semáforo com temporização dinâmica baseia-se no valor
retornado pelo modelo multiplicado pela soma do tempo de todas as vias que estão compondo
aquele cruzamento, conforme a fórmula:
43
fi =vi
n∑j=0
vj
t
fi é a quantidade de tempo para liberação do fluxo para a zona i. n é a quantidade de
zonas existentes. vi é a quantidade de veículos da zona i e t a quantidade de tempo disponível
para que todas as zonas liberem seu fluxo.
Para gerar a temporização adaptativa, utiliza-se o fluxo total de veículos que passam
pelo cruzamento e a quantidade de veículos que passam pela via. É configurado manualmente
pelo usuário, representando o tempo total de abertura para liberação de fluxo de todas as vias
do cruzamento.
Por exemplo, em um cenário que utilize temporização equânime, três vias e tempos, res-
pectivamente zona 1, zona 2 e zona 3. Também, o mesmo cenário possui ao total. 60 segundos
para a liberação de fluxo do cruzamento. Neste caso, haveria 20 segundos para liberação de
fluxo para cada semáforo. Supondo que exista um fluxo de 50 veículos por minuto na zona 1,
30 veículos por minuto na zona 2 e 5 veículos por minuto na zona 3. Analisando-se o fluxo,
nota-se que ele é intenso na zona 1, e menor na zona 2, provavelmente a zona 3 teria ociosidade
em sua liberação de fluxo. Partindo da representatividade do fluxo de veículos através de cada
zona, a zona 1 representa aproximadamente 58,82% do fluxo de veículos neste cruzamento,
a zona 2 representa 35,29% do fluxo e a zona 3 representa 5,88% do fluxo de veículos. Por
exemplo, para a zona 1, seriam 50 veículos divididos pelo total, 85, multiplicados por 60, tendo
um valor aproximado de 35 segundos. Adotando esta abordagem, através do modelo proposto
neste trabalho, os novos tempos que seriam calculados para este cruzamento, seriam aproxima-
damente 35 segundos para a zona 1, 21 segundos para a zona 2, e 4 segundos para a zona 3 para
a liberação de fluxo em cada via. O tempo do modelo não considera o tempo de arranque dos
veículos.
As próximas seções discutem o simulador e propõem testes práticos para verificar a
viabilidade do modelo.
4.2 Simulação
Para analisar o impacto do modelo proposto, foi desenvolvido um simulador baseado
em heurística com a finalidade de simular o fluxo de veículos de um cruzamento. Através da
quantidade de zonas, quantidade de tempo em que cada semáforo libera seu fluxo e também
44
no fluxo médio de veículos para aquela rua, são gerados veículos com tempo aleatório entre 0
e 0.5 segundos. Esses valores são baseados na análise empírica do tráfego do cruzamento das
ruas Fernando Machado e rua Barão do Rio Branco, baseado na quantidade média de veículos
que passam por aquele cruzamento em sessenta segundos. Os tempos que os veículos pos-
suem para frear são gerados entre 0 e 0.5 segundos, baseado também empiricamente no mesmo
cruzamento.
O simulador foi desenvolvido na linguagem java e seu código fonte está disponível no
site GitHub4.
A cada abertura de semáforo do simulador, tem-se a liberação de fluxo de veículos da-
quele semáforo, sorteando o tempo de arranque dos veículos e, no caso de congestionamentos,
os veículos que estão sendo simulados aguardam uma distância do fluxo passante pelo semá-
foro. Esses veículos apenas conseguem trafegar se não houver veículos atrapalhando a sua
passagem pelo semáforo.
Figura 4.1: Simulador do fluxo de veículos
A Figura 4.1 mostra o simulador de veículos em funcionamento. As linhas vermelhas
representam as vias e os quadrados azuis representam os veículos. A linha verde representa o
semáforo que está liberando seu fluxo naquele instante. Como saída do simulador, são mostra-
dos a quantidade de veículos gerados para aquela zona, quantidade de veículos que conseguiram4 https://github.com/arieldll/TCC/tree/master/traffic-simulator
45
passar pelo cruzamento e a porcentagem de veículos que conseguiram passar em relação a todos
os gerados para aquela zona ao longo do tempo.
4.3 Resultados
Os testes propostos na simulação tiveram por finalidade demonstrar o funcionamento
do modelo adaptativo proposto por este trabalho. Também tiveram por finalidade mostrar o
funcionamento do modelo adaptativo à variação do fluxo de veículos em um cruzamento, bem
como demonstrar a diferença entre a temporização equânime de um semáforo e a temporização
adaptativa, que foi sugerida neste trabalho.
Foram realizados 13 testes para efetuar a validação do modelo. Os dois primeiros testes
baseiam-se em dados reais dos semáforos em que foi utilizado a visão computacional para
a contagem dos veículos. Os nove primeiros testes simulam o cruzamento das ruas Fernando
Machado e rua Barão do Rio Branco, na cidade de Chapecó - Santa Catarina. Os testes serviram
para validar a temporização adaptativa proposta neste trabalho, e demonstrar seu funcionamento
de acordo com vários cenários, além da sua mudança na temporização ao longo da alteração
do fluxo de veículos. Para os 13 testes, foram utilizados 75 segundos para o tempo total da
liberação para a passagem de veículos pelo cruzamento, em 3 e 4 vias.
Tabela 4.1: Temporização utilizada para cálculo de ajuste do semáforo baseado no modeloExperimento Zona 1 Zona 2 Zona 3 Zona 4 Fluxo BaseA1 8 9 5 - Visão computacionalA2 8 9 5 - Visão computacionalB1 40 45 25 - CongestionamentoB2 40 45 25 - CongestionamentoC1 40 45 25 - ArbitráriaC2 40 10 10 - C1D1 40 25 10 - C2D2 25 30 36 - D1D3 25 30 36 - D1E1 21 18 36 20 ArbitráriaE2 21 18 36 20 ArbitráriaF1 6 30 80 10 ArbitráriaF2 6 30 80 10 Arbitrária
A Tabela 4.1 expressa os valores de fluxo de veículos por minuto por zona que foram
utilizados para cálculo do tempo adaptativo em cada experimento da simulação. O valor da zona
4 é desprezado do experimento A1 até o experimento D3, pois a simulação abrange apenas 3
46
zonas. A partir dos valores de fluxo disponíveis em um minuto, foram reajustados proporcio-
nalmente ao modelo de 75 segundos, e posteriormente adaptados conforme a demanda de fluxo
proposto pelo modelo adaptativo. Ambos os testes desconsideram o tempo disponível para que
pedestres transitem nos cruzamentos.
Os experimentos A1 e A2 representam uma simulação do fluxo de veículos baseado na
contagem obtida pela visão computacional no cruzamento das ruas Barão do Rio Branco com
Fernando Machado na cidade de Chapecó. O experimento B1 e B2 expressam o experimento A1
e A2 com os valores de fluxo multiplicados por 5, a fim de demonstrar um congestionamento.
Os experimentos C1, C2, D1, D2 e D3 expressam o funcionamento do modelo adaptativo com
uma variação abrupta dos fluxos. Nos experimentos E1, E2 foi simulado um cruzamento de
quatro zonas com fluxo estável. Nos experimentos F1 e F2, foi simulado um cruzamento de
quatro vias tendo uma via com alto fluxo de veículos em relação as outras vias deste mesmo
cruzamento.
4.3.1 Simulação de Semáforo com tempo equânime em 3 zonas
A partir da divisão equânime de tempo de abertura do semáforo, para um cruzamento de
quatro vias e três tempos, realizou-se a simulação com temporização equânime, de 25 segundos
para abertura e fechamento de cada via.
Tabela 4.2: Experimento A1. Simulação com temporização equânime - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 8 8 25 50 49 982 9 9 25 32 27 84,373 5 5 25 57 52 91,22
Tabela 4.3: Experimento A2. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 8 8 26 50 49 982 9 9 30 32 28 87,53 5 5 19 57 52 91,22
A Tabela 4.2 Expressa o experimento A1, a simulação da temporização equânime em
um semáforo de 3 vias. A coluna de zona expressa qual zona está sendo simulada, a coluna base
47
expressa qual é o fluxo base para cálculo do tempo de abertura do semáforo no experimento, a
coluna de fluxo por minuto expressa quantos veículos estão passando por minuto naquela simu-
lação de via, a coluna de tempo de abertura demonstra quantos segundos o semáforo daquela
via é aberto para passagem de veículos, a coluna de adicionados demonstra quantos veículos
foram adicionados em tempo de simulação para passagem naquela via, a coluna de finalizados
expressa quantos veículos conseguiram passar no semáforo desde o início da simulação. Final-
mente a coluna de aproveitamento demonstra a porcentagem de veículos que foram adicionados
e passaram em um determinado instante.
Figura 4.2: Gráfico do experimento A1 e A2
A partir do experimento A1, o tempo do semáforo foi ajustado baseado no modelo
proposto. Os novos tempos calculados pelo modelo foram 26, 30 e 19 segundos respectivamente
de abertura do semáforo para as zonas 1, 2 e 3. Esses tempos deram origem ao experimento A2.
A Tabela 4.3 representa o resultado do experimento A2.
No experimento A2, é pode-se observar na coluna de aproveitamento que a zona 2 obteve
um ganho de aproximadamente 3,12% em relação ao experimento A1. A Figura 4.2 compara
o rendimento dos experimento A1 e A2. Na cor azul, o experimento A1 e na cor laranja o
experimento A2. É possível observar que utilizando o mesmo fluxo de veículos, um veículo a
mais foi finalizado no experimento A2 em relação ao experimento A1.
Multiplicou-se o fluxo real de veículos A1 pela constante 5, a fim de produzir um fluxo
maior de veículos em todas as vias e simular um congestionamento. A finalidade é observar a
diferença entre o tempo equânime e o tempo calculado pelo modelo adaptativo. O experimento
B1 ilustra esse cenário.
48
Tabela 4.4: Experimento B1. Simulação com temporização equânime - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 40 40 25 244 231 94,672 45 45 25 153 131 85,623 25 25 25 272 233 85,66
Tabela 4.5: Experimento B2. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 40 40 26 244 244 1002 45 45 30 153 131 85,623 25 25 19 272 248 91,17
Figura 4.3: Gráfico do experimento B1 e B2
A Tabela 4.4 expressa o experimento B1, onde o fluxo foi multiplicado por 5 com finali-
dade de obter um maior fluxo de veículos. A partir do fluxo do experimento B1, foi recalculada
a temporização do semáforo através do modelo adaptativo, originando o experimento B2. A
Tabela 4.5 expressa o experimento B2, que possui os tempos do semáforo redefinidos pelo mo-
delo. Neste caso, o semáforo foi ajustado conforme a heurística proposta no modelo, e obteve
melhora no aproveitamento 5,32% na zona 1 e 5,51% na zona 3. Não houve alterações na zona
2. A Figura 4.3 expressa o experimento B1 e B2. Na cor azul, o experimento B1 e na cor laranja
o experimento B2. A regulagem de tempo do modelo melhorou o fluxo de veículos. É possível
observar que utilizando o mesmo fluxo de veículos, 28 veículos a mais foram finalizados no
49
experimento B2 em relação ao experimento B1.
A partir do fluxo de veículos no experimento B2, manteve-se estável o fluxo de veículos
na primeira zona, e a diminuiu-se na segunda e terceira zona, simulando um horário com menos
movimento nas duas últimas vias. Esse cenário é ilustrado no caso de teste C1.
Tabela 4.6: Experimento C1. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 40 40 26 244 236 96,722 25 10 30 63 53 84,123 25 10 19 63 58 92,06
Tabela 4.7: Experimento C2. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 40 40 49 244 239 97,952 10 25 13 155 104 67,093 10 10 13 63 54 85,71
Figura 4.4: Gráfico do experimento C1 e C2
A Tabela 4.6 expressa os resultados do experimento C1. Houve uma diminuição de
aproveitamento em 1,26% na zona 1, 0,15% na zona 2 e 6,34% na zona 3. Baseando-se no
fluxo do experimento C1, gerou-se o experimento C2. Neste experimento, alterou-se o fluxo
50
de veículos na zona 2 em relação ao experimento C1 com a finalidade de demonstrar a adapta-
bilidade do modelo em relação a variação do fluxo, e calculou-se o aproveitamento das zonas
baseado no modelo gerado pelo experimento C1. A Tabela 4.7 expressa o experimento C1. Este
experimento mostrou uma diminuição do aproveitamento em 17,03% para zona 2 e 6,34% para
a zona 3. Para a zona 1, estabilizada no fluxo, houve um ganho de 1,22%. A Figura 4.4 compara
o experimento C1 e C2. Na cor azul, o experimento C1 e na cor laranja o experimento C2.
Baseando-se no experimento C2, alterou-se o fluxo nas três zonas, simulando uma alte-
ração repentina no fluxo de veículos, o que poderia ser justificado por exemplo, como desvio de
rota através deste semáforo. A temporização foi feita com base no modelo, simulando como o
semáforo se adaptaria a essa mudança repentina. O cenário gerou o experimento D1.
Tabela 4.8: Experimento D1. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 40 25 40 153 149 97,382 25 30 25 217 80 36,863 10 36 10 183 162 88,52
Tabela 4.9: Experimento D2. Simulação com temporização equânime - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 25 25 25 153 149 97,382 30 30 25 217 185 85,253 36 36 25 183 169 92,34
Tabela 4.10: Experimento D3. Simulação com temporização adaptativa - 3 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 25 25 21 153 149 97,382 30 30 24 217 189 87,093 36 36 30 183 170 92,89
A Tabela 4.8 demonstra o experimento D1. Neste experimento, pode-se observar uma
melhora no aproveitamento de 2,81% na zona 3, e uma diminuição de aproveitamento 0,56%
para a zona 1 e 30,23% para a zona 2.
51
Figura 4.5: Gráfico do experimento D1, D2 e D3
Baseado no mesmo fluxo do experimento D1, simulou-se o mesmo cruzamento com os
tempos equânimes entre as três zonas propostas, dando origem ao experimento D2. Esse experi-
mento ilustra como um semáforo convencional seria afetado pela mudança repentina de tráfego.
A Tabela 4.9 mostra a divisão de tempos equânimes entre as zonas do semáforo, demonstrando
um ganho de 0% para a zona 1, um ganho de 48,38% para a zona 2 e um ganho de 3,82% para
zona 3.
Tomando como base o fluxo de veículos do experimento D2, utilizou-se o modelo adap-
tativo para recalcular os tempos em que cada zona utilizava conforme o fluxo de veículos do
experimento D1, dando origem ao experimento D3, a fim de comparar a temporização equânime
da mesma via com a temporização adaptativa proposta neste trabalho. A Tabela 4.10 expressa
o experimento D3. Houve um aumento de aproveitamento em relação ao experimento anterior
nas zonas 2 e 3, respectivamente de 1,84% e 0,54%. A Figura 4.5 expressa o experimento D1,
D2 e D3. A coluna azul expressa o experimento na zona 1, na cor laranja o experimento na
zona 2, e em cinza, o experimento na zona 3.
4.3.2 Simulação de Semáforo com tempo equânime em 4 zonas
A fim de realizar testes no modelo, supondo um cruzamento de 4 zonas, foi proposto
uma modelagem de quatro vias para o experimento E1. O experimento consiste em simular
um semáforo com divisão de tempo equânime com 75 segundos disponível para a liberação de
fluxo nas quatro vias.
A Tabela 4.11 expressa o experimento com quatro vias, tendo 18.75 segundos para li-
52
Tabela 4.11: Experimento E1. Simulação com temporização equânime - 4 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 21 21 18,75 129 122 94,572 18 18 18,75 112 109 97,323 36 36 18,75 219 158 72,144 20 20 18,75 124 112 90,32
Tabela 4.12: Experimento E2. Simulação com temporização adaptativa - 4 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 21 21 19 129 121 93,792 18 18 14 112 94 83,923 36 36 28 219 200 91,324 20 20 15 124 119 95,96
berar o fluxo em cada zona. Baseado no fluxo do experimento E1, realizou-se o experimento
E2, conservando o fluxo e calculando-se os tempos adaptativos em que cada zona liberaria seu
fluxo conforme o modelo. A Tabela 4.12 expressa o experimento E2, onde o fluxo de veículos
foi conservado. Neste experimento, houve um aumento de 19,17% para a zona 3 e 5,64% para a
zona 4. Houve uma diminuição no aproveitamento da zona 1 em 0,77% e na zona 2 em 13,39%.
A Figura 4.6 expressa o experimento E1 e E2. Em azul, representa o experimento E1, na cor
laranja, o experimento E2. É possível observar que utilizando o mesmo fluxo de veículos, 33
veículos a mais foram finalizados no experimento E2 em relação ao experimento E1.
Por fim o teste F1, com quatro zonas e um maior fluxo de veículos na terceira zona,
com divisão equânime de tempo para ambas. Este experimento teve por finalidade demonstrar
um fluxo intenso em uma das zonas, simulando um congestionamento na terceira zona, de-
monstrando o comportamento do modelo quando o cenário de quatro vias, sendo e uma delas
altamente congestionada se comparada as outras zonas do mesmo cruzamento.
A Tabela 4.13 expressa o aproveitamento de veículos no experimento F1. Baseado no
experimento F1, desenvolveu-se o experimento F2. Neste experimento, conservou-se o fluxo
de veículos e ajustou-se o tempo de abertura do semáforo conforme o modelo adaptativo. A
Tabela 4.14 expressa o aproveitamento de veículos com o tempo ajustado conforme o fluxo de
veículos. Com o tempo ajustado, observou-se um aumento de 58,62% de aproveitamento para
a zona 2 e um aumento de 1,61% para a zona 4. Houve uma diminuição de aproveitamento de
53
Figura 4.6: Gráfico do experimento E1 e E2
Tabela 4.13: Experimento F1. Simulação com temporização equânime - 4 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 6 6 18.75 38 36 94,732 30 30 18.75 186 164 88,173 80 80 18.75 464 175 37,714 10 10 18.75 62 57 91,93
Tabela 4.14: Experimento F2. Simulação com temporização adaptativa - 4 zonas
ZonaFluxoBase
Fluxo deveículospor minuto
Tempo deabertura (s)
VeículosAdicionados
VeículosFinalizados Aproveitamento (%)
1 6 6 4 38 29 76,312 30 30 18 186 149 80,103 80 80 47 464 448 96,344 10 10 6 62 58 93,54
18,42% para a zona 1 e de 8,06% para a zona 2.
A Figura 4.7 compara os experimentos F1 e F2. Na cor azul, representa o experimento
F1, e na cor laranja, o experimento F2. É possível observar que utilizando o mesmo fluxo de
veículos, 252 veículos a mais foram finalizados no experimento F2 em relação ao experimento
F1. O modelo distribuiu melhor o fluxo de veículos para as zonas com maior congestionamento
ao custo de deixar as outras duas vias menos eficientes.
54
Figura 4.7: Gráfico do experimento F1 e F2
4.4 Limitações
O trabalho possui limitações na área de visão computacional. Ruídos podem ser gerados
na etapa de subtração do fundo, influenciando na operação da contagem automática de veícu-
los. Uma forma de resolver esses problemas pode ser encontrada em [Sen-Ching and Kamath,
2004]. Além deste problema, abaixo são listadas outras limitações:
• Mudanças de alteração da claridade: em caso de mudanças inesperadas na claridade,
pode-se ter problemas na subtração de fundo, gerando vários níveis de ruído. Entretanto,
se a mudança for gradual, o software irá se adaptar as novas condições de fundo automa-
ticamente.
• Mudanças arbitrárias nas condições climáticas: em caso de alterações climáticas, o mó-
dulo de contagem e classificação pode sofrer com ruídos, já que dependendo da inten-
sidade, a chuva pode ser capturada como um ruído. A câmera deve estar posicionada
distante do cruzamento, para que os pingos de chuva não sejam reconhecidos como obje-
tos na etapa de reconhecimento de subtração do fundo.
• Operação noturna: o software não foi testado em ambiente noturno. O maior fluxo de
automóveis desta via acontece durante o dia, então o trabalho não considerou a variação
ao longo da noite, apenas no período diurno.
O trabalho também possui limitações na área de modelagem e simulação de fluxo de
veículos. O modelo proposto foi baseado em heurística e o simulador proposto foi baseado em
55
lógica empírica.
• Impacto da modelagem: não foram realizados testes práticos no cruzamento proposto
devido a dificuldade em adaptar a modelagem proposta ao fluxo real, bem como a neces-
sidade de haver um técnico especializado para efetuar os ajustes.
• Adaptabilidade: o modelo se adapta abruptamente ao fluxo calculado, não levando em
conta outros horários e informações preliminares sobre o fluxo.
• Temporização: a modelagem proposta não foi comparada a modelos de trânsito exis-
tentes, não podendo haver uma análise de quanto o modelo mostra-se mais ou menos
eficiente que outras bibliografias propõem.
• Temporização equânime: a modelagem proposta foi comparada apenas a modelos de
temporização equânime, e desta forma quando comparado mostra-se mais eficiente que a
temporização equânime na liberação de fluxo na maioria das vias.
56
5 CONCLUSÃO
Os problemas de congestionamento de veículos custam muito dinheiro, e geram descon-
forto para a sociedade em geral. A visão computacional e a modelagem heurística tornam-se
uma alternativa para melhorar o processo de liberação de fluxo nos sistemas de trânsito.
O presente trabalho propôs uma alternativa para temporização adaptativa de liberação
de fluxo em semáforos utilizando visão computacional para contagem e classificação de veí-
culos. Realizou-se revisão blibliográfica acerca de sistemas de identificação e classificação de
veículos, utilizados na implementação do presente trabalho, e também utilizou-se modelagem e
simulação para ajuste de tempo de semáforos baseado em heurística.
Desenvolveu-se um modelo utilizando conceitos de visão computacional, que identifica
e classifica os veículos através da comparação de imagens. Também desenvolveu-se a mo-
delagem e a simulação do fluxo baseando-se em heurística. Foi implementado o módulo de
contagem e classificação de veículos, que recebe como entrada um vídeo e as coordenadas das
zonas e conta a quantidade de veículos que passaram em cada zona em um determinado tempo.
A partir disso, gera através de heurística o modelo adaptativo, a fim de dimensionar mais tempo
para a zona que necessite de maior tempo para a liberação de seu fluxo.
Foram realizados testes para verificar a eficácia da contagem e classificação de veículos
no cenário atual brasileiro, já que, diferentemente dos outros trabalhos, este supre a necessi-
dade de computar fios e postes juntamente com a subtração do fundo. Também, utilizando um
modelo heurístico de modelagem de fluxo, adaptou-se os novos tempos em que cada zona pos-
suía demanda, realizando a simulação do fluxo. Conclui-se que a contagem e classificação de
veículos utilizando visão computacional mostra-se eficiente para vários casos, possuindo uma
expressiva taxa de reconhecimento e classificação. Nestas condições, o módulo de contagem
e classificação gera a resposta para contagem e classificação automática, porém sofre com al-
guns efeitos de luminosidade e ruído. Alguns erros de falso positivo foram detectados, como
variações na luminosidade ou agrupamento de fluxo de pessoas nas zonas de identificação. No
módulo de modelagem e simulação de veículos, o modelo heurístico mostra-se eficiente quando
há estabilidade no fluxo de veículos se comparado a tempos equânimes de liberação de fluxo,
ou, que tenha leves alterações no fluxo dos veículos em determinado tempo. O modelo heu-
rístico também mostra-se eficiente quando comparado a um modelo que possua disparidade de
fluxo em alguma das zonas e tenha temporização equânime.
57
Finalmente, pode-se perceber que a visão computacional mostra-se como uma alterna-
tiva viável para a contagem e classificação de veículos, e também para solução de alguns pro-
blemas cotidianos. A modelagem heurística mostra-se eficiente no dimensionamento de tempo
para liberação do fluxo quando comparada a temporização equânime.
5.1 Trabalhos futuros
No presente trabalho, são tratadas as subtrações de fundo com computação dos postes
presentes nas vias. Disso, geram-se algumas inconsistências na classificação de veículos, apro-
ximando um ou mais veículos e classificando-os de forma errônea. Também, são considerados
os pedestres que circulam dentro das zonas de identificação, gerando erros na contagem de veí-
culos, influenciando nos cálculos de temporização adaptativa. Esta mudança poderia favorecer
o aumento da acurácia do sistema, desconsiderando movimentos que não sejam em direção aos
sentido em que a via expressa.
O modelo de cálculo de temporização adaptativa não diferencia veículos leves e pesados.
Desta forma, o tempo adaptativo poderia ter uma melhora ao dimensionar o fluxo de veículos
baseado na quantidade de veículos leves e pesados que ocupam a via naquele tempo. Outra
forma de dimensionar o fluxo de veículos seria utilizando um simulador que não seja empírico,
abordando a contagem e simulação mais aproximada do comportamento real das zonas e dos
cruzamentos.
Como contribuição futura, pode-se realizar pesquisas em algoritmos que otimizem o
fluxo e gerem o modelo de trânsito de forma otimizada. Também, pode-se realizar pesquisas
em algoritmos que gerem o fluxo de vários semáforos que sejam inter-dependentes, otimizando
o fluxo em cascata para uma ou várias zonas, e dimensionando o sistema de temporização
adaptativa para, por exemplo, todos os semáforos de um bairro.
Outra contribuição pode ser melhorar a interface de configuração / operação do sistema,
permitindo que o usuário configure as zonas e vias através do mouse e teste o fluxo de veículos
em tempo de configuração.
58
REFERÊNCIAS
[1] O. Achler and M. M. Trivedi. Camera based vehicle detection, tracking, and wheel base-
line estimation approach. In Intelligent Transportation Systems, 2004. Proceedings. The
7th International IEEE Conference on, pages 743–748. IEEE, 2004.
[2] P. H. Batavia, D. Pomerleau, C. E. Thorpe, et al. Overtaking vehicle detection using im-
plicit optical flow. In Intelligent Transportation System, 1997. ITSC’97., IEEE Conference
on, pages 729–734. IEEE, 1997.
[3] M. Bertozzi, A. Broggi, and S. Castelluccio. A real-time oriented system for vehicle
detection. Journal of Systems Architecture, 43(1):317–325, 1997.
[4] A. Broggi and S. Berte. Vision-based road detection in automotive systems: A real-time
expectation-driven approach. Journal of Artificial Intelligence Research, pages 325–348,
1995.
[5] J. Canny. A computational approach to edge detection. Pattern Analysis and Machine
Intelligence, IEEE Transactions on, (6):679–698, 1986.
[6] N. Chintalacheruvu, V. Muthukumar, et al. Video based vehicle detection and its applica-
tion in intelligent transportation systems. Journal of transportation technologies, 2(04):
305, 2012.
[7] K.-H. Choi, D.-H. Kim, K.-S. Kim, J.-W. Kwon, S.-I. Lee, K. Chen, and J.-H. Park.
State machine and downhill simplex approach for vision-based nighttime vehicle detec-
tion. ETRI Journal, 36(3):439–449, 2014.
[8] Denatran. Denatran - departamento nacional de trânsito, 2015. URL http://www.
denatran.gov.br/.
[9] G. Foresti, V. Murino, C. S. Regazzoni, and G. Vernazza. A distributed approach to 3d road
scene recognition. Vehicular Technology, IEEE Transactions on, 43(2):389–406, 1994.
[10] G. L. Foresti, V. Murino, and C. Regazzoni. Vehicle recognition and tracking from road
image sequences. Vehicular Technology, IEEE Transactions on, 48(1):301–318, 1999.
59
[11] B.-G. Han, J. T. Lee, K.-T. Lim, and Y. Chung. Real-time license plate detection in high-
resolution videos using fastest available cascade classifier and core patterns. ETRI Journal,
37(2):251–261, 2015.
[12] C. Harris and M. Stephens. A combined corner and edge detector. In Alvey vision confe-
rence, volume 15, page 50. Manchester, UK, 1988.
[13] T. Horprasert, D. Harwood, and L. S. Davis. A statistical approach for real-time robust
background subtraction and shadow detection. In IEEE ICCV, volume 99, pages 1–19,
1999.
[14] Z. Jin-Yu, C. Yan, and H. Xian-Xiang. Edge detection of images based on improved sobel
operator and genetic algorithms. In Image Analysis and Signal Processing, 2009. IASP
2009. International Conference on, pages 31–35. IEEE, 2009.
[15] V. Kastrinaki, M. Zervakis, and K. Kalaitzakis. A survey of video processing techniques
for traffic applications. Image and vision computing, 21(4):359–381, 2003.
[16] A. H. Lai, G. S. Fung, and N. H. Yung. Vehicle type classification from visual-based
dimension estimation. In Intelligent Transportation Systems, 2001. Proceedings. 2001
IEEE, pages 201–206. IEEE, 2001.
[17] M. H. Malhi, M. H. Aslam, F. Saeed, O. Javed, and M. Fraz. Vision based intelligent
traffic management system. In Frontiers of Information Technology (FIT), 2011, pages
137–141. IEEE, 2011.
[18] O. Marques Filho and H. V. Neto. Processamento digital de imagens. Brasport, 1999.
[19] P. G. Michalopoulos. Vehicle detection video through image processing: the autoscope
system. Vehicular Technology, IEEE Transactions on, 40(1):21–29, 1991.
[20] K. M. Nur, M. Hasan, and P. C. Saha. An automated urban traffic control system for heavy
traffic congestion. In Electrical & Computer Engineering (ICECE), 2012 7th International
Conference on, pages 454–457. IEEE, 2012.
[21] S. C. Sen-Ching and C. Kamath. Robust techniques for background subtraction in urban
traffic video. In Electronic Imaging 2004, pages 881–892. International Society for Optics
and Photonics, 2004.
60
[22] R. Shaw and R. Rajkumar. Mobile cloud traffic control and maintenance. 2014.
[23] S. Suzuki et al. Topological structural analysis of digitized binary images by border fol-
lowing. Computer Vision, Graphics, and Image Processing, 30(1):32–46, 1985.
[24] C. Wan, K. Dickinson, and T. Binnie. A cost effective image sensor system for transport
applications utilising a miniature cmos single chip camera. Transportation systems: theory
and application of advanced technology. Vol. 1, 1995.
[25] Wikipedia. Imagem com suaviazação aplicada, 2008. URL https:
//en.wikipedia.org/wiki/Canny_edge_detector#/media/File:
Valve_gaussian_%282%29.PNG.
[26] Wikipedia. Imagem com o canny edge aplicado, 2008. URL https://commons.
wikimedia.org/wiki/File:Valve_monochrome_canny_%286%29.PNG.
[27] G. Zhang, R. P. Avery, and Y. Wang. Video-based vehicle detection and classification sys-
tem for real-time traffic data collection using uncalibrated video cameras. Transportation
Research Record: Journal of the Transportation Research Board, 1993(1):138–147, 2007.