PDF Full-Text

Propaganda
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.
Download