Title: Processamento de Imagens
1Processamento de Imagens
- Representação e Descrição
2Contexto
3Processamento baixo nível
Realce de imagem, restauração, transformações
Nível intermediário
Representação e descrição
4Processamento alto nível (reconhecimento e
interpretação)
reconhecimento de objetos, classificação, etc
5Reconhecimento de Regiões
- Descrição das regiões de forma adequada para um
classificador - vetor de características (numérico)
- descrição sintática não-numérica
- Caracterizar propriedades (Forma - Shape) de uma
região. - Aplicável a objetos 2D e 3D (necessidade de de
um viewpoint)
6Importância
- OCR (Optical Character Recognition)
- ECG (Electro-Cardiogram)
- EEG(Electro-Encephalogram)
- Classificação de células
- reconhecimento de cromossomos
- inspeção automática
- Inúmeras outras aplicações
7Alongado?
Textura
Fourier
I.A. Reconhecer o que é visto
8Tópicos importantes
- Identificação da Região
- Descrição e representação baseadas em contornos
- Descrição e representação baseadas em regiões
9Representação de regiões
- Características externas
- Contorno
- Características internas
- pixels que compõem a região.
- Região representada por seu contorno, por sua vez
descrito por características como comprimento,
nro de concavidades, etc.
10Representação de regiões
- Normalmente uma representação externa enfoca as
características da Forma - Representação interna enfoca aspectos como cor e
textura. - Importante em ambos os casos devem ser
considerados a invariabilidade quanto ao tamanho,
rotação, translação !
11Definir a Forma
- Tarefa difícil
- alongada, arredondada, com arestas salientes,
etc. - Não há metodologia genericamente aceita
- Nem sempre se sabe o que é importante na forma
- Suficiente para a maioria das aplicações
12Identificação de regiões
- É preciso identificar a região p/ descrevê-la.
- Como ?
- Rotulação (connected component labelling)
- input imagem segmentada
- definir grau de conectividade entre pixels
- rotular as regiões (1..N), N é o nro total de
regiões.
13Identificação de regiões
14Dois componentes conectados, considerando-se
pixels 4-conectados
15Algoritmo de CCLConnected Component Labeling
16Imagem binária
Rotulagem de 1-8
Atribuição de cores distintas a cada um dos
rótulos
17Quantos perus há na imagem?
Thresholded
Original
Rotulagem
Coloração (196 regiões)
18Representação de forma por contorno
- Chain Codes
- Representações geométricas
- comprimento
- curvatura
- bending energy (energia de modelagem)
- assinatura
- distribuição de chords (linha que une qq dois
pontos de uma borda)
19Representação de forma por contorno
- Descritores de Fourier
- Seqüências de segmentos
- B-Spline
- Redes Neurais
- Transformada de Hough
20Chain Codes
- Representam um contorno por uma seqüência
conectada de segmentos de retas com comprimento e
direções específicas. - Depende da conectividade, ponto inicial, rotação
- Torná-lo independente do ponto inicial
- Torná-lo independente da rotação.
- pode-se normalizar o chain code para rotação
usando a derivada anti-horária à 90o (derivative)
21(No Transcript)
22Chain Codes
- Depende da conectividade, ponto inicial, rotação
- Torná-lo independente do ponto inicial
- Procurar a representação que gera o menor nro
- Torná-lo independente da rotação.
- derivada anti-horária à 90o (derivative)
23Chain Codes
24Representações Geométricas(Representações
sensíveis à resolução da imagem)
- Comprimento do contorno
- derivado do chain code
- passos horizontais e verticais 1
- passos diagonais sqrt(2).
- Precisão 8-conectividade gt 4-conectividade
- Também conhecido por perímetro
- closed-boundary length
- Considerar a outer-border
25Representações Geométricas
- Curvatura
- caso contínuo taxa de mudança na inclinação
- caso discreto razão entre nro total de pixel da
borda (comprimento) e nro de pixel da borda que
muda significativamente. - Quanto menos mudanças, mais reto é o contorno.
- Como avaliar?
- Interprete o ângulo distante de b pixels a
partir de um pixel de bordo qualquer. - Através dos chain codes
26Representações Geométricas
27Representações Geométricas
- Bending Energy (BE)
- Energia armazenada no formato
- Energia necessária p/ dobrar uma vara até uma
forma desejável
c2(k) é o quadrado da curvatura L é o comprimento
da borda
28Bending Energy
29Representações Geométricas
- Assinatura
- representação funcional 1-D de um contorno
- Como ?
- por exemplo, a distância do centróide com relação
ao ângulo - mínima distância de A a B (A e B ?contorno e são
opostos)
30Assinaturas
Distância entre A e um ponto perpendicular B no
ponto tangente a A
31(No Transcript)
32Representações Geométricas
- Chord Distribution
- Chord linha que une dois pontos de um contorno.
Seja b(x,y)1 pontos do contorno e b(x,y)0,
outros pontos. - A distribuição dos comprimentos e ângulos de
todos os chords formam um descritor
33Representações por Contorno
- Descritores de Fourier
- Suponha uma curva fechada no plano dos complexos.
Percorrendo-a no sentido anti-horário, veloc.
constante, obtém-se uma função complexa z(t).
Uma volta completa leva tempo 2?. Função
periódica. Isso permite uma representação de
Fourier para z(t).
34Descritores de Fourier
- Seja L o nro de pontos na borda n 0,1,2,N-1
- Ao invés de utilizar todos Tn, pegue os M 1os e
faça Tn 0 para n gt M-1 - Lembre-se de que componentes de alta freqüência
relacionam-se para os pequenos detalhes. - Componentes de baixa freq. determinam a forma
global. - Quanto menor M, mais detalhes são perdidos na
borda - Utilizando as propriedades da transformada,
pode-se tornar o método invariante a rotação,
translação, escala e ponto inicial.
35Descritores (qtd)
Original M64
M4
M8
M2
M62
M61
36Representações por Contorno
- Seqüências de segmentos (segment sequences)
- aproximação de uma região por um polígono
- É preciso encontrar os vértices do polígono
- contorno representado por segmentos de formas
variadas - apropriado para reconhecimento sintático.
37Seqüências de segmentos
- Determinando os vértices
- utilizar medida de curvatura.
- Tolerância de intervalo
38Determinando os vértices
- Divisão recursiva do contorno
- dividir até satisfazer um certo critério
- defina reta entre pontos extremos
- encontre ponto mais distante
- se distância for maior que um threshold,
estabeleça novo ponto e continue recursivamente.
39Segmentos de formas variadas
- Defina primitivas representados por polinômios
de 2a ordem (círculos, parábolas) - Utilizados em procedimentos sintáticos de
classificação de cromossomos cada primitiva têm
um grau de curvatura, concavidade, etc.
40Representação de forma por região
- Descritores escalares
- Área
- Número de Euler
- Projeção
- Ecentricidade
- Elongatedness, Rectangularity, Compactness,
- Direção
41Representação de forma por região
- Momentos
- Convex Hull
- Esqueletonização
- Decomposição de Regiões
42Representações por Região
- Descritores Escalares
- calculo baseado em heurística
- não funcionam bem para formas muito complexas
- Área nro de pixels que compõem a região
43Descritores Escalares
- Número de Euler propriedade topológica
- topologia estudo das propriedades de uma imagem
que não são afetadas por qualquer deformação (a
não ser separação ou união de partes da figura) - Nro de Euler E C - H
- C Componente conectados na figura
- H Nro de buracos (Holes)
44Descritores Escalares
- Projeção
- Horizontal ph(i)e Vertical ph(j)
- processamento de imagens binárias
45Descritores Escalares
- Excentricidade
- razão entre o chord de comprimento máximo A e
chord B (A e B perpendiculares)
B
A
46Descritores Escalares
- Alongamento (elongatedness)
- Razão entre comprimento e largura do retângulo
que circunscreve o contorno - este critério não se aplica a regiões curvas,
caso em que deve se aplicar o critério de
espessura máxima
47Descritores Escalares
48Descritores Escalares
- Compactness
- a região mais compacta num espaço euclidiano é
um círculo
49Representações por Região
- Momentos
- propriedades estatísticas que descrevem formas
- imagens binárias ou de tons de cinza
- depende da escala, translação, rotação.
- A média, a variância de uma função f(x) são
exemplos de momento desta função. - Para uma imagem, o momento de ordem (pq) é
definido
i,j são coordenadas dos pixels da região
50Momentos
- O momento da fórmula anterior foi definido sobre
o ponto zero - Se o definirmos sobre a média, teremos um momento
invariante à translação, conhecido como momento
central
onde xc e yc são os centros de gravidade
(centróides) médias dados por
51Momentos
- Momentos podem ser invariantes com relação a
escala e há também propriedades que garantem
independência da rotação e translação. Sonka
52Representações por Região
- Convex Hull (casco convexo)
- O que é convexo?
- Seja R uma região. H é um convex hull se ela é a
menor região convexa que satisfaça R ? H
53Representações por Região
- Uma forma de representação da forma de uma região
plana é a redução a um grafo - Essa redução pode ser feita obtendo-se o
esqueleto (skeleton) através de um algoritmo de
afinamento (thinning)
54Thinning
- O esqueleto por ser definido pela Medial Axis
Transformation (MAT) - A MAT de uma região R com borda B
- p/ cada ponto p em R. encontre seu vizinho mais
próximo (qq medida de distância). Se p tem mais
de um vizinho, então, ele pertence ao eixo medial
(medial axis) ou esqueleto da região. - Cuidados dos algoritmos
- manter conectividade
- não remover os pontos extremos (end points)
55Transformada da distância
Coloque fogo na borda da imagem quanto tempo
leva para o fogo atingir todos os pixels
internos...?
56Exemplos
57Exemplo de MAT