Processamento digital de imagens - Agostinho Brito · Representação e descrição de regiões...
Transcript of Processamento digital de imagens - Agostinho Brito · Representação e descrição de regiões...
Processamento digital de imagens
Agostinho Brito
Departamento de Engenharia da Computação e AutomaçãoUniversidade Federal do Rio Grande do Norte
13 de maio de 2016
Representação e descrição de regiões
Uma vez que um conjunto de pixels denha sido selecionado a partir dasegmentação, é necessário representá-los e descrevê-los de forma adequadapara posterior processamento.A representação de uma região pode ser feita de duas formas:
Pelo seu contorno.Pelos pixels que representam o interior.
A descrição consiste gerar características com base no esquema derepresentação escolhido.
Ex: uma região pode ser representada por sua fronteira e descrita pelo número deconcavidades do polígono que aproxima esta fronteira.
Representações externas: formas de objetos.
Representações internas: cor e textura.
Representação e descrição de regiões
Algoritmo seguidor de fronteira
1 1 1 11111111
11
11 1 1 1
1111111
11
11 1 1 1
1111111
11
1
1 1 1 11111111
11
11 1 1 1
1111111
11
11 1 1 1
1111111
11
1
Critério de parada: O ponto inicial é encontrado e o próximo ponto é o mesmoencontrado para a primeira ocorrência.
11
1111
111
11
1111
111
Representação e descrição de regiões
Esquemas de representação - códigos de encadeamentoUtilizados para representar uma fronteira de comprimento e direção especificados.
Baseados em conectividades tipo 4 ou 8 dos segmentos.Operar diretamente nos pixels da imagem pode ser inviável, pois:
os códigos gerados são longos(direção dos vetores que ligam pares de pixels).as imperfeições na segmentação podem afetar os códigos, de modo que as mudançasocorrentes no mesmo não estariam diretamente relacionada com a forma da fronteira.Possível solução: reamostrar os pixels utilizando uma grade mais espaçada.
O contorno pode ser representado por 4- ou 8-códigos.
0
6
5
4
3
2
1
7
1
3
2 0
8−códigos4−códigos
Representação e descrição de regiões
Esquemas de representação - códigos de encadeamentoCódigos de cadeia de Freeman: segue-se a grade reamostrada, substituindo adireção dos segmentos por números.
Normalização em relação ao ponto inicial: trata-se a cadeia como uma sequênciacircular e escolhe-se a combinação que gera o menor número inteiro.
Normalização em relação à rotação: contagem das mudanças de direção queseparam os segmentos no sentido anti-horário, ou primeira diferença do código.
0 0 0
66
7
55
443
3
12
1
000667554433121
006016070706177
código de cadeia
primeira diferença
Representação e descrição de regiões
Aproximação por polígonos de perímetro mínimo - MPP
Percorre-se a fronteira procurando vértices côncavos (Pretos) ou convexos(Brancos).Vértices côncavos possuem espelhos na diagonal.O MPP não possui autointerseçãoTodo vértice convexo é um vértices Branco, mas nem todo vértice Brancopertence ao polígono.Todo vértice côncavo espelhado do MPP é um vértice Preto, mas nem todo vérticePreto pertence ao MPP.Vértices Pretos estão no MPP ou fora dele. Vértices brancos estão no MPP oudentro dele.
Representação e descrição de regiões
Percorra a fronteira no sentido anti-horário.
Para três pontos em sequência, a = (x1, y1) , b = (x2, y2) e c = (x3, y3), arranje
A =
x1 y1 1x2 y2 1x3 y3 1
Avaliar sinal(a, b, c) = det(A)
se sinal(a, b, c) > 0: a sequência ocorre no sentido anti-horáriose sinal(a, b, c) = 0: pontos colinearesse sinal(a, b, c) < 0: a sequência ocorre no sentido horário
Ex: (3, 4)→ (2, 3)→ (3, 2)
a
b
c
Representação e descrição de regiões
Organize os vértices em sequência, incluindo indicação se o vértice é Preto ouBranco. Vértices pretos devem ser previamente espelhados.
Prepare dois vértices BR e PR para rastrear os pontos brancos e pretos.
Faça BR = PR = V0. VL é o último vértice encontrado. Vk é o vértice atualanalisado.Três condições podem acontecer:
sinal(VL,BR ,Vk ) > 0sinal(VL,BR ,Vk ) ≤ 0 (ou sinal(VL,PR ,Vk ) ≥ 0)sinal(VL,PR ,Vk ) < 0
Se sinal(VL,BR ,Vk ) > 0, o próximo vértice do MPP é BR . Faz-se VL = BR ereinicializa-se o algoritmo: BR = PR = VL. Caminha-se para o próximo vértice.
Se sinal(VL,BR ,Vk ) ≤ 0, VL é candidato ao MPP. Define-se BR = VL se VK éconvexo, ou PR = VK se este é côncavo.
Se sinal(VL,PR ,Vk ) < 0, o próximo vértice do MPP é PR . Faz-se VL = PR ereinicializa-se o algoritmo: BR = PR = VL. Caminha-se para o próximo vértice.
O conjunto de vértice VL forma o MPP.
Representação e descrição de regiões
Index Ponto s(VL,BR ,Vk ) s(VL,PR ,Vk ) BR PR VL
0 (1, 4) - - (1, 4) (1, 4) (1, 4)1 (2, 3) 0 0 (1, 4) (2, 3) (1, 4)2 (3, 3) 0 1 (3, 3) (2, 3) (1, 4)3 (3, 2) -2 0 (3, 3) (3, 2) (1, 4)4 (4, 1) -3 0 (4, 1) (3, 2) (1, 4)5 (7, 1) 9 - (4, 1) (3, 2) (4, 1)
5 (7, 1) - - (4, 1) (4, 1) (4, 1)5 (7, 1) 0 0 (7, 1) (4, 1) (4, 1)6 (8, 2) 3 - (7, 1) (4, 1) (7, 1)
6 (8, 2) - - (7, 1) (7, 1) (7, 1)6 (8, 2) 0 0 (8, 2) (7, 1) (7, 1)
Representação e descrição de regiões
Outras técnicasFusãoSeparação
Assinaturas: distância para o centroide a passos fixos do ângulo
A A
Invariância à rotação: uso dos eixos principais com pontos do contorno.Invariância à escala: normalização em relação ao máximo, ou divisão pela variância.
Representação e descrição de regiões
0 0 11 p1 01 0 1
p9 p2 p3
p8 p1 p4
p7 p6 p5
EsqueletosNão pode remover pontos extremos, sem quebrar aconectividade e sem causar erosão excessiva
Algoritmo:
N(P): número de vizinhos de P.
T (P): número de transições 0→ 1 ao redor de P
Ex: N(p1) = 4, T (p1) = 3.Passo 1: marcar para remoção
2 ≤ N(p1) ≤ 6T (p1) = 1p2 · p4 · p6 = 0p4 · p6 · p8 = 0
Remover pontos marcados no passo 1Passo 2: marcar para remoção
2 ≤ N(p1) ≤ 6T (p1) = 1p2 · p4 · p8 = 0p2 · p6 · p8 = 0
Remover pontos marcados no passo 2
Repetir passos 1 e 2 até não haver mais remoções
Descrição de regiões
Medida baseada numa representação escolhida para identificar uma determinadaregião. Ex:
Diâmetro da fronteiraCurvatura: medida das diferenças entre as inclinações do contornoCódigos de cadeia para montar números de formato
Descrição de regiões
Descritores de FourierPares de coordenadas são montados percorrendo afronteira no sentido anti-horário.
Cada ponto é representado como um número complexo daforma s(k) = x(k) + jy(k), para k = 0, 1, 2, · · · ,K − 1 pares.
a(u) =K−1∑k=0
s(k)e−j2πuk/K
Os valores a(u) são os descritores de fourier.
Reconstrução pela transformada inversa.
s(k) =1K
P−1∑u=0
a(u)e−j2πuk/P
Com menos componentes de frequência é possívelreconstruir o contorno com menos detalhes, entretantousando a mesma quantidade de pontos.
Descrição de regiões
Descritores de FourierProblemas: invarância à rotação, translação, ponto de partida e escala.
Rotação por θ: sr (k) = s(k)ejθ
ar (u) =K−1∑k=0
s(k)ejθe−j2πuk/K
= a(u)ejθ
Translação por z0 = x0 + jy0: st (k) = s(k) + z0.
u(k) =K−1∑k=0
s(k) + z0]e−j2πuk/K
=K−1∑k=0
s(k)e−j2πuk/K +K−1∑k=0
z0e−j2πuk/K
= u(k) + z0δ(k)
É afetada apenas a componente DC da transformada: u(0). O impulso vale zeroem outros lugares da transformada
Descrição de regiões
Descritores de FourierPonto inicial: sp(k) = x(k − k0) + jy(k − k0). Pelo teorema do deslocamento,
up(k) = u(k)e−j2πk0u/K
Escala: ss(k) = αs(k)us(k) = αu(k)
Resumo das propriedadesTransformação Fronteira DescritorIdentidade s(k) u(k)
Rotação s(k)ejθ a(u)ejθ
Translação st (k) = s(k) + z0 ut (k) = u(k) + z0δ(k)
Ponto de partida sp(k) = x(k − k0) + jy(k − k0) up(k) = u(k)e−j2πk0u/K
Escala ss(k) = αs(k) us(k) = αu(k)
O que fazer para assegurar invariância?
Descrição de regiões
TexturaEstatística, estrutural e espectral.
Abordagens estatísticas: Momentos estatísticosMomentos estatísticos do histograma de uma regiãoSeja p(zi ), i = 0, 1, · · · , L− 1 o histograma de uma região.O n-ésimo momento de z em torno da média é dado por
µn(z) =L−1∑i=0
(zi −m)np(zi )
µ0 = 1 e µ1 = 0.µ2 é a variância. Fornece medida de contraste presente na região.Suavidade relativa:
R(z) = 11
1 + µ22(z)
R(z) = 0 para regiões de intensidade constante. R(z) é próximo de 1 pararegiões com muita variação de tons.O terceiro momento µ3(z) mede a assimetria do histograma. O quarto momentoµ4(z) mede o quão este é plano.
Descrição de regiões
Abordagens estatísticas: Momentos estatísticosUniformidade
U(z) =L−1∑i=0
p2(zi )
Entropia média: medida de variabilidade
e(z) = −L−1∑i=0
p(zi )log2p(zi )
Textura Média Desv. Pad. R µ3 U(z) e(z)Suave 82.64 11.79 0.002 -0.105 0.026 5.434
Rugosa 143.56 74.63 0.079 -0.151 0.005 7.783Regular 99.72 33.73 0.017 0.750 0.013 6.674
Descrição de regiões
Incorporação de informação sobre posição relativa de pixels: Matriz deco-ocorrência.
Os elementos gij de uma matriz de co-ocorrência G contam a quantidade devezes que o tom de cinza j ocorreu à direita do tom de cinza i .
Para imagens com 256 tons de cinza, tais matrizes podem ter tamanhos de256× 256, podendo ser quantizadas em tamanhos menores pela conveniência.
Médias e variâncias nas linhas e colunas
mr =K∑
i=1
iK∑
j=1
pij σ2r =
K∑i=1
(i −mr )2
K∑j=1
pij
mc =K∑
j=1
jK∑
i=1
pij σ2c =
K∑j=1
(j −mc)2K∑
i=1
pij
Descrição de regiões
Alguns descritores baseados em matrizes de co-ocorrênciaProb. Máxima Resposta mais forte de G maxi,j (pij )
Correlação Diz como um pixel está correlacio-nado com seu vizinho
K∑i=1
K∑j=1
(i −mr )(j −mc)pij
σrσc
Contraste Contraste entre um pixel e seu vizi-nho
K∑i=1
K∑j=1
(i − j)2pij
Uniformidade Uniformidade da matrizK∑
i=1
K∑j=1
p2ij
Homogeneidade Proximidade da diagonalK∑
i=1
K∑j=1
pij
1 + |i − j|
Entropia Aleatoriedade de GK∑
i=1
K∑j=1
pij log pij
Descrição de regiões
G Prob. Corr Contr. Unif. Homog. EntrG1/n1 0.00006 -0.0005 10.838 0.0002 0.0366 15.75G2/n2 0.01500 0.965 570 0.01230 0.0824 6.43G3/n3 0.06860 0.8798 1356 0.0048 0.2048 13.58
Descrição de regiões
Abordagens estruturais usam regras de produção para criar a texturaAbordagens espectrais avaliam o espectro de Fourier de uma região para medircaracterísticas de textura.
Monta-se uma função S(r , θ), função da distância r para o centro do espectro e doângulo θ formado com o eixo horizontal.
S(r) =π∑θ=0
Sθ(r) S(θ) =π∑
r=0
Sr (θ)
Descrição de regiões
Momentos invariantesO momento de ordem (p + q) de f (x , y) é definido como:
mpq =M−1∑x=0
N−1∑y=0
xpyq f (x , y)
O momento central de ordem (p + q) de f (x , y) é definido como:
µpq =M−1∑x=0
N−1∑y=0
(x − x)p(y − y)q f (x , y)
Os momentos centrais normalizados são definidos como
ηpq =µpq
µγ00γ =
p + q2
+ 1 p + q = 2, 3, · · ·
Descrição de regiões
Momentos invariantes
φ1 =η20 + η02
φ2 =(η20 − η02)2 + 4η211
φ3 =(η30 − 3η12)2 + (3η21 − η03)2
φ4 =(η30 + η12)2 + (η21 + η03)2
φ5 =(η30 − 3η12)(η30 + η12)[(η30 + η12)2
− 3(η21 + η03)2] + (3η21 − η03)(η21 + η03)
[3(η30 + η12)2 − (η21 + η03)2]
φ6 =(η20 − η02)[(η30 + η12)2 − (η21 + η03)2]
+ 4η11(η30 + η12)(η21 + η03)
φ7 =(3η21 − η03)(η30 + η12)[(η30 + η12)2
− 3(η21 + η03)2]− (η30 − 3η12)(η21 + η03)
[3(η30 + η12)2 − (η21 + η03)2]
Descrição de regiões
Momentos invariantes