Aleph: Sistema de Monitoramento Visual de Pessoas

VN:RO [1.9.11_1134]
domingo, 14 d novembro d 2010
Por Rafael Ivan Garcia, Coop10

O que é o projeto?

Um sistema de monitoramento é um sistema capaz de observar e interpretar acontecimentos. Esses acontecimentos podem ser capturados em vídeos, imagens, textos ou em qualquer meio de representação de informações. O uso de um sistema dessa natureza permite que ações sejam monitoradas e previsões sobre futuras ações sejam realizadas o que auxilia a tomada de decisões.
O Aleph é um sistema de monitoramento visual com o propósito de utilizar técnicas e algoritmos de visão computacional para criar um sistema capaz de detectar e rastrear pessoas em vídeos, armazenando suas rotas e produzindo mapas de calor e reproduções de suas movimentações. Ele funciona para ambientes fechados com pouca variação de luz, com uma câmera de vídeo estacionada, e com imagens em que corpos inteiros de pessoas aparecem.

Aplicações

Sistemas com o Aleph têm surgido com grande importância em empresas e indústrias que precisam monitorar e analisar seus processos de negócio.

Lojas de shoppings de todo o Brasil já são interessadas nessa tecnologia; elas possuem câmeras que registram a movimentação das pessoas e alimentam sistemas que analisam, por exemplo, as áreas de maior fluxo de consumidores para entender melhor os hábitos de consumo.

Além disso, existe demanda por sistema inteligentes de vigilância para detecção e rastreamento de indivíduos em áreas restritas de determinados ambientes controlados.

A tecnologia por trás do Aleph

Para construir este sistema, foram utilizadas tecnologias de visão computacional, uma ciência que estuda meios para que máquinas possam enxergar. Através de técnicas e métodos dessa ciência, sistemas artificiais podem extrair informações de imagens capturadas por câmeras e traduzi-las para serem compreendidas por seres humanos ou utilizá-las em sistemas de controle.
Sistemas de monitoramento de câmera única embasados em técnicas de visão computacional geralmente podem ser divididos em dois grandes módulos: o primeiro, detecção, é responsável por identificar a presença de objetos de interesse (neste caso, pessoas) nas imagens capturadas e definir as posições deles nas cenas; o segundo, rastreamento, conhecendo tais informações, deve executar o rastreamento dos alvos e manter o controle de suas trajetórias no decorrer da cena.
Para extrair o máximo de qualidade do sistema de monitoramento, é essencial que a arquitetura estabeleça uma forma para que estes módulos operem em sincronia. Assim como o módulo de rastreamento utiliza as informações geradas pelo detector de pessoas, os dados de rastreamento gerados pelo rastreador são realimentados no módulo de detecção de pessoas, para que este tenha uma fonte adicional de informação e possa ajustar a sua forma de trabalho.

Módulos principais do Aleph

Em linhas gerais, a interface entre esses dois sistemas são as posições das pessoas existentes na cena em análise. O detector de pessoas envia as posições medidas para o rastreador, que, após executar as rotinas de rastreamento e calcular as previsões de movimento, responde com as posições previstas para a cena seguinte.
As principais técnicas de visão computacional utilizadas neste trabalho são: modelagem e subtração de fundo, operações morfológicas, suavização de imagens, análises de histogramas e aplicações do filtro de partículas condensation.
O Aleph foi implementado essencialmente nas linguagens de programação Python e C++, usando a biblioteca de processamento de imagens em tempo real OpenCV, originalmente desenvolvida pela Intel.
Maiores informações e detalhes teóricos da tecnologia podem ser encontrados na monografia, disponível no final deste post.

Do que o Aleph é capaz?

Para ilustrar o funcionamento do Aleph, pode-se considerar o frame abaixo, correspondente a uma filmagem do hall de entrada do prédio da Engenharia Elétrica da Escola Politécnica da USP.

Abaixo está mostrado o modelo de fundo (frame em que não existe nenhuma pessoa) utilizado para este vídeo:
Com base no modelo de fundo e no frame a ser processado, o Aleph realiza a subtração do fundo, aplica operações morfológicas de abertura e fechamento e suaviza a imagem, de maneira a obter a imagem a seguir, na qual as manchas brancas (foreground) indicam áreas em que existe movimento.
Estas áreas nas quais há constatação de movimentação são analisadas na tentativa de identificar o padrão de uma pessoa. A figura que segue mostra os alvos detectados no frame em processamento:
Processando o vídeo completamente, o Aleph gera uma mapa de calor que retrata as áreas de maior fluxo de pessoas. Para a situação do hall do prédio da Engenharia Elétrica, o seguinte mapa foi obtido:
Mapa de Calor Resultante - Hall da Elétrica
O vídeo a seguir mostra um trecho do vídeo em questão processado pelo Aleph:

Em outro exemplo, com as imagens do PETS 2006, o Aleph obteve o resultado que pode ser visualizado no vídeo e na imagem do mapa de calor abaixo:

Mapa de Calor Resultante - PETS2006

Como último exemplo, podemos ver no vídeo abaixo o filtro de partículas estimando a posição da pessoa na imagem quando foi simulada uma oclusão, momento em que o identificador desaparece e temos apenas o ponto laranja que designa onde o algoritmo acredita que a pessoa estaria.

 

Ambiente de simulação 3D

Enquanto analisa os vídeos, o Aleph popula um banco de dados com as posições de cada uma das pessoas, associando-as aos frames do vídeo. Desta maneira, seria possível utilizar esses dados para reconstruir a movimentação em um ambiente de simulação tridimensional.
Para ilustrar, foi desenvolvido um protótipo de ambiente de simulação 3D que usa os dados do monitoramento do Aleph, com a colaboração dos alunos Thiago Dias Pastor e Bruno Duarte Correa, que ajudaram em uma integração do Aleph com o sistema desenvolvido por eles em seu TCC.
O vídeo a seguir mostra uma reprodução em 3D da movimentação de uma pessoa em um ambiente fictício.

Para tornar a simulação mais realista, seria necessário modelar em três dimensões o ambiente filmado, e utilizar esta modelagem como ambiente de simulação.


Este projeto foi desenvolvido como trabalho de formatura dos formandos do curso cooperativo de Engenharia de Computação:
  • Alison Akio Paulo Miazaki
  • Filipe Morgado Simões de Campos
  • Rafael Barbolo Lopes
  • Rafael Ivan Garcia

A monografia que explica todos os aspectos do sistema e apresenta discussões dos resultados obtidos pode ser baixada aqui e o pdf da apresentação do projeto para a banca aqui.

Orientação:
Professora Anna Helena Realli Costa
LTI – Laboratório de Técnicas Inteligentes
Escola Politécnica da Universidade de São Paulo
Departamento de Engenharia de Computação e Sistemas Digitais

“O que a eternidade é para o tempo, o Aleph é para o espaço.” – Borges

VN:F [1.9.11_1134]
Rating: 4.0/5 (3 votes cast)
Aleph: Sistema de Monitoramento Visual de Pessoas, 4.0 out of 5 based on 3 ratings
Related Posts with Thumbnails

Tags: , , , , , , , , , , , , , ,

3 Comentários para “Aleph: Sistema de Monitoramento Visual de Pessoas”

  1. Nosso projeto recebeu Menção Honrosa!!! :) :)

    VN:F [1.9.11_1134]
    Rating: +2 (from 2 votes)
    #334
  2. Marcelo Gomes

    Senhores, parabéns pelo trabalho.
    Estou desenvolvendo um sistema semelhante, mas o meu piloto é rastrear um rato em um espaço, e verificar sua velocidade média, km / metros percorridos. Vocês sugerem alguma bibliografia? vi que a questão de visão computacional é bem complexa, conforme a matéria acima, se eu focar em detecção, rstreamento e monitoramento consigo chegar onde quero?

    muito obrigado desde já.

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #537
    • Olá Marcelo!
      Visão computacional é bastante dependente do que especificamente você que fazer, com que precisão e como são as imagens que vc vai ter para analisar. Então, para poder te ajudar melhor eu precisa de mais detalhes.
      Mas enfim, respondendo suas duas questões, sobre a bibliografia, sugiro que você comece lendo a monografia do nosso trabalho (tem o link para ela no final do artigo). Acredito que ela explica bastante coisa, mas sem ser exageradamente técnica/formal. Então, como leitura inicial, seria uma boa. Mas tudo depende de como você vai rastrear o ratinho. Se você for rastrear usando cores também, sugiro que, para começar, de uma olhada nesse post aqui do blog: http://www.bitabit.eng.br/2011/02/28/como-rastrear-faces-em-videos/. Uma outra fonte, também sem muito exagero formal, seriam os livros do OpenCV (http://opencv.willowgarage.com/wiki/OpenCVBooks). Se você quiser um “livro de verdade”, sugiro esse(http://szeliski.org/Book/) que da para pegar no site do professor que o escreveu sem custo nenhum. Ou então, claro, artigos acadêmicos. Aí vc os buscaria já direcionado no que vc vai usar de fato no seu projeto.
      Sobre as três palavras que você usou, sim você vai chegará lá. Só não esqueça que existem várias maneiras de detectar, rastrear e monitorar coisas… você terá q escolher uma técnica para cada etapa do seu projeto.
      Abraços

      VN:F [1.9.11_1134]
      Rating: +1 (from 1 vote)
      #538

Deixe um Comentário

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes