Trabalho 1 – Detecção de movimento através de subtração de fundo Visão Computacional e Realidade Aumentada Prof Marcelo Gattass 2007-s02 Trabalho 1 – Detecção de movimento através de subtração de fundo César Palomo 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Motivação Automatização de tarefas como: Vigilância Eletrônica Monitoramento de atividades humanas Análise de multidões Análise de tráfego urbano Detecção de ações potencialmente perigosas Perseguição de objetos de interesse Detecção de silhuetas 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Método 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Etapa 1 – Modelo de fundo Modelo de fundo: usado para diferenciar objetos em movimento do fundo estático Obtenção: por n frames iniciais são calculadas estatísticas (média ou mediana) para os valores dos pixels. Esta medida estatística servirá como modelo do fundo do vídeo Atualização: em intervalos de m frames as estatísticas são recalculadas e o modelo de fundo é atualizado com novos objetos estáticos, seguindo a seguinte fórmula: 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Etapa 2: Segmentação por threshold A cada frame, cada canal do pixel é comparado ao valor correspondente ao modelo de fundo. Se esta diferença ultrapassar um threshold, este pixel é identificado como pertencente a um objeto em movimento (pintado de branco no vídeo de saída) Caso contrário, pixel é identificado como pertencente ao fundo (pintado de preto no vídeo de saída). 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Etapa 3: Identificação de contornos ativos A partir da identificação de cada objeto em movimento, seu contorno é mostrado em destaque Permite rastreamento dos objetos em movimento 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Biblioteca utilizada: OpenCV Biblioteca de visão computacional criada pela Intel Fácil de usar, funciona bem e é cheia de recursos comuns para uso em visão computacional Principais funções utilizadas: cvCaptureFromAVI(): inicializa captura a partir de um arquivo de vídeo cvCaptureFromCAM(): inicializa captura a partir de uma câmera de vídeo cvGrabFrame() e cvRetrieveFrame(): recupera próximo frame cvNamedWindow(): cria uma janela com o nome lógico informado cvCreateImage(): cria uma imagem para manipulação com os parâmetros informados cvShowImage(): mostra a imagem na janela identificada pelo seu nome lógico cvFindContours() e cvDrawContours(): identifica e desenha contornos ativos 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Uso do programa Formato: #T1.exe inputType filePath Exemplos: inputType: câmera (1) ou arquivo AVI (2) filePath: caminho completo do arquivo AVI (usado somente se tipo de entrada for AVI (2) Exemplos: #T1.exe 1 Inicializa captura a partir de uma câmera #T1.exe 2 c:/videos/videoSeg.avi Inicializa captura a partir de um arquivo AVI 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Notas sobre o método utilizado Método com treinamento inicial pode não ser apropriado para algumas aplicações Ruído na captura influencia muito no resultado final de segmentação. Filtros de erosão e dilatação foram usados para tentar minimizar este problema Estratégia de cálculo do modelo de fundo foi utilizar a média/mediana. Métodos estatísticos mais complexos podem ser utilizados para criação e atualização do modelo de fundo com maior sucesso Parâmetros para atualização do fundo podem causar anomalias como: Fantasmas de objetos (quando ALPHA muito grande) Objetos em movimento que se tornem estacionários podem demorar a serem adicionados ao modelo de fundo (quando ALPHA muito pequeno) 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
Referências Página da disciplina: http://www.tecgraf.puc-rio.br/~mgattass/ra/ra.html Enunciado do trabalho: http://www.tecgraf.puc-rio.br/~malf/ra/ OpenCV: http://www.cs.iit.edu/%7Eagam/cs512/lect-notes/opencv-intro/opencv-intro.html Piccardi 2004 “Background subtraction techniques: a review” Cucchiara et al 2003 “Detecting Moving Objects, Ghosts, and Shadows in VideoStreams” Haritaoglu, I., Harwood, D. and Davis, L. S. "W4: real-time surveillance of people and their activities" 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br
? Perguntas César Palomo cpalomo @ inf . puc-rio . br 20/08/07 Visão Computacional e Realidade Aumentada César Palomo – cpalomo @ inf . puc-rio . br