Rastreamento de Objetos Usando Descritores Estatísticos



Documentos relacionados
Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Introdução. Capítulo. 1.1 Considerações Iniciais

Aula 5 - Classificação

Gerenciamento de Projetos Modulo VIII Riscos

MELHORIA DA QUALIDADE e MASP (Prof. José Carlos de Toledo GEPEQ/DEP-UFSCar) 1. Introdução

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Projeto de inovação do processo de monitoramento de safra da Conab

Métodos de mapeamento para fenômenos qualitativos e quantitativos

AULA 6 Esquemas Elétricos Básicos das Subestações Elétricas

3 Estratégia para o enriquecimento de informações

4 Segmentação Algoritmo proposto

4 Avaliação Experimental

Processos de gerenciamento de projetos em um projeto

5 Considerações finais

A limiarização é uma das abordagens mais importantes de segmentação de imagens. A limiarização é um caso específico de segmentação.

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

ESTEREOSCOPIA INTRODUÇÃO. Conversão de um par de imagens (a)-(b) em um mapa de profundidade (c)

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ITIL v3 - Operação de Serviço - Parte 1

2 Texturas com Relevo e Equações de Pré Warping

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos

Exercícios Teóricos Resolvidos

Testedegeradoresde. Parte X. 38 Testes de Ajuste à Distribuição Teste Chi-Quadrado

Estudo de técnicas de rastreamento de objetos aplicadas à detecção de múltiplas larvas

Classificação de Imagens

Segmentação de Imagens

7.Conclusão e Trabalhos Futuros

CAPÍTULO 2. Grafos e Redes

2 Classificação de Imagens de Sensoriamento Remoto

As principais novidades encontradas no PMBOK quarta edição

Instalações Máquinas Equipamentos Pessoal de produção

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Requisitos de Software

Gerenciamento de custos do projeto

Processos de Software

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Indicadores de Desempenho Conteúdo

É importante que nos atenhamos a alguns aspectos importantes sobre banco de dados:

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Gerenciamento de Projetos Modulo III Grupo de Processos

3 Qualidade de Software

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

O uso correto do texto alternativo

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

CAPÍTULO 1 Introduzindo SIG

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA

Rastreamento de Múltiplos. Objetos em Tempo Real

TÉCNICAS DE PROGRAMAÇÃO

3.1 Definições Uma classe é a descrição de um tipo de objeto.

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

1 Um guia para este livro

ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL Resumo Executivo PARA BAIXAR A AVALIAÇÃO COMPLETA:

PLANEJAMENTO ESTRATÉGICO

Scale-Invariant Feature Transform

Estatística II Antonio Roque Aula 9. Testes de Hipóteses

Introdução a Banco de Dados Aula 03. Prof. Silvestri

APLICATIVOS GRÁFICOS (AULA 4)

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

2 METODOLOGIA DA PESQUISA

UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

ELABORAÇÃO DE PROJETOS

Auditoria como ferramenta de gestão de fornecedores durante o desenvolvimento de produtos

Ferramenta para detecção de fadiga em motoristas baseada no monitoramento dos olhos

2 Ferramentas Utilizadas

Processamento digital de imagens. introdução

Análise e Projeto de Software

Simulador Virtual para Treinamento em Visão de Máquina com LabVIEW

Análise de componentes independentes aplicada à avaliação de imagens radiográficas de sementes

A GESTÃO E AVALIAÇÃO DE DESEMPENHO NA INCUBADORA TÉCNOLÓGICA UNIVAP

Morfologia Matemática Binária

3. Fase de Planejamento dos Ciclos de Construção do Software

SEGEMENTAÇÃO DE IMAGENS. Nielsen Castelo Damasceno

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Infra estrutura precária Máquinas e Equipamentos

Matemática em Toda Parte II

Nota Técnica 113/2007 SRD/SRE/ANEEL Metodologia para Projeção de Investimentos para o Cálculo do Fator X Contribuição da Audiência Publica 052/2007

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Administração de Pessoas

QUALIDADE DE SOFTWARE

Memória cache. Prof. Francisco Adelton

Metodologias de Apoio ao Planejamento Estratégico. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

2 Fundamentação Conceitual

3 Gerenciamento de Projetos

GBD PROF. ANDREZA S. AREÃO

Análise SWOT seguindo a metodologia do BMG

Gerenciamento de Projetos Modulo IX Qualidade

CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT CURSO DE TECNOLOGIA EM SISTEMAS DE INFORMAÇÃO

Descritores de textura na análise de imagens de microtomografia computadorizada

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

4Distribuição de. freqüência

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Transcrição:

UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS. PROGRAMA INTERDISCIPLINAR DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO APLICADA Leandro Lorenzett Dihl Rastreamento de Objetos Usando Descritores Estatísticos São Leopoldo 2009

UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS. PROGRAMA INTERDISCIPLINAR DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO APLICADA Rastreamento de Objetos Usando Descritores Estatísticos por LEANDRO DIHL Dissertação submetida a avaliação como requisito parcial para a obtenção do grau de Mestre em Computação Aplicada Orientador: Prof. Dr. Claudio Rosito Jung São Leopoldo, Janeiro de 2009

Agradecimentos Quero agradecer inicialmente à Deus, que através do conhecimento possibilita a todos nós, transformar este mundo em lugar cada vez melhor. Agradeço a minha esposa Adriana, que com palavras de apoio, carinho e paciência está sempre ao meu lado. Aos meus filhos queridos que são os tesouros da minha vida. Aos meus pais, principalmente minha mãe pelo incentivo ao estudo desde a minha infância. E todos os familiares e grandes amigos que sempre me incentivaram. Quero fazer um agradecimento especial ao meu orientador e professor Claudio Rosito Jung, exemplo de profissional e caráter, pela confiança, amizade e por ter mostrado o caminho para transpor este grande desafio. A todos os amigos do laboratório e da Unisinos que de alguma forma me ajudaram no transcorrer desta jornada. E agradeço a HP Brazil pelo apoio financeiro dado a este trabalho.

Resumo O baixo custo dos sistemas de aquisição de imagens e o aumento no poder computacional das máquinas disponíveis têm causado uma demanda crescente pela análise automatizada de vídeo, em diversas aplicações, como segurança, interfaces homem-computador, análise de desempenho esportivo, etc. O rastreamento de objetos através de câmeras de vídeo é parte desta análise, e tem-se mostrado um problema desafiador na área de visão computacional. Este trabalho apresenta uma nova abordagem para o rastreamento de objetos baseada em fragmentos. Inicialmente, a região selecionada para o rastreamento é dividida em sub-regiões retangulares (fragmentos), e cada fragmento é rastreado independentemente. Além disso, o histórico de movimentação do objeto é utilizado para estimar sua posição no quadro seguinte. O deslocamento global do objeto é então obtido combinando os deslocamentos de cada fragmento e o deslocamento previsto, de modo a priorizar fragmentos com deslocamento coerente. Um esquema de atualização é aplicado no modelo para tratar os problemas de mudanças de iluminação e forma do objeto. Os resultados experimentais obtidos indicaram que o esquema mostrou-se robusto para oclusões parciais, e também durante as oclusões totais por breve período de tempo. Uma análise comparativa com outras técnicas de rastreamento de objetos indica que o algoritmo proposto apresenta uma boa relação custo/benefício entre qualidade do rastreamento e tempo de execução. Palavras-chave: Visão Computacional, Rastreamento de Objetos, Múltiplos Fragmentos, Matrizes de Covariância, Distância de Bhattacharrya.

TITLE: OBJECT TRACKING USING STATISTICAL DESCRIPTORS Abstract The low cost of image acquisition systems and increase the computational power of available machines have caused a growing demand for automated video analysis in several applications, such as surveillance, human-computer interfaces, analysis of sports performance, etc. Object tracking through the video sequence is part of this analysis, and it has been a challenging problem in the computer vision area. This work presents a new approach for object tracking based on fragments. Initially, the region selected for tracking is divided into rectangular subregions (patches, or fragments), and each patch is tracked independently. Moreover, the motion history of the object is used to estimate its position in the subsequent frames. The overall displacement of the object is then obtained combining the displacements of each patch and the predicted displacement vector in order to priorize fragments presenting consistent displacement. An update scheme is also applied to the model, to deal with illumination and appearance changes. The experimental results indicated that the proposed approach proved to be robust with respect to partial occlusions, and also to total occlusions for brief periods of time. A comparative analysis with other tracking algorithms also indicated that the proposed algorithm provides a good compromise between accuracy and running time. Keywords: Computer Vision, Object Tracking, Multiple Fragments, Covariance Matrices, Bhattacharyya Distance.

Lista de Figuras 2.1 Taxionomia das abordagens de rastreamento adaptando de Yilmaz [1] 16 2.2 Rastreador KLT: (a) Imagem inicial. (b) Pontos selecionados seguindo o critério de texturas. Trabalho de Shi e Tomasi [2]..... 18 2.3 Algoritmo SIFT [3]. As Figuras (a), (b), (c) e (d) são as imagens de treinamento, a Figura (e) é a imagem para o teste. A Figura (f) mostra as regiões reconhecidas, com os pontos chaves representados como pequenos retângulos........................ 18 2.4 Exemplo de rastreamento usando o trabalho de Comaniciu et al. [4].. 20 2.5 Resultados do algoritmo FragTrack [5] (retângulos em vermelho), comparados com o rastreamento obtido pela técnica Meanshift [4] (representado pelos retângulos pontilhados em azul).......... 22 2.6 Rastreamento usando o algoritmo Condensation. Trabalho de Isard e Blake [6]................................. 25 3.1 Exemplo de quadros do rastreamento da face de uma pessoa em uma seqüência de vídeo, o deslocamento é obtido pela medida da distância sobre um fragmento somente, sofrendo com a oclusão.......... 29 3.2 Exemplo de quadros do rastreamento da face em uma seqüência de vídeo, o deslocamento final é obtido pela medida da distância de uma região de 3 x 3 fragmentos, reduzindo o problema da oclusão...... 30 3.3 Seleção automática dos fragmentos de uma máscara retangular definida manualmente pelo usuário.................... 31 3.4 Exemplos de quadros de rastreamento usando RGB combinado com imagens termais.............................. 33

3.5 Exemplo do procedimento adaptado obtendo o deslocamento de toda a máscara baseado no deslocamento individual de cada fragmento através da WVMFs............................. 40 4.1 Erro de Rastreamento das técnicas analisadas (Meanshift, FragTrack e CPD) para as cinco seqüências de vídeo. Os retângulos cinzas indicam os trechos das seqüências onde ocorre a oclusão total dos alvos.... 44 4.2 Exemplo de quadros do rastreamento de uma pessoa na seqüência de vídeo Mulher................................ 48 4.3 Exemplo de quadros do rastreamento de uma pessoa na seqüência de vídeo CAVIAR............................... 49 4.4 Exemplo de quadros do rastreamento da face na seqüência de vídeo Face1. (O algoritmo apresenta robustez na oclusão total com o alvo parado.)................................. 50 4.5 Exemplo de quadros do rastreamento da face na seqüência de vídeo Face2. (Mesmo com as oclusões totais o algoritmo CPD mostrou robustez.)................................. 51 4.6 Exemplo de quadros do rastreamento de uma pessoa na seqüência de vídeo Homem............................... 52 4.7 Exemplo do rastreamento usando um detector de faces automático.. 54 4.8 Tratamento da escala da face usando o detector de faces automático. 56 5.1 Situações onde o modelo proposto pode apresentar falhas....... 61

Lista de Tabelas 4.1 Erro do rastreamento (em pixels) e tempo de execução médio (em segundos por quadro) para os métodos de rastreamento CPD, FragTrack e MeanShift. Os menores valores para cada seqüência de vídeo são mostrados em negrito...................... 46 5.1 Erro do rastreamento (em pixels) e tempo de execução (em quadros por segundo) para o Rastreador CPD usando somente características RGB..................................... 58

Lista de Abreviaturas CPD EMD KL KLT NCC RGB SIFT TSV Coherent Patch Displacement Earth Mover s Distance Kullback-Leibler Kanade-Lucas-Tomasi Normalized Cross-Correlation Red Green Blue Scale Invariant Feature Transform Temporal Spatio-Velocity WVMF Weighted Vector Median Filters

Sumário Resumo 3 Abstract 4 Lista de Figuras 5 Lista de Tabelas 7 Lista de Abreviaturas 8 1 Introdução 11 1.1 O Problema................................ 12 1.2 Objetivos................................. 13 1.2.1 Objetivo Principal........................ 13 1.2.2 Objetivos Específicos....................... 13 1.3 Metodologia................................ 14 1.4 Estrutura deste trabalho......................... 14 2 Revisão Bibliográfica 15 2.1 Rastreamento baseado em características pontuais........... 17 2.2 Rastreamento baseado em regiões.................... 19 2.3 Rastreamento baseado em contorno................... 24 2.4 Considerações sobre o capítulo...................... 25 3 Modelo Proposto 27 3.1 Visão Geral................................ 27 3.2 Seleção dos Fragmentos.......................... 28 3.3 Casamento dos Fragmentos....................... 32

10 3.4 Predição do Movimento......................... 35 3.5 Combinando Informações dos Fragmentos e o Movimento de Predição 36 3.6 Modelo de Atualização.......................... 40 4 Resultados Experimentais 42 4.1 Comparativo com Abordagens do Estado-da-Arte........... 42 4.2 Abordagem empregada com Detector de Faces............. 53 5 Discussão 57 5.1 Seleção de Vetores de Características.................. 57 5.2 Número de Fragmentos.......................... 58 5.3 Custo Computacional........................... 59 5.4 Limitações................................. 59 6 Conclusões e Trabalhos Futuros 62 6.1 Conclusões................................. 62 6.2 Trabalhos Futuros............................. 63 Bibliografia 66

11 Capítulo 1 Introdução Com a disponibilidade de câmeras de alta qualidade a custos cada vez menores, o aumento do poder de processamento dos computadores e a diminuição dos custos de armazenamento de dados, tem crescido o interesse em algoritmos para análise automatizada de vídeos. Esse interesse insere-se tanto na área de pesquisa acadêmica quanto no desenvolvimento de produtos comerciais baseados em visão de máquina. Yilmaz e colaboradores [1] citam algumas aplicações com análise automatizada de vídeos, que têm despertado o interesse da comunidade de pesquisa: reconhecimento baseado em movimentos, como a identificação humana baseada no caminhar ou a detecção de objetos de forma automática; vigilância automatizada, detectando atividades suspeitas em uma cena ou eventos não-desejados; interação homem-computador, rastreamento dos olhos; com o reconhecimento de gestos e/ou o catalogação de vídeos para o armazenamento e recuperação de vídeos em banco de dados multimídia; monitoramento de tráfego de veículos para a coleta, em tempo real, de estatísticas de trânsito; uso em realidade aumentada; controle na navegação de veículos automatizados, para o planejamento de itinerários e desvios e contornos de obstáculos.

12 Segundo trabalho de Yilmaz [1], há três passos chave na análise automatizada de um vídeo: A detecção de objetos a serem acompanhados 1, o rastreamento de tais objetos de quadro para quadro, e a análise do objeto rastreado para o conhecimento da sua ação. Em particular, o rastreamento de objetos é uma tarefa importante e ainda muito desafiadora no campo da visão computacional. Atualmente os estudos de rastreamento estão focados no desenvolvimento de algoritmos robustos, que sejam rápidos o bastante para uso em tempo real. De uma forma sucinta, rastreamento pode ser definido como o problema de identificar o mesmo objeto de interesse (ou parte dele) em uma sucessão de quadros, sendo empregado normalmente em um contexto de aplicações de alto nível que requerem a localização do objeto em todos os quadros de uma seqüência de vídeo. A evolução da posição do objeto ao longo do tempo (ou seja, sua trajetória) é normalmente utilizada em outras tarefas de alto nível, como a detecção e o reconhecimento de eventos. 1.1 O Problema O rastreamento de objetos é um problema relevante na área de visão computacional, e encontra aplicações em uma variedade de situações. Entre elas, podemos citar a vigilância visual (identificando e rastreando pessoas em atividades suspeitas) e as interfaces baseadas em visão, entre várias outras. Um rastreador deve ser suficientemente genérico, robusto e, normalmente, ter um desempenho compatível com aplicações de tempo real. Todos esses requisitos geram diversos desafios na área de visão computacional, sem uma solução definitiva até agora. Um sistema com capacidade para rastrear um determinado objeto ou uma pessoa em uma seqüência de imagens pode apresentar alguns dos seguintes desafios: movimentos bruscos e complexos dos objetos rastreados; perda de informação causada pela projeção do ambiente em terceira dimensão para a imagem em duas dimensões; ruídos nas imagens; 1 Os objetos de interesse são comumente denominados alvos.

13 mudança na aparência de objetos, fundos e cenas; a estrutura de objetos não-rígidos, sua articulação natural ou sua forma complexa; oclusões parciais ou totais de objetos com objetos, ou de objetos com a cena; mudanças de iluminação ou sombras; movimentos da câmara; necessidade de processamento em tempo real. Em geral, técnicas de rastreamento mais robustas aos desafios citados acima tendem a ser mais custosas do ponto de vista computacional. Assim, um desafio de pesquisa adicional é achar um bom comprometimento entre a robustez alcançada e o tempo de execução. 1.2 Objetivos 1.2.1 Objetivo Principal O principal objetivo deste trabalho é desenvolver um novo algoritmo para o rastreamento de objetos baseado em fragmentos, considerando algumas das dificuldades referenciadas na seção anterior. Em particular, um foco maior será dado ao problema de oclusão (parcial e total). 1.2.2 Objetivos Específicos A fim de atingir o objetivo principal deste trabalho, alguns objetivos específicos foram definidos: desenvolver representações de objetos baseadas em múltiplos fragmentos; desenvolver técnicas para rastrear cada fragmento de modo individual; estudar algoritmos para estimar a posição futura do alvo com base no histórico de movimentação;

14 combinar as informações de deslocamento dos diversos fragmentos com o previsto; comparar a técnica proposta com outros algoritmos de rastreamento de objetos. 1.3 Metodologia A metodologia de desenvolvimento deste trabalho consistiu em uma revisão bibliográfica aprofundada, seguida do desenvolvimento e a implementação do algoritmo proposto. A etapa seguinte foi a validação dos resultados, realizada de forma qualitativa e quantitativa. E etapa de revisão bibliográfica indicou que o uso de múltiplos fragmentos apresentava uma boa solução para o problema das oclusões parciais. Ela também indicou que oclusões totais não são bem tratadas pelas técnicas existentes que usam múltiplos fragmentos, motivando o desenvolvimento de uma abordagem de predição de movimento para tratar tais oclusões. O algoritmo desenvolvido foi implementado em C++, usando a biblioteca OpenCV [7] para as operações de captura e visualização das seqüências de vídeo. A validação da técnica proposta foi realizada de forma qualitativa, através da inspeção visual dos resultados, e de forma quantitativa, comparando o erro cometido pela técnica proposta e por outras existentes na bibliografia. 1.4 Estrutura deste trabalho Este trabalho está estruturado da seguinte forma. O capítulo 2 apresenta uma revisão bibliográfica do estado da arte dos rastreadores de objetos atuais. O modelo adotado para a resolução do problema é desenvolvido e detalhado no capítulo 3. No capítulo 4, é apresentado um comparativo da abordagem desenvolvida com alguns modelos do estado da arte vistos no capítulo 2. Também, neste capítulo, é descrita uma abordagem do modelo proposto com a utilização de detectores de faces. No capítulo 5 é apresentada uma discussão sobre o modelo proposto. Finalmente, as conclusões e os trabalhos futuros são apresentados no capítulo 6.

15 Capítulo 2 Revisão Bibliográfica Existem diferentes maneiras de caracterizar algoritmos de acompanhamento de objetos, analisando aspectos distintos dos algoritmos. Neste trabalho, será adotada uma categorização de acordo com [1], que classifica algoritmos de rastreamento de objetos em técnicas baseadas em características pontuais, em regiões e em contorno. Uma visão esquemática dessa taxionomia é apresentada na Figura 2.1. Para cada sub-classe da categorização ilustrada na Figura 2.1, há uma grande variedade de abordagens diferentes. Este capítulo foca nas técnicas consideradas mais relevantes ou relacionadas com a abordagem adotada para o desenvolvimento do modelo proposto. Revisões bibliográficas mais abrangentes podem ser encontradas em artigos de survey, como [1].

16 Rastreamento de Objetos Rastreamento baseado em características pontuais Rastreamento baseado em regiões Rastreamento baseado em contornos Determinístico Probabilístico Baseado em multi-visões Baseado em modelo Evolução do contorno Casamento de forma Subespaço de visão Classificador Métodos de espaços de estados Minimização direta Abordagem variacional Abordagem heurística Figura 2.1 Taxionomia das abordagens de rastreamento adaptando de Yilmaz [1]

17 2.1 Rastreamento baseado em características pontuais De acordo com Yilmaz e colaboradores [1], o rastreamento pode ser formulado como a similaridade de objetos representados por características pontuais através dos quadros de uma seqüência de imagens. A definição de métricas de similaridade entre pontos é um problema difícil durante o rastreamento, quando ocorrem oclusões ou entradas e saídas de objetos da cena. No trabalho de Shi e Tomasi [2] é descrito o rastreador KLT (Kanade- Lucas-Tomasi), que propõe um sistema de seleção de características pontuais para o rastreamento de objetos. Inicialmente, uma quantidade parametrizável de características é detectada automaticamente, com base em uma medida de rastreabilidade. Durante o rastreamento, é realizado um monitoramento da qualidade das características da imagem, de modo que novas características podem ser incluídas caso outras percam a qualidade. O rastreamento de cada característica pontual é feita através de uma medida de similaridade entre uma pequena região em torno do ponto de análise, tanto no quadro atual quanto no quadro seguinte. Essa métrica pode levar em consideração transformações puramente translacionais, ou também transformações mais complexas (como as afins 1 ). Conforme o tipo de transformação selecionada, seus parâmetros são calculados através de um método de minimização iterativo, similar ao de Newton-Raphson. Cada característica no KLT pode ser rastreada de forma bastante rápida, mas o deslocamento entre quadros adjacentes não pode ser muito grande. A Figura 2.2 apresenta o algoritmo KLT selecionando características de acordo com os critérios de textura da imagem, normalmente bordas e cantos de objetos na imagem. O trabalho de Lowe [3] apresenta um método para extração de características distintivas em imagens. Tais características são invariantes com relação à escala e rotação da imagem, e mostraram-se adequadas para prover um casamento robusto entre pontos na presença de distorções afins, pequenas mudanças de perspectiva 3D, além de ruído e mudanças na iluminação. Essa abordagem, denominada SIFT (Scale Invariant Feature Transform), pode ser utilizada no rastreamento de objetos, através da caracterização do objeto de interesse com base em suas características invariantes, e da busca dessas mesmas características no quadro 1 Uma transformação afim pode ser caracterizada por y = Ax + b, e é amplamente utilizada em Computação Gráfica e Visão Computacional para representar transformações rígidas de objetos.

18 (a) (b) Figura 2.2 Rastreador KLT: (a) Imagem inicial. (b) Pontos selecionados seguindo o critério de texturas. Trabalho de Shi e Tomasi [2] seguinte da seqüência de vídeo. O rastreamento por SIFT permite o casamento de objetos com deslocamentos significativos, mas o custo computacional no cálculo das características é relativamente alto para execução em tempo real. A Figura 2.3 apresenta alguns resultados do algoritmo SIFT, onde as Figuras 2.3(a), 2.3(b), 2.3(c) e a 2.3(d) são as imagens de treinamento, a Figura 2.3(e) é a imagem de teste e a Figura 2.3(f), as regiões reconhecidas. (a) (b) (c) (d) (e) (f) Figura 2.3 Algoritmo SIFT [3]. As Figuras (a), (b), (c) e (d) são as imagens de treinamento, a Figura (e) é a imagem para o teste. A Figura (f) mostra as regiões reconhecidas, com os pontos chaves representados como pequenos retângulos.

19 2.2 Rastreamento baseado em regiões O rastreamento baseado em regiões é realizado normalmente pelo cálculo do movimento de um objeto, o qual é representado por uma primitiva (ou várias) da região do objeto, de um quadro para o outro. Esses algoritmos diferem entre si em termos do critério para seleção da região representativa do objeto, do número de regiões, e principalmente da maneira de caracterizar a região e a métrica para identificar a similaridade entre elas. Uma abordagem para o rastreamento de objetos realizado através de regiões, no qual se enquadra a solução deste trabalho, é apresentada por Comaniciu et al. [4], que desenvolveram uma técnica para o rastreamento de objetos não-rígidos. Essa abordagem adota o uso de um núcleo (kernel), que codifica a configuração espacial da representação de uma área alvo elíptica, de modo que pixels longe do centro do alvo tenham uma contribuição menor na formação do histograma. Sendo {x i } i=1...n a localização do pixel normalizado na região do alvo (a origem é o vetor nulo 0), o histograma modulado ˆq = {ˆq u } u=1...m é dado por ˆq u = C n k ( x i 2) δ [b (x i ) u], (2.1) i=1 onde k é um núcleo cujo perfil é dado por uma função decrescente, b : A {1,..., m} é uma função que associa cada ponto x i em A a um índice b (x i ) no espaço de feições quantizado (ou seja, b é a função que gera o histograma original), e δ é a função delta de Kronecker discreta. A constante C, dada por C = n i=1 1 k ( (2.2) x i 2), é utilizada para normalizar o histograma de acordo com os pesos dos kernels. A motivação para o uso do núcleo é minimizar o efeito de pixels na periferia do alvo comprometidos por oclusões parciais. A similaridade entre o modelo do alvo e os possíveis candidatos do quadro seguinte é feito através da medida de uma métrica, derivada do coeficiente de Bhattacharyya [4], que mede a similaridade entre histogramas. Um aspecto interessante dessa técnica é que o processo de busca é realizado iterativamente,

20 sem a necessidade de busca exaustiva, o que a torna eficiente do ponto de vista computacional. O resultado apresenta um rastreamento que enfrenta bem os problemas comuns de algoritmos de rastreamento de objetos, como movimentos complexos de câmeras, oclusões parciais do objeto (ao menos longe do centro do alvo), cenas confusas e variações de escala e aparência do objeto selecionado. Entretanto, deve haver uma certa sobreposição do alvo entre quadros adjacentes, para que o processo de busca iterativo convirja para a região correta, apesar de esforços recentes para melhorar a questão da convergência [8, 9]. A Figura 2.4 ilustra alguns resultados do trabalho de Comaniciu et al. [4]. (a) (b) (c) (d) (e) Figura 2.4 Exemplo de rastreamento usando o trabalho de Comaniciu et al. [4].

21 No trabalho [10] foi explorado o conceito de imagem integral para a computação rápida de histogramas em qualquer sub-região retangular da imagem, permitindo o desenvolvimento de técnicas baseadas no casamento de histogramas com busca exaustiva para o rastreamento de objetos. O conceito de imagem integral foi empregada também por Adam et al. [5], que propuseram um algoritmo de rastreamento baseado em fragmentos com comparações de histogramas usando a EMD (Earth Mover s Distance). O uso de fragmentos permite robustez no rastreamento durante oclusões parciais, desde que os pedaços não oclusos possam fornecer o resultado de rastreamento correto. Os fragmentos são definidos de forma arbitrária a partir de uma máscara inicial, e não são baseados sobre um determinado modelo do objeto. Um mapa de distâncias é computado para cada fragmento através da EMD entre a região do fragmento no quadro atual e uma vizinhança no quadro seguinte. Então, um mapa global é obtido através da combinação dos mapas individuais, levando a uma métrica de distância mais robusta. O cálculo exaustivo de histogramas (necessário no EMD) é feito com base em imagens integrais [10], reduzindo assim o custo computacional, permitindo a obtenção de histogramas de múltiplas regiões retangulares de uma forma muito mais eficiente. Outra característica apresentada em [5] é que através das relações geométricas entre os fragmentos permite-se a verificação da distribuição espacial dos pixels, informação esta que é perdida em algoritmos baseados em histogramas tradicionais. O algoritmo permite também utilizar diversas métricas para comparar dois histogramas e não somente métricas analíticas, tais como Bhattacharyya ou equivalentes como a métrica de Matusita [11]. Apesar do uso de imagens integrais, esse método ainda é relativamente custoso do ponto de vista computacional, tanto que os autores sugerem o uso apenas de histogramas monocromáticos (ao invés de cores), e não possui uma forma de atualização do modelo inicial, o que pode deteriorar o desempenho do rastreamento, quando a aparência do objeto mudar significativamente (mesmo que de forma gradual). A Figura 2.5 apresenta um comparativo deste rastreador, denominado FragTrack(representada pelo retângulo vermelho), com um rastreador que utiliza a técnica denominada Meanshift [4](representada pelo retângulo pontilhado azul). Outro trabalho utilizando histogramas foi apresentado por Marimon e

22 Figura 2.5 Resultados do algoritmo FragTrack [5] (retângulos em vermelho), comparados com o rastreamento obtido pela técnica Meanshift [4] (representado pelos retângulos pontilhados em azul). Ebrahimi [12], que combinaram a comparação dos histogramas de orientações de gradientes e comparação de máscaras através da correlação cruzada normalizada (NCC, ou Normalized Cross-Correlation), ajudando a estimar a rotação junto com a região de comparação. A técnica é dividida em dois passos, comparação dos histogramas de orientações de gradientes e a comparação de máscaras através da correlação cruzada normalizada. Um método para estimar a rotação entre duas imagens é utilizado para aumentar o desempenho das comparações das máscaras. As vantagens apresentadas por este trabalho são: a não necessidade de treinar um classificador e a simplicidade do algoritmo com um número reduzido de parâmetros. Experimentos em seqüências de vídeos mostraram grande precisão e a correlação alcançada pela técnica proposta com uma boa aproximação da rotação da região. O método mostrou robustez diante de rotação, translação e escala (com fator de escala f [0.8, 1.2]) [12]. Embora o uso de imagens integrais tenha acelerado o cálculo de histogramas, a necessidade de memória é ainda um problema quando tratamos com histogramas multidimensionais: quando usa-se um histograma d-dimensional com N bins, é

23 necessário armazenar N d valores (crescimento exponencial em d). De fato, tal limitação é declarada em [5, 13], e os algoritmos em [5, 12] usam somente histogramas de intensidade (d = 1). Uma outra abordagem que também aproveita a estrutura de imagens integrais, mas para o cálculo de médias e matrizes de covariância em regiões retangulares quaisquer, foi proposta por Porikli et al. [13]. Os autores argumentam que a matriz de covariância é uma representação bem compacta de regiões caracterizadas por atributos multidimensionais. De fato, a matriz de covariância contém (d 2 ) entradas (como a matriz é simétrica, o valor de entradas diferentes é d(d + 1)/2), que representa um crescimento quadrático em d (ao contrário do crescimento exponencial do histograma). Nessa abordagem, o objeto de interesse é representado pela matriz de covariância, e no quadro adjacente é buscada a região cuja matriz de covariância minimiza um critério de distância. Dada a matriz C i representando o objeto, e a matriz C j representando um possível candidato, a distância adotada pelos autores é dada por ρ (C i, C j ) = d ln 2 λ k (C i, C j ), (2.3) k=1 onde λ k (C i, C j ) são os autovalores generalizados de C i e C j, computados a partir de λ k C i x k C j x k = 0; k = 1,..., d. (2.4) Ainda, a cada intervalo de quadros pré-determinado é realizada a atualização do modelo, utilizando um conjunto de matrizes de covariância armazenadas e extraindo-se uma média intrínseca, usando a Álgebra de Lie. Embora essa técnica permita o uso de vetores de feições com dimensionalidade maior, o uso exclusivo de estatísticas de segunda ordem (matrizes de covariância) pode claramente levar a resultados errôneos, já que duas regiões com médias distintas podem ter exatamente a mesma matriz de covariância. Avidan [14, 15] considera o rastreamento como um problema de classificação binária. Isso é feito pela construção de um vetor de características para cada pixel da imagem, e um conjunto de classificadores fracos é treinado para separar os pixels que pertencem ao objeto dos pixels que pertencem ao fundo. No quadro atual do

24 vídeo, um classificador forte (usando AdaBoost) é usado para testar os pixels e formar um mapa de confiança. O pico do mapa indica a direção do objeto e nessa região é utilizado o algoritmo Meanshift [4] para encontrá-lo. O rastreador ajusta a mudança de aparência dos objetos com o treinamento de novos classificadores fracos e atualizando o classificador forte. O rastreador mostrou-se bastante robusto, podendo trabalhar em uma grande variedade de cenários, com câmeras estáticas ou móveis, o rastreador pode manipular oclusões parciais pela rejeição dos pixels que pertencem a parte oclusa do objeto. 2.3 Rastreamento baseado em contorno Outras abordagens bastante empregadas para o rastreamento de objetos são baseadas em contornos. Nos trabalhos [6, 16], são propostos modelos de rastreamento realizados pela atualização do contorno do objeto quadro a quadro. Essa atualização é realizada através da minimização de alguma função de energia, avaliada em uma região de interesse (em torno do contorno do objeto detectado no quadro anterior). A energia é obtida usando uma estrutura Bayesiana, e o rastreamento emprega características visuais como cor e textura que são obtidos por modelos semi-paramétricos. Tais características são mescladas através de um conceito de votação. O sistema trabalha com a manipulação de oclusões no qual mantém a forma anterior do objeto, recobrindo desta forma as partes oclusas. Os resultados apresentados mostram um sistema de rastreamento robusto e com bom desempenho. A Figura 2.6 ilustra em exemplo de rastreamento baseado em contorno usando o algoritmo descrito em [6] em um fundo bastante confuso. No trabalho de Sato [17] é descrita uma transformada denominada TSV (Temporal Spatio-Velocity) para a extração das velocidades dos pixels em uma seqüência de imagens binárias. A transformada TSV é derivada da transformada Hough sobre janelas de imagens espaço-temporais. A intensidade de cada pixel na imagem TSV representa uma medida de probabilidade de ocorrência de cada pixel com velocidade instantânea na posição corrente. A limiarização das imagens TSV gera os componentes conexos binários blobs contendo pixels com similaridade de velocidade e posição. A transformada TSV provê uma forma eficiente de remover ruídos pela focalização nas velocidades estáveis/coerentes, e cria blobs com pouco

25 Figura 2.6 Rastreamento usando o algoritmo Condensation. Trabalho de Isard e Blake [6] ruído. A transformada TSV foi aplicada no rastreamento de figuras humanas em uma calçada, utilizando remoção do fundo para separar o primeiro plano do fundo da imagem, extraindo pessoas em pé e gerando uma seqüência de imagens binárias de uma dimensão. Com uma limiarização, as imagens TSV geram os blobs humanos, e as trajetórias humanas são obtidas pela combinação dos blobs segmentados pelas suas características. 2.4 Considerações sobre o capítulo Este capítulo apresentou algumas técnicas para o rastreamento de objetos em seqüências de vídeo, utilizando uma gama de abordagens diferentes. Embora seja difícil uma comparação completa entre as técnicas, uma regra geral é que há um comprometimento entre a qualidade do rastreamento (acurácia, robustez a oclusões e mudanças de aparências, etc.) e o custo computacional. Uma análise dessas técnicas indica que o uso de imagens integrais permite calcular rapidamente histogramas e estatísticas locais em regiões retangulares quaisquer da imagem. Por um lado, os histogramas fornecem informações mais completas do que matrizes de covariância, mas com um custo de armazenagem bem maior. Por outro lado, o uso apenas da matriz de covariância parece não capturar satisfatoriamente as características da região. Assim, a solução proposta deste trabalho é utilizar um modelo baseado na média e na matriz de covariância, aproveitando o uso de fragmentos múltiplos para obter maior robustez com relação a oclusões.

26 A técnica proposta se enquadra de acordo com a classificação proposta por Yilmaz [1] na classe de rastreamento baseada em regiões e ela é descrita no capítulo a seguir.

27 Capítulo 3 Modelo Proposto Neste capítulo é apresentado um modelo de rastreamento de objetos, utilizando uma abordagem baseada em fragmentos. O modelo foi denominado algoritmo de rastreamento CPD (Coherent Patch Displacement). 3.1 Visão Geral O algoritmo inicia-se com a seleção do alvo a ser rastreado no quadro inicial do filme. Em geral, o usuário seleciona manualmente o alvo (através do mouse), já que a definição do objeto de interesse a ser rastreado depende significativamente da aplicação. Entretanto, em algumas aplicações específicas, o processo da seleção do alvo pode ser automatizada (por exemplo, no problema de rastreamento de faces, um detector automático pode ser aplicado para obter o alvo no quadro inicial). A região selecionada é então dividida automaticamente em fragmentos. O uso de modelos de rastreamento com múltiplos fragmentos, como em [5], apresentam maior robustez na ocorrência de oclusões parciais, mas as oclusões totais ainda são um grande desafio. O algoritmo proposto também emprega o uso de múltiplos fragmentos, mas a abordagem de combinação da informação de cada fragmento é diferente do modelo desenvolvido em [5], pois permite a inclusão de outras informações de movimento de forma simples, as quais serão vistas detalhadamente ao longo deste capítulo. Cada fragmento é rastreado de forma independente, de acordo com uma métrica de casamento de máscaras. Um vetor de deslocamento de predição baseado no movimento da máscara global nos quadros anteriores também é calculado. O

28 resultado do rastreamento de cada fragmento e o vetor de predição são então combinados de uma forma robusta usando um WVMF (Weighted Vector Median Filter) para obter o deslocamento total do objeto, visando minimizar os problemas de oclusões parciais (e, em alguns casos, globais). Também é realizada uma abordagem de atualização do modelo, a fim de amenizar o problema da mudança de aparência do alvo rastreado ao longo do tempo. Essa mudança ocorre devido a algumas variações que ocorrem durante o processo de rastreamento, como por exemplo, mudanças de iluminação, sombras e alteração na forma do alvo, dentre outros. Pode-se definir a idéia principal do algoritmo de rastreamento proposto nos seguintes passos: 1. dividir a região total em pequenos fragmentos retangulares não sobrepostos; 2. calcular o vetor de média e a matriz de covariância para cada fragmento, considerando que os pixels são representados por um vetor de características, tais como, cor, informação do gradiente, textura dentre outras características; 3. encontrar a melhor comparação para cada fragmento no quadro posterior da imagem usando a distância de Bhattacharyya como medida de dissimilaridade; 4. calcular um vetor de deslocamento de predição baseado no movimento da máscara global nos quadros anteriores; 5. combinar o resultado de cada fragmento em um vetor de deslocamento único para a máscara global; 6. atualizar o modelo (vetor de média e matriz de covariância) de todos os fragmentos; 7. voltar ao passo 3. Cada passo será detalhado nas seções seguintes. 3.2 Seleção dos Fragmentos A divisão da máscara global de rastreamento em múltiplos fragmentos apresenta uma informação adicional, que pode ser usada para resolver ambigüidades,

29 modelos mais complexos de movimento e também melhorar a robustez no que diz respeito a oclusões. A oclusão ocorre quando o objeto que está sendo rastreado fica atrás de outro objeto, ou pode ocorrer também, quando ele é encoberto por alguma região do fundo. As oclusões podem ser consideradas um dos principais desafios nos algoritmos de rastreamento de objetos, pois a partir de uma oclusão, os dados recebidos pelo algoritmo da região rastreada passam a ser divergentes dos que estavam sendo recebidos anteriormente. Segundo [5], a divisão da região do objeto em pequenos fragmentos tende a prover melhor recuperação contra oclusões parciais, desde que somente alguns dos fragmentos sejam realmente afetados. Partindo desta idéia, o algoritmo proposto neste trabalho também realiza a divisão da máscara inicial em fragmentos. A Figura 3.1 ilustra-se o problema de oclusões parciais no rastreamento de objetos, em que a máscara que descreve a região de interesse é afetada significativamente pela folha de papel colocada na frente da face. Já a Figura 3.2 ilustra o resultado do rastreamento usando fragmentos. Nota-se que a utilização de fragmentos é robusta com relação a oclusões parciais, pois apenas alguns fragmentos são afetados, enquanto que os outros corretamente acompanham o objeto de interesse. (a) (b) (c) Figura 3.1 Exemplo de quadros do rastreamento da face de uma pessoa em uma seqüência de vídeo, o deslocamento é obtido pela medida da distância sobre um fragmento somente, sofrendo com a oclusão. A seleção ideal de fragmentos deve conduzir a um erro mínimo global exatamente na posição do objeto rastreado. Claramente, esta seleção é altamente dependente da medida de dissimilaridade usada para comparar os fragmentos. Neste trabalho, a seleção é realizada da seguinte forma: A máscara retangular da região representando o alvo é dividida em uma grade uniforme de n m fragmentos adjacentes retangulares. Essa subdivisão uniforme pode produzir fragmentos

30 (a) (b) (c) Figura 3.2 Exemplo de quadros do rastreamento da face em uma seqüência de vídeo, o deslocamento final é obtido pela medida da distância de uma região de 3 x 3 fragmentos, reduzindo o problema da oclusão. similares, o que possivelmente causaria o casamento errôneo de alguns fragmentos. Entretanto, espera-se que os fragmentos restantes que apresentam um casamento correto auxiliarão no cálculo do rastreamento da máscara global, tornando-o mais robusto. Como será descrito na próxima seção, cada fragmento é representado através do vetor de média e da matriz de covariância. Portanto, os fragmentos selecionados devem possuir um tamanho mínimo suficiente para fornecer estimativas confiáveis destes parâmetros estatísticos. Se a máscara original é uma região retangular com dimensão N T M T pixels, e n p é o tamanho de lado mínimo desejado para cada fragmento, a máscara é subdividida em n m fragmentos, onde { [ n = max 1, N T min {N T, M T, n p } ]} { [, m = max 1, M T min {N T, M T, n p } ]}. (3.1) Aqui, [ ] representa o truncamento para o menor valor inteiro. A Equação (3.1) tenta dividir a máscara original em fragmentos com uma dimensão n p n p, exceto quando uma (ou ambas) dimensões da máscara forem menores que n p. Experimentalmente, foi definido n p = 20 como o tamanho padrão de lado desejado. A Figura 3.3 ilustra a seleção dos fragmentos para algumas seqüências de vídeo analisadas neste trabalho. O retângulo externo é manualmente criado pelo usuário através do mouse, e os sub-retângulos menores internos são os fragmentos obtidos através da Equação (3.1). O procedimento para a seleção dos fragmentos adotado neste trabalho é similar ao trabalho [5], mas a abordagem para a combinação das informações de distância de cada fragmento é totalmente distinto. Em [5], o mapa de distância calculado

31 (a) (b) (c) (d) Figura 3.3 Seleção automática dos fragmentos de uma máscara retangular definida manualmente pelo usuário. para cada fragmento é agrupado em um mapa de distância unificado, e o vetor de deslocamento de toda a região é então calculado. Embora tal procedimento apresente bons resultados, esse método não permite a inclusão de outras informações relevantes (tal como uma posição de predição, baseada em modelos de movimento) de uma forma simples, o que torna a abordagem mais suscetível a falhas no que diz respeito a oclusões totais ou próximas da total. Na solução da abordagem proposta, em vez de criar um simples mapa de distância único, o vetor de deslocamento é calculado independentemente para cada fragmento, e o movimento final do objeto é obtido pela combinação dos vetores de deslocamento individuais. Portanto, a inclusão de outras abordagens de movimento é instantânea, como será discutido na seção 3.5.

32 3.3 Casamento dos Fragmentos Há vários métodos para a comparação de regiões baseadas em estatísticas dos pixels. Alguns autores [5, 12] empregam a comparação direta de histogramas usando métricas de similaridade. Já em outros trabalhos, as comparações de regiões são realizadas pela avaliação de parâmetros estatísticos que descrevem a região, como por exemplo o algoritmo de rastreamento da covariância proposto em [13]. Um problema dos métodos baseados em histograma é o rápido aumento na complexidade computacional com o aumento da dimensão do espaço das características. Se N b bins são usados para representar cada uma das d dimensões, o histograma requer N d b bins para uma representação total. Por exemplo, somente valores de intensidade são usados no algoritmo de rastreamento baseado em histogramas proposto em [5], já que os autores alegam que usando três canais de cores deverá deixar o algoritmo muito custoso. Por outro lado, descritores de características estatísticas usualmente requerem uma pequena quantidade de memória e as métricas de comparação são simples para implementar, mas a escolha das características e dos descritores estatísticos ainda é uma tarefa desafiadora. Por exemplo, o algoritmo de rastreamento descrito em [13] usa uma representação compacta de cada região (a matriz de covariância, que requer d (d + 1) /2 parâmetros) para cobrir a região de comparação. Contudo está claro que duas regiões comparadas podem ser bastante distintas, mas ter exatamente a mesma matriz de covariância, conduzindo a possíveis casamentos errôneos. É importante salientar que o CPD foi projetado para poder utilizar qualquer conjunto de descritores de características, tais como, a intensidade, o gradiente em x ou y, diversos espaços de cores (RGB, YCrCb) dentre outros. Dados multimodais também podem ser facilmente explorados. Por exemplo, a Figura 3.4 ilustra o rastreamento usando informações de cores combinadas com dados de imagens termais (vídeo original disponível em [18]). aberto. A definição da métrica de dissimilaridade em si é também um assunto em Rubner e colegas [19] realizaram uma comparação empírica de vários algoritmos de casamento (incluindo a distância de Bhattacharyya, divergência KL (Kullback-Leibler) e a EMD, entre outras) focada para características de cor e textura, e concluíram que não há medida com um melhor desempenho em qualquer

33 (a) imagem termal inicial (b) imagem termal 2 (c) imagem termal 3 Figura 3.4 Exemplos de quadros de rastreamento usando RGB combinado com imagens termais. caso. De fato, os autores argumentam que a métrica ótima depende da tarefa específica. Para alguns modelos paramétricos, há expressões com forma fechada para algumas métricas clássicas para comparar duas funções de densidade de probabilidade (tal como a distância de Bhattacharyya e a divergência de KL) que envolvem somente os parâmetros estatísticos de ambas as distribuições. Se a estimação desses parâmetros for barata do ponto de vista do custo computacional, essas expressões de forma fechada são muito rápidas de calcular. Um modelo que pode ser calculado rapidamente e que conduz a uma expressão de forma fechada para a distância de Bhattacharyya e divergência KL é a distribuição Gaussiana multivariada. Essa distribuição é caracterizada por um vetor de média µ e uma matriz de covariância C, que podem ser estimadas usando dados amostrais por µ = 1 N C = 1 N x, (3.2) x S (x µ)(x µ) T, (3.3) x S onde S é o conjunto usado para estimar a distribuição, e N = #S é o número de exemplos (amostras). Ambos µ e C podem ser calculados eficientemente em

34 qualquer região retangular da imagem, usando o algoritmo proposto em [20], que se utiliza de imagens integrais. De fato, o custo computacional para o cálculo de uma imagem integral em uma região retangular com dimensões H W, usando vetores de características de dimensão d é O(HW d 2 ), e o custo para avaliar µ e C dentro de qualquer sub-região retangular é O(d 2 ). Dadas duas distribuições Gaussianas com os parâmetros (µ 1, C 1 ) e (µ 2, C 2 ), a distância de Bhattacharyya é dada por B = 1 [ ] ( ) 1 8 (µ 1 µ 2 ) T C1 + C 2 (µ 1 µ 2 ) + 1 2 2 ln (C 1 + C 2 )/2, (3.4) C1 C 2 e a divergência simétrica de Kullback-Leibler é dada por KL = 1 2 trace ( ) C1 1 C 2 + C2 1 1 C 1 + 2 (µ 1 µ 2 ) T [ ] C1 1 + C2 1 (µ1 µ 2 ) d. (3.5) Em ambas expressões, a inversão de matriz é a operação mais custosa, que pode ser calculada tradicionalmente com O(d 3 ) operações (embora há alguns algoritmos [21] que reduzam a complexidade para O(d 2.376 )). Um problema com a hipótese Gaussiana é que, em geral, a distribuição dos vetores de características (e.g. canais de cores RGB) não é nem mesmo unimodal. No rastreamento de pessoas, por exemplo, uma pessoa pode ter uma camiseta de uma cor e as calças de outra, conduzindo a uma distribuição bimodal. Na abordagem proposta, visto que a região de interesse é dividida em pequenos fragmentos, assume-se que a distribuição dos vetores de características dentro de cada fragmento é aproximadamente homogênea, e o desvio da hipótese normal pode não ser muito grande. Uma possível desvantagem do uso de fragmentos é que, quando se tem uma grande região homogênea em um objeto, ela poderá ter vários fragmentos similares, que pode gerar casamentos errôneos entre os mesmos. Outra desvantagem é que os fragmentos não podem ser muito pequenos devido à informação estatística que eles fornecem. Contudo, o deslocamento final de todo o objeto é calculado usando-se uma abordagem robusta de médias com pesos dos deslocamentos individuais, assim os fragmentos com resultados errados são amortizados pelos outros restantes. De fato, no capítulo 4, os resultados apresentados demonstram a robustez da técnica proposta.

35 Deve-se salientar que a utilização de uma quantidade maior de fragmentos (ou seja, geração de fragmentos menores) tende a estar em maior consonância com a hipótese Gaussiana dentro de cada fragmento. Por outro lado, fragmentos muito pequenos podem gerar estimativas não confiáveis para a média e matriz de covariância, já que há poucas observações no fragmento. De fato, um desafio ainda em aberto é achar uma subdivisão em fragmentos que sejam ao mesmo tempo compatíveis com a hipótese Gaussiana e ofereçam uma amostra suficiente para o cálculo das estatísticas. Para obter o vetor de deslocamento individual v i para cada fragmento i, uma região de busca com dimensão S x S y é colocada no centro de cada fragmento no quadro corrente. A distância de Bhattacharyya entre o fragmento e todos os fragmentos candidatos na região de busca é calculada exaustivamente, e o fragmento selecionado será aquele que apresentar a menor distância. 3.4 Predição do Movimento A predição do movimento pode ser muito útil para reduzir a área de busca ou para eliminar movimentos falsos devido a oclusões. Há dois tópicos importantes referentes à predição de movimento: como realizá-la de uma forma rápida e como utilizar as informações obtidas de uma forma fácil e coerente. Filtro de Kalman é uma ferramenta amplamente conhecida para calcular a predição de uma posição futura, com aplicações em problemas de rastreamento, como em [22]. Embora o filtro de Kalman alcance uma boa predição, ele possui certo custo computacional. Neste trabalho, propõe-se o uso da técnica Double Exponential Smoothing proposta em [23] para a predição de posição. De acordo com [23], essa técnica de predição é de simples implementação, muito mais rápida que o Filtro de Kalman, e com um desempenho de predição equivalente. Dada uma série temporal de vetores v t, a predição no tempo t + τ conforme [23] é dada por v t+τ = ( 2 + ατ ) ( ρ t 1 + ατ ) ρ [2] t, (3.6) 1 α 1 α

36 onde ρ t e ρ [2] t são variáveis auxiliares calculadas através das seguintes expressões: ρ t = αv t + (1 α)ρ t 1, (3.7) ρ [2] t = αρ t + (1 α)ρ [2] t 1. (3.8) Aqui, α é o fator de decaimento exponencial (pequenos valores para α produzem predições suavizadas). Na abordagem proposta, foi determinado experimentalmente o valor α = 0.1, e foi utilizado o valor τ = 1 para gerar um vetor de predição v p = v t+1 no quadro adjacente t + 1. 3.5 Combinando Informações dos Fragmentos e o Movimento de Predição A métrica de comparação descrita na seção 3.3 e o movimento de predição descrito na seção 3.4 geram a partir de um conjunto de N p fragmentos, vetores de deslocamento v i e um vetor de deslocamento de predição v p, em um total de N p + 1 informações de movimento individual. Por simplicidade de notação, será definido v Np +1 = v p. Se o movimento for apenas translacional, todos esses vetores devem ser similares. Contudo, os vetores de deslocamento v j em um ou mais fragmentos podem ser distorcidos quando ocorrer oclusões parciais, houver mais de um fragmento sobre regiões uniformes, ou houver mudanças de iluminação. Para combinar esses vetores, o simples cálculo da média dos vetores de deslocamento individuais não fornece bons resultados, pois a média pode ser afetada significativamente por um simples vetor discrepante dos demais. Assim, uma abordagem mais adequada é o uso de WVMFs (Weighted Vector Median Filters), que implicitamente rejeitam esses vetores discrepantes da média esperada [24]. Para o cálculo da WVMF, primeiramente é calculada a soma das distâncias entre cada vetor e os demais: D j = D(v j ) = N p+1 i=1 v j v i, para j = 1,..., N p + 1, (3.9)