Baixe o app para aproveitar ainda mais
Prévia do material em texto
Contagem de veículos e determinação de velocidades através de processamento de vídeos Felipe Caleffi Mestre em Engenharia de Sistemas de Transporte. Professor da Faculdades Monteiro Lobato (FATO). Porto Alegre – RS. E-mail: felipe.caleffi@monteirolobato.edu.br Resumo: O processo de planejamento em engenharia de transportes depende muito de dados de fluxo do tráfego. A caracterização do tráfego das vias é peça essencial em qualquer projeto ou obra de transporte. Como as contagens manuais e a instalação de contadores automáticos através de laços indutivos possuem limitações, este artigo apresenta a proposição de um método computacional para contagem e determinação da velocidade dos veículos, através de processamento de vídeos. É proposto um algoritmo capaz de automaticamente reconhecer veículos em um vídeo e posteriormente contabilizá-los, estimando ainda suas velocidades. O algoritmo proposto é baseado no método de background subtraction e posterior rastreamento dos veículos em cada quadro de um vídeo. Resultados indicam um bom desempenho do método. A acurácia, em relação a contagem de veículos, foi de 96,42%. Quanto a determinação da velocidade destes veículos, o erro médio relativo entre as velocidades reais e as obtidas com o algoritmo foi de 4,17%. Palavras-chave: Detecção de veículos; Contagem volumétrica; Rastreamento de veículos; Visão computacional. 1. Introdução A contagem volumétrica de veículos em vias, bem como a determinação das velocidades praticadas por estes veículos é essencial para a área de engenharia de tráfego. A partir dos volumes e velocidades é possível estabelecer parâmetros de operação e desempenho dos diversos tipos de vias e seus dispositivos, tais como: semáforos, rotatórias, alças de acesso, interseções rodoviárias, entre outros (HCM, 2010). No contexto rodoviário, conhecer a densidade do tráfego é de extrema importância. De posse dessa informação, é possível mailto:felipe.caleffi@monteirolobato.edu.br caracterizar o tráfego de uma via, estabelecer tendências de crescimento futuro do tráfego e programar necessidades e prioridades de melhorias no sistema rodoviário. Os meios mais comuns de contagem volumétrica empregados no Brasil são a contagem manual de veículos, onde um observador presente na via realiza manualmente a contagem; e através de contadores automáticos, que são laços indutivos instalados fisicamente nas vias. Estes laços indutivos são capazes também de fornecer a velocidade dos veículos passantes. Os contadores automáticos são onerosos, requerem conexão com fontes de energia e instalação física na via, além de necessitarem de constante calibração. Já o método de contagem manual está sujeito a erros humanos e normalmente é empregada em ocasiões especiais e por um curto período de tempo (HCM, 2010; Sundoro e Harjoko, 2016). Outro método de contagem, baseado na análise automática de tráfego através de câmeras de vídeo, vem sendo empregado nos últimos anos em diversos países. No Brasil, esse método ainda é pouco usado e difundido. Nesse contexto, este artigo tem o objetivo de apresentar as etapas do desenvolvimento de um algoritmo computacional capaz de estimar contagens volumétricas e velocidades de veículos através de câmeras de vídeo. É apresentado também neste artigo uma contextualização, através de estudos similares, dos algoritmos de contagem automática de veículos presentes na literatura. 2. Contextualização No Brasil, os sistemas de monitoramento instalados permanentemente nas vias geralmente utilizam cabos piezoelétricos e laços indutivos, que captam mudanças na indutância de uma bobina enterrada no pavimento quando um objeto metálico (veículo) passa sobre ela. A instalação desses sensores na pista podem apresentar algumas desvantagens, como custos elevados, restrição de monitoramento apenas às áreas de instalação, etc. Como estes equipamentos são embutidos no pavimento, também causam a interrupção das vias para a sua instalação, além de causar eventuais reparos em casos de defeitos (Magalhaes, 2008). A análise automática através de vídeos é um campo de pesquisa emergente, com grande relevância para sistemas de monitoramento de tráfego urbano e rodoviário. Com o avanço da visão computacional, a câmera de vídeo tornou-se um meio promissor e de baixo custo para monitorar os fluxos de veículos. Analisar o tráfego através de câmeras de vídeo oferece diversas vantagens em relação aos outros meios de monitoramento. As câmeras possuem fácil instalação, não causam danos às estradas e possuem custo relativamente baixo de instalação e manutenção se comparado a instalação de laços indutivos (Robert, 2009). Pode-se facilmente também utilizar câmeras já instaladas para outros fins, como câmeras de monitoramento e vigilância. Além disso, elas fornecem uma ampla área de visão, podendo visualizar diversas pistas ao mesmo tempo, permitindo uma melhor análise do fluxo do tráfego, medição de velocidade, contagem de veículos, classificação de veículos e avaliação de rodovias. O monitoramento automático do tráfego é uma fonte rica de informações, e os dados coletados através das câmeras podem ser utilizados para as mais diversas finalidades (Robert, 2009). Apesar de existirem vantagens na utilização de câmeras de vídeo, há também algumas desvantagens. Elas estão sujeitas a vibrações devido ao vento e passagem de veículos pesados. A posição também é um fator importante, pois tem a necessidade de estar posicionada acima da via. Dependendo da posição e ângulo de captura, podem ocorrer oclusões de veículos. Muitas vezes, são aproveitadas câmeras de vigilância que já estavam previamente instaladas e que geralmente não foram originalmente posicionadas ou instaladas com a finalidade de utilizar algoritmos de visão computacional (Magalhaes, 2008). Dentro da visão computacional, uma diferença entre o monitoramento do tráfego e, por exemplo, reconhecimento de objetos genéricos, é que a tarefa de reconhecer um objeto geralmente se concentra em imagens de alta resolução, com poucas restrições sobre o ângulo de visão. Já no monitoramento de tráfego é preciso lidar com um ambiente externo, com mudanças climáticas e de iluminação, câmeras com baixa resolução e uma quantidade limitada de detalhes visuais, além do fato de os veículos andarem muito próximos, que dependendo do posicionamento da câmera, pode favorecer a ocorrência de oclusões (Buch et al., 2011). 3. Estudos Similares na Literatura A detecção de objetos pode ser baseada na modelagem do fundo, que consiste em criar um modelo do fundo estático da cena, chamado background, subtrair o quadro ou frame atual do modelo de background e obter o quadro de diferença. Uma abordagem muito empregada é utilizar a média ou mediana dos n frames anteriores do vídeo para o cálculo do modelo de background (Buch et al., 2011; Sobral e Vacavant, 2014). Métodos baseados em modelos estatísticos e cálculos de probabilidade também são muito utilizados. Calcula-se a probabilidade do pixel da imagem pertencer ao fundo de acordo com o tempo que permanece com a mesma cor ou ainda utilizando Modelo de Misturas de Gaussianas (GMM) para modelar cada pixel do fundo, como introduzido por (Stauffer e Grimson, 1999). O trabalho de (Wang et al., 2008) considera a seleção das Regiões de Interesse (Region of Interest - ROI), através do uso de diversos métodos, como métodos de subtração de quadros e métodos de atualização de um modelo de fundo, como a etapa inicial no processamento de vídeos, em seguida, diversas técnicas podem ser usadas para detectar se existe um veículo na área de interesse, e sugerem que métodos de remoção de sombras devem ser explorados para melhorar a acurácia dos métodos de detecção de veículos. A remoção de sombras também é considerada por (Zhong e Junping, 2008) para melhorar a identificação de veículos e evitar a fusãoindesejada de objetos próximos das sombras. Antes de iniciar o rastreamento dos veículos no vídeo é necessário identificar quais objetos deve-se rastrear, e essa identificação pode ser realizada de diversas maneiras. Entre as mais empregadas estão: a detecção baseada em modelos que utilizam conhecimento prévio do alvo desejado, como cor, tamanho, proporções ou formas pré-definidas (Lai et al., 2010), a utilização de modelos deformáveis, ou seja, baseados em banco de imagens com modelos dos veículos que são deformadas para encaixarem-se nos objetos detectados (Takeuchi et al., 2010), e a utilização de características como cantos e bordas (Tu et al., 2008). A precisão dos algoritmos é sempre um fator muito discutido. É necessário ter um método robusto, capaz de estimar com grande precisão as contagens de volumes e velocidades. Erros percentuais elevados podem levar a resultados não condizentes com a realidade e oferecer poucos benefícios na análise do tráfego. Portanto, ter um algoritmo que ofereça um elevado grau de acurácia é essencial. O trabalho de (Chen et al., 2007) aponta como vantagem do seu algoritmo baseado na modelagem do fundo a precisão do cálculo que atinge 90%. O único inconveniente deste algoritmo é a contagem só pode ser feita durante a tarde. (Rahim et al., 2010) calcula a velocidade do veículo por transformação de uma imagem 2D em imagem 3D para obter a posição do veículo no espaço tridimensional. Este método consiste em processamento de imagem e extração dos centroides dos objetos detectados. As desvantagens deste sistema é que o algoritmo para calcular a velocidade não foi validado com uma velocidade real, de modo que a precisão da velocidade estimada não pode ser determinada. (Nurhadiyatna et al., 2012) aponta que seu método tem uma média de acurácia que varia entre 63% a 99,5%, sendo altamente dependente de condições boas de visibilidade, condições climáticas favoráveis. (Dehghani e Pourmohammad, 2013) usaram o método de subtração do background com estimativa baseada na intensidade do brilho da cor. Usando esse método, objetos na imagem em movimento são sequencialmente detectados e a velocidade final do objeto em movimento é medido com base em cálculos geométricos. O algoritmo foi desenvolvido apenas para condições normais de tráfego. O modelo apresentou um erro de medição em torno de 10%. (Barcellos, 2014) aponta que seu método demonstrou ser eficiente na contagem de veículos utilizando vídeos de tráfego urbano (erro médio de 2,68%), obtendo resultados melhores que os métodos comparativos de (Kim, 2008) e (Sanchez et al., 2011), que indicam, respectivamente, erros de 17,02% e 9,9%. Em seu algoritmo, baseado no método de agrupamento de partículas em movimento, (Bouvié et al., 2013) obteve um erro relativo médio de 4,9% para contagem de veículos. 4. Proposta de Algoritmo para Contagens Volumétricas e Determinação de Velocidades Esta seção apresenta o método de monitoramento de tráfego proposto. São apresentadas cada uma das etapas necessárias para o funcionamento do algoritmo, assim como cada uma das técnicas de processamento de imagens e visão computacional utilizadas no método. Os vídeos para teste e calibração do algoritmo foram obtidos através do banco de dados de vídeos disponível eletronicamente pelo Instituto de Algoritmos e Sistemas Cognitivos da Universidade Karlsruhe – Alemanha. O algoritmo foi desenvolvido para um grupo de vídeos com câmeras fixas posicionadas acima da via, obtendo assim uma visão superior do fluxo do tráfego, durante o período diurno. A Figura 1 ilustra alguns quadros dos vídeos utilizados. Uma câmera de monitoramento de uma rodovia com 5 faixas de tráfego foi utilizada. O trabalho foi desenvolvido utilizando a biblioteca multiplataforma OpenCV (Open Source Computer Vision Library - versão 3.1), juntamente com as linguagens de programação C/C++. Exemplos de quadros do vídeo utilizado Figura 1: O objetivo do algoritmo proposto é realizar a contagem de veículos presentes nos vídeos e determinar suas velocidades. Para isso, foi utilizado o método de subtração do fundo (ou background subtraction - BS), através da biblioteca BGSLibrary (Sobral, 2013), que oferece códigos open source em C++, que permite que os usuários configurem as entradas de vídeo, as regiões de interesse dentro dos quadros e os parâmetros de cada algoritmo de BS. Para usar a biblioteca, é necessário dispor também das bibliotecas do OpenCV instaladas. Podemos dividir o método nas seguintes etapas: inicialização; obtenção da máscara binária ou foreground; detecção de veículos; rastreamento de veículos; e contagem e mensuração das velocidades. 4.1. Inicialização A primeira etapa consiste em definir as regiões do vídeo que serão processadas. Nessa etapa inicial é preciso que um usuário informe a região de interesse (ROI - Region of Interest), traçando duas linhas sobre o quadro do vídeo. Essa ROI serve para delimitar a área de processamento do método, ou seja, o processo de contagem ocorrerá apenas quando os veículos ultrapassarem estas linhas, como ilustrado na Figura 2. Conhecendo-se a distância entre as duas linhas e a diferença de tempo que o veículo leva entre estas duas linhas de contagem, é possível obter a velocidade. Exemplo de linhas de processamento Figura 2: 4.2. Obtenção do foreground e detecção de veículos Em um vídeo capturado por uma câmera estática, o fundo é a região das imagens na qual não ocorrem eventos significativos (ou movimentos). Duas imagens representadas por matrizes de números podem ser subtraídas resultando em uma nova imagem. Tal operação, conhecida como diferença de quadros, é especialmente útil para se descobrir em quais pontos duas imagens são diferentes. Em uma situação de movimentação de objetos, por exemplo, ao se considerar uma fonte de aquisição estática, a diferença de quadros indica os pontos em movimento. Após determinar o movimento, é possível fazer um rastreio deste movimento nos quadros subsequentes (Sobral e Vacavant, 2014). Os modelos de subtração de fundo utilizados para o algoritmo funcionam relativamente bem, porém assumem que cada ponto da imagem é independente dos demais. Com isso, qualquer movimento detectado é considerado um objeto significativo. Portanto, todos os movimentos da imagem são considerados “veículos”. Após realizar o background subtraction, são obtidas as máscaras binárias com os objetos móveis detectados no quadro. Uma máscara binária é obtida utilizando o modelo de misturas de gaussianas (GMM), e os objetos do primeiro plano são representados pelos objetos móveis do quadro que possuem uma cor que difere das cores do fundo da imagem (Stauffer e Grimson, 1999). Após a obtenção desta máscara de foreground, tem-se o início do algoritmo principal, que irá analisar a máscara e o vídeo original para fazer a detecção e rastreamento dos veículos. A Figura 3 apresenta um exemplo de obtenção do foreground para a câmera analisada. O algoritmo, após detectar o movimento, determina a área de movimento. Esta área facilita o rastreamento do veículo, por oferecer uma forma mais precisa de movimento, uma vez que o movimento e o rastreio se dão através da diferença de cores no quadro. Exemplo de detecção de veículos e obtenção do foreground. (a) detecção de Figura 3: movimento; (b) área do movimento 4.3. Rastreamento de veículos e contagem Inicialmente, são lidos um quadro da máscara binária e dois quadros do vídeo, o quadro atual (quadrot) e o quadro seguinte (quadrot+1). Esses dois quadros serão necessários para a obtenção dos vetores de movimento, posteriormente. Esses dois quadros passam por um processo de compensação de cor, calculando-se a cor média do fundo e dos dois quadros, sendo aplicada a devida compensação, como mostra a Figura 3b. É usado um algoritmo próprio para o rastreamento, através da bibliotecacvBlob aplicada também no OpenCV. Esta biblioteca recebe a máscara de foreground e então cria um quadro de contorno e centroides para os veículos detectados. Assim cada objeto em movimento tem seu rastreio próprio dentro do vídeo. Após isso, o algoritmo principal verifica se o centroide de cada veículo ultrapassa as linhas de ROI, computando tais veículos. Quando o centroide de um veículo ultrapassa ambas as linhas, é computada a velocidade, uma vez que é conhecido o tempo de deslocamento entre linhas, bem como a distância. Para fins visuais, o algoritmo criado possui as linhas ROI em cor amarela e o quadro de contorno dos veículos é vermelho. Quando o centroide do quadro vermelho está sob a linha, a mesma passa a ter a cor verde. Este é apenas um indicativo visual de que o centroide do veículo foi contabilizado, como demonstra a Figura 4. Ao final da análise do vídeo, o algoritmo gera um arquivo de dados externo com a velocidade de cada veículo, bem como o tempo de detecção de cada um destes veículos. Exemplo visual das linhas ROI e dos quadros de contorno Figura 4: Este método foi desenvolvido para câmeras de vídeo com ângulos semelhantes ao da imagem da Figura 4. Quanto mais vertical o ângulo, maior é a acurácia do algoritmo. Além desta restrição referente ao ângulo, este algoritmo também foi desenvolvido para períodos diurnos e com boas condições climáticas. Ajustes no algoritmo, buscando o tratamento das imagens para períodos noturnos e em condições de forte chuva ou neblina ainda precisam ser empregados para aumentar a acurácia. A maior dificuldade em analisar vídeos em condições adversas é que as câmeras de vídeo requerem uma qualidade elevada, para possível identificação de movimentos quando as condições de visibilidade estão consideravelmente em patamares inferiores. Como o método desenvolvido considera qualquer movimento como um veículo na via, é importante ao empregar este algoritmo, que as câmeras de vídeo estejam com foco apenas na via, para que apenas veículos sejam identificados (evitando falsos positivos como pedestres ou outros objetos) Para determinação da acurácia deste algoritmo proposto, foram analisados uma hora de vídeo. A acurácia, em relação a contagem de veículos, foi de 96,42%. Quanto a determinação da velocidade destes veículos, o erro médio relativo entre as velocidades reais e as obtidas com o algoritmo foi de 4,17%. 5. Considerações finais Este artigo apresentou um método computacional para contagem automática de veículos e determinação de velocidade através de câmeras de vídeo. Como apontado pelos resultados experimentais, o método comprovou ser eficiente na contagem de veículos utilizando vídeos de tráfego rodoviário em condições de boa visualização dos veículos e também obteve resultados similares a alguns métodos apresentados na literatura. Os algoritmos de contagem de tráfego devem levar em consideração diversos aspectos que permitem diferentes interpretações, como clima, iluminação, objetos parados na via, etc. Assim, é muito difícil um algoritmo de visão computacional levar em conta todas essas variações e definir parâmetros que funcionem em todas as diferentes situações e por isso, muitas vezes se faz necessário desenvolver diferentes algoritmos ou sistemas de monitoramento, que se enquadrem as diferentes condições de análise. Com isso, usualmente são desenvolvidos modelos capazes de analisar com grande grau de precisão as condições mais comuns (períodos sem chuva ou neblina) ou as condições em que o tráfego recebe os elevados volumes (normalmente períodos diurnos). Alguns veículos podem deixar de serem detectados, principalmente os muito pequenos, como motocicletas. Elas trafegam muitas vezes entre o tráfego ou muito próximas de outros veículos, fazendo com que não sejam detectadas (em algumas vezes o algoritmo pode incorporá-las ao veículo ao lado). Além disso, caminhões de elevado comprimento podem não ser detectados corretamente, sendo divididos em dois veículos menores. Estes fatores podem contribuir na redução da acurácia geral do método. Os resultados dos experimentos sugerem que os métodos de contagem, rastreamento e determinação de velocidade dos veículos podem ser incorporados aos sistemas existentes de monitoramento de tráfego. Pretende-se no futuro melhorar o método proposto através do desenvolvimento de novos métodos de detecção de veículos e novas técnicas de rastreamento. Referências Barcellos, P. R. M. (2014) Detecção e Contagem de Veículos em Vídeos de Tráfego Urbano. Dissertação apresentada ao curso de Mestrado em Ciência da Computação da Universidade Federal do Rio Grande do Sul - UFRGS. Bouvié, C., Scharcanski, J., Barcellos, P., e Escouto, F. L. (2013) Tracking and counting vehicles in traffic video sequences using particle filtering. Conference Record - IEEE Instrumentation and Measurement Technology Conference, 812–815. doi:10.1109/I2MTC.2013.6555527 Buch, N., Velastin, S. A., e Orwell, J. (2011) A Review of Computer Vision Techniques for the Analysis of Urban Traffic. IEEE Transactions on Intelligent Transportation Systems, 12(3). doi:10.1109/TITS.2011.2119372 Chen, T.-H., Lin, Y.-F., e Chen, T.-Y. (2007) Intelligent Vehicle Counting Method Based on Blob Analysis in Traffic Surveillance. Second International Conference on Innovative Computing, Information and Control, ICICIC. doi:10.1109/ICICIC.2007.362 Dehghani, A., e Pourmohammad, A. (2013) Single camera vehicles speed measurement. 8th Iranian Conference on Machine Vision and Image Processing (MVIP), 190–193. HCM. (2010) Highway Capacity Manual. Transportation Research Board. Nacional Research Council, Washington, D.C. Kim, Z. (2008) Real time object tracking based on dynamic feature grouping with background subtraction. IEEE Conference on Computer Vision and Pattern Recognition, 1–8. doi:10.1109/CVPR.2008.4587551 Lai, J.-C., Huang, S.-S., e Tseng, C.-C. (2010) Image-based vehicle tracking and classification on the highway. International Conference on Green Circuits and Systems (ICGCS), 666– 670. doi:10.1109/ICGCS.2010.5542980 Magalhaes, H. A. (2008) Análise em alta resolução de perfis magnéticos de sensores a laço indutivo para classificação de veículos automotores. Tese de Doutorado apresentado ao curso de Ciências da Computação da Universidade Federal de Minas Gerais - UFMG. Nurhadiyatna, A., Hardjono, B., Wibisono, A., e Jatmiko, W. (2012) ITS information source: Vehicle speed measurement using camera as sensor. International Conference on Advanced Computer Science and Information Systems (ICACSIS), 179–184. Rahim, H. A., Ahmad, R. B., Zain, A. S. M., e Sheikh, U. U. (2010) An adapted point based tracking for vehicle speed estimation in linear spacing. International Conference on Computer and Communication Engineering (ICCCE), 1–4. doi:10.1109/ICCCE.2010.5556812 Robert, K. (2009) Video-based traffic monitoring at day and night vehicle features detection tracking. 12th International IEEE Conference on Intelligent Transportation Systems. doi:10.1109/ITSC.2009.5309837 Sanchez, A., Suarez, P. D., Conci, A., e Nunes, E. (2011) Video-Based Distance Traffic Analysis Application to Vehicle Tracking and Counting. Computing in Science & Engineering, 13(3), 38–45. doi:10.1109/MCSE.2010.143 Sobral, A. (2013) BGSLibrary: an opencv C++ background subtraction library. IX Workshop de Viso Computacional (WVC’2013). Rio de Janeiro. Sobral, A., e Vacavant, A. (2014) A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos. Computer Vision and Image Understanding, 122, 4–21. doi:10.1016/j.cviu.2013.12.005 Stauffer, C., e Grimson, W. E. L. (1999) Adaptive background mixture models for real-time tracking. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2. doi:10.1109/CVPR.1999.784637 Sundoro, H. S.,e Harjoko, A. (2016) Vehicle counting and vehicle speed measurement based on video processing. Journal of Theoretical and Applied Information Technology, 84(2), 233–241. Takeuchi, A., Mita, S., e McAllester, D. (2010) On-road vehicle tracking using deformable object model and particle filter with integrated likelihoods. IEEE Intelligent Vehicles Symposium (IV), 1014–1021. doi:10.1109/IVS.2010.5548067 Tu, Q., Xu, Y., e Zhou, M. (2008) Robust vehicle tracking based on scale invariant feature transform. International Conference on Information and Automation, 86–90. doi:10.1109/ICINFA.2008.4607973 Wang, G., Xiao, D., e Gu, J. (2008) Review on vehicle detection based on video for traffic surveillance. IEEE International Conference on Automation and Logistics. doi:10.1109/ICAL.2008.4636684 Zhong, Q., e Junping, Z. (2008) Method of removing moving shadow based on texture. Chinese Control and Decision Conference, 2254–2256. doi:10.1109/CCDC.2008.4597724
Compartilhar