segmentação, rastreamento de objetos e detecção de eventos primitivos com aplicação no...
TRANSCRIPT
Segmentação, Rastreamento de Objetos e Detecção de Eventos Primitivos com Aplicação no Monitoramento Automático de Ações Humanas em Vídeo
Dissertação de Mestrado
Aluno: Bruno Costa
Orientador: Herman Gomes
COPIN/CEEI/UFCG 30/10/2008
Roteiro
Introdução Detecção de Movimento Rastreamento Detecção de Ações Arquitetura Proposta e Modelagem Bases de Dados e Experimentos Conclusões e Trabalhos Futuros
30/10/2008 2© Bruno Alexandre Dias da Costa
Introdução
Introdução
Motivações
Uso de vídeo se tornou algo ubíquo
Aumento no uso de sistemas de monitoramento devido a problemas violência, atos de vandalismo, roubos e atentados terroristas
Grandes volumes de vídeos em sua maioria nunca assistidos
Necessidade de análise de vídeos é primordial, tanto do ponto de vista pragmático como acadêmico
30/10/2008 4© Bruno Alexandre Dias da Costa
Introdução
Motivações
Novo domínio de aplicações (looking at people):
Monitoramento de Vídeo (Surveillance) Análise de Movimento Realidade Virtual Controle e Automação Interfaces Avançadas Compressão de Vídeo
30/10/2008 5© Bruno Alexandre Dias da Costa
Introdução Motivações
Surgem diversos projetos em Monitoramento de Vídeo
PFinder - http://vismod.media.mit.edu/vismod/demos/pfinder VSAM – http://www.cmu.edu/~vsam W4 – http://www.umiacs.umd.edu/~hismail/W4_outline.htm ADVISOR – http://www-sop.inria.fr/ADVISOR CAVIAR – http://homepages.inf.edu.ac.uk/rbf/CAVIAR
30/10/2008 6© Bruno Alexandre Dias da Costa
Introdução
Problemas Armazenamento desnecessário de grandes quantidades de
vídeo Inspeção/Monitoramento manual e contínuo de vídeo é
despendioso
Soluções
Armazenar apenas o necessário Notificar os acontecimentos de maneira automática e em
tempo hábil
30/10/2008 7© Bruno Alexandre Dias da Costa
Introdução
Sistemas de Vigilância Automática
Desafios Gerais
Detectar Rastrear Interpretar
“Quando vemos uma pessoa em movimento, nossos olhos a rastraeiam; então, pela análise das posturas que essa pessoa assume, nosso cérebro reconhece o comportamento dela” (Utsumi, 2003)
30/10/2008 8© Bruno Alexandre Dias da Costa
Introdução
Sistemas de Vigilância Automática
Detecção de Mov.
Rastreamento
Sequência lógica dos módulos
Nív
el d
e ab
stra
ção
Classificação
(Regiões de mov.)
(Objeto, trajetória)
(Ação/evento/comportamento)
30/10/2008 9© Bruno Alexandre Dias da Costa
Introdução
Objetivos
Viabilizar as soluções para os problemas citados através da visão computacional
Metodologia
Revisar técnicas tradicionalmente utilizadas Destacar as principais dificuldades e tendências Desenvolver um protótipo de sistema que seja capaz de
detectar remoção ou abandono de objetos em ambientes monitorados
30/10/2008 10© Bruno Alexandre Dias da Costa
Introdução
Relevância
Sistemas automáticos devem requerer a atenção humana somente quando necessário
Monitoramento manual e contínuo de fluxo de vídeo além de estar sujeito à falhas, consome tempo valioso
Detectar objetos abandonados é importante, pois podem representar riscos
Proteger objetos contra remoção sem a devida permissão
30/10/2008 11© Bruno Alexandre Dias da Costa
Detecção de Movimento
Detecção de Movimento
Características Objetos alvo Modelo de segmentação Processamento Pós-segmentação Classificação de objetos Entrada: sequência de imagens capturadas Saída: Imagens binarizadas, objetos alvo
Desafio Adaptar-se às mudanças de background
30/10/2008 13© Bruno Alexandre Dias da Costa
Detecção de Movimento
Exemplo
30/10/2008 14© Bruno Alexandre Dias da Costa
Detecção de Movimento
Modelos de Segmentação
Subtração de Imagem (Siebel, 2003) Estatísticos (Haritaoglu, 2000) Diferença Temporal (Lipton, 2000) Fluxo Óptico (Wang, 2003)
30/10/2008 15© Bruno Alexandre Dias da Costa
Detecção de Movimento
Processamento Pós-Segmentação
Remoção de Sombras (Jacques, 2005)
Regiões sombreadas são semelhantes ao background, com uma diferença de iluminação
Remoção de Ruído (Gonzalez, 2002) Remoção de regiões muito pequenas Filtros de suavização Erosão/Dilitação
Detecção de Regiões Conectadas (OpenCV)
30/10/2008 16© Bruno Alexandre Dias da Costa
Detecção de Movimento
Processamento Pós-Segmentação - Exemplos
30/10/2008 17© Bruno Alexandre Dias da Costa
Detecção de Movimento
Processamento Pós-Segmentação - Exemplos
30/10/2008 18© Bruno Alexandre Dias da Costa
Detecção de Movimento
Processamento Pós-Segmentação - Exemplos
30/10/2008 19© Bruno Alexandre Dias da Costa
Rastreamento
Rastreamento
Características Algoritmo de rastreamento Entrada: objetos segmentados Saída: objetos rotulados
Objetivo Estabelecer relações temporais entre objetos alvo de
quadros de vídeo consecutivos Desafios
Tratamento de oclusão (junção e divisão de objetos) Rastreamento multi-câmera
30/10/2008 21© Bruno Alexandre Dias da Costa
Rastreamento Modelos de Algoritmos – Correspondência de características
Iterar entre os objetos de quadros consecutivos comparando os vetores de características calculados
Exemplos
Altura Largura Área Perímetro Retângulo mínimo Compactação Regularidade
30/10/2008 22© Bruno Alexandre Dias da Costa
Modelos de Algoritmos – Filtro de Kalman (Welch, 1995)
Conjunto de equações matemáticas Composto de duas etapas: predição e correção
Rastreamento
Predição Correção
30/10/2008 23© Bruno Alexandre Dias da Costa
Detecção de Ações
Detecção de Ações
Características
Classificação de dados com características que variam no tempo
Entrada: objetos rastreados
Saída: depende da aplicação (alarmes ao operador)
Classificador Tradicional Simples heurísticas
30/10/2008 25© Bruno Alexandre Dias da Costa
Detecção de Ações
Classificadores
Tradicionais
Hidden Markov Model (Ohya, 1992) Template Matching (Polana, 1994) Redes Bayesianas (Ribeiro, 2005) Redes Neurais (Lin, 1999)
Heurísticas
Conjuntos de restrições simples (Rincón, 2006)
30/10/2008 26© Bruno Alexandre Dias da Costa
Arquitetura e Modelagem
Arquitetura Proposta
30/10/2008 28© Bruno Alexandre Dias da Costa
Arquitetura Proposta
Sistema de Vigilância Automática
Módulos Implementados Detecção de Movimento Rastreamento Deteção de Abandono e Remoção de Objetos
Ferramentas de Implementação Linguagem C Ambiente Eclipse + Plugin CDT Bibliotecas: OpenCV, FFMPEG
30/10/2008 29© Bruno Alexandre Dias da Costa
Modelagem do Sistema
Sistema de Vigilância Automática
30/10/2008 30© Bruno Alexandre Dias da Costa
Modelagem do Sistema
Detecção de Movimento – visão geral
Modelos Implementados Bimodal (W4) M. de Gaussianas (GMM)
30/10/2008 31© Bruno Alexandre Dias da Costa
Modelagem do Sistema
Rastreamento
Algoritmos Implementados
Algoritmo Estratégia Detecção de Oclusão/Junção
Tratamento de Oclusão/Junção
Detecção de Divisão
Algoritmo 1 Similaridade de vetor de
características.
Sim Não. Atribui ao objeto resultante o
rótulo do maior objeto em oclusão.
Sim.
Algoritmo 2 Similaridade de vetor de
características e Filtro de Kalman.
Sim Sim. Utiliza a predição da
posição do objeto.
Sim.
30/10/2008 32© Bruno Alexandre Dias da Costa
Modelagem do Sistema
Rastreamento – visão geral
30/10/2008 33© Bruno Alexandre Dias da Costa
Modelagem do Sistema Rastreamento – Algoritmo 1 (Amer, 2005)
Mantém duas listas de objetos (Grafo bipartido) Itera entre objetos das duas listas
Compara vetores da características Associa objetos similares
Verifica ocorrência de oclusão/junção Objeto resultante recebe rótulo do maior objeto de oclusão
Verifica ocorrência de divisão de objetos Maior objeto resultante recebe rótulo de objeto dividido
Atualiza propriedades dos objetos
30/10/2008 34© Bruno Alexandre Dias da Costa
Modelagem do Sistema Rastreamento – Algoritmo 2 (Algoritmo 1 + Filtro de Kalman)
Aplica equações de predição Itera entre objetos das duas listas
Compara vetores da características Associa objetos similares (incluindo predição)
Verifica ocorrência de oclusão/junção Objetos em oclusão são mantidos no rastreamento
Verifica ocorrência de divisão de objetos Atualiza Propriedades dos Objetos
Objetos em oclusão são atualizados com predição
30/10/2008 35© Bruno Alexandre Dias da Costa
Modelagem do Sistema Detecção de Eventos – Algoritmo original proposto
30/10/2008 36© Bruno Alexandre Dias da Costa
Modelagem do Sistema Detecção de Eventos – Algoritmo original proposto
Mantêm uma lista de eventos correntes Conjunto de restrições simples
Um objeto sofre divisão (indicado pelo rastreamento) Objeto maior pratica ação Objeto menor sofre ação Objeto que sofre ação permanece imóvel Objetos permanecem a uma distância maior que limiar
Um evento é criado O evento persiste por certo tempo
Uma alarme é gerado
30/10/2008 37© Bruno Alexandre Dias da Costa
Bases de Dados e Experimentos
Bases de Dados
Bases de Dados para Experimentos
Detecção de Movimento PETS 2004 (indoor) PETS 2001 (outdoor)
Rastreamento PETS 2006
Detecção de Eventos PETS 2006 Vídeo Produzido no DSC
30/10/2008 39© Bruno Alexandre Dias da Costa
Bases de Dados P
ET
S 2
00
1
PE
TS
20
06
PE
TS
20
04
Víd
eo
DS
C
30/10/2008 40© Bruno Alexandre Dias da Costa
Experimentos
Detecção de Movimento - Métricas
30/10/2008 41© Bruno Alexandre Dias da Costa
Métricas Descrição
(Segmentação → Con. Verdade)
Detecção Correta (CD) Um para um
Ruído (N) Um para nenhum
Falha de Detecção (ND) Nenhum para um
Região Dividida (SR) Muitos par um
Região Conjunta (JR) Um para muitos
Região Conjunta e Dividida (JSR)
Muitos para muitos
Detecção Total CD+ SR+JR+JSR
GTDTI
GT
DT
Interseção mínima de 50%
Experimentos
Detecção de MovimentoMétricas W4
(%)GMM (%)
Detecção Correta 90,51 94,72
Falha de Detecção 3,50 1,84
Região Dividida 1,09 0,72
Região Conjunta 1,43 1,36
Região Conjunta e Dividida
3.47 1,36
Detecção Total 96,50 98,16
Ruído 39,22 11,13
Métricas W4 (%)
GMM (%)
Detecção Correta 63,10 60,00
Falha de Detecção 6,65 10,91
Região Dividida 0,8 0,01
Região Conjunta 25,59 28,36
Região Conjunta e Dividida
3,86 0,11
Detecção Total 93,35 89,09
Ruído 61,74 38,78
PETS 2004 - Indoor PETS 2001 - outdoor
30/10/2008 42© Bruno Alexandre Dias da Costa
CD de trabalhos relacionados variam entre 80 e 90%
Experimentos
Detecção de Movimento – W4
Original Segmentação vs Conj.Verdade
30/10/2008 43© Bruno Alexandre Dias da Costa
Experimentos
Detecção de Movimento – GMM
Original Segmentação vs Conj.Verdade
30/10/2008 44© Bruno Alexandre Dias da Costa
Experimentos
Rastreamento – Algoritmo 1
PETS 2006 - Câmera 3, Dataset 1
Objeto Quadros Núm. de Rótulos Q. Rastreados Divisões Junções
Objeto 1 195 1 195 0 0
Objeto 2 132 1 132 2 2
Objeto 3 110 1 110 1 0
Objeto 4 153 1 153 8 4
Objeto 5 1140 2 671 27 15
Objeto 6 167 1 167 0 0
Total 1897 7 1428 38 21
30/10/2008 45© Bruno Alexandre Dias da Costa
Experimentos
Rastreamento – Algoritmo 1
Objeto 1
30/10/2008 46© Bruno Alexandre Dias da Costa
Experimentos
Rastreamento – Algoritmo 1
Objeto 5
30/10/2008 47© Bruno Alexandre Dias da Costa
Experimentos
Rastreamento – Algoritmo 2
PETS 2006 - Câmera 3, Dataset 1 (Objetos com alto grau de oclusão)
Objeto Quadros Núm. de Rótulos Oclusões/Junções
Oclusões Detectadas
Rótulos Recuperados
Objeto 7 120 4 7 7 4
Objeto 8 115 3 1 1 1
Objeto 9 120 2 2 2 1
Objeto 10 100 1 1 1 1
Objeto 11 95 2 2 2 0
Total 550 12 13 13 7
30/10/2008 48© Bruno Alexandre Dias da Costa
Experimentos
Rastreamento – Algoritmo 2
Objeto 10
30/10/2008 49© Bruno Alexandre Dias da Costa
Experimentos
Eventos – Abandono e Remoção de Objetos
Utilizando saídas do Algoritmo 1 de rastreamento
Vídeo Base de Vídeo
Grau de complexidade
Quadros Abandonos Detectados
Remoções Detectados
Falsos positivos
Vídeo 1 PETS 2006 Baixa 3021 1 0 0
Vídeo 2 PETS 2006 Moderada 3000 6 0 5
Vídeo 3 PETS 2006 Moderada 3400 5 0 3
Vídeo 4 Vídeo DSC Baixa 840 1 1 0
30/10/2008 50© Bruno Alexandre Dias da Costa
Experimentos Eventos - Abandono e Remoção de Objetos
30/10/2008 51© Bruno Alexandre Dias da Costa
Conclusões e Trabalhos Futuros
Conclusões
Detecção de Movimento
A principal questão a ser observada no uso de modelos de segmentação adaptativos diz respeito ao momento em que as adaptações são feitas
Detecção de Sombras apresentou melhores resultados com modelo W4
Modelo W4 apresentou maior consumo de recursos computacionais
Implementação do GMM não apresentou se apresentou muito superior ao W4 como se esperava
Alternativas: Considerar frame rate do vídeo, combinação de técnicas de diferentes modelos, uso erosão dilatação
30/10/2008 53© Bruno Alexandre Dias da Costa
Conclusões
Rastreamento
São dois os principais fatores que dificultam o rastreamento: falhas de segmentação e a oclusão/junção entre dois ou mais objetos
Algoritmo 1 comportou-se melhor em relação à falhas de segmentação
Algoritmo 2 não obteve êxito (predição apenas da posição);
Tratamento de oclusão passa, necessariamente por uso de múltiplas câmeras
30/10/2008 54© Bruno Alexandre Dias da Costa
Conclusões
Eventos
Viabilidade de uso de heurísticas simples em vídeos não complexos
Eventos e ações complexas exigem mecanismos tradicionais de aprendizagem de máquina
Módulo mais prejudicado pela deficiência dos demais
30/10/2008 55© Bruno Alexandre Dias da Costa
Contribuições
Neste Trabalho
Fundamentação teórica das técnicas tradicionalmente utilizadas
Proposta de arquitetura para sistemas de monitoramento automático
Comparativo entre dois modelos de segmentação de movimento
Combinação entre algoritmos de rastreamento e mecanismos para detecção de oclusão e divisão de objetos
Algoritmo baseado em regras simples para detecção automática de abandono e remoção de objetos em utilizando informações de rastreamento
30/10/2008 56© Bruno Alexandre Dias da Costa
Trabalhos Futuros
Experimentar Combinações de modelos de segmentação Avaliar a representatividade dos itens de um vetor de
características para rastreamento Implementar algoritmos de rastreamento multi-câmera Incorporar classificadores de diversos tipos de objetos Elaborar técnicas para otimização de parâmetros de cada
módulo Desenvolvimento de um framework que permitisse avaliar
técnicas tradicionais, bem como adição e testes de novos modelos
30/10/2008 57© Bruno Alexandre Dias da Costa
Referências (Utsumi, 2003) Utsumi, H. Mori, J. Ohya, and M. Yachida. Multiple-view-based tracking of multiple
humans. In ICPR ’98: Proceedings of the 14th International Conference on Pattern Recognition-Volume 1, page 597, Washington, DC, USA, 1998.
(Jacques, 2005) J. C. S. Jacques, C. R. Jung, and S. R. Musse. Background subtraction and shadow detection in grayscale video sequences. In Proceedings of Brazilian Simposium on Computer Graphics and Image Processing (SIBGRAPI), pages 189–196. IEEE Computer Society, 2005.
(Siebel, 2003) N. T. Siebel. Design and Implementation of People Tracking Algorithms for Visual Surveillance Applications. PhD thesis, Department of Computer Science, The University of Reading, Reading, UK, March 2003.
(Haritaoglu, 2000) Haritaoglu, D. Harwood, and L. S. Davis. W4: real-time surveillance of people and their activities. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(8):809–830, 2000.
(Lipton, 2000) R. Collins, A. Lipton, T. Kanade, H. Fujiyoshi, D. Duggins, Y. Tsin, D. Tolliver, N. Enomoto, and O. Hasegawa. A system for video surveillance and monitoring: VSAM final report. Technical Report CMU-RI-TR-00-12, Robotics Institute, Carnegie Mellon University,2000.
(Wang, 2003) L. Wang, W. Hu, and T. Tan. Recent developments in human motion analysis. Pattern Recognition, 36(3):585–601, 2003.
(Gonzalez, 2002)C. R. Gonzalez and R. E. Woods. Digital Image Processing (2nd Edition). Prentice Hall, 2nd edition, January 2002.
(Welch, 1995) G. Welch and G. Bishop. An introduction to the kalman filter. Technical report, University of North Carolina, Chapel Hill, NC, USA, 1995.
30/10/2008 58© Bruno Alexandre Dias da Costa
Referências (Ohya,1992) J. Yamato, J. Ohya, and K. Ishii. Recognizing human action in time-sequential images
using hidden markov model. In Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pages 379–385, 1992.
(Polana,1994) R. Polana and R. Nelson. Low level recognition of human motion (or how to get your manwithout finding his body parts). In Proceedings of the 1994 IEEEWorkshop on Motion of Non-Rigid and Articulated Objects, pages 77–82, 1994.
(Ribeiro, 2005) P. C. Ribeiro and J. Santos-Victor. Human activity recognition from video: modeling, feature selection and classification architecture. In Proceedings of HAREM 2005 – International Workshop on Human Activity Recognition and Modelling, 2005.
(Lin, 1999) C. Lin, H. Nein, and W. Lin. A space-time delay neural network for motion recognition and its application to lipreading. International Journal of Neural Systems, 9(4):311–334, 1999.
(Rincón, 2006) J. Rincón, J. E. Herrero-Jaraba, J. R. Gómez, and C. Orrite-Uruñuela. Automatic left luggage detection and tracking using multi-camera ukf. In Proceedings 9th IEEE International Workshop on Performance Evaluation in Tracking and Surveillance (PETS 06), pages 59–66, New York, NY, USA, June 2006.
30/10/2008 59© Bruno Alexandre Dias da Costa