IEEE LATIN AMERICA TRANSACTIONS, VOL. 15, NO. 1, JAN. 2017 81 Automatic Detection of Red Light Running Using Vehicular Cameras R. H. Brasil and A. M. C. Machado, Member, IEEE 1 Abstract — The red traffic light running is a very common traffic violation. Nowadays, vehicles running red traffic lights are detected by sensors fixed on the streets. However a very small percentage of all traffic lights are equipped with such sensors. For this reason, this work proposes a red light runner detection to be performed by a system that consists of a camera and a computer embedded in the vehicle. An algorithm is also proposed to process the recorded videos and a prototype was implemented. The prototype's goal is to monitor work vehicles without any intervention in driving, acting only in as an educational tool. Tests are performed with video recorded in the streets of Belo Horizonte during the day and with a benchmark video using the implemented prototype. The results are compared based on the execution time and accuracy. The video processing took less one tenth of the video duration and the accuracy was about 95.8%. Keywords — Traffic light detection, Red light running, autonomous vehicles. C I. INTRODUÇÃO OM o crescente aumento da quantidade de veículos produzidos a cada ano, a indústria automotiva tem investido em sistemas de transporte mais inteligentes com o objetivo de auxiliar o condutor a tomar decisões e a pensar em tempo hábil em situações de risco, ajudando a poupar vidas e recursos. Um sistema que dê ao veículo a capacidade de perceber e interpretar o que há à sua volta pode a curto prazo melhorar diretamente a segurança desses condutores e a médio prazo possibilitar o desenvolvimento de veículos autônomos. O avanço de sinal vermelho é uma das infrações mais comuns e é considerada uma infração grave. Contudo, nem todos os semáforos são monitorados por registro de avanço. Dessa forma, há a necessidade de monitorar os veículos em semáforos sem registro de avanço. Uma possibilidade, explorada neste trabalho, é utilizar um sistema com uma câmera embarcada no veículo, que o acompanharia em locais onde não há radares fixos ou oficiais na via. Além disso, uma mesma câmera poderia ser utilizada para outras finalidades (em algumas cidades, há câmeras nos ônibus, por exemplo). Como as características do trânsito e das vias diferem de uma via para outra, além da dificuldade de se adaptar a sinalização em uma cidade inteira, diversos sensores constituídos por câmeras podem realizar a tarefa de auxiliar a interpretação da sinalização e registrar uma possível má conduta diante de um semáforo vermelho. Diversos radares e sensores eletrônicos estão instalados em vias e pontos estratégicos de grandes cidades como Belo Horizonte, tomando como base estudos técnicos que detectam A. M. C. Machado, PUC Minas, Brazil, [email protected] R. H. Brasil, PUC Minas, Brazil, [email protected] áreas com maior fluxo de pedestres, o tipo e a quantidade de acidentes, entre outros. A regra, em geral, é a mesma aplicada ao longo das principais vias brasileiras. As infrações mais frequentes registradas no primeiro semestre de 2013 em Belo Horizonte foram avanço de semáforo vermelho e estacionamento em local indevido. A quantidade de infrações por avanço de sinal vermelho sofreu uma grande redução de 80% no primeiro semestre de 2014 em relação ao mesmo período do ano anterior, de 123.878 para 25.470 [1]. Contudo, essa redução nos registros não necessariamente significa que as infrações não autuadas caíram na mesma proporção. Motoristas acabam fazendo um mapeamento dos semáforos que têm registro de avanço e, consequentemente, sabem quais desrespeitar sem serem penalizados. Atualmente, a cidade conta com cerca de 122 equipamentos de registro de avanço de semáforo vermelho [12]. Os aparelhos apresentam ótima precisão, às vezes aliada ao auxílio humano, como em Contagem [2]. Todavia, o custo elevado da instalação de tais equipamentos em todas as interseções com semáforo da cidade torna o projeto inviável num primeiro momento, motivo pelo qual as interseções candidatas são selecionadas, com base em dados estatísticos, para receberem os equipamentos de registro de avanço. Com um sistema de detecção de avanço de sinal vermelho embarcado no veículo, o condutor poderia ter melhor conduta e respeitar a sinalização independentemente da existência de oficiais militares ou de radares fixos na via simplesmente por saber que está sendo monitorado. Com isso, poderia haver uma redução nas estatísticas de avanço e, principalmente, de acidentes. Há diversos trabalhos relacionados com detecção e reconhecimento de sinalização de trânsito em geral substituindo os sensores convencionais por processamento de imagens. Duas formas muito comuns para se iniciar a detecção e reconhecimento de sinais de trânsito através de imagens são a segmentação com base na cor e a segmentação com base em bordas. As técnicas que utilizam cores tendem a ter melhor controle sobre a iluminação. Um exemplo utilizando o espaço de cores HSV é descrito por Fleyeh [3]. Vários trabalhos já foram publicados usando Visão Computacional para controlar ou monitorar situações do trânsito. O trabalhos de Cosmo, Salles e Ciarelli [3] realizam detecção de pedestres utilizando uma Máquina de Vetores de Suporte (SVM) para treinar e classificar as janelas de teste varridas na imagem por ser um classificador robusto em detecção de pedestres. Também usam histograma de gradientes orientados (HOG), proposto por Dalal and Triggs, pelo alto desempenho do descritor. O acerto na detecção fica 82 IEEE LATIN AMERICA TRANSACTIONS, VOL. 15, NO. 1, JAN. 2017 em torno dos 63,8%. Os trabalhos de Fairfield e Urmson [6] e Levinson et al [8] tratam da detecção e reconhecimento de semáforos de trânsito com auxílio de consultas geoespaciais para detectar interseções na via, através da API do Google Maps, para descartar imagens distantes de cruzamentos. Todavia, esta regra não se aplica no Brasil, onde, em vários lugares, é comum se encontrarem semáforos em uma simples travessia de pedestres. Além disso, o sistema se tornaria altamente dependente da conexão com o GPS. Imagens são rotuladas a partir de fontes de luz vermelhas, amarelas ou verdes. A distância do semáforo é estimada com base em cálculos envolvendo o tamanho real dos objetos. Shen et al [7] propõem uma modelagem de matiz e saturação (espaço HSI) com base em distribuições Gaussianas 2D, onde os parâmetros são obtidos a partir de candidatos rotulados manualment. Adicionalmente, é proposto um método para eliminar falsos candidatos com base em informações de forma numa fase de pós-processamento da imagem. O resultado final é uma combinação de informações vindas do pós-processamento e de uma base de histórico. Os resultados dessa abordagem, no entanto, chegam a apresentar uma precisão superior a 99% para alguns vídeos. O escopo desses trabalhos limita-se à detecção dos semáforos. Por outro lado, métodos de detecção de avanço de sinal vermelho são propostos por Yung e Lai [9] e por Luo, Huang e Qin [10] com a câmera localizada em um ponto fixo da via de onde sejam visíveis o semáforo, a faixa de retenção e os carros de passagem. O método de Yung e Lai [9] identifica o semáforo mais próximo (o maior na imagem) e o utiliza no processamento. A detecção é feita com base na cor: branca para faixa de retenção e vermelha, amarela e verde para o semáforo. Os resultados dos testes alcançaram 100% de acerto nos testes. Luo, Huang e Qin [10] realizam os testes em uma interseção com direita livre, ou seja, onde o semáforo não é válido para convergência à direita (somente para os veículos que convergem à esquerda ou seguem em frente). Os resultados apresentam precisão um pouco inferior, em torno dos 90% Para semáforos não monitorados, o desrespeito à sinalização ainda existe e se mantém impune. Visando a redução de avanços de semáforos em interseções não monitoradas, este trabalho propõe uma metodologia de detecção de avanço com a câmera embarcada no veículo, unindo técnicas de detecção de sinalização (como nos trabalhos de Fairfield e Urmson [6], de Shen et al [7] e de Levinson et al [8]) e a detecção de avanço utilizando Visão Computacional (como nos trabalhos de Yung e Lai [9] e de Luo, Huang e Qin [10]). II. DETECÇÃO DO AVANÇO Sistemas de detecção de avanço se semáforo vermelho usualmente utilizam câmeras fixadas em pontos estratégicos da via, tornando-se parte do sistema de controle do trânsito naquele local. A proposta parte do princípio de que a câmera seja embarcada como parte do veículo, transformando o sistema em um modo de monitoramento do veículo e do condutor. O propósito é monitorar veículos de trabalho, como ônibus, caminhões e taxis, já que o sistema não é interessante para veículos de passeio. A metodologia aborda desde a captura das imagens pela câmera embarcada até a detecção, em tempo real, do avanço do semáforo. Não há preocupação em exibir qualquer alerta ou gerar qualquer penalidade para o condutor, tampouco há qualquer interferência na condução. Primeiramente, as imagens são capturadas por uma câmera veicular e transferidas para um notebook presente no interior do veículo. A câmera deve estar virada para frente. A Fig. 1 contém um exemplo de imagem capturada pela câmera veicular. Em seguida, num segundo estágio, as imagens são pré-processadas para redução de eventuais ruídos oriundos do processo de aquisição. A imagem passa por, respectivamente, filtro de média, Erosão e Dilatação. Figura 1. Vista da câmera veicular. No terceiro estágio, de Segmentação, o sistema determina quais regiões da imagem são relevantes para se prosseguir com o processamento. A segmentação é feita com base no tom das cores das luzes do semáforo, já que os semáforos têm tons aproximados de verde, amarelo e vermelho. A imagem RGB é convertida para o espaço HSV pela facilidade em se separarem informações de cor e iluminação, funcionando melhor em sombras e à noite, e busca por elementos vermelhos. Como não há problema em passar pelo semáforo amarelo ou verde, estas cores foram excluídas da segmentação. O próximo estágio, de Detecção e Reconhecimento, verifica se uma região de interesse contém ou não um semáforo. Utiliza-se Canny [13] para realçar bordas das regiões de interesse por ser robusto, apesar de computacionalmente pesado como comparado por Shrivakshan e Chandrasekar [14]. A transformada de Hough [15] entra para encontrar círculos vermelhos. Como as luzes do semáforo são redondas, os candidatos que não têm forma aproximadamente arredondada são descartados. Como luzes de veículos também são vermelhas e usualmente têm forma aproximadamente arredondada, apenas a região superior da imagem, cerca de 1/3, é considerada e os demais candidatos são descartados independente da forma. Além disso, o semáforo é importante somente quando o veículo está próximo dele, para confirmar ou não o avanço dependendo da cor do BRASIL AND MACHADO : AUTOMATIC DETECTION OF RED LIGHT RUNNING semáforo no momento. Havendo mais de um possível semáforo, o mais próximo do veículo é escolhido com base na altura dentro da imagem (quanto mais alto, mais próximo do veículo). O semáforo só é tido como certo se encontrado em dois quadros consecutivos para reduzir o impacto dos ruídos não eliminados no pré-processamento. Como o semáforo tem uma forma padrão que é relativamente simples com poucas características relevantes, para simplificar, nenhuma técnica de classificação foi utilizada. Por fim, se nos passos anteriores um semáforo foi encontrado, a fase de Rastreamento verifica as proximidades do semáforo até que ele saia do campo de visão da câmera utilizando Camshift [16]. Se ele sair da imagem no topo da imagem e enquanto vermelho, está confirmado o avanço. Caso contrário, o semáforo pode ter ficado verde ou pode ser apenas uma oclusão temporária. Enquanto o semáforo vermelho estiver no campo de visão da câmera, a nova posição do semáforo é utilizada nos quadros seguintes pelo rastreamento até que o semáforo desapareça. Isso evita que toda a imagem tenha que ser processada novamente. Um pequeno conjunto de imagens extraídas de um vídeo com aproximadamente 3 minutos, gravado em Belo Horizonte, foi utilizado para calibragem dos parâmetros. III. EXPERIMENTOS Para verificar o funcionamento da técnica proposta neste trabalho, foram utilizados dois vídeos distintos. Os vídeos foram armazenados e submetidos à implementação do algoritmo que é explicado na seção anterior. Um vídeo para testes foi disponibilizado no site LaRA [11]. O vídeo, com taxa de atualização de 25fps (frames per second - quadros por segundo), em resolução VGA (640x480 pixels), 8 bits por pixel, colorido, foi separado quadro a quadro em imagens de formato JPEG (sigla para Joint Photographic Experts Group), forma como é distribuído. O vídeo possui um total de 11.179 quadros. A taxa de atualização foi reduzida para 5 e 2 quadros por segundo apenas a caráter experimental. O veículo portador da câmera passa, ao longo do vídeo, por 8 semáforos vermelhos, mas não avança nenhum. As imagens foram obtidas durante um trajeto de cerca de 8 minutos em ruas de Paris, na França. Este é um vídeo genérico para benchmark em técnicas de processamento de vídeo, logo, a câmera não foi posicionada especificamente para visualizar semáforos suspensos acima dos veículos. Outro vídeo utilizado foi gravado com uma câmera veicular em Minas Gerais, nas ruas de Belo Horizonte e de Contagem com o veículo se deslocando aproximadamente a 50Km/h (desconsiderando-se as reduções abaixo dos semáforo). O vídeo foi gravado em 25 quadros por segundo em resolução de 640x480 pixels, 16 bits por pixel. O vídeo tem duração aproximada de 24 minutos gravados durante o dia, totalizando 43.200 quadros aproximadamente. A mesma redução na taxa de quadros foi feita para 5 e 2 quadros por segundo, e cada quadro armazenado como uma imagem em formato JPEG para uma comparação justa com o vídeo francês. Entretanto, os testes com esse vídeo incluíram o formato original, com 25fps, para validação do processamento em tempo real. O veículo passa por 24 semáforos no total, dos quais 8 são vermelhos. Nesse vídeo, gravado para testes neste trabalho, a câmera foi devidamente posicionada a fim de capturar os semáforos na 83 posição logo acima do veículo para facilitar a detecção de avanço. Para validar o funcionamento em caso de um avanço real, simulações de avanço foram feitas com a câmera sendo inclinada verticalmente, de cima para baixo, para que o semáforo saia da visão da câmera na região superior da imagem. O comportamento simulado é similar ao que ocorre quando o veículo passa por baixo do semáforo. O veículo mantém-se parado durante o processo. Essas simulações de avanço são exemplificadas pela Fig. 2 e permitem os testes de detecção e de falsos negativos. O vídeo tem o total de 41 segundos com um total de 16 simulações de avanço durante o dia. Os semáforos contemplam tanto interseções quanto simples travessias de pedestres. São comparados os tempos de execução e a relação entre a quantidade de falsos positivos e falsos negativos para cada situação. Figura 2. Simulação de avanço com alteração da inclinação da câmera. O método foi implementado em C++ com uso da biblioteca OpenCV. Os testes foram realizados em um computador com processador Core i3 2.3 GHz dual core, com 6GB de RAM e executando Ubuntu 14.04. Alguns dos parâmetros, quando não especificado, foram definidos com a calibragem utilizando um pequeno grupo de imagens de semáforos do Google Street View e de imagens obtidas pela mesma câmera veicular utilizada para capturar os vídeos de teste. Os parâmetros utilizados foram os seguintes: Pré-processamento: O filtro de média utiliza matriz de dimensões 3x3 e Dilatação e Erosão com elemento estrutural quadrado de dimensões 3x3 pixels; Segmentação: A busca por elementos vermelhos aceita somente os pontos no espaço HSV onde S e V são superiores a 75%. No vídeo de Belo Horizonte, o valor de H para vermelho manteve-se próximo de 0 com tolerância de 20º na fase de calibragem, enquanto, no vídeo de benchmark, H foi definido como 40º com a tolerância de 10º. A diferença se deve ao fato de câmeras diferentes serem utilizadas na captura dos dois vídeos; Detecção e reconhecimento: Canny utiliza limiar inferior 40 e limiar superior 100 com uma janela de 3x3 pixels. A transformada de Hough para círculos aceita uma distância mínima de 30 pixels entre os centros dos círculos para as imagens teste de 640x480 pixels para que não haja excesso de círculos detectados. O raio mínimo e máximo permitidos são 3 e 20, respectivamente, baseado no tamanho esperado do semáforo dentro da imagem de 640x480 pixels; Rastreamento: o método Camshift executa no máximo 10 iterações na busca da convergência de m(x) (média ponderada da densidade da janela definida pelo Kernel), valor padrão utilizado no método de rastreamento do OpenCV. V. ANÁLISE DOS RESULTADOS O processamento do vídeo gravado durante o dia em Belo Horizonte com 25 quadros por segundo levou um tempo médio de 1567 segundos (26,1 minutos). Com 5 quadros por segundo, o tempo necessário foi de 247 segundos e sem falsos 84 positivos. Reduzindo a taxa de atualização para 2 quadros/segundo, o tempo caiu para 98 segundos ainda sem falsos positivos. A Fig. 3 contém um semáforo detectado e processado corretamente como não avanço. IEEE LATIN AMERICA TRANSACTIONS, VOL. 15, NO. 1, JAN. 2017 suspensos sobre a via. Na Fig. 6 pode-se ver um caso de processamento errôneo com o veículo consideravelmente longe do semáforo devido ao mal posicionamento da câmera. Todavia, num cenário em que a câmera estivesse devidamente posicionada, o avanço exemplificado seria considerado um sucesso, já que o semáforo vermelho saiu do campo de visão da câmera pela parte superior da imagem. Figura 3. Exemplo em que o semáforo foi detectado corretamente e nenhum avanço de semáforo foi registrado. Para a simulação de avanço, o tempo de processamento com 25 fps levou 22 segundos com 17 registros de avanço (1 falso positivo). Com 5 fps o processamento levou 6 segundos e encontrou 15 avanços de semáforo dentre os 16 simulados, enquanto com 2 fps foi de 3 segundos e 9 detecções de avanço foram registradas. A queda na detecção se deve aos “saltos” que os semáforos dão na imagem, desaparecendo antes mesmo de se aproximarem da borda superior da imagem. A Fig. 4 exemplifica um caso em que o semáforo desaparece na parte superior da imagem (mesmo com outros elementos vermelhos) e o avanço é devidamente identificado. Já a Fig. 5 mostra o caso em que não foi detectado o avanço simulado. O semáforo estava saiu do campo de visão da câmera antes de se aproximar o suficiente da borda superior da imagem. É principal a consequência da redução da taxa de quadros por segundo do vídeo. Figura 6. Semáforo saindo do campo de visão da câmera, característica de um avanço. Apesar do número elevado de falsos positivos, houve casos em que a detecção ocorreu corretamente e não foi computado avanço. A Fig. 7 mostra um caso em que houve processamento correto no vídeo francês. Como o tempo para o vídeo de Belo Horizonte com 25 fps foi superior à duração, inviabilizando execução em tempo real nessa configuração, os testes com o vídeo de benchmark de Paris foram feitos somente com 5 e 2 fps. Figura 7. Exemplo em que houve processamento correto sem avanço de semáforo. TABELA I QUANTIDADES DE ERROS E ACERTOS NA DETECÇÃO DE AVANÇO PARA 5FPS Figura 4. Exemplo de simulação em que o semáforo vermelho foi devidamente detectado e o avanço contabilizado. Avanço detectado Avanço não detectado Total Figura 5. Exemplo de simulação em que o semáforo vermelho não foi devidamente detectado. Para o vídeo de Paris, o processamento levou 137 segundos com 5 fps e 58 segundos a 2 fps. A taxa de erros revelou-se extremamente alta com 2 fps, com 9 avanços em apenas 8 semáforos, mas a quantidade de erros ainda foi melhor que os 15 avanços com 5 fps (sendo 8 falsos positivos). Isso deve-se principalmente ao posicionamento da câmera, que é praticamente horizontal. Com isso, várias luzes e elementos vermelhos, como as luzes de outros veículos, por exemplo, são confundidos com luzes de semáforos por estarem na parte superior da imagem, mesmo que não estejam realmente Avanço real 15 Não avanço 0 Total 1 8 9 16 8 15 A configuração com melhor desempenho para o vídeo de Belo Horizonte foi com 5 fps. O vídeo com a taxa de quadros por segundo original (25 fps) tornaria inviável o processamento em tempo real e o vídeo com 2 fps reduz consideravelmente a taxa de detecção de avanço. Um resumo dos resultados com os testes para 5fps é apresentado na Tabela I pelo fato de 5fps apresentar a melhor relação de compromisso entre detecção e taxa de erros. Foi levado em conta o teste geral, incluindo tanto o vídeo com a câmera estática quanto o vídeo da simulação de avanço. Da mesma forma, a Tabela II contém o resultado do processamento incluindo todos os semáforos no vídeo de BRASIL AND MACHADO : AUTOMATIC DETECTION OF RED LIGHT RUNNING benchmark francês. Foram considerados como avanço todos os semáforos que saem pela região superior da imagem como na Fig. 6, que é a característica principal do avanço avaliada pelo algoritmo. Em outras palavras, sempre que o semáforo vermelho sair do campo de visão da câmera pela região superior, um avanço deve ser considerado. Caso contrário, teremos um falso negativo. TABELA II QUANTIDADES DE ERROS E ACERTOS NA DETECÇÃO DE AVANÇO PARA 5FPS PARA O VÍDEO DE BENCHMARK Avanço detectado Avanço não detectado Total Avanço real 7 Não avanço 8 Total 1 9 10 8 17 15 Apenas para teste de desempenho numa possível execução em tempo real, um teste foi feito com o vídeo de Belo Horizonte em resolução 1024x768 com a mesma taxa de 5fps. O tempo de processamento, contudo, foi de 113 segundos para cada minuto de vídeo gravado. O aumento do tempo desproporcionalmente maior do que o aumento de resolução inviabiliza o processamento em tempo em resoluções mais altas. Todavia, Considerando a resolução VGA proposta e o tempo médio de execução de 10,3 segundos por minuto gravado com 5fps, é possível deduzir que se pode aumentar a taxa de quadros para até 20fps e, com isso, a velocidade máxima do veículo poderia chegar próxima de 200Km/h sem grandes impactos na detecção. Essa taxa de atualização (20fps) fica abaixo dos 25fps que, sabidamente, gastariam mais tempo do que a duração do vídeo. IV. CONLUSÕES E TRABALHOS FUTUROS Em Belo Horizonte, menos de 1% dos semáforos tem equipamento para detecção de avanço de sinal vermelho. Com o grande número de infrações por avanço de semáforo todo ano, fez-se necessária uma nova forma de identificar esses avanços nos semáforos não dotados do equipamento adequado para registro. Por esse motivo, este trabalho propos que o monitoramento fosse feito do interior dos veículos de trabalho, não mais nas interseções da via. A proposta parte da utilização de câmeras embarcadas e técnicas de processamento de imagem. As imagens são gravadas com câmera veicular e os vídeos processados posteriormente. A precisão foi satisfatória para vídeos gravados durante o dia desde que a câmera estivesse bem posicionada, além de o tempo de execução ter sido extremamente reduzido, levando menos de 250 segundos para processar 24 minutos de vídeo em 5fps com exatidão superior a 95,8%. A implementação requer ajustes e uma melhor definição de parâmetros para tratar melhor a iluminação e outros elementos na imagem que possam confundir o algoritmo. O tempo de execução é menor do que a duração dos vídeos para o processamento com redução na taxa de quadros/segundo, abrindo possibilidade para processamento em tempo real. Para o vídeo de benchmark, houve muitos falsos positivos 85 pelo mal posicionamento da câmera. Com isso, o uso de uma câmera genérica (usada para outros propósitos) tornou-se um problema, já que o semáforo sai do campo de visão com o veículo ainda muito distante do semáforo. Mesmo com muitos falsos positivos, a taxa de acertos foi de 64% dos semáforos processados corretamente. Devido à impossibilidade de avançar semáforos legalmente e capturar vídeos de testes com estes avanços reais, testes foram realizados com simulação de avanço baseado na movimentação da câmera diante do semáforo vermelho. Os testes tiveram melhor resultados para o vídeo de 5fps, mas ainda assim não detectaram todos os avanços simulados, já que outros elementos vermelhos subiram para a parte superior da imagem e confundiram o algoritmo. A taxa de acerto na simulação chegou a 95,8%, mesmo com o problema de outras luzes e itens vermelhos se colocarem no lugar dos semáforos. Este trabalho traz como contribuição uma nova perspectiva de detecção de avanço de semáforo com a câmera embarcada, independente se o semáforo é ou não monitorado por outras formas de registro de avanço. Trabalhos relacionados encontrados lidam com um ponto fixo da via. Apesar de menos preciso que um detector de avanço fixo na via, ainda sim a solução aparenta ser viável pela flexibilidade de registro de avanço em qualquer semáforo não monitorado. Há vários possibilidades de melhoria na técnica proposta. Com base nos resultados, mostra-se viável o processamento em tempo real com um computador embarcado no veículo ligado diretamente à câmera. Recomenda-se, nesse caso, avaliar-se seu desempenho em um sistema de baixo consumo, tal como um minicomputador baseado em Intel Mini-ITX ou Rapberry Pi, por exemplo, já que este trabalho adotou um computador com processador Core i3. Outra proposta inclui testes com vídeos gravados com uma câmera de melhor qualidade que reduza a distorção de cores, para se comparar o aspecto de acurácia. Há também necessidade de tratar vídeos gravados à noite e com semáforos consituídos por setas luminosas que restringe a circulação somente para determinados veículos, pois esse tipo de abordagem não foi tratado no escopo deste trabalho. Outra possibilidade é o processamento paralelo, o que permitiria utilizar melhor os recursos de um sistema de baixo consumo. Apesar de o vídeo de benchmark [11] utilizado nos testes não ser apropriado pelo posicionamento da câmera, testes com outros vídeos de benchmark devem ser conduzidos. Testes com sistemas de registro de avanço similares podem ser feitos avaliando-se, além de precisão e tempo de processamento, a mobilidade, o custo de implementação e implantação. AGRADECIMENTOS Este trabalho não seria possível sem a Pontifícia Universidade Católica de Minas Gerais pela receptividade e pelo conhecimento à disposição e sem a Capes pela bolsa de estudos que patrocinou a pesquisa. Ficam, portanto, os sinceros agradecimentos. REFERÊNCIAS [1] [2] http://www.em.com.br/app/noticia/gerais/2014/08/21/interna_gerais,560 828/ http://www1.otempo.com.br/otempocontagem/noticias/?IdNoticia=6442 86 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] IEEE LATIN AMERICA TRANSACTIONS, VOL. 15, NO. 1, JAN. 2017 D. L. Cosmo, E. O. T. Salles and P. M. Ciarelli. Detecção de Pedestres Utilizando Descritores de Histogramas de Orientação do Gradiente e Auto Similaridade de Cores. In: IEEE Latin America Transactions, vol. 13, no. 7, 2015. N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In: In CVPR, 2005. p. 886–893. H. Fleyeh. Shadow and highlight invariant colour segmentation algorithm for traffic signs. In: Cybernetics and Intelligent Systems, 2006 IEEE Conference on. [S.l.: s.n.], 2006. N. Fairfield and C. Urmson. Traffic light mapping and detection. Robotics and Automation (ICRA), 2011 IEEE International Conference on. [S.l.: s.n.], 2011. p. 5421–5426. Y. Shen. et al. A robust video based traffic light detection algorithm for intelligent vehicles. Intelligent Vehicles Symposium, 2009 IEEE. [S.l.: s.n.], 2009. p. 521–526. J. Levinson et al. Traffic light mapping, localization, and state detection for autonomous vehicles. In: Robotics and Automation (ICRA), 2011 IEEE International Conference on. [S.l.: s.n.], 2011. p. 5784–5791. N. H. C. Yung and A. H. S. Lai. An effective video analysis method for detecting red light runners. Vehicular Technology, IEEE Transactions on, v. 50, n. 4, p. 1074–1084, 2001. D. Luo, X. Huang and L. Qin. The research of red light runners video detection based on analysis of tracks of vehicles. In: Computer Science and Information Technology, 2008. ICCSIT ’08. International Conference on. [S.l.: s.n.], 2008. p. 734–738. http://www.lara.prd.fr/benchmarks/trafficlightsrecognition http://www.em.com.br/app/noticia/gerais/2015/09/23/interna_gerais,691 393/seis-novos-radares-de-avanco-de-semaforo-entram-em-operacaonesta-quinta-feira-em-bh.shtml J. Canny. A computational approach to edge detection. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, no 6, p. 679698, 1986. G.T. Shrivakshan and C. Chandrasekar. A Comparison of various Edge Detection Techniques used in Image Processing. International Journal of Computer Science Issues, vol. 9, no. 1, 2012. R. O. Duda and P. E. Hart. Use of the Hough Transformation to Detect Lines and Curves in Pictures. In: Comm. ACM, Vol. 15, pp. 11–15, 1972 G. R. Bradski. Computer vision face tracking for use in a perceptual user interface. In: Intel Technology Journal Q2 '98, Citeseer, 1998. Rafael Henrique Brasil, é bacharel em Ciência da Computação e mestre em Engenharia Elétrica, ambos pela Pontifícia Universidade Católica de Minas Gerais. Atua em pesquisa na área de Visão Computacional. Alexei M. C. Machado, recebeu os títulos de Bacharel em Ciência da Computação e Engenharia de Computação pela Pontifícia Universidade Católica de Minas Gerais e de Mestre e Doutor em Ciência da Computação pela Universidade Federal de Minas Gerais, Brasil. Desde 1995 atua como professor em cursos de graduação e pós-graduação nas áreas de visão computacional, inteligência artificial e informática médica.