Contagem de Veículos para Semáforos Inteligentes

Semáforos são utilizados desde 1868 em diversas partes do mundo para controlar o tráfego de ruas. Em consequência do número de veículos aumentando vertiginosamente, há o aumento do fluxo de carros nas ruas e avenidas, podendo gerar congestionamentos em horários de pico, que em algumas situações, como por exemplo, ao acontecer um acidente, podem alcançar quilômetros.

Uma solução inteligente e eficiente deve ser desenvolvida para resolver estes problemas, e além disso, otimizar o tempo de viagem e de espera em cruzamentos.

O trabalho de Luzenildo, do curso de ciência da computação, desenvolvido sob a orientação dos professores Thaís e Lincoln, propõe a implementação de um sistema de contagem de veículos para ser utilizado em semáforos inteligentes que recebe um fluxo de vídeo e o processa utilizando visão computacional para detectar e contar os veículos, com o objetivo de testar a praticabilidade de implementar um sistema de controle do fluxo em tempo real.

Com este sistema foram realizados testes com imagens feitas a partir da perspectiva de um semáforo, simulando um cenário real, para analisar a viabilidade da utilização desse sistema tomando como base a quantidade de acertos na detecção dos veículos.

Para obtenção dos 2 vídeos de testes, foi utilizado um drone. O Vídeo 1 tem duração de 2 minutos e 40 segundos, e o Vídeo 2 tem duração de 3 minutos e 20 segundos. Ambos foram feitos focando o trânsito na perspectiva de um semáforo de trãnsito, na intersecção da Avenida Epitácio Pessoa com a Avenida Monteiro Lobato, para servir de modelo de teste. Por causa do clima chuvoso e da interferência dos fios de alta tensão dos postes no local, o drone teve de ficar à uma distância de aproximadamente 11 metros do chão, logo, aproximadamente 6 metros acima do sinal, enquanto a câmera teve de ficar com uma angulação de aproximadamente -20 graus.

Toda metodologia de IA deste trabalho foi feita utilizando a linguagem de programação Python, com a ajuda dos frameworks Tensorflow e o framework de detecção de imagens DarkFlow e Yolov2, utilizando modelos pré-treinados da COCO Trainval e VOC 2007+2012.

Um dos primeiros problemas detectados foi contabilizar veículos de faixas diferentes da do semáforo em questão e mesmo nas calçadas. Para tanto, trabalhou-se com a delimitação da área de interesse, alcançando 100% de acurácia do que devia ser previsto. Entretanto, esses testes não foram feitos em tempo real, já que, ao tentar fazer este processamento, o desempenho foi muito baixo, uma vez que, utilizando os vídeos em resolução Full-HD com uma taxa de quadros de 60 FPS, o frame rate ficou muito baixo, o que não permitiu que todos os quadros fossem processados em tempo real.

O processamento em tempo real de imagens em resolução a partir de 1920×1080 pontos dependendo do hardware ainda é muito lento, onde, nos testes feitos, para um Vídeo de 2 minutos e 40 segundos de duração, o tempo de processamento foi de 26 minutos, tornando inviável para o objetivo proposto. Soluções para isso poderiam vir da: 1) Utilização de um hardware menor e mais barato nos semáforos em conjunto com uma câmera de boa qualidade e com acesso a internet, enviando as imagens para um servidor com hardware dedicado para processá-las e enviar de volta o resultado do processamento; 2) Diminuir a taxa de quadros por segundo do vídeo a ser processado, uma vez que, a diferença entre os quadros de uma imagem por segundo nesta situação não varia a ponto de ser necessário fazer o processamento a 60 FPS e utilizando uma câmera de menor resolução, com no mínimo 1280×720 pontos; 3) Processar apenas um quadro da imagem a cada 2 ou 3 segundos para ter uma estimativa de quantos carros estão na imagem.

Os resultados mostraram que de quatro cenários testados, o sistema teve êxito em acertar três deles, sendo que o único erro ocorrido foi por um carro estar parado atrás de um ônibus, dificultando sua detecção. Portanto, este sistema pode ser utilizado por semáforos para detectar e contar veículos, abrindo espaço para trabalhos relacionados que permitam um melhor controle do fluxo de automóveis, como por exemplo, a abertura de semáforos na presença de ambulâncias e carros de polícia.