• Nenhum resultado encontrado

Descrição da Técnica Implementada

C.3 Modelo para o Rastreamento de Múltiplos Objetos

C.3.4 Descrição da Técnica Implementada

A descrição da técnica de rastreamento de múltiplos objetos através do filtro de Kalman é apresentada no Algoritmo 3, onde:

• A função CalculateBackSubTec calcula a máscara do primeiro plano para cada qua- dro.

• A função CalculateEstObs calcula o conjunto de observações atuais, ou seja os cen- tróides de cada objeto presente na máscara do primeiro plano.

• A função Prediction executa o passo de predição do filtro de Kalman para todo o conjunto de estados do quadro atual.

• A função Gating calcula a matriz de custos R através da Equação (C.12).

• A função DataAssociation calcula a matriz de permutação V associada à R através do algoritmo de Jonker e Volgenant, o qual soluciona o problema de designação linear. • A função trackMaintenance trata da inicialização de novas trajetórias considerando

os valores diferentes de zero da matriz de permutação V.

• A função Correction executa o passo de correção do filtro de Kalman para todo o conjunto de estados do quadro atual.

Algoritmo 3: Rastreamento de múltiplos objetos.

Input: O conjunto de quadros de um vídeo em questão {It}

Nquadros

t=1 .

Input: O conjunto do parâmetros do algoritmo de subtração de fundo, backparam.

Input: O conjunto do parâmetros do filtro de Kalman, kalparam = {A, H, Q, R}.

Output: O conjunto de estados seguintes,X .

// inicialização

1 X0|0 ← X0;

2 for t ←1 to Nquadros do /* para cada quadro do vídeo */

// cálculo da máscara do primeiro plano

3 M(t) ← CalculateBackSubTec(It,backparam);

// determina o conjunto de observações atuais

4 Zt← CalculateEstObs(M(t)); 5 if nT >0 then

// prevê o conjunto de estados e observações seguintes

6 [ ˆXt|t−1, ˆZt|t−1, nT] ← Prediction(Xt−1|t−1, kalparam); 7 V ← 0nT×nM; 8 if nM >0 then // Canalização 9 R ← Gating( ˆZt|t−1, Zt, cmax); // Associação de dados 10 V ← DataAssociation( R, cmax); // Manutenção de trajetórias 11 [V, ˆXt|t−1, nT] ← trackMaintenance(V, ˆXt|t−1, Zt);

// corrigir o estado seguinte

12 [ ˆXt|t, nT] ← Correction( ˆXt|t−1, Zt, V);

// armazenando o conjunto de estados

Modelo de cor HSB e a Diferença de

Imagens

D.1

Introdução

Cor é a principal propriedade da luz visível pela qual um observador humano pode distinguir diferentes tipos de luz. Ela é uma propriedade subjetiva, e em geral, a cor de uma fonte de luz não é estabelecida pela medida de alguma propriedade física fundamental da luz. Foi verificado experimentalmente que para descrever uma determinada cor da luz é necessário estabelecer 3 valores1. Assim, a cor é uma propriedade tridimensional no sentido mate-

mático. No caso de uma outra propriedade tridimensional, a localização de um ponto no espaço, pode ser descrito através de diversas definições de três parâmetros (coordenadas)2.

Similarmente, no caso da cor, diferentes sistemas de três parâmetros podem ser utilizadas. Um sistema particular é chamado de modelo de cor, e seus parâmetros são referidos como sendo as coordenadas de seu espaço de cor tridimensional.

Um modelo de cor que está bem relacionado com a percepção humana da cor usa as seguintes propriedades como suas coordenadas: brilho, matiz e saturação. As propriedades de matiz e saturação descrevem em forma conjunta a cromaticidade da cor de interesse e uma vez que a cromaticidade contém duas das coordenadas da cor, ela é uma propriedade bidimensional.

1Baseado na visão tricromática, que é a capacidade de possuir três canais para transmitir informação de

cor. Assim, a retina contém três tipos de receptores para cor (nos vertebrados, são as células cones) com diferentes espectros de absorção.

2Por exemplo: coordenadas cartesianas, coordenadas cilíndricas, coordenadas esféricas, coordenadas

Também existem outros pares de propriedades (diferentes de matiz e saturação) que podem ser usados para descrever a cromaticidade, permitindo assim diferentes modelos de cores dentro da família de brilho-cromaticidade.

Este Apêndice tem por finalidade determinar aquelas características das cores que se rela- cionam diretamente com as componentes da distância Euclidiana, para o qual é necessário expressar os píxeis Il(t) e Bl(t) através de um modelo de cor pertencente à família de bri-

lho-cromaticidade. Como nessa Tese é usado o modelo de cor HSB, o Apêndice inicia com uma descrição dos modelos de cores RGB e HSB, seguido por uma descrição da conversão de RGB a HSB e vice-versa. Na última seção é analisada a diferença de cores no modelo de cor HSB.

D.2

Modelo de Cores RGB

O modelo de cores RGB é um modelo aditivo, no qual o vermelho, o verde e o azul (usados em modelos de cor aditivos) são combinados de várias maneiras para reproduzir outras cores. O nome do modelo e a abreviação RGB vêm das três cores primárias: vermelho (Red), verde (Green) e azul (Blue). A quantidade de cada cor primária contida numa cor em hardware é representada por um número no intervalo de [0, 255]. Sendo assim, cada cor é definida como um vetor de três elementos, formado pelos valores assumidos por cada cor primária. Portanto, cada cor existe num cubo de tamanho [0, 255]3, onde cada uma das cores primárias

constitui um dos eixos principais do cubo. O cubo de cor RGB é ilustrado na Figura D.1. A origem do cubo, (0, 0, 0), representa a total ausência de cor, que corresponde à cor preta. O canto mais distante a partir da origem é a soma das maiores intensidades de vermelho, verde e azul, ou seja (255, 255, 255). Isso produz a cor branca. Os outros cantos do cubo representam as várias cores primárias (R, G e B) e secundárias3 (C, M e Y ). A diagonal

principal do cubo RGB é ilustrada na Figura D.1 como uma linha desenhada entre as cores preto e branco. Esta linha, denominada eixo neutro, representa as cores, no cubo RGB, que contem quantidades iguais de vermelho, verde e azul. Todos os pontos nesta linha são cinza4. Quanto mais próximo a cor está da origem, mais escura ela é, e quanto mais perto

a cor está do branco, mais clara ela é.

3As três cores secundárias são: ciano (Cyan), magenta (Magenta) e amarelo (Yellow).

4Se uma coordenada (R, G, B) é projetada sobre o eixo neutro (segundo uma media ponderada que toma

Figura D.1: O cubo de cor RGB. Cada eixo do cubo representa os valores de vermelho, verde ou azul no intervalo [0, 255]. Onde R é vermelho, G é verde, B é azul, C é Ciano, M é magenta, Y é Amarelo e W é branco.