SISTEMA DE ANÁLISE DE VÍDEO EM TEMPO REAL NA DETECÇÃO DE PADRÕES DE MOVIMENTO Davi Alberto Sala, Adriane Parraga e Letícia Vieira Guimarães Universidade Estadual do Rio Grande do Sul RESUMO Uma das seções mais ativas nos campos de pesquisa da área de visão computacional é a segurança eletrônica, onde o processamento de vídeo em tempo real necessita ser eficaz e rápido. Com a rápida evolução e baixo custo de hardware, é possível a criação de sistemas mais inteligentes. Para estes sistemas, a segmentação e análise do movimento são essenciais. O movimento é uma informação importante em sequências de imagens, indicando a dinâmica na cena apontada pela diferença espacial entre os objetos deslocados. Porém a tarefa de análise de movimento permanece um desafio e um problema fundamental em visão computacional devido à complexidade que a cena apresenta. É possível extrair várias características importantes a partir do movimento de um objeto, como a direção, velocidade média e velocidade instantânea. A partir das características extraídas, pode-se rastrear e reconhecer padrões de movimento. Neste artigo, serão implementados métodos para a criação de um sistema capaz de rastrear e classificar o movimento de objetos em tempo real. Os métodos utilizados foram o fluxo óptico para a detecção dos vetores de movimento e para a remoção de ruídos foram utilizados filtros e subtração de fundo. O método de subtração de fundo foi o que apresentou o melhor desempenho em termos de velocidade. PALAVRAS CHAVE Segurança, detecção de movimento, fluxo óptico, opencv, segmentação. 1. INTRODUÇÃO Vigilância eletrônica é a observação de pessoas, carros, animais e outros objetos de relevância, em tempo real, com a descrição de suas atividades e interações e a respectiva classificação de seu potencial de periculosidade (Nascimento et al. 2005). O desenvolvimento de sistemas de monitoramento automático de movimentos em vídeo tem crescido muito nos últimos anos. Em (Mueller et al. 2013) é proposto o uso de visão computacional baseado em fluxo óptico para a detecção de chamas para a prevenção de destruição de bens materiais e humano. Em (Feng-Li et al., 2013) é proposto o uso de câmeras em rede para fornecer a segurança pública. Porém, devido à grande quantidade de dados e considerando transmissão em tempo real de banda limitada, é proposto um método de seleção dos dados das câmeras que serão enviados para uma central. Câmeras de segurança são instaladas em todo lugar. E por isso, a vigilância eletrônica tem se tornado um dos campos de pesquisa mais ativos na área de visão computacional e processamento de sinais (Liang Wang et al., 2003). Com o baixo custo de câmeras de segurança, hoje, é comum ter várias câmeras espalhadas em centros comerciais, bancos, condomínios e outros locais com alta circulação de pessoas, porém, esse grande número de câmeras instaladas excede a capacidade humana de rastreá-las adequadamente, assim, não aproveitando completamente o potencial disponibilizado por todo esse equipamento instalado. Assim as imagens das câmeras tornam-se apenas ferramentas para auxiliar na investigação policial após o crime ou acidente ter ocorrido. O objetivo deste trabalho é desenvolver um sistema capaz de identificar situações de risco em tempo real para então emitir sinais de alerta para que as ações necessárias sejam tomadas. Para alcançar este objetivo, serão utilizados vários métodos de processamento de imagem, como aplicação de filtros e subtração de fundo para remoção de ruído e o estudo e análise do fluxo óptico para a detecção de análise do movimento. 228
Conferência IADIS Ibero-Americana Computação Aplicada 2013 2. MATERIAIS E MÉTODOS Neste trabalho serão apresentados os resultados das aplicações do fluxo óptico para detecção do movimento em vídeo em tempo real. Para isso, serão utilizados uma câmera comum para obtenção das imagens, a linguagem de programação c++, a biblioteca de computação visual opencv para as funções de processamento de imagem e o framework Qt para implementação da interface gráfica. O diagrama de blocos apresentado na Figura 1 representa o fluxo de desenvolvimento e funcionamento do sistema. 2.1 Aquisição do Sinal Figura 1. Diagrama representando o fluxo de desenvolvimento do sistema O sistema é capaz de capturar imagens a partir de câmeras USB, também é possível adquirir imagens a partir de um stream de vídeo online, como, por exemplo, o vídeo gerado por câmeras IP, e por fim pode-se também obter as imagens diretamente de um arquivo de vídeo. 2.2 Segmentação dos Objetos O fluxo óptico é calculado a partir de uma sequência de imagens, porém a quantidade de ruído presente nas imagens dificulta consideravelmente o resultado obtido. Por isso é necessário um pré-tratamento das imagens. Neste caso o ruído é definido como qualquer a alteração na cena que não corresponda a um objeto de interesse em movimento, como alteração na iluminação, interferências causadas pelo software ou hardware da câmera, perdas de qualidade na compressão da imagem, entre outros fatores. A eliminação de ruído em imagens utilizando filtros de suavização, como filtros gaussianos e de mediana, acaba sendo um processo demorado e com resultados pouco satisfatórios. Como alternativa à aplicação de filtros, foi utilizado o método da subtração de fundo adaptativa, que consiste em determinar um fundo para a cena, onde mudanças de cada quadro analisado também são incluídas para a cálculo do fundo da cena, criando assim um fundo que se adapta a cena atual, fazendo com que novos objetos estáticos e alterações permanentes no ambiente se incorporem ao fundo (KaewTraKulPong and Bowden, 2011). 2.3 Fluxo Óptico Fluxo óptico é definido como a distribuição 2D do vetor de velocidade aparente entre os pixels de quadros consecutivos (Smith, 1998) e pode ser utilizado para descrever uma movimentação de objetos numa sequência de imagens. O fluxo óptico (Shui-gen et al., 2011) foi desenvolvido para detectar objetos em movimento em uma sequência de imagens. 229
Seja uma imagem em movimento dada por I(x,y; t), onde (x; y) são as coordenadas de um pixel na imagem I e t é o tempo. A hipótese do fluxo óptico é que a intensidade dos pixels na imagem é preservada no movimento ou que a imagem pouco se mexeu de um quadro para outro. Assume-se então que a intensidade da imagem em movimento permanece constante (Horn; Schunck, 1981), de forma que: I( x, y, t) I( x dx, y dy, t dt) (1) Aplicando-se a regra da cadeira na equação (1), chega-se na equação de restrição do fluxo óptico, conforme a equação (2): I. v I 0 (2) Onde t I I I, é o gradiente da Imagem I e x y v,, é o vetor de movimento que se busca. x y t t Somente a equação de restrição não é suficiente para estimar os componentes de, pois não é possível resolver a equação diretamente, pois se tem duas incógnitas. Existem vários métodos propostos para a resolver desta equação, entre eles, o escolhido foi o método Lucas-Kanade (Lucas and Kanade, 1981), onde se assume que a movimentação num espaço curto de tempo ocorre é pequena e ocorre o deslocamento de um grupo de pontos e não somente do ponto. Portanto, todos esses pontos possuem o mesmo vetor de velocidade e sendo assim, é possível montar um sistema entre as equações de fluxo de todos estes pontos para descobrir o vetor do fluxo óptico. A Figura 2 mostra a aplicação do fluxo óptico utilizando o método de Lucas-Kanade, onde em (a) tem-se duas imagens de um círculo sendo deslocado para a direita e em (b) o resultado obtido. (b) Figura 2. Exemplo da aplicação do fluxo óptico aplicada em um par de imagens (a) Imagens de um círculo deslocado para a direita e (b) vetores do fluxo óptico aplicado entre as imagens. 2.4 Extração de Características (a) Com os vetores obtidos com a aplicação do fluxo óptico é possível inferir certos aspectos da cena, como, por exemplo, velocidade instantânea dos objetos de interesse. Tendo um conhecimento prévio do ambiente também é possível estimar a direção do objeto no espaço 3D. A quantidade de vetores disponíveis após o cálculo pode ser relativamente grande comparado com o tempo de computação disponível para uma aplicação em tempo real, então, para garantir um desempenho melhor do sistema, torna-se necessário selecionar os vetores que melhor representam a movimentação do objeto. A filtragem dos vetores é necessária, pois é possível a obtenção de vetores falsos, que são considerados como ruído, definidos como todos os vetores que não representam a real movimentação do objeto, como, por exemplo, os vetores provenientes da rotação das rodas de um carro em um ambiente externo, ou do movimento natural do braço que se movimenta para frente e para trás enquanto a pessoa caminha apenas em uma direção. Para esta filtragem, levam-se em conta vários fatores, como quantidade de vetores do objeto em questão, direção sentido e módulo da maioria dos vetores e estado anterior do objeto. Feita esta filtragem, os vetores de interesse podem ser analisados para a extração de características e classificação. 230
Conferência IADIS Ibero-Americana Computação Aplicada 2013 2.5 Classificação do Movimento A partir dos vetores de velocidade é criado um vetor de características que será utilizado para efetuar a classificação. Com estes vetores é possível rastrear o objeto de interesse e reconhecer certos padrões de movimentos já determinados conforme o ambiente, classificando assim o potencial de perigo de cada situação. Após a criação do vetor de características, que representam o movimento em uma determinada cena, este deve ser classificado. Entre os métodos de classificação existentes, será utilizada uma rede neural artificial (Muller, 2013). Quando o sistema detectar uma situação de risco, um sinal será enviado para que a atenção do observador seja voltada para aquela cena. O sistema terá uma interface gráfica onde é possível definir situações de risco, como por exemplo, movimento mais rápido que a maioria dos objetos em movimento no local, acesso a áreas restritas, movimentações fora do horário estabelecido, entre outros. 3. RESULTADOS PARCIAIS A implementação do sistema se encontra na fase de extração de características, onde já é possível determinar velocidade, direção e estimar uma distância do objeto em relação à câmera no ambiente. Inicialmente foram utilizados filtros passa baixa para suavizar a quantidade de ruídos presentes nas imagens, porém como a aplicação filtros sucessivos requer uma quantia de tempo grande para ser realizada, outra solução foi necessária. O método da subtração de fundo provou-se mais robusto e rápido tanto em relação ao tempo de processamento quanto aos resultados. A comparação de tempo de processamento entre os diferentes métodos de remoção de ruídos pode ser observada na tabela 1. A média de quadros por segundo é o principal fator para a escolha do método escolhido, porém é necessário levar em conta o número de recálculos feitos para os pontos de referência do fluxo óptico. Uma vez que o fluxo óptico não é calculado para toda a imagem, e sim apenas para alguns pontos, deixando assim o cálculo do fluxo óptico mais rápido. Um número elevado de recálculos significa que o objeto não possui mais uma quantidade de pontos rastreáveis suficientes e é necessário obter novos pontos, podendo perder assim algumas informações sobre o objeto. Tabela 1. Comparação de desempenho entre a aplicação de filtros e a utilização da subtração de fundo. Método utilizado Média de quadros processados Número de recálculos por segundo Filtro Gaussiano 58 33 Filtro de mediana Filtro Gaussiano e de mediana 22 20 28 28 Subtração de fundo 32 12 A subtração de fundo além de apresentar um bom resultado em comparação à aplicação de filtros, também deixa os objetos separados da cena, auxiliando no processo de segmentação dos objetos da cena. 4. CONCLUSÃO E TRABALHOS FUTUROS Através dos estudos e experimentos realizados pode-se constatar que é possível, com o poder computacional atual, rastrear e classificar objetos em movimento em tempo real. Ainda é possível afirmar que a classificação e rastreamento do movimento serão realizáveis a partir do momento em que os resultados obtidos na extração de características sejam satisfatórios. O Método de subtração de fundo apresentou um bom desempenho no auxílio dos vetores de movimento, juntamente com o Fluxo óptico. Como o objetivo final do trabalho é a classificação do tipo de movimento, os resultados com método de Kanade foram satisfatórios. Contudo, o diferencial deste trabalho é que os vetores de velocidade são estimados nos contornos dos objetos segmentados, e não na imagem toda. Isso faz com que o método seja rápido e preciso. 231
As próximas etapas consistem em implementar uma rede neural para a classificação do tipo de movimento encontrado numa cena, e também o aperfeiçoamento dos métodos já utilizados para a obtenção de melhores resultados. A classificação do movimento neste caso será o principal ponto de estudo, pois a partir do momento em que a extração das características foi realizada com sucesso, é necessário um estudo e comparação dos vários métodos para classificação de características possíveis. REFERÊNCIAS Feng-Li Lian, Yi-Chun Lin, Chien-Ting Kuo, and Jong-Hann Jean, 2103. Voting-Based Motion Estimation for Real-Time Video Transmission in Networked Mobile Camera Systems. IEEE Transactions on Industrial Informatics, VOL. 9, NO. 1, February 2013. Horn, b. K.; schunck, b. G. 1981. Determining optical flow. Artificial Intelligence, v.17, p.185 203 KaewTraKulPong, P. and Bowden, R., 2011. An Improved Adaptive Background Mixture Model for Realtime Tracking with Shadow Detection. In Proc. 2nd European Workshop on Advanced Video Based Surveillance Systems, AVBS01. Sept 2001. Liang Wang, Weiming Hu, and Tieniu Tan, 2003. Recent developments in human motion analysis. Pattern Recognition. Lucas B. D. and Kanade T., 1981. An iterative image-registration technique with an application to stereo vision. In DARPA Image Understanding Workshop. Mueller, M. ; Karasev, P. ; Kolesov, I. ; Tannenbaum, A. 2013. Optical Flow Estimation for Flame Detection in Videos. Image Processing, IEEE Transactions on Volume: 22, Issue: 7. Page(s): 2786-2797 Nascimento, J. C. and Figueiredo, M. A. T. and Marques, J. S. 2005. Motion segmentation for activity surveillance. In 1st Workshop on Systems, Decision and Control Robotic Monitoring and Surveillance, Lisbon. Shui-gen Wei, Lei Yang, Zhen Chen, Zhen-feng Liu 2011, Motion Detection Based on Optical Flow and Self adaptive Threshold Segmentation, Procedia Engineering, Volume 15, 2011, Pages 3471-3476, ISSN 1877-7058, 10.1016. Smith S. M., and Brady J. M. et al, 1995. Asset-2: Real time motion segmentation and shape tracking. IEEE Transactions on Pattern Analysis and Machine Inteligence, 17(8). 232