TERMO DE APROVAÇÃOrepositorio.roca.utfpr.edu.br/jspui/bitstream/1/10557/3/... · 2019. 3. 15. ·...

56
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA BACHARELADO EM ENGENHARIA ELÉTRICA IGOR CARNEIRO STACHESKI OSCAR BROCH JUNIOR DETECÇÃO E ESTIMATIVA DE VELOCIDADE VEICULAR ATRAVÉS DE PROCESSAMENTO DE IMAGEM TRABALHO DE CONCLUSÃO DE CURSO PONTA GROSSA 2018

Transcript of TERMO DE APROVAÇÃOrepositorio.roca.utfpr.edu.br/jspui/bitstream/1/10557/3/... · 2019. 3. 15. ·...

  • UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

    DEPARTAMENTO ACADÊMICO DE ELETRÔNICA

    BACHARELADO EM ENGENHARIA ELÉTRICA

    IGOR CARNEIRO STACHESKI

    OSCAR BROCH JUNIOR

    DETECÇÃO E ESTIMATIVA DE VELOCIDADE VEICULAR ATRAVÉSDE PROCESSAMENTO DE IMAGEM

    TRABALHO DE CONCLUSÃO DE CURSO

    PONTA GROSSA

    2018

  • IGOR CARNEIRO STACHESKI

    OSCAR BROCH JUNIOR

    DETECÇÃO E ESTIMATIVA DE VELOCIDADE VEICULAR ATRAVÉSDE PROCESSAMENTO DE IMAGEM

    Trabalho de Conclusão de Curso apresen-tado como requisito parcial à obtençãodo título de Bacharel em EngenhariaElétrica, do Departamento Acadêmico deEletrônica, da Universidade TecnológicaFederal do Paraná.

    Orientadora: Profa¯ . Dra. MarcellaScoczynski Ribeiro Martins

    PONTA GROSSA

    2018

  • Ministério da EducaçãoUniversidade Tecnológica Federal do Paraná

    Câmpus Ponta GrossaDiretoria de Graduação e Educação Profissional

    Departamento Acadêmico de EletrônicaBacharelado em Engenharia Elétrica

    TERMO DE APROVAÇÃO

    DETECÇÃO E ESTIMATIVA DE VELOCIDADE VEICULAR ATRAVÉS DEPROCESSAMENTO DE IMAGEM

    por

    IGOR CARNEIRO STACHESKIe

    OSCAR BROCH JUNIOR

    Este Trabalho de Conclusão de Curso foi apresentado em 27 de novembro de 2018como requisito parcial para a obtenção do título de Bacharel em Engenharia Elétrica.Os candidatos foram arguidos pela Banca Examinadora composta pelos professo-res abaixo assinados. Após deliberação, a Banca Examinadora considerou o trabalhoaprovado.

    Profa¯ . Dra. Marcella Scoczynski Ribeiro MartinsOrientadora

    Profa¯ . Dra. Virgínia Helena Varotto Baroncini Prof. Dr. Max Mauro Dias Santos

    Membro Titular Membro Titular

    Prof. Dr. Josmar Ivanqui Prof. Me. Jeferson José Gomes

    Responsável pelos TCC Coordenador(a) do Curso

    – O Termo de Aprovação assinado encontra-se na Coordenação do Curso –

  • Dedicamos este trabalho as nossas

    famílias e aos nossos amigos, pelos

    momentos de ausência.

  • AGRADECIMENTOS

    Um agradecimento especial aos nossos pais João Antônio Stacheski, Claudia

    Aparecida Carneiro, Ivone Broch e Oscar Broch, por todo amor, todas as palavras

    de apoio e conselhos cedidos ao longo de todos os anos na universidade. Eles não

    mediram esforços para a realização do nosso sonho e sem eles nada disto haveria se

    tornado realidade.

    Aos nosso familiares, pelo carinho, compreensão de nossa ausência e total

    apoio ao longo da nossa jornada acadêmica. Agradecemos ao nossos amigos e cole-

    gas que estiveram conosco durante toda a graduação compartilhando as experiências

    e dificuldades, e sempre fortalecendo um ao outro.

    Igor Stacheski agradece em especial a Letícia Smaniotto, pelo incondicional

    apoio, amor altruísta e enorme complacência nos meses que envolveram o período de

    sua graduação.

    A nossa orientadora Profa¯ . Dra. Marcella Scoczynski Ribeiro Martins, que nos

    mostrou os caminhos a serem seguidos e principalmente pela confiança em nós de-

    positada.

    Aos professores da UTFPR de Curitiba, Dr. Rodrigo Minetto, Dr. Bogdan T.

    Nassu e Me. Diogo C. Luvizon que disponibilizaram a base de dados utilizada neste

    trabalho.

    Enfim, a todos que de algum modo contribuíram para a realização deste tra-

    balho.

  • RESUMO

    STACHESKI, Igor Carneiro; BROCH JUNIOR, Oscar. Detecção e estimativa de ve-locidade veicular através de processamento de imagem. 2018. 56 f. Trabalho deConclusão de Curso (Bacharelado em Engenharia Elétrica) – Universidade Tecnoló-gica Federal do Paraná. Ponta Grossa, 2018.

    Técnicas de processamento de imagem estão cada vez mais presentes no monitora-mento de tráfego de veículos. Este trabalho propõe um projeto inicial de um medidorde velocidade veicular utilizando uma câmera fixa e um computador. Inicialmente, fo-ram apresentados as teorias para a formação das imagens e suas propriedades queserão relevantes para o desenvolvimento do presente trabalho. Para a elaboração doalgoritmo, foram utilizadas diversas técnicas de processamento de imagem, como asubtração de fundo, operações morfológicas, equalização de contraste e transforma-ção de perspectiva com o objetivo de aumentar as chances de sucesso no rastrea-mento do veículo e realizado o cálculo da velocidade estimada. Os resultados foramcomparados com valores de referências obtidos através de medidores indutivos tradi-cionais com o intuito de validar o método desenvolvido. A taxa de detecção de veículosficou próximo a 95% e a média dos erros da velocidade em ± 2,265 km/h.

    Palavras-chave: Medição de Velocidade. Processamento de Imagem. Visão Compu-tacional. Detecção de Veículos.

  • ABSTRACT

    STACHESKI, Igor Carneiro; BROCH JUNIOR, Oscar. Detection and vehicle speedestimation using image processing. 2018. 56 p. Final Coursework (Bachelor’s De-gree in Electrical Engineering) – Federal University of Technology – Paraná. PontaGrossa, 2018.

    Image processing techniques are increasingly present in vehicle traffic monitoring. Thisfinal paper proposes an initial design of a vehicle speed meter using only a fixed ca-mera and a computer. Firstly, it was introduced the images forming process and imagesproperties that wil be relevant to this final papers. For the algorithm criation, it was useddiverses images process techniques, such as background subtraction, morphologicaloperation, contrast equalization and perspective transformation with the objective toincrease the vehicle tracking chance and the speed calculation. The obtained resultswas compared with reference values of inductive traditional meters in order to validatethe method. The vehicle detection rate is around 95 % and the average speed error is± 2,265 km/h.

    Keywords: Speed Measurement. Image Processing. Computer Vision. Vehicle Detec-tion.

  • LISTA DE ILUSTRAÇÕES

    Figura 1 – Esquema de instalação dos laços indutivos nas vias públicas. . . . . 18Figura 2 – Exemplo de um automóvel se aproximando do radar de efeito Doppler. 20Figura 3 – Exemplo de um automóvel se afastando do radar de efeito Doppler. 20Figura 4 – Etapas de um sistema de processamento de imagem. . . . . . . . . 22Figura 5 – Diferença na qualidade de representação de círculo utilizando uma

    matriz de 12x12 pixels e outra de 48x48 pixels. . . . . . . . . . . . . 24Figura 6 – Espectro eletromagnético com ênfase na luz visível. . . . . . . . . . 26Figura 7 – Modelo RGB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Figura 8 – Modelo HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 9 – Exemplo de ruído captado pelas câmeras. . . . . . . . . . . . . . . . 29Figura 10 – Fluxograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 11 – Resultado da definição da região de interesse. . . . . . . . . . . . . 32Figura 12 – Diferença entre imagem em escala de cinza e com o ajuste de con-

    traste aplicado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Figura 13 – Exemplo das escolhas dos pontos para a Faixa 1. . . . . . . . . . . 35Figura 14 – Resultado da alteração de perspectiva de cada faixa. . . . . . . . . 35Figura 15 – Resultado das operações morfológicas. . . . . . . . . . . . . . . . . 38Figura 16 – Relação entre os componentes detectados (b) e relação entre as

    bordas detectadas (c). . . . . . . . . . . . . . . . . . . . . . . . . . . 39Figura 17 – Resultado obtido com a sequência de pontos do contorno. . . . . . 40Figura 18 – Diferença entre um polígono convexo e não convexo. . . . . . . . . 40Figura 19 – Resultado obtido com a sequência de pontos da envoltória complexa. 42Figura 20 – Resultado obtido com a sequência de pontos da envoltória complexa. 43Figura 21 – Origem da variáveis da Equação 9. . . . . . . . . . . . . . . . . . . . 44Figura 22 – Velocidades calculadas durante a passagem na área de medição. . 45Gráfico 1 – Histograma da imagem em escala de cinza. . . . . . . . . . . . . . 33Gráfico 2 – Histograma com o ajuste de contraste. . . . . . . . . . . . . . . . . 33Gráfico 3 – Resultado obtido na Faixa 1. . . . . . . . . . . . . . . . . . . . . . . 48Gráfico 4 – Resultado obtido na Faixa 2. . . . . . . . . . . . . . . . . . . . . . . 48Gráfico 5 – Resultado obtido na Faixa 3. . . . . . . . . . . . . . . . . . . . . . . 49Gráfico 6 – Resultado total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

  • LISTA DE TABELAS

    Tabela 1 – Resultados finais obtidos em um resolução de 720p. . . . . . . . . . 46Tabela 2 – Resultados em diferentes resoluções. . . . . . . . . . . . . . . . . . 51

  • LISTA DE ABREVIATURAS, SIGLAS E ACRÔNIMOS

    SIGLAS

    AHE Adaptative Histogram Equalization

    BGS Background Subtractor

    CLAHE Contrast Limited Adaptive Histogram Equalization

    OMS Organização Mundial da Saúde

    ACRÔNIMOS

    INMETRO Instituto Nacional de Metrologia, Qualidade e Tecnologia

    LiDAR Light Detection And Ranging

    OpenCV Open Source Computer Vision library

    RADAR Radio Detection And Ranging

    ROI Region of interest

  • LISTA DE SÍMBOLOS

    LETRAS LATINAS

    𝐵 Valor do byte referente à cor azul𝐶 Tamanho do pixel [m]𝑑 Distância percorrida [pixels]𝐹 Quantidade de quadros𝐺 Valor do byte referente à cor verde𝑅 Valor do byte referente à cor vermelha𝑠 Distância [m]𝑡 Tempo [s]𝑉 Velocidade do carro [m/s]𝑉𝑒 Velocidade final estimada [km/h]

  • SUMÁRIO

    1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.1 DELIMITAÇÃO DO TEMA . . . . . . . . . . . . . . . . . . . . . . . 141.2 OBJETIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4 VISÃO GERAL DO TRABALHO . . . . . . . . . . . . . . . . . . . . 162 REVISÃO DA LITERATURA . . . . . . . . . . . . . . . . . . . . . . . 172.1 MEDIDORES DE VELOCIDADE . . . . . . . . . . . . . . . . . . . 172.1.1 Laços Indutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.1.1 Desvantagens do método intrusivo - Laços indutivos . . . . . . . . . 192.1.2 Medidor de velocidade baseados em tecnologia Laser e Doppler . . 192.1.2.1 Baseados em Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.3 Vantagens do método não-intrusivo - Laser e Doppler . . . . . . . . 212.2 PROCESSAMENTO DE IMAGEM E VISÃO COMPUTACIONAL 212.2.1 Processamento de Imagem . . . . . . . . . . . . . . . . . . . . . . . 222.2.2 Modelos de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.3 Fundamentos de cor . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.4 Modelos de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.4.1 Modelo RGB (Red, Green, Blue) . . . . . . . . . . . . . . . . . . . . . 262.2.4.2 Modelo HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.5 Ruídos em Imagens Digitais . . . . . . . . . . . . . . . . . . . . . . . 283 MATERIAL E MÉTODOS . . . . . . . . . . . . . . . . . . . . . . . . . 303.1 TRANSFORMAÇÃO EM ESCALA DE CINZA . . . . . . . . . . . . 313.2 REGIÃO DE INTERESSE . . . . . . . . . . . . . . . . . . . . . . . 313.3 EQUALIZAÇÃO DE CONTRASTE . . . . . . . . . . . . . . . . . . 323.4 TRANSFORMAÇÃO DE PERSPECTIVA . . . . . . . . . . . . . . 343.5 SUPRESSÃO DE FUNDO . . . . . . . . . . . . . . . . . . . . . . . 353.6 OPERAÇÕES MORFOLÓGICAS . . . . . . . . . . . . . . . . . . . 373.6.1 Erosão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.6.2 Dilatação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.7 DETECÇÃO DE CONTORNOS . . . . . . . . . . . . . . . . . . . . 383.8 ENVOLTÓRIA CONVEXA . . . . . . . . . . . . . . . . . . . . . . . 403.9 RASTREAMENTO DOS VEÍCULOS . . . . . . . . . . . . . . . . . 423.10 CÁLCULO DA VELOCIDADE . . . . . . . . . . . . . . . . . . . . . 434 RESULTADOS E DISCUSSÃO . . . . . . . . . . . . . . . . . . . . . 464.1 ANÁLISE DE DESEMPENHO . . . . . . . . . . . . . . . . . . . . . 505 CONCLUSÕES E PERSPECTIVAS . . . . . . . . . . . . . . . . . . . 525.1 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . 53

    REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

  • 13

    1 INTRODUÇÃO

    Com o crescimento constante das pequenas e grandes cidades gerado princi-

    palmente pelo desenvolvimento econômico, uma maior parte da população foi capaz

    de conquistar um veículo próprio, portanto é natural o aumento do fluxo veicular nas

    estradas e vias dentro das cidades. Em virtude dessa expansão, métodos de controle

    de tráfego e velocidades são cada vez mais requisitados, possibilitando uma melhor

    análise das vias em geral. Esse aumento natural do número de automóveis proporci-

    ona um aumento significativo nos acidentes causados por alta velocidade. Segundo a

    Organização Mundial da Saúde (OMS), o número de mortes causadas por acidentes

    veiculares em 2016 foi de 1,2 milhões, sendo 90% desses acidentes em países de

    baixa ou média renda apesar de possuírem apenas metade dos veículos do mundo

    (WHO, 2017).

    Ainda sobre os acidentes automotivos, a OMS estima que um aumento de 1

    km/h na velocidade média veicular resulta num acréscimo de 4% a 5% na chance da

    geração de um acidente fatal e de que 40% a 50% dos motoristas trafegam acima

    da velocidade permitida pelas vias (WHO, 2017). Esse é um dado importante para a

    conscientização da importância de uma medição e controle da velocidade nas cidades

    e nas rodovias, onde além do controle e da melhoria no fluxo veicular, o controle de

    velocidade também pode reduzir muito a chance de um acidente fatal.

    Com esse cenário, surge uma grande necessidade de aprimoramento do con-

    trole de tráfego. Para controle de velocidade na vias, o dispositivo mais difundido

    trata-se do sensores magnéticos, no entanto, esses instrumentos são capazes ape-

    nas de realizar a contagem, medição de velocidade e identificar algumas infrações

    como avanço de semáforo e parada sobre a faixa de pedestre.

    O aumento do poder de processamento e o desenvolvimento de algoritmos

    para processamento de imagens digitais, possibilita uma recente solução para o con-

    trole de tráfego através de câmeras de monitoramento. Esse tipo de solução é bem

    mais simplificado em termos de instalação, o que gera um baixo custo em seu inves-

    timento e manutenção se comparado aos medidores de laço indutivo (ALEXANDRE,

    1997). Além disso, através desse novo sistema, pode-se realizar todas as funções

    que um sistema de medição por laço indutivo já faz. Contudo, a utilização de processa-

  • 14

    mento de imagem e visão computacional ainda abre a possibilidade de aprimoramento

    dos algoritmos e adição de novas funções ao longo dos anos, sem a necessidade, na

    maioria dos casos, de troca de equipamentos.

    Segundo Barcellos (2014), “visão computacional é o processo de utilizar um

    computador para extrair informações de alto nível de uma imagem digital”. Dessa

    forma, uma câmera capta as imagens em forma de vídeo e os algoritmos de visão

    computacional realizam o processo de extração de informação necessária, fazendo o

    processamento de cada quadro do vídeo (frame), aplicando métodos e abordagens

    matemáticas para realizar a detecção, o rastreamento1 (tracking) e a classificação do

    veículos.

    Ainda assim, existem desvantagens quando se trata da utilização de câme-

    ras de monitoramento. Muitas, estão sujeitas à vibrações devido ao vento e passa-

    gem de veículos pesados (BARCELLOS, 2014). Além disso, um dos pontos chaves

    para implementação desse sistema é a posição da câmera, pois dependendo do ân-

    gulo da imagem captada, pode ocorrer oclusões na presença de veículos grandes. E

    quando são utilizadas câmeras de vigilância que já estavam previamente instaladas e

    a posição não foi escolhida objetivando o uso de visão computacional, aumenta-se a

    complexidade dos métodos e algoritmos a serem utilizados, a fim de contornar essa

    questão dos ângulos, iluminações, oclusões, etc.

    1.1 DELIMITAÇÃO DO TEMA

    Entre as diversas técnicas existentes, escolheu-se como base do trabalho a

    técnica de supressão de fundos, pois este método tem como resultado a formação

    de uma imagem binária. Esse tipo de imagem possibilita realizar diversas operações

    e transformações de forma simplificada se comparado com imagens coloridas ou em

    escala de cinza.1 Rastreamento em processamento de vídeo é processo de acompanhar a posição do objeto em

    movimento durante a passagem dos frames.

  • 15

    1.2 OBJETIVO

    1.2.1 Objetivos Gerais

    Desenvolver uma nova proposta de medição de velocidade para veículos,

    utilizando-se de processamento de imagens e visão computacional.

    1.2.2 Objetivos Específicos

    Constituem-se objetivos deste trabalho:

    • Revisar a literatura e estado da arte.

    • Desenvolver um algoritmo que consiga identificar um veículo, em seguida realizar

    o tracking do mesmo, e posteriormente realize uma estimativa de sua velocidade.

    • Analisar as velocidades obtidas com o método proposto e compará-las com um

    sistema tradicional de medição de velocidade veicular, a fim de validar o método

    apresentado neste trabalho.

    1.3 JUSTIFICATIVA

    Os medidores de velocidade tradicionais (sensores indutivos) apresentam di-

    versos tipos de dificuldade em sua instalação e manutenção. Problemas como interfe-

    rências magnéticas, deterioração do pavimento, dificuldade no ajuste de sensibilidade

    dos laços indutivos, possibilidade de burlar o sistema, entre outros. Porém, muitos des-

    ses inconvenientes poderiam ser evitados, por meio de um sistema mais simplificado,

    utilizando-se de apenas uma câmera de vídeo e aplicando técnicas de processamento

    de imagem e visão computacional.

    A estrutura de instalação, na maioria dos casos, já está feita, uma vez que

    os medidores tradicionais já possuem uma câmera para fazer o reconhecimento das

    placas dos veículos. Além disso, outra vantagem desse sistema é a possibilidade de

    aprimoramento nos algoritmos, permitindo não apenas identificar veículos, mas tam-

    bém realizar o reconhecimento dos mesmos a fim de classificá-los em tipos, modelos,

    marcas, etc. Tudo que possa ser relevante para ajudar na tomada de decisão do con-

    trole do fluxo de tráfego de veículos.

  • 16

    1.4 VISÃO GERAL DO TRABALHO

    No presente trabalho, será realizado um algoritmo para detecção e medição

    de velocidade veicular. O Capítulo 2 apresenta uma breve discussão dos métodos de

    medição de velocidade tradicionais, explicando os mesmos com o seu funcionamento

    e as devidas vantagens e desvantagens. Posteriormente, será abordado o processa-

    mento de imagens e visão computacional, demonstrando estudos com os tópicos re-

    levantes ao trabalho estudado desde a formação da imagem, fundamentos e modelos

    de cores.

    No Capítulo 3 serão abordados os temas relevantes para o desenvolvimento

    do algoritmo, com os estudos teóricos que suportam a elaboração do código em cada

    um dos tópicos necessários para o seu bom funcionamento.

    No Capítulo 4 serão demonstrados os resultados obtidos após o uso do algo-

    ritmo em um estudo de caso, apresentando os pontos positivos e negativos do código

    no caso real, os comparativos com métodos tradicionais já existentes e verificando se

    os valores produzidos estão dentro dos erros mínimos necessários para a sua valida-

    ção.

  • 17

    2 REVISÃO DA LITERATURA

    Neste capítulo são apresentados fundamentos essenciais para o desenvolvi-

    mento deste trabalho que envolve processamento de imagem e visão computacional

    aplicados para medição de velocidade veicular. Inicialmente será discutido o princí-

    pio básico de funcionamento dos medidores de velocidades atuais e em seguida será

    abordado os conceitos relevantes de processamento de imagem e visão computacio-

    nal relacionados ao problema em questão.

    2.1 MEDIDORES DE VELOCIDADE

    As maneiras utilizadas para medir a velocidade dos veículos, se baseiam em

    três métodos que são regulamentados pela Portaria Instituto Nacional de Metrologia,

    Qualidade e Tecnologia (INMETRO) no 544, de 12 de dezembro de 2014.

    Nessa portaria define-se como:

    • Medidor de velocidade de sensores de superfície: instrumento cujo elemento

    sensor encontra-se instalado sob ou sobre a superfície da via, propiciando a me-

    diação da velocidade através da mudança das propriedades físicas deste sensor

    quando da passagem de um veículo.

    • Medidor de velocidade óptico: instrumento que utiliza feixe de luz na região vi-

    sível ou infravermelho do espectro eletromagnético, propiciando a medição de

    velocidade através do processamentos de energia refletida no veículo alvo ou

    pela interrupção dos feixes provocados pela passagem de um veículo.

    • Radio Detection And Ranging (RADAR): instrumento que transmite e recebe on-

    das contínuas na faixa de micro-ondas, propiciando a medição da velocidade do

    veículo alvo através do efeito Doppler.

    2.1.1 Laços Indutivos

    Este é método mais comum para realizar a detecção de veículos e medição de

    velocidade. Conforme o tipo de aplicação é instalado um arranjo de dois ou mais laços

  • 18

    indutivos na via por onde passam os veículos. Esses laços indutivos, são bobinas, que

    serão submetidas à um sinal oscilatório, com uma frequência conhecida. A Figura 1

    demonstra de forma simplificada como é feito o posicionamento dos laços indutivos

    em uma via pública.

    Figura 1 – Esquema de instalação dos laços indutivos nasvias públicas.

    Laço 2

    Laço 1

    Laço 4

    Laço 3

    Δs

    Fonte: Autoria Própria.

    Quando a corrente elétrica imposta pelo circuito oscilador atravessa o fio da

    bobina, cria-se em torno dos fios um campo magnético. Esse campo terá sua forma

    alterada quando ocorrer a passagem do veículo em cima do laço indutivo, pois os au-

    tomóveis possuem uma grande massa metálica, principalmente na dianteira devido ao

    motor. Essa alteração no campo magnético irá refletir uma mudança na frequência de

    oscilação da bobinas. Então utiliza-se microcontroladores para realizar a identificação

    dessa variação de frequência e quando detectada, gera-se um pulso indicando que o

    veículo está em cima do laço. Como o sistema possui dois laços ou mais, obtêm-se um

    sequência de pulsos com intervalos de tempo bem definidos (CHEUNG et al., 2005).

    Portanto, conhecendo o tempo que o veículo demorou para percorrer a distância entre

    os laços é possível determinar a velocidade do carro pela Equação (1):

    𝑉 =∆𝑠

    ∆𝑡(1)

    Onde:

    • ∆𝑠 : distância entre os laços indutivos.

    • ∆𝑡 : tempo entre os pulsos de detecção de veículo sobre o laço indutivo.

  • 19

    2.1.1.1 Desvantagens do método intrusivo - Laços indutivos

    • Sistema fixo: pois é necessário embutir os sensores no pavimento.

    • Dificuldade de instalação: precisa-se interditar a via para refazer a pavimentação

    para que os laços indutivos sejam instalados abaixo dela.

    • Dificuldade de manutenção: Se o órgão público necessitar recapear o asfalto, ou

    até mesmo precisar fazer a instalação/manutenção de canos de esgotos, terá

    que ser feito a reinstalação dos sensores.

    • Possibilidade de não detecção de veículos leves: uma motocicleta pequena, de-

    vido a sua massa metálica menor, causa pouca mudança de frequência, aproxi-

    madamente 1% a 2% em relação à um automóvel padrão. Assim como, veículos

    que possuem seu assoalho elevado em relação a superfície da estrada, podem

    também não serem detectados pelos laços.

    2.1.2 Medidor de velocidade baseados em tecnologia Laser e Doppler

    O efeito Doppler baseia-se em uma característica encontrada nas ondas ele-

    tromagnéticas quando estão sendo refletidas ou emitidas por um objeto que está se

    deslocando em relação ao observador (MAIA; FARIAS, 2007).

    O funcionamento deste tipo de radar ocorre da seguinte maneira, o aparelho

    emite uma onda eletromagnética de frequência conhecida (𝑓 ′) contínua e constante

    na direção do veículo a ser analisado. Se esse veículo estiver se movimentando em

    direção à fonte, o receptor do radar identifica uma aumento na frequência (𝑓 ′′). A

    Figura 2 ilustra esse caso.

  • 20

    Figura 2 – Exemplo de um automóvel se aproximando doradar de efeito Doppler.

    Ondas com frequência f' emitidas pelo radar

    V

    Ondas com frequência f'' recebidas pelo radar

    V

    #

    Fonte: Autoria Própria.

    Na outra situação, ou seja, o automóvel esteja se afastando do radar, haverá

    uma diminuição do valor recebido f” se comparado com o valor emitido f’, como a

    Figura 3 demonstra abaixo.

    Figura 3 – Exemplo de um automóvel se afastando do ra-dar de efeito Doppler.

    Ondas com frequência f' emitidas pelo radar

    V

    Ondas com frequência f'' recebidas pelo radar

    V

    Fonte: Autoria Própria.

    Portanto a diferença entre as frequências emitidas (𝑓 ′) e refletidas (𝑓 ′′) serão

  • 21

    traduzidas pela unidade de processamento como um valor de velocidade.

    2.1.2.1 Baseados em Laser

    O funcionamento deste método é semelhante ao de efeito Doppler. Emprega-

    se a técnica do Light Detection And Ranging (LiDAR), utiliza-se a emissão de pulsos

    de luz por um laser sob uma predeterminada taxa de frequência (BASTOS; FILHO,

    2012). Uma pistola LiDAR emite pulsos feixes concentrados de luz invisível ao espec-

    tro do olho humano, na direção do veículo alvo e então a velocidade do automóvel é

    calculada observando o tempo de retorno desse feixe ao sensor. Então converte-se o

    tempo decorrido em distância.

    2.1.3 Vantagens do método não-intrusivo - Laser e Doppler

    As vantagens deste sistema são:

    • Mínima necessidade de interrupção do tráfego durante sua instalação.

    • Facilidade de manutenção e reparo.

    • Maior durabilidade.

    • Baixa suscetibilidade aos fatores ambientais que, reduzem a vida útil dos sen-

    sores intrusivos. Fatores como, temperatura, infiltrações, deterioração do pavi-

    mento, etc.

    • Possibilidade de mudança do local de operação.

    2.2 PROCESSAMENTO DE IMAGEM E VISÃO COMPUTACIONAL

    A visão computacional, assim como o processamento de imagem, recebem

    como entrada (input) um dado visual. O processamento de imagem é considerado

    uma etapa de baixo nível, onde o objetivo é melhorar a imagem para que aumente

    a chance de sucesso na interpretação desse dado, onde a etapa de interpretação

    já passa a ser considerada de alto nível. Na visão computacional, busca-se entregar

    como saída informações de caráter quantitativo e qualitativo de um dado visual ana-

  • 22

    lisado. Geralmente, essa tem como objetivo se assemelhar a visão humana, ou seja,

    sendo capaz de reconhecer padrões, distinguir objetos, classificá-los, ordená-los, etc.

    2.2.1 Processamento de Imagem

    Em conformidade com Pedrini e Schwartz (2008), um sistema de processa-

    mento digital de imagens é formado por um conjunto de etapas, que são ilustradas na

    Figura 4, capazes de produzir um resultado a partir do domínio do problema.

    Figura 4 – Etapas de um sistema de processamento deimagem.

    Aquisição

    Pré-processamento

    Segmentação

    Representaçãoe

    Descrição

    Reconhecimentoe

    Interpretação

    Base

    de

    Conhecimento

    Domínio do Problema

    Resultado

    Fonte: Adaptado de (PEDRINI; SCHWARTZ, 2008).

    Na etapa de aquisição é feita a captura da imagem por meio de sensores, que

    converte-a em uma representação digital do sinal produzido pelo sensor óptico. Alguns

    dos sensores mais utilizado são as câmeras de vídeos, tomógrafos médicos, satélites

    e scanners. Essa etapa deve ser realizada com máxima atenção aos detalhes, como

  • 23

    escolha do tipo de sensor, condições de iluminação, resolução da imagem, etc. Pois

    com uma boa captura, evita-se grandes esforços na etapa de pré-processamento.

    A imagem capturada pode, na maioria dos casos, apresentar imperfeições,

    então a etapa de pré-processamento visa aprimorar a qualidade da imagem com o

    objetivo de aumentar as chances para o sucesso dos processos seguintes (GON-

    ZALEZ; WOODS, 2000). Esse aperfeiçoamento geralmente ocorre mediante a apli-

    cação de técnicas para atenuação de ruído, correção de contraste ou brilho, isola-

    mento de regiões e suavização de determinadas propriedades da imagem (PEDRINI;

    SCHWARTZ, 2008).

    A próxima etapa trata-se da segmentação. Nela, executa-se a extração e

    identificação de áreas de interesse na imagem. Essa etapa baseia-se, em geral, em

    detectar descontinuidades (bordas) ou similaridades (regiões) na imagem (PEDRINI;

    SCHWARTZ, 2008). O resultado da saída do estágio de segmentação é formada tipi-

    camente por dados em forma de pixel (raw pixel data) (GONZALEZ; WOODS, 2000).

    A seleção de uma representação é apenas parte da solução para transformar

    dados iniciais numa forma apropriada para o subsequente processamento computaci-

    onal. Nessa etapa utiliza-se estruturas de representação para armazenar e manipular

    os objetos de interesse extraído da imagem, de forma que essas características de

    interesse sejam enfatizadas. No processo de descrição, também chamado de seleção

    de características, visa à extração de características ou propriedades que possam ser

    aproveitadas na discriminação entre classes e objetos (GONZALEZ; WOODS, 2000).

    Na etapa de reconhecimento acontece a atribuição dos identificadores (clas-

    ses) aos objetos da imagem, baseado nas características providas pelos seus descri-

    tores. O processo de interpretação tem como objetivo atribuir um significado ao con-

    junto de objetos reconhecidos anteriormente. Por exemplo, a interpretação de uma

    imagem contendo células sanguíneas, poderia ser o diagnóstico de anemia devido a

    quantidade de células na amostra.

    Segundo Pedrini e Schwartz (2008), a base de conhecimento, é dependente

    da aplicação, cujo tamanho e complexidade podem variar significativamente. Além de

    guiar a operação de cada módulo de processamento, a base de conhecimento também

    controla a interação entre os módulos.

  • 24

    2.2.2 Modelos de Imagens

    De acordo com Gonzalez e Woods (2000), uma imagem digital é uma imagem

    𝑓(𝑥,𝑦) discretizada tanto em coordenadas espaciais quanto em brilho. Uma imagem

    pode ser classificada como sendo uma matriz cujo índices de linhas e de colunas

    identificam um ponto na imagem. Além dessa posição, uma imagem digital possui um

    ou mais valores associados à essa mesma posição da matriz que identificam a cor

    naquele ponto 𝑓(𝑥,𝑦). Os elementos dessa matriz, recebem o nome de pixel.

    Em processamento de imagem considera-se o ponto de origem do sistema

    como sendo o ponto superior esquerdo da imagem. Portanto, valores do eixo 𝑥 au-

    mentam no sentido da esquerda para direita e valores de 𝑦 aumentam no sentido de

    cima para baixo.

    Figura 5 – Diferença na qualidade de representação decírculo utilizando uma matriz de 12x12 pixelse outra de 48x48 pixels.

    12x12 48x48

    BaixaDensidade

    MédiaDensidade

    Fonte: Autoria Própria.

    A intensidade de uma cena pode ser modelada fisicamente em termos do

    produto de dois componentes. A iluminância refere-se a quantidade de luz incidente na

    cena, e a reflectância, que indica a quantidade de luz refletida pelos objetos presentes

    na cena. Sendo assim a função 𝑓(𝑥,𝑦) pode ser definida como:

    𝑓(𝑥,𝑦) = 𝑖(𝑥,𝑦) · 𝑟(𝑥,𝑦) (2)

    Para:

    0 < 𝑖(𝑥,𝑦) < ∞ 𝑒 0 < 𝑟(𝑥,𝑦) < 1

  • 25

    Onde:

    • 𝑖(𝑥,𝑦) é a função que representa a iluminância e é medido em lúmen/m² ou lux.

    • 𝑟(𝑥,𝑦) representa a reflectância e é medida em valores percentuais entre 0 e 1.

    2.2.3 Fundamentos de cor

    O método de percepção de cores através de processos psicofisiológicos do

    cérebro humano, apesar de ainda não ser completamente compreendido, possui um

    longos e bem fundamentados estudos dos princípios físicos da cor por meio de diver-

    sos resultados teóricos e experimentais.

    A cor é gerada através de uma manifestação da percepção da luz, onde o raio

    luminoso é formado de partículas, os fótons, onde sua frequência e velocidade são

    decisivos para o comprimento de onda dos fótons.

    Nos processos de geração das cores, dois modos importante podem ser ci-

    tados: o processo aditivo e o subtrativo. Durante o aditivo, as energias dos fótons

    envolvidos na formação da cor são somados, enquanto no subtrativo a luz é oriunda

    de materiais em que a energia luminosa incidente é absorvida e parte é transmitida

    (PEDRINI; SCHWARTZ, 2008).

    Outra informação importante sobre a percepção das cores no cérebro humano

    é em relação aos comprimentos de ondas, onde esses estão estritamente relacio-

    nados às diversas cores percebidas. Para a descoberta, Isaac Newton (1642-1727)

    percebeu que um feixe de luz branca, após atravessar um prisma, era separado em

    espectros variando do violeta ao vermelho. Esse intervalo de espectros ficou conhe-

    cido como o “espectro de luz visível”, como pode ser observado na Figura 6.

    2.2.4 Modelos de Cores

    Os modelos de cores possibilitam a determinação de cores em formatos pa-

    dronizados para que diferentes tipos de dispositivos sejam capaz de manipular di-

    versas cores. Os modelos de cores são fundamentalmente uma representação tridi-

    mensional onde cada cor pode ser estabelecida por um ponto no sistema (PEDRINI;

    SCHWARTZ, 2008).

  • 26

    Figura 6 – Espectro eletromagnético com ênfase na luz vi-sível.

    Rádio MicroondasInfra

    vermelhoUltravioleta

    Raios X Raios Gama

    Faixa Visível

    Vermelho Laranja Amarelo Verde Azul Violeta

    Freq.(Hertz)

    10⁴ 10⁶ 10⁸ 10¹⁰ 10¹² 10¹⁴ 10¹⁶ 10¹⁸ 10²⁰ 10²⁴

    770 622 597 577 492 455 390Comprimento de Onda (μm)

    Fonte: Adaptado de (PEDRINI; SCHWARTZ, 2008)

    Pelo fato de um modelo de cor não poder reproduzir todos as diversas cores,

    diferentes modelos foram criados para determinar as diferentes características das

    cores. Esse modelos podem ser divididos entre aditivos e subtrativos.

    Nos modelos aditivos, as cores são formadas pela combinação de diversas

    outras, onde a cor branca é gerada pela soma das cores primárias, definidas como

    vermelho, verde e azul, e a cor preta pela ausência da transmissão de luz.

    Já nos modelos subtrativos, a combinação das cores primárias ciano, ma-

    genta e amarelo formam a cor preta, onde a geração da cor branca é a ausência das

    mesmas.

    2.2.4.1 Modelo RGB (Red, Green, Blue)

    O modelo de cores RGB é um modelo aditivo fundamentado em um sistema

    cartesiano, onde o espaço de cores é baseado na forma geométrica de um cubo. As

    vértices desse cubo são formadas pelas cores primárias vermelha (R, red), verde (G,

    green) e azul (B, blue), as vértices posteriores são compostas das cores primárias

    complementares ciano, magenta e amarelo. A escala de cinza pode ser determinada

    por uma diagonal saindo da origem, onde o ponto mais próximo a origem tem a cor

    preta e a mais distante gera a cor branca. A escala de cinza será melhor discutida na

    seção 3.1 deste trabalho.

    O modelo RGB é mostrado pela Figura 7 a seguir:

  • 27

    Figura 7 – Modelo RGB.

    AmareloVermelho

    Magenta

    Preto

    (1,0,0)

    (0,1,0)

    Verde

    Branco

    Ciano(0,0,1)

    Escala deCinzas

    B

    G

    R

    Azul

    Fonte: Adaptado de (PEDRINI; SCHWARTZ, 2008)

    2.2.4.2 Modelo HSV

    Esse modelo de cores tem seus parâmetros definidos pela matiz (H, hue),

    saturação (S, saturation) e luminância (V, value).

    • Matiz (H) é a componente que seleciona a cor, uma vez que, é controlada pela

    posição angular de uma reta que percorre de forma circular o plano perpendicu-

    lar ao eixo V (Figura 8).

    • Saturação (S) é a componente que define a pureza da cor representada pela

    matiz, ou seja, é uma valor percentual (0 a 1). Uma cor considerada pura não

    pode conter a cor preta nem a branca.

    • Luminância (V) determina o brilho da cor definida pela combinação das outras

    duas componentes (H e S).

    Esse modelo possui sua representação tridimensional gráfica através uma pi-

    râmide hexagonal como pode ser visto na Figura 8 a seguir:

  • 28

    Figura 8 – Modelo HSV.

    Vermelho

    MagentaAzul

    Branco1,0

    P

    0,0Preto

    HS

    Ciano

    Verde120°

    AmareloV

    240°

    Fonte: Adaptado de (PEDRINI; SCHWARTZ, 2008)

    Os valores de matizes variam na parte superior da pirâmide, com sua satura-

    ção sendo medida ao longo do eixo horizontal e a sua luminância através do eixo ver-

    tical. Novamente, cada uma das vértices base possui cada uma das cores primárias

    e das primárias complementares, variando com um ângulo de 60° entre si (PEDRINI;

    SCHWARTZ, 2008).

    2.2.5 Ruídos em Imagens Digitais

    Os ruídos em imagens podem ser definidas como efeitos randômicos indese-

    jados, normalmente ocasionado por diversos fatores como tipo de câmeras ou lentes,

    temperatura, intensidade de luz ou movimentos. O resultado de ruídos é, por exemplo,

    em uma situação onde os pixels possuem o mesmo nível de cinza em uma imagem

    real (plano real) e após a captação da imagem pela câmera dificilmente possuirá o

    mesmo nível que representa esses mesmos pixels (PARKER, 2010), a Figura 9 exem-

    plifica esse caso.

  • 29

    Figura 9 – Exemplo de ruído captado pelas câmeras.

    100 100 100

    100 100 100

    100 100 100

    100 95 96

    98 94 100

    101 103 99

    0 -5 -4

    -2 -6 0

    +1 +3 -1

    No plano realCapturado

    pela câmera Ruído (erro)

    Fonte: Autoria Própria.

    As espécies de ruídos mais frequente de serem modelados são os ruídos

    impulsivos, Gaussiano, uniforme, Erlang, exponencial, Rayleigh e Poisson. O modela-

    mento de cada um dos tipos de ruídos considera o mesmo uma variável aleatória onde

    a função que o descreve é representada por uma função densidade de probabilidade

    (PEDRINI; SCHWARTZ, 2008).

    Para a supressão de ruídos algumas técnicas de filtragens podem ser utiliza-

    das como o uso de filtros lineares, filtros não-lineares e o uso de filtros morfológicos.

    O método de supressão de ruídos utilizado no presente trabalho pode ser visto com

    mais detalhes na seção 3.6.

  • 30

    3 MATERIAL E MÉTODOS

    Neste capítulo será apresentado a metodologia necessária para o desenvolvi-

    mento do corrente trabalho, a partir do elaboração do algoritmo de detecção e estima-

    tiva da velocidade veicular.

    O funcionamento do algoritmo é o resultado de uma análise frame a frame do

    vídeo, ou seja, para a cada quadro reproduzido o código realizará todos os procedi-

    mentos descritos, para assim demonstrar o resultado final. Utilizou-se a linguagem de

    programação Python e da biblioteca Open Source Computer Vision library (OpenCV)

    para a implementação do algoritmo proposto.

    OpenCV é uma biblioteca criada pela Intel no ano de 1999, com o intuito de

    ser aplicada para realizar diversos processamentos de imagens e na visão robótica.

    O OpenCV apresenta inúmeras funções implementadas para processamento de ima-

    gens em diversas áreas de estudo, como medicina e de segurança (MUMTAZIMAH,

    2015).

    A escolha pelo uso do OpenCV é dada por promover um ambiente de fácil apli-

    cação na área de estudo estabelecida e por fornecer as principais funções utilizadas

    em processamento de imagem, além de ser uma biblioteca Open Source.

    O fluxograma que descreve a sequência de operações do algoritmo tendo

    como entrada um frame do vídeo pode ser visto na Figura 10:

    Figura 10 – Fluxograma.

    Transformação emescala de cinza

    Região de Interesse

    Ajuste deContraste

    OperaçõesMorfológicas

    Supressãode fundo

    Transformaçãode Perspectiva

    Detecção deContornos Tracking

    Cálculo da Velocidade

    Fonte: Autoria Própria.

    A partir do fluxograma, será descrito detalhadamente cada um dos processos

    realizados pelo código para a obtenção do resultado do atual trabalho.

  • 31

    3.1 TRANSFORMAÇÃO EM ESCALA DE CINZA

    Após a captura de frames do vídeo, este em sua maioria apresenta uma infi-

    nidade de tons coloridos. Por apresentar esta propriedade, os modelos de cores mais

    comuns já citados nesse trabalho que regem as imagens em cores devem ser conver-

    tidas para escalas de cinza. Essa transformação facilita o processamento por tornar

    mais simples a transformação posterior em binária, onde a cor branca possui o valor

    255 e a preta com o valor 0.

    No presente trabalho, foi realizado primeiramente um redimensionamento do

    vídeo a ser trabalhado com o intuito de reduzir o tempo de processamento, reduzindo

    o número de pixels a serem processados. Originalmente, o vídeo possuía uma resolu-

    ção de 1080p (1920 × 1080 pixels), onde essa foi reduzida para a resolução de 720p

    (1280 × 720 pixels).

    Em seguida, realizou-se a transformação do modelo de cor BGR para a escala

    em cinza, onde a diferença dos modelos BGR para RGB é simplesmente a posição

    dos bytes, onde no modelo BGR o primeiro byte por padrão possuirá o valor do azul

    (Blue).

    A conversão utilizada para a obtenção da escala em cinza pode ser encon-

    trada a partir da seguinte equação, onde R,G e B são valores de 8 bits para as cores

    azul (B), verde (G) e vermelho (R) de acordo com a Equação 3 (GüNEŞ; KALKAN;

    DURMUŞ, 2015):

    Valor de cinza do pixel = 0,299 ·𝑅 + 0,587 ·𝐺 + 0,114 ·𝐵 (3)

    3.2 REGIÃO DE INTERESSE

    A região de interesse ou Region of interest (ROI) é por definição a delimitação

    da área em que se busca obter as informações necessárias para o bom funcionamento

    do código, onde as informações desnecessárias ou sem muita relevância devem ser

    suprimidas.

    Para esse trabalho em específico, informações como faixa e movimentação

    de pedestres, calçadas e linhas delimitadoras de pistas foram retiradas para não exer-

  • 32

    cerem processamento desnecessários e nem gerarem erros de detecção durante a

    rotina do algoritmo.

    Para a retirada das informações desnecessárias, foram utilizados polígonos

    em regiões estratégicas, onde essas formas geométricas ocultam os espaços deseja-

    dos e mostram apenas a área de interesse do estudo, como pode-se o comparativo

    na Figura 11:

    Figura 11 – Resultado da definição da região de interesse.

    (a) Imagem em escala de cinza. (b) Região de interesse aplicada.

    Fonte: Autoria Própria.

    3.3 EQUALIZAÇÃO DE CONTRASTE

    A equalização de contraste tem como principal função aperfeiçoar a qualidade

    da imagem obtida, facilitando o alcance de reconhecimento de padrões através da

    visão computacional. Em geral, a definição do aperfeiçoamento do contraste para cada

    aplicação é feita de maneira empírica, onde é comum a utilização de histogramas

    para a análise de contraste em imagens. Dessa maneira é possível ter uma melhor

    visualização do comportamento do nível de cinza a cada quadro, relacionando esse

    com o número de pixels existente na imagem.

    No histograma, a análise é possível pela comparação do número de pixels em

    relação ao nível de cinza, variando este numa escala de 8 bits, gerando 256 valores

    possíveis. Para cada pixel na imagem, o seu valor pode variar de 0, sendo um pixel

    totalmente escuro, e 255, gerando esse com o maior tom de cinza possível.

    Para a aplicação do código foi utilizado a função Equalização de Histograma

    Adaptativo Limitada ao Contraste (ou Contrast Limited Adaptive Histogram Equaliza-

    tion (CLAHE), sigla em inglês). Em termos simples, a CLAHE é uma melhora do mé-

    todo chamado aprimoramento adaptativo de contraste (Adaptative Histogram Equali-

  • 33

    zation (AHE)), onde na CLAHE é possível gerar alterações de valores como fator de

    máximo contraste e altura máxima do histograma pelo usuário (PISANO et al., 1998).

    Essa função necessita de duas variáveis para seu funcionamento quando apli-

    cada: o valor do limiar para a limitação do contraste e o tamanho da matriz, que será

    utilizada para dividir a imagem em retângulos de mesmo tamanho.

    Através dessa função foi possível realizar uma análise empírica dos melho-

    res valores para a geração de resultado satisfatórios, onde o Gráfico 1 e o Gráfico 2

    mostram um exemplo de um quadro do video com o seu histograma original e com o

    ajuste de contraste, respectivamente.

    Gráfico 1 – Histograma da imagem emescala de cinza.

    0 50 100 150 200 250Valor do pixel

    0

    2000

    4000

    6000

    Quan

    tidad

    e de

    pix

    els

    Fonte: Autoria Própria.

    Gráfico 2 – Histograma com o ajuste decontraste.

    0 50 100 150 200 250Valor do pixel

    0

    2000

    4000

    6000Qu

    antid

    ade

    de p

    ixel

    s

    Fonte: Autoria Própria

    Figura 12 – Diferença entre imagem em escala de cinza e com o ajuste decontraste aplicado.

    (a) Imagem em escala de cinza. (b) Imagem com o ajuste de contraste aplicado.

    Fonte: Autoria Própria.

  • 34

    3.4 TRANSFORMAÇÃO DE PERSPECTIVA

    A Transformação de Perspectiva pode ser definida como uma projeção num

    plano homográfico através de um conjunto de pontos obtidos no plano de referência.

    Para a determinação do plano homográfico, é necessário o cálculo da matriz homo-

    gráfica, a partir da função cv2.findHomography(), onde são utilizados pontos do

    plano referência para o cálculo.

    A mudança de plano é dada pela Equação 4:

    𝑠𝑖 ·

    ⎡⎢⎢⎢⎢⎢⎢⎢⎣𝑥′𝑖

    𝑦′𝑖

    1

    ⎤⎥⎥⎥⎥⎥⎥⎥⎦= 𝐻 ·

    ⎡⎢⎢⎢⎢⎢⎢⎢⎣𝑥𝑖

    𝑦𝑖

    1

    ⎤⎥⎥⎥⎥⎥⎥⎥⎦(4)

    Onde:

    • 𝐻: Matriz homográfica

    • 𝑠𝑖: Fator de escala

    • (𝑥′𝑖, 𝑦′𝑖): Ponto no plano homográfico

    • (𝑥𝑖, 𝑦𝑖): Ponto no plano referência

    A utilização da transformação de perspectiva se faz necessária para posterior-

    mente simplificar a modelagem matemática da estimativa da velocidade e por facilitar

    a detecção do veículos. O objetivo dessa transformação é alterar de forma aproximada

    o ponto de vista da câmera, onde no método proposto optou-se por uma vista de cima

    da rua. Esse ângulo garante que por toda a passagem do veículo o tamanho que o

    pixel representa no plano real não se altera.

    Para realizar esse processo escolhe-se quatro pontos das extremidades que

    representam a faixa no quadro original e em seguida define-se a nova posição des-

    ses quatro pontos, onde para facilitar a aplicação da transformada e obter melhores

    resultados, foram separadas cada uma das faixas e aplicada a transformação de pers-

    pectiva separadamente. Dessa forma, os oito pontos por faixa são utilizados como pa-

    râmetro da função cv2.findHomography() que retorna a matriz homográfica (3×3)

    utilizada na transformação de linear da Equação 4.

  • 35

    Figura 13 – Exemplo das escolhas dos pontos para a Faixa 1.

    Fonte: Autoria Própria.

    O resultado da aplicação da transformação pode ser vista na Figura 14:

    Figura 14 – Resultado da alteração de perspectiva de cada faixa.

    (a) Faixa 1. (b) Faixa 2. (c) Faixa 3.

    Fonte: Autoria Própria.

    A partir deste ponto, cada faixa tem sua própria imagem e para cada uma

    delas será feito os procedimentos descritos nas seções a seguir.

    3.5 SUPRESSÃO DE FUNDO

    A utilização das câmeras estáticas para a detecção e avaliação da velocidade

    veicular possibilita uma maior facilidade para a supressão de fundos estáticos nas

  • 36

    imagens obtidas, o que pode ser descrita como Background Subtractor (BGS). Atra-

    vés dessa técnica é possível a retirada de pixels que não se alteram ou que possuem

    pouca variação, onde somente objetos que geram modificações acima da limiar (th-

    reshold) na imagem são detectadas.

    Para o presente trabalho foi utilizado o método de background subtractor ba-

    seado no modelo estatístico Gaussiano. Esse método elucida que as imagens apre-

    sentadas frame a frame demonstram comportamentos bem definidos, podendo dessa

    maneira serem descritos por um modelo estatístico. Quando a sequência de imagens

    apresentam comportamentos que não se encaixam no modelo estatístico, este são

    definidos como um objetos intrusos, fazendo assim parte do foreground, ou seja, é um

    objeto que sofreu alteração de um frame a outro (ZIVKOVIC, 2004).

    Para realizar essa análise, é feita a comparação dos valores do pixel da ima-

    gem de referência (background) e do pixel da imagem subsequente de mesma posi-

    ção.

    𝑝𝑖𝑥𝑒𝑙_𝑣𝑎𝑙𝑢𝑒 = | (𝑥 , 𝑦)1 − (𝑥 , 𝑦)𝑖−1 | (5)

    Onde:

    • (𝑥 , 𝑦)𝑡−1 : Valor do pixel na posição (𝑥 , 𝑦) da imagem de referência. Valores

    entre 0 e 255 devido a imagem estar em escala de cinza.

    • (𝑥 , 𝑦)𝑡 : Valor do pixel na posição (𝑥 , 𝑦) do frame seguinte. (Valores entre 0 e

    255)

    A Equação 5 retorna também um valor entre 0 e 255 e esse valor indica a

    intensidade da mudança do valor do pixel analisado. Sendo que, valores baixos repre-

    sentam poucas mudanças e valores altos representam grandes mudanças. A matriz

    de pixel formada pelos valores da Equação 5 ainda não é uma imagem binária. Para

    realizar a conversão de uma imagem em escala de cinza para uma imagem binária, é

    necessário definir um valor de limiar (threshold) e aplicar a Equação 6.

    𝑏𝑖𝑛𝑎𝑟𝑦_𝑝𝑖𝑥𝑒𝑙 =

    ⎧⎪⎪⎪⎨⎪⎪⎪⎩0 para 𝑝𝑖𝑥𝑒𝑙_𝑣𝑎𝑙𝑢𝑒 < 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑

    255 para 𝑝𝑖𝑥𝑒𝑙_𝑣𝑎𝑙𝑢𝑒 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑

    (6)

  • 37

    3.6 OPERAÇÕES MORFOLÓGICAS

    As operações morfológicas tem sua origem a partir da morfologia matemática,

    criada por Georges Matheron e Jean Serra, onde o seu principal escopo era o estudo

    de estruturas geométricas presente em imagens através de técnicas matemáticas.

    Essa operação tem como ideia principal a retirada de informações relativas a geo-

    metria da imagem através de conjuntos estranhos quando comparado ao chamado

    elemento estruturante (FACON, 2011).

    Os elementos estruturantes, também conhecidos como kernels, podem ser

    definidos como uma imagem binária de prova, de pequeno tamanho se comparado

    a imagem que sofrerá as operações morfológicas, que terá a função de comparação.

    Esse elemento estruturante será posicionado em toda a imagem que se deseja realizar

    a operação, verificando se o elemento está ou não contido. Os kernels podem tomar

    qualquer forma desejada, como pode-se ver no exemplo a seguir:

    𝑟𝑒𝑐𝑡3×3 =

    ⎡⎢⎢⎢⎢⎢⎢⎢⎣1 1 1

    1 1 1

    1 1 1

    ⎤⎥⎥⎥⎥⎥⎥⎥⎦𝑐𝑟𝑜𝑠𝑠3×3 =

    ⎡⎢⎢⎢⎢⎢⎢⎢⎣0 1 0

    1 1 1

    0 1 0

    ⎤⎥⎥⎥⎥⎥⎥⎥⎦𝑣𝑒𝑟𝑡3×3 =

    ⎡⎢⎢⎢⎢⎢⎢⎢⎣0 1 0

    0 1 0

    0 1 0

    ⎤⎥⎥⎥⎥⎥⎥⎥⎦(7)

    Utilizou-se no algoritmo proposto as operações fundamentais das operações

    morfológicas binárias, a erosão e a dilatação. A ordem de aplicação das operações

    foi realizada de maneira que, primeiro fosse utilizado a operação erosão para a reti-

    rada de ruídos da imagem a ser analisada, para que posteriormente fosse aplicado a

    operação dilatação, gerando o ampliamento das informações necessárias.

    3.6.1 Erosão

    Nessa operação, é realizado a comparação do elemento estruturante por toda

    a imagem a ser verificada, onde deverá ser obtido duas informações, o fundo e os

    pixels relevantes. A cada pixel da imagem avaliada, a operação compara o pixel ana-

    lisado com a sua vizinhança. Se o mesmo possuir valor similar aos pixels com set 1

    no elemento estruturante, o mesmo é considerado um pixel relevante. Se não houver

    uma comparação positiva, o mesmo será considerado fundo e será apagado. Para o

  • 38

    processo de erosão, definiu-se um elemento estruturante de forma quadrada 6 × 6,

    onde esse tamanho menor é suficiente para retirar todos os ruídos (partículas) gera-

    dos durante o processo de background subtractor, discutido na seção 3.5.

    O resultado da operação de erosão pode ser visualizado na Figura 15b:

    3.6.2 Dilatação

    Nessa operação, o processo de comparação para a aplicação ou não da di-

    latação é análogo ao processo de erosão, onde o pixel avaliado é comparado a sua

    vizinhança através do elemento estruturante. Quando a comparação é positiva, o pixel

    é definido como relevante e é aplicado o processo de dilatação. Neste caso, definiu-

    se elemento estruturante de forma retangular com largura de 213 e altura 66 pixels.

    A largura maior é necessária para garantir que na imagem binária apareça um retân-

    gulo com suas laterais maiores que os limites da imagem. O resultado do processo de

    dilatação pode ser visto na Figura 15c:

    Figura 15 – Resultado das operações morfológicas.

    (a) Resultado do BGS. (b) Resultado da ero-são.

    (c) Resultado da dilata-ção.

    Fonte: Autoria Própria.

    3.7 DETECÇÃO DE CONTORNOS

    Segundo Bradski e Kaehler (2008), um contorno pode ser definido como

    uma sequência de pontos (𝑥,𝑦) que representam uma curva na imagem. A função

    cv2.findContours() implementada no OpenCV é baseada no método proposto

  • 39

    por Suzuki e Abe (1985). Este método tem como objetivo fazer uma análise estrutu-

    ral topológica da imagem binária, conseguindo apenas não só detectar as bordas do

    objetos, mas também classificá-las como bordas externas e internas. Através dessa

    classificação, é possível organizar os contornos de forma hierárquica, como pode ser

    visto no exemplo da Figura 16.

    Figura 16 – Relação entre os componentes detectados (b)e relação entre as bordas detectadas (c).

    S1

    S5

    S4

    S2

    B1

    B2

    B3S3

    B4

    Framebackground S1

    1-component S2

    hole S3

    1-component S4

    1 component S5

    Frame

    outer border B1

    hole border B2

    outer border B3

    outer border B4

    (b)

    (c)

    (a)

    Fonte: Suzuki e Abe (1985, p. 34).

    Como uma das etapas deste trabalho é a detecção do veículo, a informação de

    contornos internos dos veículos é desnecessária, sendo mais importante o contorno

    externo principal que envolve todo o veículo. A Figura 17b apresenta a sequência de

    pontos obtidos pela função cv2.findContours() configurada para retornar apenas

    o contorno mais externo.

  • 40

    Figura 17 – Resultado obtido com a sequência de pontosdo contorno.

    (a) Resultado da dilata-ção.

    (b) Sequência de pon-tos do contorno.

    (c) Resultado final dadetecção de contor-nos.

    Fonte: Autoria Própria.

    3.8 ENVOLTÓRIA CONVEXA

    Um polígono 𝑃 pode ser classificado como convexo quando é possível posi-

    cionar dois pontos distintos quaisquer em sua região poligonal e o segmento formado

    entre esses pontos deve estar inteiramente contido nessa região. Essa definição pode

    ser vista através da Figura 18.

    Figura 18 – Diferença entre um polígono convexo e nãoconvexo.

    Convexo Não Convexo

    Fonte: Autoria Própria.

    Para um dado conjunto de pontos 𝑆, o algoritmo de Envoltória Convexa ou

    Convex Hull tem como objetivo retornar uma sequência de pontos 𝐶(𝑆) que repre-

    sentam o menor polígono convexo que deve envolver todo o conjunto de pontos 𝑆

    (SKLANSKY, 1982).

  • 41

    Uma das etapas do algoritmo proposto por Graham (1972) é a verificar se

    um ponto 𝑃 (𝑥, 𝑦) está a direita ou a esquerda de um segmento de reta formado por

    𝑃0(𝑥0, 𝑦0) e 𝑃1(𝑥1, 𝑦1). Para isso calcula-se o determinante da matriz 𝐴 da Equação 8:

    |𝐴| =

    ⃒⃒⃒⃒⃒⃒⃒⃒⃒(𝑥1 − 𝑥0) (𝑥− 𝑥0)

    (𝑦1 − 𝑦0) (𝑦 − 𝑦0)

    ⃒⃒⃒⃒⃒⃒⃒⃒⃒ (8)

    Se o valor do determinante for maior que zero implica que 𝑃 (𝑥, 𝑦) está à es-

    querda do segmento de reta, se |𝐴| for menor que zero então 𝑃 (𝑥, 𝑦) está à direita do

    segmento de reta e se |𝐴| for igual à zero os três pontos são colineares.

    O algoritmo de Graham (1972) calcula a envoltória convexa da seguinte ma-

    neira:

    1. Cria-se três listas: pontos_da_envoltória, pontos_internos e pontos_-

    indefinidos. Inicialmente todos os pontos do conjunto 𝑆 encontram-se na lista

    dos pontos_indefinidos.

    2. Encontra-se o ponto com o menor valor de coordenada Y, pois este ponto per-

    tence à lista de pontos_da_envoltória e será o ponto de refêrencia e de

    partida do algoritmo.

    3. Precisa-se ordenar a lista de pontos_indefinidos utilizando o ponto de re-

    ferência. Esse ponto será a origem de um sistema de coordenadas polares e a

    partir dele é feita uma varredura de 0o à 180o e associa-se cada ponto com seu

    ângulo. Com o valores dos ângulos organiza-se a lista pontos_indefinidos

    de forma crescente, do menor ângulo para o maior.

    4. O ponto de referência é movido para a lista pontos_da_envoltória. Até que

    a lista de pontos_indefinidos esteja vazia, pega-se o primeiro ponto dessa

    lista e verifica-se se ele está a direita ou à esquerda do segmento de reta formado

    pelo primeiro ponto da lista de pontos_da_envoltória e o segundo ponto da

    lista de pontos_indefinidos. Caso o ponto de esteja à direita ele é movido

    para a lista de pontos_da_envoltória, caso contrário é movido para a lista

    de pontos_internos.

  • 42

    5. Após a etapa 4 finalizada, tem-se como resultado a lista desejada de pontos_-

    da_envoltória com seus pontos organizados em uma sequência anti-horária.

    Um exemplo do resultado obtido pode ser visto na Figura 19 a seguir:

    Figura 19 – Resultado obtido com a sequência de pontosda envoltória complexa.

    (a) Resultado da detec-ção de contornos.

    (b) Sequência de pon-tos da envoltóriaconvexa.

    (c) Resultado final daenvoltória convexa.

    Fonte: Autoria Própria.

    3.9 RASTREAMENTO DOS VEÍCULOS

    Com a imagem binária da seção 3.8 finalizada, desenha-se um retângulo que

    envolve todo o veículo utilizando a função cv2.boundingRect(), que recebe como

    parâmetro a sequência de pontos da envoltória convexa e retorna o ponto de origem

    (𝑥, 𝑦), altura (ℎ) e largura (𝑤) do retângulo desejado. Com os valores de 𝑥, 𝑦, 𝑤, ℎ

    de cada quadro, é possível fazer o rastreamento (tracking) dos veículos (STAUFFER;

    GRIMSON, 1999).

  • 43

    Figura 20 – Resultado obtido com a sequência de pontosda envoltória complexa.

    (a) Sequência de pontos cen-trais.

    (b) Resultado do rastreamento.

    Fonte: Autoria Própria.

    O rastreamento funciona da seguinte maneira: a partir dos valores (𝑥, 𝑦, 𝑤, ℎ)

    encontra-se o ponto central do retângulo, onde esse é armazenado e continua-se a

    análise do próximo frame. Com o valor do novo ponto central, traça-se uma linha do

    ponto anterior ao atual. Esse processo é feito até haver onze pontos centrais consecu-

    tivos para um mesmo veículo. O traçado desses onze pontos que podem ser vistos na

    Figura 20, refletem a distância percorrida pelo veículo nesse intervalo. Através dessa

    informação, é possível realizar o cálculo da velocidade do veículo.

    3.10 CÁLCULO DA VELOCIDADE

    Para a estimação da velocidade utiliza-se a como base a Equação 1. Com

    os onze pontos centrais coletados durante o rastreamento, a distância percorrida em

    pixels é calculada pela Equação 9.

    𝑑 =

    √︁(𝑥[𝑖] − 𝑥[𝑖− 10])2 + (𝑦[𝑖] − 𝑦[𝑖− 10])2 (9)

    Onde:

  • 44

    • 𝑑: distância percorrida em pixels.

    • (𝑥[𝑖], 𝑦[𝑖]): último ponto central armazenado.

    • (𝑥[𝑖− 10], 𝑦[𝑖− 10]): ponto central do décimo frame anterior.

    A Figura 21 mostra como foi definido a distância a ser calculada.

    Figura 21 – Origem da variáveis da Equação 9.

    d dy

    P10(x, y)

    P0(x, y)dx

    Fonte: Autoria Própria.

    Para a conversão da distância de pixels para metros é necessário ter uma

    medida em metros no plano real. Essa medida foi estimada utilizando um comprimento

    conhecido de um carro em metros e medindo a distância representada em pixels do

    mesmo. Dessa maneira, tamanho em metros de cada pixel (𝐶) é dado pela relação

    da Equação 10:

    𝐶 =distância em metrosdistância em pixels

    (10)

    Logo, a distância final percorrida em metros é dada pela multiplicação do ta-

    manho do pixel (𝐶) pela distância percorrida em pixels (𝑑).

    A captura do video foi feita com um framerate de 30.15 quadros por segundo

    (𝑓𝑝𝑠), e tendo como premissa de que a captura de cada quadro foi realizada de forma

    igualmente espaçada no tempo, tem-se que o tempo transcorrido entre cada quadro

  • 45

    é de aproximadamente 33,17 milissegundos. Portanto, o tempo total é dado pela mul-

    tiplicação da quantidade de quadros (𝐹 ) por 33,17 milissegundos.

    A modelagem final da velocidade é dada pela Equação 11. Onde 3,6 é fator

    de conversão de 𝑚/𝑠 para 𝑘𝑚/ℎ.

    𝑉𝑒 =𝑑 · 𝐶 · 𝑘

    𝐹 · 1𝑓𝑝𝑠

    · 3,6 (11)

    O fator de correção (𝑘) é necessário para ajustar os pequenos erros durante

    a estimação do tamanho do pixel e transformação de perspectiva.

    Devido ao tamanho da área de medição, a velocidade é calculada mais de

    uma vez para cada veículo, pois o rastreamento retorna mais de onze pontos centrais,

    como pode ser visto no exemplo da Figura 22. Dessa forma, a velocidade final é dada

    por uma média aritmética das velocidades medidas.

    Figura 22 – Velocidades calculadas durante a passagemna área de medição.

    Área de Medição

    V0V1

    V2

    Fonte: Autoria Própria.

  • 46

    4 RESULTADOS E DISCUSSÃO

    Com a realização do algoritmo finalizada, foi utilizado o mesmo para a valida-

    ção da sua aplicação em um estudo de caso, onde esse foi empregado para realizar

    a detecção e estimativa da velocidade de carros reais no centro da cidade. Utilizou-se

    como referência de velocidade real dos carros analisados as velocidades obtidas atra-

    vés de um radar indutivo localizado um pouco acima da área de medição do presente

    trabalho. É importante ressaltar que as velocidades utilizadas como referências tam-

    bém podem apresentar erros de até ± 3 km/h, por se tratar de um medidor velocidade

    que também deve respeitar os erros mínimos exigidos pelo INMETRO.

    Segundo a Portaria INMETRO no 544, os medidores de velocidade fixos não

    podem apresentar, em campo, erros maiores que:

    • ± 3 km/h para velocidades menores ou iguais a 100 km/h,

    • ± 3% para velocidades maiores que 100 km/h.

    No presente trabalho, o erro máximo de medição foi estabelecido como ±

    3 km/h, por se tratar de um perímetro urbano onde a velocidade máxima permitida

    segundo o Código de Trânsito Brasileiro, lei de no 9.503 de 23 de Setembro de 1997

    no Artigo no 61, é de 60 km/h em vias arteriais.

    Para a validação das velocidades e detecções dos veículos, os resultados

    foram analisados dividindo os valores de erros máximos e número de detecção por

    faixas, onde foi possível realizar a análise individual de cada um dos resultados.

    Os resultados por faixa e total estão dispostos na Tabela 1 a seguir.

    Tabela 1 – Resultados finais obtidos em um resolução de 720p.

    Faixa 1 Faixa 2 Faixa 3 TOTAL

    Erro Médio Absoluto [𝑘𝑚/ℎ] ± 3,124 ± 2,198 ± 1,759 ± 2,265

    Erro Médio Percentual 6,55% 4,67% 3,79% 4,81%

    % de Erros até ± 3,0𝑘𝑚/ℎ 60,00% 66,67% 80,00% 70,13%

    % de Erros entre ± 3,0 e ± 5,0𝑘𝑚/ℎ 15,00% 18,51% 13,33% 15,58%

    % de Erros Maiores ± 5,0𝑘𝑚/ℎ 20,00% 7,41% 3,33% 9,09%

    Veículos Detectados 19 de 20 25 de 27 29 de 30 73 de 77

    Taxa de Detecção 95,00% 92,59% 96,67% 94,81%

    Fonte: Autoria Própria.

  • 47

    Com o resultados apresentados, é possível observar que a média dos erros

    das medições totais, em quilômetro por hora ficou em ± 2,265 km/h, menor que o erro

    máximo permitido pela INMETRO.

    Na análise da medição de velocidade por faixa, as faixas 2 e 3 também apre-

    sentaram valores médios menores do que o erro permitido, ± 2,198 km/h e ± 1,759

    km/h, enquanto que a faixa 1 apresentou um valor acima do máximo, com ± 3,124

    km/h de erro médio.

    Apesar das faixas 2 e 3 possuírem valores médios de erros abaixo do permi-

    tido, a faixa 2 obteve 7 medições acima do permitido, enquanto que na faixa 3 apre-

    sentou 5 medições acima.

    Já em relação a detecção veicular, os valores de reconhecimento ficaram em

    94,81% de detecção total em todas as faixas. A faixa 1 e 3 apresentaram resulta-

    dos semelhantes, como uma boa taxa de detecção, enquanto na faixa 2 obteve uma

    detecção inferior de 92,59%.

    Dos valores obtidos nas faixas 1 e 2, cerca de 60% estão dentro da faixa de

    erros até ± 3,0 km/h, valores esses abaixo dos 80% obtidos na faixa 3. Um proposta

    melhorar essa questão é realizar a captura dos quadros à um taxa de 60 FPS. Com

    um taxa maior é possível ter mais amostras de velocidades medidas e então a média

    delas será um valor mais consolidado.

    A seguir será apresentado uma sequência de 4 gráficos referentes as faixas

    1, 2, 3 e o resultado total. O gráficos apresentam cada medição feita e seu respectivo

    erro absoluto. As medições estão dispostas em sequência, ou seja, a medição 0 repre-

    senta o primeiro carro que apareceu no vídeo naquela determinada faixa. O gráficos

    possuem quatro linhas horizontais que definem os limites de ± 3,0 km/h e ± 5,0 km/h.

  • 48

    Gráfico 3 – Resultado obtido na Faixa 1.

    0 5 10 15 20Medições

    7.5

    5.0

    2.5

    0.0

    2.5

    5.0

    7.5

    10.0

    12.5

    Erro

    Abs

    olut

    o (k

    m/h

    )

    Fonte: Autoria Própria.

    Gráfico 4 – Resultado obtido na Faixa 2.

    0 5 10 15 20 25Medições

    4

    2

    0

    2

    4

    6

    Erro

    Abs

    olut

    o (k

    m/h

    )

    Fonte: Autoria Própria.

  • 49

    Gráfico 5 – Resultado obtido na Faixa 3.

    0 5 10 15 20 25 30Medições

    6

    4

    2

    0

    2

    4Er

    ro A

    bsol

    uto

    (km

    /h)

    Fonte: Autoria Própria.

    Gráfico 6 – Resultado total.

    0 10 20 30 40 50 60 70Medições

    7.5

    5.0

    2.5

    0.0

    2.5

    5.0

    7.5

    10.0

    12.5

    Erro

    Abs

    olut

    o (k

    m/h

    )

    Fonte: Autoria Própria.

  • 50

    4.1 ANÁLISE DE DESEMPENHO

    Um dos objetivos quando trata-se de processamento de vídeo é busca pelo

    processamento em tempo real, ou seja, a máquina deve conseguir executar o algo-

    ritmo e entregar o resultado dentro do intervalo de tempo de captura da câmera.

    Durante os testes utilizou-se uma máquina com um processador AMD FX-

    8320 (4,0 GHz) e 16 GB de RAM. Essa máquina teve uma média de quadros pro-

    cessados em torno de 11 FPS na resolução de 720p. Para contornar esse problema,

    sugere-se três opções:

    1. Mudar a linguagem de programação de Python para #C. A linguagem Python

    utiliza um interpretador durante a execução do algoritmo, onde o interpretador

    analisa cada linha do código escrito em alto nível, interpreta (traduz para baixo

    nível) para depois executar o comando. Já a linguagem #C utiliza um compilador,

    onde esse compilador faz um pré-processamento, ou seja, antes do algoritmo

    ser executado é feita a ”tradução” do código de alto nível para baixo nível, o que

    torna essa linguagem mais eficiente quando o fator tempo é uma variável crítica.

    2. Diminuir a resolução do vídeo. Um frame com resolução de 720p possui 921.600

    pixels e um de 480p possui 409.600 pixels, isso representa uma diminuição de

    55% da quantidade de pixels à serem processados. No entanto, quanto menor a

    escala de resolução menor será o nível de detalhes da imagem, o que gera uma

    diferença de resultados durante a etapa de detecção.

    Sem alterar nenhum parâmetro do algoritmo, realizou-se testes em diferentes re-

    soluções para efeito de comparação e com os resultados construiu-se a Tabela 2

    a seguir:

  • 51

    Tabela 2 – Resultados em diferentes resoluções.

    Resolução

    Erro Médio

    Absoluto

    [𝑘𝑚/ℎ]

    Tempo Médio de

    Processamento

    [𝑚𝑠]

    FPSTempo

    Real

    1080p ± 3,016 112,53 8,88 Não

    720p ± 2,265 90,94 10,99 Não

    480p ± 2,718 40,17 24,89 Não

    360p ± 3,696 21,50 46,51 Sim

    240p ± 3,792 15,79 63,33 Sim

    144p ± 6,347 10,72 93,28 SimFonte: Autoria Própria.

    O dados da Tabela 2 mostram que é possível fazer um medição em tempo real

    quando diminui-se a resolução do vídeo e que a medida que a resolução diminuiu

    o erro médio aumenta.

    3. Troca do processador para um mais recente com 8 núcleos físicos/16 núcleos

    virtuais (threads).

  • 52

    5 CONCLUSÕES E PERSPECTIVAS

    5.1 CONCLUSÕES

    A realização do algoritmo no presente trabalho possibilitou desde o estudo

    teórico envolvido no seu desenvolvimento até o entendimento do uso e aplicação atra-

    vés do processamento de imagens e visão computacional para a finalidade destinada,

    a estimativa de velocidade.

    A facilidade da aplicação do uso do processamento de imagens para a esti-

    mativa de velocidade veicular é clara, onde essa necessita apenas do algoritmo para

    realizar o cálculo de velocidade e da adição de um hardware capaz de processar as

    informações relacionadas, já que os métodos tradicionais já utilizam câmeras para a

    captura da placa do automóvel que efetuou a infração. Dessa maneira, esse método

    possui grande potencial para seu uso em larga escala sem grandes aumentos de cus-

    tos estruturais.

    Os resultados obtidos deixam claros que a utilização do código para usos prá-

    ticos são viáveis, onde esse apresentou erros, na média, menores que os exigidos

    pelo INMETRO, apesar de alguns valores de erros ultrapassarem os valores limites. É

    importante ressaltar que os valores encontrados pelo presente trabalho foram compa-

    rados com valores de referências obtidos através de um radar indutivo, o qual também

    pode apresentar um erro de ± 3 km/h, segundo o INMETRO.

    Apesar dos resultados, a Portaria INMETRO no 544 cita apenas três tipos de

    tecnologias que podem ser aplicadas aos sistemas de medições de velocidade: por

    sensor de superfície, ótico e radares, sem citar o uso do processamento de imagem

    para esse tipo de avaliação. Para que fosse possível a utilização desse método de aná-

    lise, seria necessário a inclusão deste com as devidas regulamentações, exigências e

    parâmetros mínimos necessários para o seu devido uso.

    Já quanto o número de detecção, esse não possui um valor mínimos exigido,

    porém o resultado de veículos detectados foi considerado satisfatório, sendo próximo

    aos 95%.

    Outro resultado importante que pode ser citado é a taxa de detecção relaci-

    onado as motocicletas. Radares indutivos, como o usado para valores de referências

  • 53

    desse trabalho, tem dificuldade de detectar motocicletas pelo fato da calibração da

    frequência dos osciladores desse tipo de radar ser complexo. Isso é ocasionado pelo

    fato das motos não possuírem grande massa metálica, necessitando de uma maior

    sensibilidade na calibração dos radares indutivos, podendo gerar erros de detecção

    causados por interferência. Por outro lado, o método desenvolvido utilizando proces-

    samento de imagem elaborado pelo presente trabalho obteve grande sucesso em re-

    lação as motocicletas, sendo capaz de detectar e estimar a velocidade das mesmas.

    Quanto as desvantagens que podem ser citadas, nota-se que o uso de

    hardwares de maior processamento e uma mão de obra mais especializada para o

    desenvolvimento do algoritmo ou ajuste de parâmetros do mesmo encarecem a insta-

    lação e a manutenção desses equipamentos, sendo necessário um cálculo de viabili-

    dade econômica quanto o seu uso.

    Pode-se concluir que o resultado buscado pelo trabalho foi alcançado, elabo-

    rando um algoritmo que satisfaz, através do erro médio e da taxa de detecção, os

    valores necessários para a sua implementação na medição de velocidade, como foi

    confirmado anteriormente nos capítulos anteriores.

    5.2 TRABALHOS FUTUROS

    Como possíveis trabalhos futuros, pode-se citar:

    • O uso do presente trabalho com a utilização de uma nova linguagem de pro-

    gramação, a fim de comparar o desempenho do tempo de processamento e a

    melhora no tratamento de vídeos com resoluções acima de 360p.

    • O uso do hardware disponível pela Universidade Tecnológica Federal do Paraná

    Câmpus Ponta Grossa para a execução do algoritmo e avaliação dos resultados

    alcançados.

  • 54

    REFERÊNCIAS

    ALEXANDRE, Luís F. B. de A. Detecção de Movimento e sua Aplicação àMonitorização de Tráfego Rodoviário. set. 1997. 89 p. Dissertação (Mestrado)— Departamento de Engenharia Electrotécnica e de Computadores, Faculdade deEngenharia da Universidade do Porto, Porto, PRT, set. 1997. Citado na página 13.

    BARCELLOS, Pablo R. M. Detecção e Contagem de Veículos em Vídeos deTráfego Urbano. abr. 2014. 115 p. Dissertação (Mestrado) — Instituto de Informática,Universidade Federal do Rio Grande do Sul, Porto Alegre, BRA, abr. 2014. Citado napágina 14.

    BASTOS, Bruno da C.; FILHO, Leonardo E. Utilização da tecnologia LiDAR emprojetos de engenharia de infraestrutura viária. XI Congreso Nacional y VIIILatinoamericano de Agrimensura, v. 11, mar. 2012. Citado na página 21.

    BRADSKI, Dr. Gary Rost; KAEHLER, Adrian. Learning Opencv, 1st Edition. First.[S.l.]: O’Reilly Media, Inc., 2008. ISBN 9780596516130. Citado na página 38.

    CHEUNG, Sing Yiu et al. Traffic measurement and vehicle classification with singlemagnetic sensor. Transportation Research Record: Journal of the TransportationResearch Board, SAGE Publications, v. 1917, n. 1, p. 173–181, jan 2005. Disponívelem: . Citado na página 18.

    FACON, Jacques. A morfologia matemática e suas aplicações em processamento deimagens. VII Workshop de Visão Computacional, mar. 2011. Citado na página 37.

    GONZALEZ, Rafael C.; WOODS, Richard E. Processamento de Imagens Digitais.São Paulo, BRA: Blucher, 2000. 509 p. Citado 2 vezes nas páginas 23 e 24.

    GRAHAM, R.L. An efficient algorith for determining the convex hull of a finite planarset. Information Processing Letters, Elsevier BV, v. 1, n. 4, p. 132–133, jun 1972.Disponível em: . Citado na página41.

    GüNEŞ, Ali; KALKAN, Habil; DURMUŞ, Efkan. Optimizing the color-to-grayscaleconversion for image classification. Signal, Image and Video Processing,

    https://doi.org/10.1177/0361198105191700119https://doi.org/10.1016/0020-0190(72)90045-2

  • 55

    Springer Nature, v. 10, n. 5, p. 853–860, oct 2015. Disponível em: . Citado na página 31.

    MAIA, Helton; FARIAS, Sheyla. Efeito doppler: Ondas eletromagnéticas para detecçãode velocidade. Revista Científica Tecnologus, v. 2, ago. 2007. Citado na página 19.

    MUMTAZIMAH, Mohamad. A Review on OpenCV. Unpublished, 2015. Disponívelem: . Citado na página 30.

    PARKER, J. R. Algorithms for Image Processing and Computer Vision.Indianapolis, USA: Wiley Publishing, Inc., 2010. 480 p. Citado na página 28.

    PEDRINI, Hélio; SCHWARTZ, William R. Análise de Imagens Digitais: Princípios,algoritmos e aplicações. São Paulo, BRA: Thomson Learning, 2008. 508 p. Citado 7vezes nas páginas 22, 23, 25, 26, 27, 28 e 29.

    PISANO, Etta D. et al. Contrast limited adaptive histogram equalization imageprocessing to improve the detection of simulated spiculations in dense mammograms.Journal of Digital Imaging, Springer Nature, v. 11, n. 4, p. 193–200, nov 1998.Disponível em: . Citado na página 33.

    SKLANSKY, Jack. Finding the convex hull of a simple polygon. Pattern RecognitionLetters, Elsevier BV, v. 1, n. 2, p. 79–83, dec 1982. Disponível em: . Citado na página 40.

    STAUFFER, C.; GRIMSON, W.E.L. Adaptive background mixture models for real-timetracking. In: Proceedings. 1999 IEEE Computer Society Conference on ComputerVision and Pattern Recognition (Cat. No PR00149). IEEE Comput. Soc, 1999.Disponível em: . Citado na página 42.

    SUZUKI, Satoshi; ABE, Keiichi. Topological structural analysis of digitizedbinary images by border following. Computer Vision, Graphics, and ImageProcessing, Elsevier BV, v. 30, n. 1, p. 32–46, apr 1985. Disponível em:. Citado na página 39.

    WHO, World Health Organization. Managing speed. [S.l.], 2017. Disponívelem: . Citado na página 13.

    https://doi.org/10.1007/s11760-015-0828-7https://doi.org/10.1007/s11760-015-0828-7http://rgdoi.net/10.13140/RG.2.1.2269.8721https://doi.org/10.1007/bf03178082https://doi.org/10.1016/0167-8655(82)90016-2https://doi.org/10.1016/0167-8655(82)90016-2https://doi.org/10.1109/cvpr.1999.784637https://doi.org/10.1016/0734-189x(85)90016-7http://www.who.int/violence_injury_prevention/publications/road_traffic/managing-speed/en/http://www.who.int/violence_injury_prevention/publications/road_traffic/managing-speed/en/

  • 56

    ZIVKOVIC, Z. Improved adaptive gaussian mixture model for background subtraction.In: Proceedings of the 17th International Conference on Pattern Recognition,2004. ICPR 2004. IEEE, 2004. Disponível em: . Citado na página 36.

    https://doi.org/10.1109/icpr.2004.1333992https://doi.org/10.1109/icpr.2004.1333992