1 escolha-da-família-de-primitivas(Árvore Tf)
2 i← 0
3 T0
f = Tf
4 para cadavértice C de um percurso em pós-ordem emTf faça
5 seΓ(C) é verdadeiro então
6 N r(i) é a subárvore de Tienraizada em C
7 Ti+1
f ← T
i
f N r(i)
8 i← i + 1
critério Γ se, e somente se, C não é a raiz de Tf, ou seja,
Γ(C) é verdadeiro ⇐⇒ C 6= Raiz(Tf).
Assim, pode-se extrair todas as possíveis árvores (T0
f,Tf1, . . . ,T IM AX
f ) de Tf e consequentemente
a família de primitivas (ψ0(f ) = Rec(Tf0), ψ1(f ) = Rec(Tf1), . . . , ψ IM AX
f = Rec(TIM AX)) e então
extrair os i-ésimos resíduos positivos e negativos. Mas isso não parece ser uma boa ideia se o pro- pósito é extrair o contraste de uma imagem, pois os valores residuais gerados entre duas primitivas consecutivas são próximos de zero. Isso ocorre por causa da grande quantidade de níveis de cinza presente em uma imagem e também pela hierarquia dos conjuntos de níveis. Por outro lado, se o propósito envolve reconhecimento de objetos pode ser uma boa ideia usar todas as primitivas pos- síveis. Isto leva às seções seguintes onde são definidas algumas estratégias para construir famílias de primitivas que podem gerar valores residuais mais significativos para os últimos levelings. 7.1.1 Primitivas baseadas em atributos
Como apresentado no Capítulo5, filtrar uma imagem usando um atributo pode ser feito simples- mente podando os vértices da árvore que satisfaz um certo critério, como por exemplo, os vértices cujo o valor do atributo é menor que um dado limiar. Assim, muitos diferentes tipos de informações podem ser armazenadas em cada vértice da árvore. Estas informações são chamadas de atributos, mais precisamente, um atributo é uma função κ que representa uma informação armazenada no vértice da árvore como: área, volume, diâmetro, circularidade, entre outros. Então, reconstruções de árvores podadas com atributos crescentes são levelings. Assim, um conjunto crescente de limiares (t1, t2, ..., tIM AX) com t1< t2 < . . . < tIM AX dá origem a um espaço de escala baseado em levelings.
Então, famílias de primitivas baseadas em aberturas por atributos, fechamentos por atributos e filtros por grãos podem ser determinadas de um conjunto de limiares derivados da própria árvore Tf, isto é, Tκ = {κ(C) : C é um vértice de Tf e κ(C) ≤ tIM AX}. Então, a partir do conjunto de
limiares Tκ pode-se estabelecer o critério Γ para todo vértice C de Tf seguinte forma:
Γ(C) é verdadeiro ⇐⇒ ∃tj ∈ Tκ satisfazendo κ(C) = tj e κ(Pai(C)) > tj.
Note que, quando Γ(C) é verdadeiro, então C está em Tfj−1 mas não está em T j
f, pois os vértices
da j-ésima árvore podada tem atributos maiores que tj (ver Seção 5.3.1). Logo, C ∈ N r(j − 1).
86 ESTRATÉGIAS PARA CONSTRUÇÕES DE ÚLTIMOS LEVELINGS 7.1 κ(C)6= κ(Pai(C)) e κ(C) ≤ tIM AX pois,
Γ(C) é verdadeiro
⇐⇒ ∃tj ∈ Tκ satisfazendo κ(C) = tj e κ(Pai(C)) > tj
⇐⇒ κ(C) 6= κ(Pai(C)) e κ(C) ≤ tIM AX.
Os valores residuais de um último leveling negativo (respectivamente, positivo) R−
θ (respec-
tivamente, R+
θ) são as maiores diferenças entre duas primitivas consecutivas de uma família de
primitivas. Neste sentido, na Figura 7.2 é mostrado um exemplo com duas aplicações de últimos levelings negativosR−em uma dada imagem f ∈ F(D) onde se analisa a evolução do valor residual
para um dado pixel ao longo da computação de R−(f ), usando duas famílias de primitivas dife-
rentes: (1) fechamento por atributo de área e (2) fechamento por atributo de altura do retângulo envolvente. Observe que, o contraste de um objeto é dividido em diversas transições e a maior destas transições é o valor residual obtido por R−(f ), que inevitavelmente é menor do que o verdadeiro
contraste existente entre o objeto e o seu plano de fundo. Assim, as famílias de primitivas por atributos de área e volume tendem a simplificar a imagem muito lentamente, uma vez que exis- tem muitas primitivas distintas que podem ser extraídas com estes atributos. Por um outro lado, este efeito pode ser reduzido utilizando tipos de atributos que resultam em um mesmo valor para diferentes vértices, como por exemplo: altura, largura e diâmetro do retângulo envolvente. Mesmo assim, o contraste real ainda é subestimado.
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 20 40 60 80 100 120 140
atributo de área atributo de altura
primitivas nív el de cinza do pixel selecionado
fechamento por área (resíduos nulos) fechamento por área (resíduos negativos)
fechamento por altura (resíduos nulos) fechamento por altura (resíduos negativos)
Figura 7.2:Análise da evolução residual para o pixel marcado de vermelho da imagem de entrada.
Com base nestas considerações, Marcotegui et al. (2011), propôs uma solução chamada tran- sição gradual que precisa de um limiar para ajustar o contraste. Neste sentido, é proposta uma segunda solução baseada em valores de extinção que não faz uso de limiares.
• Primitivas baseadas em transições graduais
Como mostrado anteriormente, as famílias de aberturas por atributos, fechamentos por atri- butos e filtros por grãos podem ser determinadas a partir de um conjunto crescente de limiares (t1, t2, ..., tIM AX) para um atributo crescente κ. Assim, um vértice C ∈ N r(i) ⊆ Ti satisfaz as
7.1 ESTRATÉGIAS PARA ESCOLHER A FAMÍLIA DE PRIMITIVAS 87 condições do critério Γ, se Γ(C) é verdadeiro ⇐⇒ ∃tj ∈ Tκ satisfazendo κ(C) = tj e κ(Pai(C)) > tj ⇐⇒ κ(C) 6= κ(Pai(C)) e κ(C) ≤ tIM AX ⇐⇒ κ(Pai(C)) − κ(C) > 0 e κ(C) ≤ tIM AX.
Então, uma maneira de reduzir o desconforto de subestimar o contraste é selecionar os vértices (para serem as referências das podas) que tenham uma grande variação ∆ do valor do atributo em relação ao seu vértice pai, isto é,
Γ(C) é verdadeiro ⇐⇒ κ(Pai(C)) − κ(C) > ∆ e κ(C) ≤ tIM AX.
Assim, quando ∆ = 0, tem-se as tradicionais famílias de primitivas utilizando os limiares do conjunto Tκ; ∆ = 1 é acumulada uma série de resíduos não nulos; ∆ = 2 é acumulada uma
série de resíduos separados por pelo menos dois resíduos não nulos e assim por diante. Assim, inclui-se em N r(i), vértices com pequenas variações ∆ nos valores dos seus atributos. O inconveniente dessa abordagem é encontrar o valor para ∆, uma vez que esta informação é global para todos os vértices da árvore e muitas vezes não é possível estimar o real contraste para todas as regiões da imagem como pode ser observado na Figura 7.3.
0 50 100 150 200 250 300 350 400 450 20 40 60 80 100 120 140
atributo de área atributo de altura
primitivas nív el de cinza do pixel selecionado
fechamento por área (resíduos nulos) fechamento por área (resíduos negativos)
fechamento por altura (resíduos nulos) fechamento por altura (resíduos negativos)
Figura 7.3: Análise da evolução residual para o pixel marcado de vermelho da imagem de entrada.
• Primitivas baseadas em valores de extinção
Uma outra maneira de reduzir o desconforto de subestimar o contraste dos objetos é por meio do uso de valores de extinção (Grimaud,1992;Vachier e Meyer,1995). Os valores de extinções são medidas de persistências extraídas das extremas (minimas ou máximas) regionais. Em poucas palavras, o valor de extinção de uma extrema regional M para um atributo crescente κ é o valor máximo de um filtro por atributos, tal que esta extrema regional ainda exista após a filtragem. Assim, são marcados somente vértices nos quais os valores do seus atributos correspondem a valores de extinções para a extrema regional presente no vértice (Grimaud,
88 ESTRATÉGIAS PARA CONSTRUÇÕES DE ÚLTIMOS LEVELINGS 7.1 Este procedimento pode ser computado por um algoritmo com base em árvore de componen- tes (Silva e de Alencar Lotufo, 2011) e adaptado no Algoritmo 7.2 para selecionar vértices baseada no valor de extinção, da seguinte forma: para cada vértice folha L da árvore Tf (isto
é, regional extrema), um caminho em direção ao vértice raiz é iniciado (entre as linhas 2 e 3). Quando um vértice NLcom mais de um filho aparece (ou seja, uma bifurcação), no caminho,
um verificação é feita em cada filho CLde NL. Se o vértice CLtem um irmão C ∈ Filhos(NL)
tal que κ(C) > κ(CL), tem-se que o valor do atributo do vértice CL no caminho desta folha
é definido como o valor de extinção para folha L (entre as linhas 4 a 6). Neste caso, Γ(C) é verdadeiro ⇐⇒ C ∈ Filhos(NL) e κ(C)≤ tIM AX
onde tIM AX é o valor máximo para um atributo da família de primitiva, em seguida, a próxima
folha é analisada. Caso contrário, continua-se no caminho até encontrar a próxima bifurcação. Finalmente, se o caminho atingir a raiz, então o valor de extinção para folha L é o valor do primeiro vértice antes de chegar com maior valor de atributo.