• Nenhum resultado encontrado

Rastreamento de vídeo com aprendizagem em tempo real

N/A
N/A
Protected

Academic year: 2021

Share "Rastreamento de vídeo com aprendizagem em tempo real"

Copied!
94
0
0

Texto

(1)

Pós-Graduação em Ciência da Computação

Rastreamento de vídeo com aprendizagem

em tempo real

Por

Thiago Lessa Prata

Dissertação de Mestrado

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

(2)

Universidade Federal de Pernambuco

Centro de Informática

Thiago Lessa Prata

Rastreamento de vídeo com aprendizagem em tempo real

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Uni-versidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computa-ção.

Orientador: Prof. Tsang Ing Ren

Co-orientador: Prof. George Darmiton da Cunha Cavalcanti

Recife

2014

(3)

Catalogação na fonte

Bibliotecária Jane Souto Maior, CRB4-571

Prata, Thiago Lessa

Rastreamento de vídeo com aprendizagem em tempo real / Thiago Lessa Prata. - Recife: O Autor, 2014.

93 f., fig., tab.

Orientador: Tsang Ing Ren.

Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2014.

Inclui referências.

1. Inteligência artificial. 2. Visão computacional. I. Ren, Tsang Ing (orientador). I. Título.

(4)

Dissertação de Mestrado apresentada por Thiago Lessa Prata à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de

Pernambuco, sob o título “Rastreamento de Vídeo com Aprendizagem em Tempo

Real” orientada pelo Prof. Tsang Ing Ren e aprovada pela Banca Examinadora formada

pelos professores:

______________________________________________ Prof. Aluizio Fausto Ribeiro Araújo

Centro de Informática / UFPE

______________________________________________ Prof. Bruno José Torres Fernandes

Escola Politécnica de Pernambuco / UPE

_______________________________________________ Prof. George Darmiton da Cunha Cavalcanti

Centro de Informática / UFPE

Visto e permitida a impressão. Recife, 14 de fevereiro de 2014.

___________________________________________________

Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)

Dedico este trabalho a minha família, namorada, amigos e professores que tornaram possível a execução desta dissertação.

(6)

Agradecimentos

Enfim, mais uma etapa da vida chega ao fim. Uma etapa extremamente importante e satisfató-ria. Nesse meio tempo, várias dificuldades apareceram. Provas para estudar, experimentos para fazer, muitos e muitos artigos para ler. Cada obstáculo, porém, apenas me faz saborear mais este momento tão feliz.

No entanto, não posso dizer que consegui finalizar esta fase tão importante sozinho. Tive ajuda de várias pessoas. E é a eles que eu dedico esta seção. Gostaria de agradecer primeira-mente a Deus e aos meus pais, Roberto Prata e Sônia Lessa, que sempre me apoiaram em tudo. Graças a eles tive condição de chegar até aqui, sempre me forneceram um estudo de qualidade e me passaram ensinamentos que carregarei pelo resto da vida, nunca me faltou nada. Agradeço também a minha namorada, Alexandrine Costa, que sempre esteve ao meu lado e me apoiou nos momentos difíceis que tive. Ela me acompanhou por toda essa jornada, desde o início da graduação até a finalização do mestrado. Devo dizer que sem ela tudo seria mais difícil, ela sempre me deu a força de vontade em momentos que ela me faltou. Agradeço a toda a minha família, meus avôs, meus tios e meus primos.

Agradeço também ao meu orientador Tsang Ing Ren por ter sido sempre solicito, me for-necendo fontes de pesquisa, discutindo as minhas ideias e me ajudando com qualquer dúvida ou esclarecimento em relação a toda a pesquisa de mestrado que executei nesses últimos anos. Agradeço também ao meu co-orientador George Darmiton por estar presentes em diversas reu-niões que tive com Tsang, me dando sempre uma segunda visão sobre minhas hipóteses e fornecendo novos caminhos para seguir. Agradeço a toda equipe do centro de informática por ter me fornecido um ambiente propício para os estudos. Agradeço também aos professores que me passaram seu conhecimento no mestrado, me ajudando a construir os alicerces para esta dissertação.

Amigos, graças a eles minha jornada foi menos penosa. A toda a turma do pôquer, agradeço pelos momentos de descontração que tive com vocês. Agradeço também aos amigos que fiz na graduação e mestrado, estes foram essenciais tanto na hora dos estudos quanto na hora da descontração. Agradeço também aos amigos de infância e aos amigos do trabalho. Agradeço aos diretores da Urja Social, que foram bastante compreensíveis e me deram a oportunidade de trabalhar num esquema flexível, o que foi fundamental para a conclusão deste trabalho. Sem todos vocês, eu não teria chegado até onde cheguei, obrigado!

(7)

A imaginação é mais importante que a ciência, porque a ciência é limitada, ao passo que a imaginação abrange o mundo inteiro.

(8)

Resumo

Em visão computacional, a área de rastreamento de objetos tem crescido enormemente. O aumento do poder computacional na última década tem permitido que aplicações em tempo real sejam agora possíveis. Em particular, o ramo de rastreamento de objetos tem se beneficiado com essa evolução e agora é utilizado em diversas aplicações desde a área de segurança até a de entretenimento. As primeiras técnicas se baseiam principalmente no vetor de movimento de sub-regiões da imagem e comparação entre as sub-regiões de um quadro do vídeo com o seguinte. Com isso, uma pontuação é computada para cada posição no quadro seguinte no qual o objeto alvo tem maior probabilidade de estar e a posição com maior valor é escolhida como a sua nova posição. Esses rastreadores normalmente são chamados de rastreadores de curto prazo, isso porque uma vez que o objeto é perdido de vista não é possível que ele volte a ser rastreado. Em contrapartida, visando continuar o rastreamento mesmo quando ele é perdido por algum tempo, nos últimos anos uma nova classe de rastreadores foi criada: os rastreadores por detecção. Nestes métodos, uma fase de rastreamento define a posição do objeto em um quadro a partir da sua posição no quadro anterior. Além da fase de rastreamento, uma fase de detecção visa encontrar o objeto sem que haja qualquer dependência com o seu histórico de posicionamento. A resposta de cada uma das duas técnicas é combinada de forma que a nova posição seja determinada. Quando o rastreamento é perdido por causa de alguma condição de ruído (como oclusão ou algum movimento rápido), a detecção é utilizada para reinicializar o rastreamento, o que possibilita a criação de um rastreador de longo prazo. Visando construir tal tipo de rastreador, o presente trabalho elabora um método de rastreamento por detecção. Mais especificamente, o principal objetivo da técnica elaborada é rastrear um objeto em um cenário complexo onde existam outros objetos semelhantes com problemas de difícil tratamento como oclusão, mudança de escala e mudança de pose. Para que isso seja possível, foi utilizado um esquema baseado em detecção, rastreamento e aprendizagem. Na fase de rastreamento, um rastreador de curto prazo comum e consolidado é utilizado. A fase de aprendizagem tem a função de selecionar amostras para o treinamento do módulo de detecção. A fase de detecção é constituída por quatro classificadores em cascata. Dentre eles, o classificador online cascade

boosted classifier (OCBC) é utilizado, uma das principais contribuições deste trabalho. O

OCBC é um detector do tipo cascata que possui um treinamento em tempo de execução. O método criado foi testado utilizando várias bases de rastreamento de faces com diversos níveis de dificuldade e os resultados mostraram um avanço em relação ao estado da arte.

(9)

Abstract

In computer vision, the area of object tracking has increased enormously. The increase of computing power in the past decade has allowed the manufacturing of real time aplications that were previously not possible. In particular, object tracking has benefited with this evolution and now it is used in many aplications ranging from security to entertainment. Initial techniques were mainly based on the movement vector of subregions between a video frame and the next frame. Based on that, a score for the probability for the new target position is computed for each position in the subsequent frame and the higher score is used to update the new target position. These trackers are called short term tracking techniques because if the target is lost by the tracker, it is not possible to track it again in the future. On the other hand, in the last few years a new class of trackers was created in order to continue the tracking even when the tracker lost the target: the tracking by detection methods. The tracking phase define the object position in the current frame from its previous position, which creates a dependency of the objects position with its past. The detection phase, on the other hand, finds the target without any constraints with its past locations. The response of these techniques are combined in order to determine the new target position. When the tracking is lost because of any noise conditions (such as occlusion or fast movement changes), detection is used to reinitialize the tracking, which enables the creation of a long term tracking. To construct this kind of tracker, the present work formulates a tracking by detection method. More specifically, the main objective of this method is to track an object in a complicated scenario where other similar objects are present. Also in cases where there are occlusions, scale and pose changes, which makes the problem more difficult to solve. A tracking-learning-detection framework is used to obtain such method. In the tracking phase, a common short term tracker is used. The learning phase selects the training samples for the detection module. The detection module is built with four queued classifiers. Between them, the online cascade boosted classifier (OCBC) is used, one of the main contributions of this work. The OCBC is a type of cascade classifier with online training. The proposed method is tested using many face tracking databases with varied levels of difficulty. The results showed that a better performance when compared with some methods in relation to the state-of-art.

(10)

Lista de Figuras

1.1 Exemplo de rastreamento. 16

1.2 Exemplo de como o rastreamento pode ser perdido através do desvio do retân-gulo estimado causado por situações de oclusão parcial e mudança de escala. 17

2.1 Exemplos de funções kernel. A Figura 2.1(a) se refere à função normal en-quanto que a Figura 2.1(b) se refere à função plana 24 2.2 Diagrama de execução do filtro de Kalman. Com os parâmetros iniciais

esti-mados, o estado do sistema é estimado na fase de predição. Em seguida a fase de atualização corrige o estado predito de acordo com a nova medição feita e o ganho de Kalman. Por fim, o estado corrigido é utilizado para estimar o estado na próxima iteração na fase de predição. 29

3.1 Características quadráticas utilizadas no trabalho de Viola e Jones. 35 3.2 Exemplo de como é calculado um ponto da imagem integral. O ponto II(x, y)

corresponde ao somatório de toda a área mais escura da imagem. 36 3.3 Transformação do modelo do objeto ao decorrer do rastreamento. Cada círculo

representa um vetor de características no espaço. Os círculos ligados represen-tam o rastreamento de um objeto começando do 1 até o 7. A região amarela representa a região de confiança do rastreador e os círculos vermelhos são as amostras consideradas confiáveis. Uma vez que o objeto rastreado entra na região de confiança do modelo, toda a sua trajetória é considerada válida e utilizada para a atualização desta região. 42 3.4 Detector completo do TLD, que é composto por três detectores internos

dis-postos em um arquitetura de cascata. 43 3.5 Funcionamento da máquina de comitê. Primeiramente os classificadores base

são definidos offline escolhendo-se de forma aleatória um número de compa-rações igual para todos. Em tempo de execução, a janela das compacompa-rações é reescalada para o tamanho do patch e os classificadores são avaliados gerando os códigos binários. Por fim, a probabilidade de cada código encontrado é

adicionada numa média. 44

3.6 Fluxo de execução do MILTrack. A partir de um quadro t e a posição do objeto

ℓt, os patches com um distância menor que s são utilizados como amostras positivas Xp e os que têm distância maior que s e menor queβ são utilizados como negativos Xn. No quadro t + 1, a verossimilhança p(y|x) é calculada para cada amostra dentro da janela de busca x∈ Xse aquela que tiver maior valor é escolhida como a nova localização do objeto rastreado. 48

(11)

LISTA DE FIGURAS

4.1 Arquitetura cascata do OCBC. Cada estágio da cascata é composto por um classificador forte formado por um comitê de classificadores fracos. Um padrão pode ser rejeitado em qualquer estágio da cascata ou prosseguir até o último

estágio e ser aceito. 51

4.2 Diagrama do treinamento do OCBC. 58

4.3 Exemplificação de como o limiarθc(as duas linhas verticais) é posicionado de forma a garantir uma alta taxa de acerto. A gaussiana do lado esquerdo ilustra a população positiva para uma determinada característica quadrática enquanto que a gaussiana do lado direito a população negativa. 59 4.4 Módulo de detecção do OCBC-TLD-v1. O detector Adaboost elimina todos

os objetos que não são da classe do objeto alvo. O OCBC reconhece o alvo dentre outros objetos da mesma classe. Por fim, o 1-NN elimina qualquer falso

positivo remanescente. 59

5.1 Exemplos de imagens das bases utilizadas no grupo 1. 62 5.2 Exemplos de imagens que apresentam as características que prejudicam o

ras-treamento. 62

5.3 Exemplos de imagens da base SPEVI. 63 5.4 Rastreamentos feitos pelas técnicas analisadas na bases analisadas. Nas

ima-gens, o retângulo azul é estimado pelo TLD-v1, o verde pelo OCBC-TLD-v2, o azul claro pelo OB, o roxo pelo BSBT, o amarelo pelo TLD e o

vermelho pelo Face-TLD. 76

5.5 Distância entre centros para as bases Boy, David2, Dudek, Faceocc1, FleetFace e Freeman1 do grupo 1. O eixo X consiste no número do quadro e o eixo Y no

valor da distância entre centros. 77

5.6 Distância entre centros para as bases Freeman3, Jumping, Mhyang e Trellis do grupo 1. O eixo X consiste no número do quadro e o eixo Y no valor da

distância entre centros. 78

5.7 Distância entre centros para a base SPEVI. O eixo X consiste no número do quadro e o eixo Y no valor da distância entre centros. 79 5.8 Diferença relativa entre áreas para as bases Boy, David2, Dudek, Faceocc1,

FleetFace e Freeman1 do grupo 1. O eixo X consiste no número do quadro e o

eixo Y no valor da diferença. 80

5.9 Diferença relativa entre áreas para as bases Freeman3, Jumping, Mhyang e Trellis do grupo 1. O eixo X consiste no número do quadro e o eixo Y no valor

da diferença. 81

5.10 Diferença relativa entre áreas para a base SPEVI. O eixo X consiste no número do quadro e o eixo Y no valor da diferença. 82 5.11 Gráficos de interseção entre áreas para as bases Boy, David2, Dudek, Faceocc1,

FleetFace e Freeman1 do grupo 1. O eixo X consiste no número do quadro e o eixo Y no valor da interseção das áreas. 83 5.12 Gráficos de interseção entre áreas para as bases Freeman3, Jumping, Mhyang e

Trellis do grupo 1. O eixo X consiste no número do quadro e o eixo Y no valor

(12)

LISTA DE FIGURAS

5.13 Gráficos de interseção entre áreas para a base do grupo 2. O eixo X consiste no número do quadro e o eixo Y no valor da interseção das áreas. 85

(13)

Lista de Tabelas

5.1 Número de quadros de cada base utilizada. 61 5.2 Características utilizadas nas bases do grupo 1. 63 5.3 Características utilizadas na base do grupo 2. 64 5.4 Resultados de precisão, média µe desvio padrão σ amostrais, para as bases

do grupo 1. O melhor resultado está grifado em negrito. 66 5.5 Resultados dos testes de hipóteses para a precisão média para as bases do grupo

1. O símbolo (-) indica que o teste falhou ao rejeitar a hipótese nula (que as médias das duas técnicas são iguais) e o símbolo (+) indica que a hipótese nula foi rejeitada. Todos os testes foram feitos com nível de significância de 5%. 66 5.6 Resultados de cobertura, médiaµe desvio padrãoσamostrais, para as bases

do grupo 1. O melhor resultado está grifado em negrito 67 5.7 Resultados dos testes de hipóteses para a cobertura média para as bases do

grupo 1. O símbolo (-) indica que o teste falhou ao rejeitar a hipótese nula (que as médias das duas técnicas são iguais) e o símbolo (+) indica que a hipótese nula foi rejeitada. Todos os testes foram feitos com nível de significância de 5%. 67 5.8 Resultados de precisão, média µ e desvio padrãoσ amostrais, para as faces

da base SPEVI. Os melhores resultados estão grifados em negrito. 68 5.9 Resultados dos testes de hipóteses para a precisão média para a base SPEVI. O

símbolo (-) indica que o teste falhou ao rejeitar a hipótese nula (que as médias das duas técnicas são iguais) e o símbolo (+) indica que a hipótese nula foi rejeitada. Todos os testes foram feitos com nível de significância de 5%. 68 5.10 Resultados de cobertura, média µe desvio padrãoσamostrais, para as faces

da base SPEVI. Os melhores resultados estão grifados em negrito. 69 5.11 Resultados dos testes de hipóteses para a cobertura média para a base SPEVI. O

símbolo (-) indica que o teste falhou ao rejeitar a hipótese nula (que as médias das duas técnicas são iguais) e o símbolo (+) indica que a hipótese nula foi rejeitada. Todos os testes foram feitos com nível de significância de 5%. 69 5.12 Distância média entre centros para as bases do grupo 1. Os melhores resultados

estão grifados em negrito. 70

5.13 Distância média entre centros para a base SPEVI. Os melhores resultados estão

grifados em negrito. 70

5.14 Diferença relativa média entre áreas para as bases do grupo 1. Os melhores resultados estão grifados em negrito. 71 5.15 Diferença relativa média entre áreas para a base SPEVI. Os melhores resultados

(14)

LISTA DE TABELAS

5.16 Interseção média entre áreas para as bases do grupo 1. Os melhores resultados

estão grifados em negrito. 72

5.17 Interseção média entre áreas para a base SPEVI. Os melhores resultados estão

grifados em negrito. 72

5.18 Linguagens utilizadas em cada rastreador. 73 5.19 Taxa de quadros por segundo para as bases do grupo 1. Os melhores resultados

para cada base estão grifados em negrito. 73 5.20 Taxa de quadros por segundo para a base SPEVI. Os melhores resultados para

(15)

Sumário

1 Introdução 16

1.1 Objetivos 18

1.2 Contribuições da Dissertação 18

1.3 Estrutura Geral do Trabalho 19

2 Rastreamento por Fluxo Óptico 20

2.1 Método Lucas Kanade 21

2.2 Mean-Shift 23

2.2.1 Mean-Shift aplicado a rastreamento 24

2.3 Filtro de Kalman 26

2.3.1 Filtro de Kalman aplicado ao rastreamento 29

2.4 Conclusão 31

3 Rastreamento por Detecção 32

3.1 Online Adaboost para Seleção de Características 32

3.1.1 Adaboost 33

3.1.2 Adaboost para Seleção de Características 34 3.1.3 Adaboost Online para Seleção de Características 36

3.1.4 Rastreador OB 39

3.1.5 Rastreador Beyond Semi Boosting Tracker 39

3.2 Tracking-Learning-Detection 40 3.2.1 Aprendizagem 40 3.2.1.1 Especialista P 41 3.2.1.2 Especialista N 42 3.2.2 Detecção 42 3.2.2.1 Classificador de Variância 43 3.2.2.2 Máquina de Comitê 43 3.2.2.3 Classificador 1-NN 44 3.2.3 Rastreador 45 3.2.4 Face-TLD 45

3.3 Multiple Instance Learning Track 46

3.3.1 Aprendizado por Múltiplas Instâncias 46

3.3.2 Classificador 46

3.3.3 MILTrack 48

(16)

SUMÁRIO

4 Online Cascade Boosted Classifier 50

4.1 Classificador OCBC 50

4.1.1 A Cascata 50

4.1.2 O Classificador Forte 54

4.1.3 O Classificador Fraco 55

4.2 Sistema de Rastreamento OCBC-TLD-v1 56 4.3 Sistema de Rastreamento OCBC-TLD-v2 57

5 Experimentos e Resultados 60

5.1 Técnicas e Bases de Dados 60

5.1.1 Bases do Grupo 1 61 5.1.2 Bases do Grupo 2 63 5.2 Resultados 64 5.2.1 Testes de Desempenho 64 5.2.2 Testes de Alinhamento 68 5.2.3 Testes de Tempo 72 5.2.4 Discussão Final 74 6 Considerações Finais 86 6.1 Trabalhos Futuros 87 7 Referências 89

(17)

16

C

APÍTULO

1

Introdução

O começo de todas as ciências é o espanto de as coisas serem o que são.

—ARISTÓTELES

Em visão computacional, rastreamento é uma área que trabalha em localizar um ou múlti-plos objetos em movimento ao longo do tempo utilizando uma sequência de vídeo. O objeto que se deseja seguir (aqui neste trabalho chamado de objeto alvo) é determinado por uma re-gião geométrica, que pode ser complexa, como o contorno do objeto, ou simples, como um retângulo onde o alvo está contido. Normalmente, a sua inicialização é feita por um agente externo, como o usuário do sistema. O rastreador, por sua vez, deve reposicionar este retângulo e mudar seu tamanho de acordo com a movimentação do alvo. A Figura 1.1 exibe um exemplo de rastreamento. O rastreamento tem uma variedade de usos, incluindo interação entre homem e máquina, segurança e vigilância, comunicação por vídeo e compressão, realidade aumentada, controle de tráfego entre muitos outros (WU; LIM; YANG, 2013; YILMAZ; JAVED; SHAH, 2006). Novas aplicações nessa área tem surgido cada vez mais devido ao aumento do poder computacional e a evolução na qualidade e resolução dos sensores de captura de imagem, que tem permitido a construção de sistemas de rastreamento em tempo real.

Os primeiros trabalhos em rastreamento por vídeo se baseiam no fluxo óptico da imagem, o que significa que sub-regiões do objeto alvo são buscadas no quadro seguinte de forma a de-terminar o vetor de deslocamento do objeto e com isso sua a nova posição (BOUGUET, 2000; LI; CHEN; SCHRAUDOLPH, 2008; MAINALI et al., 2010). Estes rastreadores se baseiam em três princípios: a aparência constante, movimentos pequenos e a coerência espacial. Como a maioria dos sensores de captura de imagem atual captam apenas parte da informação de uma cena, a noção de profundidade é perdida. Por isso nem sempre esses princípios são verdadeiros. O que faz com que sistemas de rastreamento por fluxo óptico tendam a cometer erros pequenos, denominados desvios (KALAL; MIKOLAJCZYK; MATAS, 2010a), frequentes e cumulativos.

(18)

CAPÍTULO 1 INTRODUÇÃO 17

Figura 1.2: Exemplo de como o rastreamento pode ser perdido através do desvio do retângulo estimado causado por situações de oclusão parcial e mudança de escala.

O erro acumulado com o passar do tempo tende a fazer com que o rastreamento seja perdido. Por causa disso, essas técnicas são denominadas de "rastreadores de curto prazo", já que a probabilidade de se perder o objeto alvo é alta se a sequência de vídeo for longa. A Figura 1.2 mostra como desvios graduais podem fazer com que o rastreamento se perca.

Apesar dos primeiros trabalhos em rastreamento terem começado na década de oitenta, o crescimento de métodos e trabalhos dedicados a resolver este problema só ocorreu principal-mente nos últimos quinze anos (WU; LIM; YANG, 2013). A maioria dos trabalhos propostos atualmente tentam criar um rastreador que consiga lidar com falhas, como erro por desvio e perda do objeto, e também com os diversos ruídos que possam existir na cena como oclusão do objeto, movimentação rápida, mudança de cena e mudança na aparência do alvo (BABENKO; YANG; BELONGIE, 2011; BIBBY; REID, 2010; STALDER; GRABNER, 2009). Por terem a habilidade de se recuperar de erros, esses métodos são denominados "rastreadores de longo

prazo". Para encontrar o alvo após uma perda, um módulo de detecção é utilizado em conjunto

com o rastreador. Por isso esses métodos recebem o nome de "rastreadores por detecção", e podem ser divididos de acordo com o seu tipo de aprendizagem:

1. Aprendizagem com base limitada;

2. Aprendizagem offline;

3. Aprendizagem online.

Os métodos que tem aprendizagem com base limitada utilizam apenas a informação super-visionada do problema (BINH, 2011), geralmente o retângulo utilizado para inicializar o rastre-ador, para treinar seu detector. Essas técnicas geralmente são mais rápidas, mas têm problemas quando o alvo muda de aparência (por exemplo, mudança de pose ou mudança de iluminação). Os métodos com aprendizagem offline treinam o detector antes de utilizá-lo na tarefa de rastrea-mento (AVIDAN, 2004; BLACK; JEPSON, 1998). Essa categoria de rastreadores também tem a vantagem de ser menos custosa computacionalmente, no entanto raramente ela é utilizada na prática. Isso porque normalmente não se conhece o objeto que se deseja rastrear a priori. Por fim, os rastreadores com aprendizagem online utilizam a informação não supervisionada criada em tempo de execução para treinar continuamente o seu detector (BABENKO; YANG; BE-LONGIE, 2011; KALAL; MIKOLAJCZYK; MATAS, 2012; ROSS et al., 2008; STALDER; GRABNER, 2009). As técnicas desta categoria têm mostrado melhores resultados de preci-são, porém normalmente são os métodos que são mais custosos computacionalmente. Além do custo computacional, outro grande problema encontrado nesta categoria está no fato de que as

(19)

1.1 OBJETIVOS 18

amostras utilizadas para treinamento não são precisas e nem sempre confiáveis. Como o treina-mento é não supervisionado, esses métodos tem que inferir a categoria das amostras utilizadas no treinamento. A utilização de várias amostras com a classe errada pode levar ao treinamento de um detector que encontrará os objetos errados, fazendo com que a tarefa de rastreamento seja perdida por completo.

A tarefa de inferir classes para as amostras encontradas à medida que o rastreamento acon-tece pode ficar ainda mais complicada quando o cenário compreende vários objetos semelhan-tes, como pedestres ou faces por exemplo. Neste caso, o próprio detector pode começar a cometer erros mesmo com as amostras de treinamento tendo as classes corretamente inferidas. Visualizando este cenário, o trabalho elaborado propõe desenvolver um método de rastreamento onde múltiplos objetos semelhantes estão presentes na mesma cena. Para isso, é elaborado um rastreador por detecção com aprendizagem híbrida, no qual o módulo de detecção é composto por um conjunto de classificadores em fila, parte com aprendizagem offline e parte com apren-dizagem online. A aprenapren-dizagem offline do detector pode ser feita antes da execução neste caso, pois ele será treinado para classificar apenas a categoria de objetos que se deseja rastrear (como faces, por exemplo). Outros detectores são utilizados para aprender a aparência específica do alvo e discriminá-lo de outros objetos semelhantes. Para discriminar da melhor forma possível tais objetos, um novo detector foi proposto com uma arquitetura em cascata que tenta aumen-tar sua complexidade (níveis da cascata) à medida que a complexidade do problema aumenta (objetos mais semelhantes são apresentados).

1.1

Objetivos

Quando o cenário onde se encontra o objeto alvo possui múltiplos objetos semelhantes a ele além de diversos ruídos, o rastreamento pode ser bastante complicado. Um detector com com-plexidade constante ajustada em tempo de inicialização pode não ter ferramentas o suficiente para conseguir distinguir tais objetos. Por isso muitas vezes não é possível para um rastreador por detecção estimar a trajetória correta do alvo.

O objetivo principal deste trabalho é criar um módulo de detecção que consiga variar sua complexidade (flexibilidade na sua região de decisão) de forma a aumentá-la de acordo com a dificuldade do problema, possibilitando assim uma maior taxa de acerto na trajetória estimada pelo rastreador. Além disso, tem-se como objetivo unir este módulo de detecção a um rastreador por detecção com o intuito de criar um rastreador a longo prazo.

1.2

Contribuições da Dissertação

A presente pesquisa resultou nas seguintes contribuições:

1. Um classificador com aprendizagem em tempo de execução com arquitetura do tipo cas-cata que permite o aumento da complexidade de acordo com a dificuldade do problema.

2. Um módulo de detecção com aprendizagem híbrida que utiliza tanto informação a priori quanto informação em tempo de execução.

(20)

1.3 ESTRUTURA GERAL DO TRABALHO 19

3. Um rastreador por detecção de longo prazo.

1.3

Estrutura Geral do Trabalho

Esta dissertação está dividida em seis capítulos.

• Capítulo 2 - Rastreamento por fluxo óptico: Este capítulo se dedica a descrever as primeiras técnicas que deram origem à área de rastreamento.

• Capítulo 3 - Rastreamento por detecção: Neste capítulo técnicas que utilizam um módulo de detecção para complementar o rastreador são descritas. Estas técnicas são atuais e descrevem parte do estado da arte da área.

• Capítulo 4 - Online Cascade Boosted Classifier: Descreve as contribuições deste tra-balho. Primeiramente é detalhado o classificador proposto. Em seguida, são descritos o rastreador e seu módulo de detecção. Por fim, uma segunda versão do rastreador é elaborada com um módulo de detecção mais robusto.

• Capítulo 5 - Experimentos e Resultados: Detalha todos os experimentos executados para avaliar a taxa de acerto, a qualidade e o tempo de execução de rastreamento. São descritas também as técnicas testadas, as bases e a máquina utilizada. São mostrados os resultados das técnicas propostas e comparados com o estado da arte. Por último algumas conclusões específicas em relação a cada teste são relatadas.

• Capítulo 6 - Considerações Finais: Resume o que foi discutido ao longo da dissertação, descreve as conclusões obtidas em relação ao trabalho executado. Finaliza apontando possíveis direções futuras para a continuação da pesquisa.

(21)

20

C

APÍTULO

2

Rastreamento por Fluxo Óptico

Se eu vi mais longe, foi por estar de pé sobre ombros de gigantes.

—ISAAC NEWTON

No início das pesquisas em visão computacional, o estudo sobre rastreamento seguia prin-cipalmente o caminho de detectar os vetor de movimentação (fluxo óptico) (MAGGIO; CA-VALLARO, 2011) de cada pixel (ou regiões de pixels) e com base no deslocamento total deles determinar a nova posição do objeto rastreado. Para calcular o fluxo óptico, normalmente os autores definiam algum tipo de função de erro que servia como uma métrica para medir a chance da hipótese (localização estimada do objeto) ser verdadeira. Com base nisso, técnicas de gradiente eram utilizadas para encontrar o local na imagem que minimizasse o erro.

No entanto, técnicas de fluxo óptico sofrem com o problema de imprecisão na medição dos vetores de movimento da imagem. O erro ocorre principalmente porque a informação de profundidade é perdida, em detrimento da forma como a imagem é capturada. O vetor de movimento de um pixel pode, por exemplo, ser apenas uma projeção do real movimento executado. Esse problema faz com que ao invés de ser rastreado um objeto na imagem, seja rastreada a projeção deste objeto em relação à câmera, o que pode causar erros de alinhamento crescentes.

Outro problema que ocorre frequentemente em métodos de rastreamento por fluxo óptico acontece quando uma região que está sendo rastreada é monocromática. Regiões deste tipo não contém informação suficiente para que o movimento possa ser percebido. Tal problema é co-nhecido como aperture problem (MAGGIO; CAVALLARO, 2011). Para solucioná-lo, técnicas para identificar regiões candidatas para o rastreamento são utilizadas. Estas identificam regiões que possuem características discriminantes que propiciam o seu rastreamento. Os algoritmos

Harris Corners (HARRIS; STEPHENS, 1988) e Best Features to Track (SHI; TOMASI, 1994)

são exemplos de algoritmos utilizados para esse fim.

Apesar dos problemas citados, técnicas de rastreamento por fluxo óptico ainda são muito utilizadas atualmente. Vários algoritmos utilizam essas técnicas como parte atuante do sistema e são utilizadas em conjunto de outros algoritmos que melhoram seu desempenho. Este ca-pítulo se dedica a descrever alguns dos métodos nesta área que ganharam maior destaque por causa de seus resultados bem sucedidos e por ainda hoje terem relevância nos estudos do estado da arte. Primeiramente na sessão 2.1 o método elaborado por Bruce Lucas e Takeo Kanade, de-nominado LK, será descrito. Em seguida, na sessão 2.2 o algoritmo Mean-Shift será discutido.

(22)

2.1 MÉTODO LUCAS KANADE 21

Por fim, na sessão 2.3 o filtro de Kalman será apresentado.

2.1

Método Lucas Kanade

O método desenvolvido por Bruce D. Lucas e Takeo Kanade em 1981, conhecido como Lucas Kanade ou LK (LUKAS, 1981), apesar de ser uma das primeiras técnicas de rastreamento por vídeo desenvolvidas, ainda é bastante utilizada nas pesquisas atuais (DORE; BEOLDO; REGAZZONI, 2009; MAINALI et al., 2010; PARK; PARK; JEON, 2009). O LK se baseia no fluxo óptico da imagem para rastrear um objeto. Apesar de ter sido formulada para produzir resultados densos (onde o vetor de movimento é definido para cada pixel na imagem), ela pode ser aplicada para um subconjunto de pontos na imagem, se tornando uma importante técnica esparsa. O LK se baseia em três suposições básicas:

1. Aparência constante – Um pixel da imagem não muda sua aparência com o passar do tempo (de um quadro para o outro), no entanto ele pode mudar possivelmente sua posi-ção.

2. Movimentos pequenos – O objeto na imagem se movimenta lentamente entre um quadro e outro. Em outras palavras, isso significa que o incremento de tempo entre quadros é pequeno o suficiente para que o objeto se movimente suavemente na cena.

3. Coerência espacial – Pixels pertencentes a um mesmo objeto possuem movimentos se-melhantes.

Com base nessas três premissas, Lucas e Kanade determinaram uma forma de calcular o deslocamento de uma função a partir de um método iterativo. Pode-se definir que um pixel translada entre um quadro I(x, k) e outro consecutivo I(x, k + 1) da seguinte forma:

I(x, k + 1) = I(x + h, k), (2.1)

onde x e h são vetores coluna n-dimensionais. Uma primeira forma de calcular h seria varrer toda a imagem I(x, k + 1) e escolher os valores que minimizam o erro quadrático:

E = [I(x, k + 1)− I(x + h,k)]2 (2.2)

Como normalmente se deseja rastrear um retângulo P na imagem, calcula-se o erro quadrático:

E =

x∈P

[I(x, k + 1)− I(x + h,k)]2 (2.3) Utilizar a busca por força bruta, no entanto, é computacionalmente custoso. De forma a minimizar este custo, o método LK limita e especifica a ordem no qual os possíveis valores de h são buscados. Para obter esses valores, primeiramente a estimativa inicial h0tem o valor

nulo. A partir da estimativa atual ht, a seguinte estimativa ht+1 é encontrada usando ht mais a informação de gradiente da imagem. Esse processo continua numa iteração do tipo

Newton-Raphson (CHEN, 1994) até que o erro associado não diminua mais ou um número máximo de

(23)

2.1 MÉTODO LUCAS KANADE 22

Para viabilizar a técnica LK, de acordo com as premissas acima, quando os valores de x são pequenos, pode-se fazer a seguinte expansão de Taylor:

I(x + h, k) = I(x, k) + h▽I(x,k), (2.4)

onde▽I(x,k) =[ d ∂x1 ∂x2d

]T

para o caso 2-dimensional, x = [x1 x2]T. A melhor estimativa de

h deve ocasionar no menor erro possível. Para conseguir isto, a Equação 2.4 é utilizada na Equação 2.3 e a derivada do erro em relação à h é igualada a zero.

d

∂hE = 0 (2.5)

d

∂hE =x

∈P2▽I(x,k)[I(x,k + 1) − I(x,k) + h▽I(x,k)] (2.6) Manipulando 2.6 de forma a isolar h, obtém-se:

h = ∑ x∈P▽I(x,k)[I(x,k + 1) − I(x,k)] ∑ x∈P▽I(x,k) 2 (2.7)

Utilizando a iteração de Newton-Raphson para obter uma melhor estimativa:

h0= 0 (2.8)

ht+1= ht+ ∑

x∈P

w(x)▽I(x + ht, k)[I(x, k + 1)− I(x + ht, k)]

x∈P

w(x)▽I(x + ht, k)2 (2.9)

No qual w(x) é uma função de ponderação dada por

w(x) = 1

|▽I(x,k + 1) − ▽I(x,k)|. (2.10)

O método LK tende a funcionar de forma satisfatória quando o movimento percebido entre um quadro e outro é pequeno e a região que se deseja rastrear possui informações de textura relevantes (como bordas) em relação ao plano de fundo (MAGGIO; CAVALLARO, 2011). Na maioria das ocasiões, o objeto rastreado possui regiões que favorecem o rastreamento e outras que não. Em detrimento disso, ao invés de se rastrear a janela inteira, apenas as regiões com características promissoras são utilizadas. Os valores de translação encontrados para cada re-gião são utilizados em conjunto para calcular o vetor de translação da janela analisada. Um Algoritmo utilizado com frequência utiliza informação de bordas na imagem para encontrar re-giões promissoras foi proposto por Shi e Tomasi (SHI; TOMASI, 1994). O Algoritmo 1 ilustra uma versão esparsa (onde apenas alguns pontos do objeto são rastreados) do funcionamento do Lucas Kanade.

(24)

2.2 MEAN-SHIFT 23

Algoritmo 1Rotina de rastreamento utilizando uma versão esparsa do LK Requer: Janela P que denota a região de rastreamento na imagem I(x, k) Requer: Sequência de quadros S ={I(x,0), I(x,1), ..., I(x,n)}

1: para i =0 até n− 1 fazer

2: Encontre as melhores regiões Ri={r1,i, r2,i, ...rM,i} para se rastrear em P no quadro i

3: Utilize a iteração do Lucas Kanade para encontrar o vetor de translação hm,i para cada região rm,i entre I(x, i) e I(x, i + 1)

4: Para cada vetor de translação hm,i, atribua um valor de confiança αm,i = ∑mrm,iLm,i−rm,i+1, onde Lm,ié o número de pixels da região rm,i

5: Calcule um vetor de translação da janela hi= ∑mαm,ihm,i

mαm,i

6: Translade P com hi

7: fim para

2.2

Mean-Shift

Em 95, Cheng e Yizong elaboraram o método Mean-Shift (CHENG, 1995), uma técnica sim-ples de localização e rastreamento de centros de densidade locais de uma população. Por ser uma técnica de análise local, ela tem a vantagem de ignorar outliers e pontos distantes da janela de interesse, o que a torna relativamente robusta a certos tipos de ruídos como oclusão parcial e mudança de escala.

Dado um conjunto finito S incluído no espaço euclidiano X n-dimensional, o centro de massa local m(x) deste conjunto é calculado da seguinte forma:

m(x) =s∈S K(s− x)w(s)ss∈SK(s− x)w(s) . (2.11)

Onde w(s) é uma função que pondera o valor da amostra s sobre a nova média, x é o centro de massa antigo da distribuição e K(x) é denominada uma função kernel e é responsável pela propriedade local ao método. Uma função K : X ← R é descrita como o kernel se ela possui um perfil k : [0,∞] ← R, de forma que

K(x) = k(||x||2), (2.12)

onde k satisfaz as seguintes condições: 1. k é não negativa;

2. k é decrescente: k(a)≥ k(b) se a ≤ b; 3. k é contínua por partes e0k(r)dr <∞.

Geralmente dois tipos de função kernel são utilizadas no cálculo do novo centro de massa, a função normal (Equação 2.13) e a função plana (Equação 2.14).

(25)

2.2 MEAN-SHIFT 24

(a) Função kernel normal (b) Função kernel plana

Figura 2.1: Exemplos de funções kernel. A Figura 2.1(a) se refere à função normal enquanto que a Figura 2.1(b) se refere à função plana

F(x) =

{

1 se||x|| ≤ 1,

0 caso contrário. . (2.14) A função normal é preferível uma vez que atribui menor valor a amostras que estão longe do centro, isso faz com que o método seja mais robusto e ignore de forma mais eficaz outliers. A Figura 2.1 ilustra os kernels normal e plano.

Definida a função kernel e a função de ponderação, o algoritmo do Mean-Shift é bastante simples. Uma vez definido o centro de massa calcula-se o novo centro de massa utilizando a Equação 2.11. Esse procedimento é repetido até que o deslocamento do centro de massa seja próximo de 0. O Algoritmo 2 define o passo-a-passo necessário.

Algoritmo 2Pseudo-código do método Mean-Shift Requer: O centro de massa incial x das amostras. Requer: Uma função kernel K com um perfil válido. Requer: Um limiarε próximo de 0.

1: enquanto x− x′>ε fazer 2: m(x) =s∈S K(s−x)w(s)ss∈S K(s−x)w(s) 3: x′← x 4: x← m(x) 5: fim enquanto

2.2.1 Mean-Shift aplicado a rastreamento

Existem diversas formas de utilizar o Mean-Shift para rastreamento de objetos em vídeos (CHEN et al., 2007; KHAN; SHAH, 2009; LI; CHEN; SCHRAUDOLPH, 2008; NGUYEN; BANERJEE; CHELLAPPA, 2010), o que varia de uma técnica para a outra normalmente é o conjunto de características envolvido e os procedimentos escolhidos para tornar o método inva-riante a escala, mudanças de iluminação ou qualquer outra possível fonte de ruído. Uma técnica bastante popular foi proposta por Comaniciu et al. (COMANICIU; RAMESH; MEER, 2003).

(26)

2.2 MEAN-SHIFT 25

Ela utiliza as cores do objeto alvo para modelar o Mean-Shift. Para modelar o espaço de cores como uma função de distribuição, o histograma normalizado da janela na qual o objeto está localizado é calculado. Desta forma, o modelo do objeto ˆq e do candidado ˆp(y) são definidos como: ˆq ={ ˆqu}u=1...m, onde m

u=1 ˆ qu= 1 e qˆu= C n

i=1 k(||x∗i||2)δ[b(x∗i)− u] (2.15)

ˆp(y) ={ ˆpu}u=1...m, onde m

u=1 ˆ pu= 1 e pˆu(y) = C nh

i=1 k ( y− xh i 2) δ[b(x∗i)− u] (2.16)

onde m é o número de bins do histograma, y é a localização do candidato relativo ao alvo e ˆp(y) é o histograma normalizado em y. Em ambas equações a constante C tem a função de normalizar o histograma. Na última parcela da equação, {x∗i}i=1...n é a posição normalizada de cada pixel do modelo, b(x∗i) denota a intensidade em escala de cinza (quantizado de acordo com o número de bins do histograma) do pixel na posição x∗i, h é uma constante que serve para delimitar a janela dos candidatos eδ é uma função Kronecker.

Para comparar a verossimilhança entre o alvo e o candidato, a distância de Bhattacharyya é utilizada:

d(y) =√1ρ[ˆp(y), ˆq]. (2.17)

A variávelρ corresponde ao coeficiente de Bhattacharyya, que é definido como

ρ[ˆp(y), ˆq] = m

u=1 √ ˆ pu(y), ˆqu. (2.18)

Desta forma, minimizar a distância entre o modelo do alvo e do candidato pode ser alcançado maximizando o coeficiente de Bhattacharyya. Assim, uma aproximação linear de ρ[ˆp(y), ˆq] é obtida utilizando a expansão de Taylor. Utilizando a Equação 2.16, a seguinte aproximação para o coeficiente de Bhattacharyya é obtida:

ρ[ˆp(y), ˆq]≈ 1 2 m

u=1 √ ˆ pu(y0) ˆqu+ Ch 2 nh

i=1 wik ( y− xh i 2) , (2.19) onde wi= m

u=1 ˆ qu ˆ pu(y0)δ [b(xi)− u]. (2.20)

Para minimizar a distância, basta maximizar o segundo termo da Equação 2.19 (o primeiro in-depende de y). Como este termo representa uma estimativa de densidade computada utilizando um perfil k(x) do kernel com y no quadro atual e wi atuando como função de ponderação, o método Mean-Shift pode ser utilizado para achar o máximo local do coeficiente. Assim, a

(27)

2.3 FILTRO DE KALMAN 26

nova localização y1 do objeto rastreado pode ser encontrada de forma iterativa, utilizando o

Algoritmo 2 e substituindo a Equação 2.11 por

y1= nhi=1 xiwig ( ˆy0−xi h 2 ) nhi=1 wig ( ˆy0−xi h 2 ) , (2.21) onde g(x) =−k′(x).

Esta técnica é bastante eficiente ao rastrear objetos que possuem cores bastante diferentes do plano de fundo e de outros objetos os quais possam causar oclusão. Quando a diferença de cores entre o alvo e o resto da cena não é grande, o rastreador pode se confundir facilmente. Isso porque possivelmente existirão vários máximos locais na estimativa de densidade na janela que cerca o objeto rastreado. Mesmo assim, essa técnica é bastante útil em uma variedade de casos reais de rastreamento.

2.3

Filtro de Kalman

O filtro de Kalman (KALMAN, 1960) foi primeiramente introduzido na década de 60 e é um método bastante proeminente em uma variedade de problemas em processamento de sinais. No contexto de rastreamento por vídeo, o filtro de Kalman é bastante utilizado na correção da trajetória do objeto rastreado (LI; GUO; HU, 2010; MORENO-NOGUER; SANFELIU; SAMARAS, 2008; TAHERI; SANKARANARAYANAN; CHELLAPPA, 2013). Para fazer isso, ele leva em conta a dinâmica de movimento ocorrida ao longo do tempo.

Este filtro toma como base um conjunto de suposições altamente restritivas (porém, em diversos contextos razoáveis) para possibilitar, dado um histórico de medições de um sistema, a maximização da probabilidade a posteriori de futuras estimativas do seu estado. Isso significa que, atendendo-se às restrições do filtro, a estimativa do estado atual do sistema será a mais provável considerando-se as medições feitas anteriormente até o presente momento. Para que a construção do filtro de Kalman seja realizável, as seguintes suposições são impostas:

1. O sistema a ser modelado deve ser linear.

2. Os ruídos relacionados com as medições devem ser brancos.

3. Esses ruídos devem seguir uma distribuição gaussiana.

A primeira suposição implica que o estado do sistema na iteração k pode ser modelado como uma multiplicação de uma matriz pelo estado na iteração k− 1. As outras duas suposições implicam que o ruído não tem correlação com o tempo e que sua amplitude pode ser modelada de forma precisa utilizando-se apenas a sua média e matriz de covariância.

O filtro de Kalman propõe resolver o problema geral de tentar estimar o estado x ∈ Rn em um processo controlado e discreto no tempo que é governado por um sistema de equações diferenciais estocásticas lineares.

(28)

2.3 FILTRO DE KALMAN 27

onde xk é o estado atual do sistema, xk−1é o estado anterior do sistema na iteração k− 1, uk−1 é um sinal de controle facultativo, wké o ruído do processo, as matrizes A e B possuem valores constantes que traduzem as leis que governam a dinâmica do processo.

Além da equação dos estados, é possível encontrar o estado atual através de medições refe-rentes ao problema. Estas medições, no entanto, são possivelmente imprecisas. Para modelar essa relação, a seguinte equação entre a medição zke o estado xk é elaborada:

zk= Hxk+ vk, (2.23)

onde vk é o ruído (ou imprecisão) da medida e H é a matriz que relaciona zk e xk. Para que o sistema possa ser processado pelo filtro de Kalman, considerando as suposições acima, wk e vk precisam ter uma distribuição gaussiana e serem ruídos brancos

p(w) = N(0, Q), (2.24)

p(v) = N(0, R). (2.25)

A partir destas suposições, o filtro de Kalman consegue estimar com maior precisão o estado de um sistema. Sua vantagem em relação aos outros filtros é ter um método de cálculo iterativo que leva em conta apenas a medição atual e o último estado para estimar o presente estado do sistema. De forma a obter a melhor estimativa ˆxkpossível do estado xk, o filtro tenta minimizar o erro ekutilizando o erro médio quadrático f (ek).

ek= xk− ˆxk (2.26)

f (ek) = (ek)2 (2.27)

Por ser utilizado em várias iterações, o valor esperado de f (ek) é a métrica mais confiável para ser utilizada como função de custoε(t).

ε(t) = E( f (ek)) = E(e2k) (2.28) Para maior generalidade, considerando um espaço com mais de uma dimensão, a covariância do erro é utilizada e denotada por

Pk= E[ekeTk]. (2.29)

Assumindo que a estimativa a priori do estado xk é dada por ˆx′k, é possível obter uma função de atualização da estimativa do estado utilizando a informação da estimativa a priori com a medição na iteração atual.

ˆ

xk= ˆx′k+ Kk(zk− H ˆx′k) (2.30)

Na Equação 2.30, Kk é uma matriz denominada ganho de Kalman. Ela é responsável por ponderar quanto a diferença entre a medição zk e a estimativa do estado atual H ˆx′k alterará o

(29)

2.3 FILTRO DE KALMAN 28

estado do sistema. O termo zk− H ˆx′k é chamado de inovação e é responsável por modificar o estado do sistema a partir da medição. Quanto maior for o ganho de Kalman, mais a medição irá interferir na nova estimativa do estado. De forma análoga, quanto mais próximo o ganho for de zero, mais a estimativa atual do estado se aproximará da estimativa calculada a priori.

O ganho de Kalman é escolhido de forma a minimizar a covariância do erro. Utilizando as Equações 2.30 e 2.29, derivando em relação a Kke igualando a equação a zero, obtém-se

Kk=

Pk′HT

HPk′HT + R , (2.31)

onde Pk′é a covariância a priori do erro.

Analisando as variáveis da Equação 2.31, pode-se notar que quando o ruído da medição R tende a zero, o ganho de Kalman faz com que o termo de inovação tenha um peso maior, de forma que a influência de zkseja maior sobre estimativa atual do estado:

lim

R→0Kk= H

−1 xˆ

k= ˆx′k+ H−1zk− ˆx′k→ xˆk= H−1zk (2.32) Por outro lado, quando a covariância do erro Pk tende a zero, a estimativa do estado é a mais próxima possível do estado real do processo. Desta forma o ganho de Kalman anula a inovação, fazendo com que a estimativa atual seja igual a estimativa a priori

lim Pk→0

Kk= 0 xˆk= ˆx′k+ 0(zk− H ˆx′k) xˆk= ˆx′k. (2.33) Em sua formulação computacional, o filtro de Kalman possui basicamente duas fases: pre-dição e atualização. Na fase de prepre-dição o modelo é atualizado a partir dos dados do estado anterior sem levar em conta a medição atual. Na área de rastreamento, por exemplo, a fase de predição estima a posição atual do objeto rastreado com base na sua velocidade e direção de movimento (medidos anteriormente). Na fase de atualização o modelo estimado na fase anterior é combinado com a estimativa do modelo atual através de novas medições.

A influência que cada fase (predição ou atualização) possui sobre a estimativa final do estado depende do ganho de Kalman, que por sua vez depende da incerteza do modelo (cova-riância do erro) e do ruído das medições. A fase de predição pode ser expressa por meio das seguintes equações:

ˆ

x′k= A ˆxk−1+ Buk−1 (2.34)

Pk′= APk−1AT+ Q (2.35)

Calculada as informações a priori do sistema, a nova medição é introduzida de forma a inserir o termo de inovação no estado e corrigir o modelo de acordo com informações reais. A fase de atualização pode ser dada pelas seguintes equações:

Kk=

Pk′HT

(30)

2.3 FILTRO DE KALMAN 29 Predição Estimativa inicial Atualização Medição Estado Atualizado

Figura 2.2: Diagrama de execução do filtro de Kalman. Com os parâmetros iniciais estimados, o estado do sistema é estimado na fase de predição. Em seguida a fase de atualização corrige o estado predito de acordo com a nova medição feita e o ganho de Kalman. Por fim, o estado corrigido é utilizado para estimar o estado na próxima iteração na fase de predição.

ˆ

xk= ˆx′k+ Kk(zk− H ˆx′k) (2.37)

Pk= (I− KkH)Pk (2.38) Pode-se notar que a primeira equação é a mesma da Equação 2.31 e a segunda equivalente à Equação 2.30. Primeiramente atualiza-se o ganho de Kalman. O próximo passo é utilizar a nova medição zkpara calcular a estimativa a posteriori do estado. Por último, a covariância do erro é atualizada. Enquanto a fase de predição adianta o modelo uma iteração, de k− 1 para k, a fase de atualização corrige a estimativa com a nova medição. A Figura 2.2 ilustra o processo ocorrido ao longo do tempo ao se utilizar Kalman.

Apesar do filtro de Kalman ser bastante útil para diversos cenários, ele é válido apenas para a dinâmica de sistemas lineares. No caso onde a dinâmica não é linear, categoria em que a maioria dos problemas práticos se encontram, uma extensão foi proposta em (SCHMIDT, 1966). Outra deficiência deste filtro recai na necessidade de se ter que modelar a distribuição de probabilidade do estado como gaussiana e unimodal. Uma alternativa ao filtro de Kalman que propõe uma dinâmica de sistema não-linear e com múltiplas hipóteses (permitindo a mo-delagem da distribuição de probabilidade como uma mistura de gaussianas) é conhecida como filtro de partículas (ISARD, 1998).

2.3.1 Filtro de Kalman aplicado ao rastreamento

O filtro de Kalman inicialmente foi proposto como um filtro genérico para ser aplicado na filtragem de sistemas lineares e problemas de predição. No entanto, foi na área de rastreamento que ele ganhou maior referência (CHEN et al., 2010; FROBA; KUBLBECK, 2004; VIGUS; BULL; CANAGARAJAH, 2001). Nesta seção será exemplificado como este filtro pode ser utilizado na área de rastreamento.

Ao se utilizar o filtro de Kalman, o problema deve ser modelado como um sistema de espaço de estados lineares, seguindo as Equações 2.22 e 2.23. No caso de rastreamento,

(31)

pode-2.3 FILTRO DE KALMAN 30

se utilizar as leis da física que regem o movimento uniformemente variado de objetos:

s = s0+ v0t +

at2

2 (2.39)

v = v0+ a(t−t0) (2.40)

A partir das Equações 5.3 e 2.40 podemos definir que espaço de estados a ser utilizado observa a distância e a velocidade: x = [ s v ] =     sx sy vx vy     (2.41) u =[a]= [ ax ay ] (2.42)

Mais uma vez observando as Equações 5.3 e 2.40 podemos definir A e B:

A =     1 0 t 0 0 1 0 t 0 0 t 0 0 0 0 t     (2.43) B =      t2 2 0 0 t22 t 0 0 t      (2.44)

Para tornar possível o uso do filtro de Kalman, deve-se ter uma forma de medir a posição do objeto a cada quadro que se passa. Essa medição pode ser feita através de um detector ou uma técnica de rastreamento por fluxo óptico (como o LK). Desta forma temos as seguintes relações para a Equação 2.23: zk= [ s]= [ sx sy ] (2.45) H = [ 1 0 0 0 0 1 0 0 ] (2.46)

Por último, para completar o modelo do sistema, deve-se definir a matriz de covariância do ruído do processo Q e da medição R. A matriz R pode ser calculada fazendo uma observação

offline das medições e calculando o erro relacionado. A matriz Q não pode ser calculada e deve

ser atribuída um valor estimado, uma boa estratégia geralmente é avaliar o filtro Kalman de forma offline com vários valores possíveis para Q e utilizar o que teve melhores resultados.

(32)

2.4 CONCLUSÃO 31

2.4

Conclusão

Os métodos que utilizam fluxo óptico da imagem foram os primeiros elaborados na área de ras-treamento. Apesar de terem sido fundamentais para o seu progresso, atualmente essas técnicas não são aplicadas em problemas práticos porque elas não podem encontrar o objeto rastreado uma vez que ele é perdido. Por esse motivo, esses métodos são denominados rastreadores de curto prazo.

Para que o rastreamento tenha sucesso em uma sequência de vídeo longa, é necessário que o rastreador reencontre o objeto rastreado sempre que ele for perdido. As técnicas que conseguem cumprir esse requisito são denominadas de rastreadores de longo prazo. O método proposto neste trabalho elabora um rastreador por detecção que divide a tarefa de rastreamento em duas etapas. A primeira etapa tem a função de rastrear o objeto utilizando uma técnica de rastreamento por fluxo óptico, o qual foi codificado utilizando o método LK. A segunda etapa é composta por um detector que corrige e reposiciona o retângulo rastreado sempre que o objeto alvo for perdido ou o rastreador cometer algum desvio.

(33)

32

C

APÍTULO

3

Rastreamento por Detecção

O descontentamento é o primeiro passo na evolução de um homem ou de uma nação.

—OSCAR WILDE

Neste capítulo serão abordadas técnicas de rastreamento que utilizam um paradigma que vem ganhando cada vez mais popularidade (BABENKO; YANG; BELONGIE, 2011; BELA-ROUSSI; MILGRAM, 2012; GRABNER; LEISTNER; BISCHOF, 2008; JUNG; SAID, 2009; KALAL; MIKOLAJCZYK; MATAS, 2010b, 2012; WU; LIM; YANG, 2013): o rastreamento por detecção. A sua principal proposta consiste em efetuar o rastreamento utilizando a ajuda de um detector, que pode atuar como o próprio rastreador ou que pode ser utilizado como infor-mação complementar no rastreamento. Como muitas vezes o objeto rastreado é desconhecido e sua aparência muda com o passar do tempo (dependendo da iluminação e da sua pose), o treinamento deste detector usualmente é feito em tempo de execução.

Algumas técnicas simplesmente utilizam o primeiro quadro, onde o objeto foi inicializado pelo usuário, para treinar o classificador (COMANICIU; RAMESH; MEER, 2003). Esta abor-dagem, no entanto, não é a melhor possível devido a mudanças de aparência do objeto.

As abordagens que ganham destaque são aquelas em que o classificador é retreinado a cada quadro (BABENKO; YANG; BELONGIE, 2011; GRABNER; LEISTNER; BISCHOF, 2008; KALAL; MIKOLAJCZYK; MATAS, 2012). O grande desafio neste tipo de abordagem, po-rém, é o cuidado necessário que se precisa ter para que o classificador não perca as aparências apresentadas no passado e presentes na sua base de conhecimento (como pesos de uma rede neural ou nós de uma árvore de decisão) em detrimento das novas amostras utilizadas no trei-namento. Outro problema ocorre quando uma falsa detecção faz com que a região errada da imagem seja rastreada. Isso pode fazer com que o treinamento ocorra com as amostras erradas, invalidando tanto o detector como o rastreador.

As próximas seções descrevem três métodos de rastreamento por detecção que se mostra-ram bem sucedidos e que possuem relevância nos trabalhos do estado da arte. A Seção 3.1 descreve o Online Adaboost para seleção de características. Em seguida, a Seção 3.2 descreve um sistema de rastreamento denominado TLD. Por fim, a Seção 3.3 descreve o método

MIL-Track.

3.1

Online Adaboost para Seleção de Características

A utilização de boosting no treinamento de classificadores tem se tornado bastante popular em visão computacional. No entanto, para a sua utilização, todas as amostras utilizadas no

(34)

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 33

treinamento devem ser obtidas a priori, de forma que as etapas de treinamento e execução tenham que ser separadas. A proposta de Grabner e Bischof, intitulada Online Adaboost para

seleção de características (GRABNER; BISCHOF, 2006) (ou OB - Online Boosting), consiste

em construir um classificador baseado no Adaboost (FREUND; SCHAPIRE, 1995) e modificá-lo de forma que o seu treinamento possa ocorrer em tempo de execução. Essa proposta tem a vantagem de poder ser utilizada em várias áreas que necessitam um processamento em tempo real, como o rastreamento de objetos.

Para tornar possível o OB, o classificador é treinado de forma que após o treinamento de cada novo exemplo de treino, o classificador já esteja pronto para avaliar padrões de teste, ao contrário do funcionamento Adaboost. De forma a detalhar a técnica proposta por Grabner e Bischof, as duas próximas subseções descrevem primeiramente a versão offline do Adaboost padrão e para seleção de características. Em seguida a Subseção 3.1.3 descreve quais modifi-cações foram necessárias para tornar o método original online. Por fim, as Subseções 3.1.4 e 3.1.5 descrevem dois métodos de rastreamento derivados do online Adaboost.

3.1.1 Adaboost

O Adaboost foi primeiramente proposto por Freund e Schapire (FREUND; SCHAPIRE, 1995) e posteriormente aprimorado por Viola e Jones (VIOLA; JONES, 2001a). Ele teve bastante sucesso no treinamento de detectores, em especial o detector facial, por ser bastante rápido e preciso. O Adaboost utiliza o boosting, um método de treinamento bastante utilizado em aprendizagem de máquinas.

O boosting consiste em treinar uma série de classificadores fracos, que tem uma taxa de acerto um pouco melhor que uma resposta aleatória, e combiná-los, por meio de votação pon-derada, para construir um classificador forte, com uma taxa de acerto elevada. O treinamento por meio do boosting é feito de forma que cada classificador fraco é treinado com um sub-conjunto diferente de padrões, gerando assim classificadores que se especializam em regiões diferentes do problema. Com isso, a união dos classificadores fracos tem a capacidade de formar uma região de decisão complexa.

Para um conjunto n de classificadores fracos hfraco1 , hfraco2 , ..., hfracon , um classificador forte

hforte pode ser definido como

hforte= sign ( n

i=1 αihfracoi (x) ) , (3.1)

onde sign(x) é o operador sinal

sign(x) = {

+1 se x > 0

−1 caso contrário . (3.2) Para treinar o classificador em um espaço m-dimensional Rm é necessário um conjunto de treinamento

(35)

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 34

onde xi representa as característica da i-ésima amostra e yi representa o seu rótulo. A re-amostragem é feita diferente do boosting tradicional, de forma que cada padrão apresentado para treino possui um peso p(xi) que é representado inicialmente por uma distribuição uniforme

p(xi) = L1. A medida que o treinamento ocorre, os padrões que são dificilmente classificados são associados a um peso maior e os que são facilmente classificados tem um peso menor ou nulo.

Baseado no erro ei do classificador fraco, o seu peso αi de participação na votação do classificador forte é atribuído como

αi= 1 2ln ( 1− ei ei ) , (3.4)

assim, quanto menor o erro de hfracoi , maior o seu peso na votação e quanto maior o erro, menor o seu peso. Este processo segue e a cada nova iteração uma nova hipótese hfracoi é inserida. O treinamento cessa quando uma condição de parada é atingida (o número de classificadores fracos chega a um máximo determinado ou o erro na base de validação atinge um valor abaixo de um limiar).

Da maneira como é elaborado, o treinamento do Adaboost foca nas amostras que são mais difíceis de serem classificadas. Para isso, ele faz com que vários classificadores fracos se especializem em conjuntos pequenos de padrões de difícil classificação. Por outro lado, poucos classificadores focam em um conjunto grande de amostras de fácil classificação. Freund e Schapire provaram em seu trabalho que o erro de treinamento cai de forma exponencial em relação ao número de rodadas de treinamento, mostrando assim que o Adaboost é uma técnica poderosa de aprendizagem de máquinas.

3.1.2 Adaboost para Seleção de Características

Tieu e Viola aprimoraram em um trabalho posterior (TIEU; VIOLA, 2000) o Adaboost conven-cional para tornar possível a seleção de características. Nesta proposta a formação de um classi-ficador fraco é feita a partir de cada característica possível. Um procedimento de treinamento é executado para selecionar esses classificadores que em conjunto são utilizados para formar uma máquina de comitê. Um conjunto de características possíveis é dado porF . Como normal-mente o número de características possíveis é muito alto e a seleção delas a partir deF seria computacionalmente proibitiva, um subconjunto deF é utilizado, Fsub={ f1, ..., fk} ⊆ F .

O treinamento efetuado é similar ao Adaboost, de modo que a cada iteração i um novo clas-sificador fraco é adicionado ao comitê. Para tal, todas as características emFsubsão avaliadas

e a que produzir o classificador com menor erro é selecionada. A partir do classificador hfracoi selecionado, um peso associado αi é calculado também com base em seu erro. Depois que a condição de parada é atingida, todos os classificadores fracos são unidos em um classificador forte hforte.

A grande vantagem deste método em relação ao anterior está na definição dos classifica-dores fracos em relação às características da imagem. Apenas as características com maior poder discriminante são selecionadas, diferentemente do método anterior, no qual o conjunto de características é fixo e todos os classificadores fracos a avaliavam. Isso possibilita um

(36)

nú-3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 35

Figura 3.1: Características quadráticas utilizadas no trabalho de Viola e Jones.

mero enorme de classificadores disponíveis e facilita a seleção apenas dos que possuem maior relevância ao problema, o que resulta potencialmente em um classificador final mais poderoso. A mais famosa variação do Adaboost veio de um trabalho feito por Viola e Jones, uma continuação ao trabalho de Tieu e Viola, o Adaboost para seleção de características em um arquitetura de cascata (VIOLA; JONES, 2001a). Este trabalho resultou em um dos mais bem sucedidos detectores faciais da atualidade. Neste trabalho, além da formação de um classi-ficador forte a partir de um comitê de classiclassi-ficadores fracos, vários classiclassi-ficadores fortes são alinhados para formar um classificador em cascata hcascata. A cascata é feita de maneira que os padrões positivos são classificados sempre corretamente (taxa de falsos negativos quase igual a zero). Já os padrões negativos são filtrados em cada etapa da cascata. Assim, um padrão positivo deve percorrer a cascata completa enquanto o padrão negativo deve ser descartado em algum estágio intermediário.

A grande vantagem deste tipo de arquitetura é a diminuição do tempo de execução neces-sário para avaliar uma imagem completa. Isso é possível porque normalmente o número de padrões negativos é algumas ordens de grandeza maior que o número de padrões positivos e além disso são de fácil classificação, como patchs na imagem de regiões lisas ou sem textura (paisagens e imagens de plano de fundo). Tais amostras são descartadas logo nos primeiros níveis da cascata.

A outra grande vantagem desta proposta é a utilização de características quadráticas para a formação dos classificadores fracos. Estas características são formadas a partir da diferença entre partes de uma região retangular, a Figura 3.1 ilustra alguns exemplos de características quadráticas. Estes tipos de características tem a vantagem de serem invariantes a iluminação e a mudanças de escala.

A sua computação é otimizada através do uso de imagem integral, um operador no qual cada pixel II(i, j) da imagem integral é calculado a partir do somatório de todos os pixels acima e à esquerda dele na imagem original I, isto é calculado rapidamente a partir da seguinte fórmula recursiva

II(i, j) = I(i, j) + II(i− 1, j) + II(i, j − 1) − II(i − 1, j − 1), (3.5) onde II(i, j) = 0 ∀ {i < 0 ∨ j < 0}, a Figura 3.2 ilustra o procedimento. A partir da

(37)

ima-3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 36

Figura 3.2: Exemplo de como é calculado um ponto da imagem integral. O ponto II(x, y) corresponde ao somatório de toda a área mais escura da imagem.

gem integral, o somatório de qualquer região pode ser calculado rapidamente e eficientemente, tornando a avaliação de uma imagem possível em tempo real.

3.1.3 Adaboost Online para Seleção de Características

Baseando-se no trabalho de Tieu e Viola, Grabner e Bischof formularam uma versão com trei-namento online do Adaboost para seleção de características. A maior dificuldade ao se desen-volver um treinamento em tempo de execução é a falta de conhecimento da base que será apre-sentada. Não é possível saber se o padrão já foi apresentado anteriormente ao treinamento ou determinar se ele é de fácil classificação. Para que o treinamento online seja possível, um clas-sificador denominado seletor hseletorfoi proposto. Esse classificador tem a função de selecionar uma hipótese fraca dentro de um grupo de hipóteses fracas H fraco={hfraco1 , hfraco2 , ..., hfracoK }

de acordo com um critério de otimização

hseletor(x) = hfracok (x), (3.6)

onde hfracok ∈ H fracoe k é o índice do classificador fraco escolhido de acordo com o critério de otimização que, para o caso do trabalho de Grabner e Bischof, é o menor erro associado

k = arg min(Efraco), (3.7)

onde Efraco={e1, e2, ..., eK} representa o erro de cada hipótese de Hfraco. Assim, treinar o seletor significa treinar todos os classificadores fracos do seu grupo e selecionar o que tiver o menor erro. De forma parecida com o caso offline, cada classificador fraco corresponde a uma característica fide um conjuntoF = { f1, f2, ..., fK}.

Referências

Documentos relacionados

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

Informações tais como: percentual estatístico das especialidades médicas e doenças, taxas de ocupação dos principais recursos, tempos de permanência de internação, escores

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

do prazo de abertura do procedimento concursal, o qual se fixa em 15 dias úteis após publicação deste Aviso. Pode um/a candidato/a, com fundamento na impossibilidade ou

Antes de sair, ainda procurou ( verbo procurar, no Pretérito Perfeito do Indicativo ) o mapa, mas ele tinha desaparecido ( verbo desaparecer, no Pretérito Mais-Que-Perfeito Composto

No presente documento descrevemos o método desenvolvido pelo Laboratório de Ecologia Espacial e Conservação – LEEC (UNESP-Rio Claro) para identifi car áreas com alto potencial

¾ Segundo nível • Terceiro nível – Quarto nível A FAMÍLIA PROFIBUS A FAMÍLIA PROFIBUS PROFIBUS-FMS PROFIBUS-FMS é a solução de propósito geral para comunicação de