• Nenhum resultado encontrado

6.2 PROCESSO DE EXTRAÇÃO DE CARACTERíSTICAS

6.2.2 Etapas da Extração de Características

A partir de uma imagem binária contendo uma forma planar realiza-se as etapas para a representação e descrição do objeto planar com características invariantes projetivas.

6.2.2.1 Obtenção dos Vértices do Invólucro Convexo e Contorno

A partir das quinas que delimitam os pixels constituintes do objeto planar é possível usá- los como pontos de entrada para usar um algoritmo que encontre o Convex-Hull do objeto a ser representado. Um algoritmo rápido para a obtenção do invólucro convexo é o Quickhull, apropriado quando não há entrada contendo pontos localizados nos extremos (BARBER; DOB- KIN; HUHDANPAA, 1996). Uma implementação da técnica escrita pelos autores pode ser encontrada em (BARBER; HUHDANPAA, 1995). O Qhull entregará uma coleção de vértices ordenados por ligações mais próximas numa sequência cíclica formando um polígono convexo. Na Figura 24 (Esq.) é exibida uma forma planar envolvida pelo Convex-Hull e seus vértices enumerados. Além dos vértices que definem o Convex-Hull, é possível inserir pontos extras no perímetro da envoltória com o objetivo de aumentar a amostragem, exercendo a mesma função prática dos vértices originais. O Invólucro de contorno é também mostrado na Fig. 24 (Dir.) envolvendo a letra ‘A’ e funciona de forma similar ao Invólucro Convexo.

Figura 24 – Invólucro Convexo de um símbolo de acessibilidade: Os índices dos Vértices do Invólucro seguem uma ordenação circular que é invariante a transformações geomé- tricas a menos de um deslocamento de indexação, na esquerda. De maneira análoga é ilustrado o Invólucro de Contorno, na direita, envolvendo o caractere ‘A’.

59

6.2.2.2 Emissão dos Raios em Feixes Divergentes

Com o objeto delimitado pelo Invólucro Convexo é possível usar seus M vértices como pontos de emissão de Raios, onde o número N de Raios emitidos por Vértice é dado como parâmetro de entrada. Para cada Vértice haverá uma amostragem de N pontos distribuídos uniformemente nas arestas do invólucro opostas ao Vértice emissor, esses são chamados Pontos- Alvos (target-points); os raios são traçados partindo do vértice atual até os N Pontos-Alvos.

Como já dito anteriormente o número total de raios do descritor é M ·N ; é possível endereçar um raio através da tupla de índices do seu vértice emissor com o índice do seu ponto-alvo. A disposição dos pontos-alvos segue uma ordem em um sentido conhecido, o que garante uma ordenação no próprio conjunto de raios. Os conjuntos de feixes de raios ordenados com um mesmo vértice de origem são chamados de Fan-Beams.

Figura 25 – Fan-Beam e seus Raios: São amostrados N Pontos-Alvos nas arestas não- adjacentes a um Vértice emissor do Convex-Hull e a partir das ligações de um Vértice emissor com os Pontos-Alvos são obtidos os Raios. Os Raios são endereça- dos através da combinação do índice do seu Vértice emissor seguindo do índice do Ponto-Alvo (Target-Point); para um Raio que parte de um Vértice Cse atinge um

Target-Pointt é endereçado como R(s,t), onde t = {0, 1, ..., N − 1}.

6.2.2.3 Geração de Pontos de Borda Colineares

Para cada raio emitido há intersecções com as bordas da forma planar a ser descrita, onde os pontos de borda surgem das variações de intensidade dos pixels ao longo da trajetória do Raio. O número de Pontos de Borda de um Raio pode ser de no mínimo dois até quantos forem possíveis a depender dos cruzamentos realizados com a forma planar. Quanto mais detalhes um símbolo possui, mais Raios com Pontos de Borda numerosos é gerado. Cada Raio possui como resultado final desse procedimento uma sequência de Pontos de Borda colineares. Na Figura

26 são mostrados vários Pontos de Borda que residem nos Raios emitidos pelo Vértice Cs, e o

número de Pontos de Borda por Raio é expresso pela varável K.

Figura 26 – Raios e seus Pontos de Borda (Edge-Points): São mostrados quatro Raios partindo do vértice Cscontendo coleções P(s,t)de Pontos de Borda de tamanho variável K.

6.2.2.4 Cálculo dos Valores do Vetor de Razão Cruzada

O Vetor de Razão Cruzada é uma estrutura gerada através de cômputos realizados com os pontos de borda presentes na trajetória linear (raio), onde cada valor de razão cruzada é calcu- lado a partir de apenas quatro pontos colineares, como já mencionado na Sub-seção 3.6.1 sobre o cálculo dessa invariante; mas um raio pode ter mais do que quatro pontos de borda quando intercepta os contornos do símbolo a ser representado; então, para que haja o máximo poder de descrição sem que haja desperdício de informações é necessário usar todos os pontos de borda do raio, acarretando na obtenção de vários valores de razão cruzada. Neste trabalho criamos esse novo invariante projetivo, chamada de Cross-Ratio Vector (Vetor de Razão Cruzada), de- vido à necessidade de aproveitar o máximo de informação geométrica das trajetórias lineares que cruzam o objeto.

Cada célula do vetor é gerada a partir de dois pontos de bordas extremos (primeiro ponto e último ponto do raio) e outros dois pontos vizinhos intermediários; uma janela de comprimento dois desliza sobre a coleção de pontos de borda intermediários e juntamente com os dois pontos das extremidades, geram um conjunto de valores de razão cruzada. O processo é semelhante a uma filtragem espacial no processamento digital de sinais. Para uma coleção de pontos de borda de tamanho K a janela deslizante irá utilizar um par de pontos de borda vizinhos intermediários (P1, ..., PK−2) a cada iteração e agrupando sempre com os pontos de borda das extremidades

61

(P0, PK−1), seguindo a fórmula geral da Equação 6.1; dessa forma temos K −2 pontos de bordas

intermediários que são agrupados em duplas, respeitando o critério de vizinhança, formando assim K − 3 pares de pontos intermediários que, juntamente com os dois pontos extremos, formando K − 3 valores de razão cruzada que constituem o vetor.

Assim como os pontos de borda, cada vetor de razão cruzada está atrelado a um raio. É importante ressaltar que os raios que não possuírem o número mínimo de pontos necessários para realizar o cálculo da razão cruzada, ou seja K < 4, não possuirão vetores. Na Figura 27 é exibido um raio com pontos de borda e um exemplo de geração de um vetor de razão cruzada.

Figura 27 – Geração de valores de um vetor de razão cruzada: Os valores do vetor são obtidos a partir do cálculo da razão cruzada de dois pontos extremos com mais dois pontos intermediários vizinhos coletados pela janela deslizante; para um raio com K ≥ 4 pontos de borda é gerado um vetor com K − 3 valores de razão cruzada.

Baseado na Equação 3.5 sobre a Razão Cruzada de quatro pontos colineares calculam-se os valores do vetor; os componentes V [i] do Vetor de Razão Cruzada assumem a seguinte forma geral para raios com K pontos de borda:

V [i] = RC(P0, Pi+1, Pi+2, PK−1) (6.1)

onde i é o índice do Vetor de Razão Cruzada e assume os seguintes valores: 0 ≤ i ≤

K − 4. Esta convenção de se calcular a razão cruzada usando primeiramente o primeiro ponto

de extremidade P0 (vértice do invólucro), depois os dois pontos intermediários vizinhos e por

fim o último ponto do raio PK−1evitam-se as numerosas permutações para realização do cálculo

da razão cruzada, muitas das quais equivalentes do ponto de vista das razões cuzadas geradas. Além disso, diminui-se o problema de se ter quádruplas com pontos de borda muito próximos, o que acarretaria em um ruído maior.