Processamento de Imagens Representao e Descrio Contexto Processamento

  • Slides: 64
Download presentation
Processamento de Imagens Representação e Descrição

Processamento de Imagens Representação e Descrição

Contexto

Contexto

Processamento baixo nível Realce de imagem, restauração, transformações Nível intermediário Representação e descrição

Processamento baixo nível Realce de imagem, restauração, transformações Nível intermediário Representação e descrição

Processamento alto nível (reconhecimento e interpretação) reconhecimento de objetos, classificação, etc

Processamento alto nível (reconhecimento e interpretação) reconhecimento de objetos, classificação, etc

Reconhecimento de Regiões • Descrição das regiões de forma adequada para um classificador –

Reconhecimento 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 2 D e 3 D (necessidade de + de um viewpoint)

Importância • • OCR (Optical Character Recognition) ECG (Electro-Cardiogram) EEG(Electro-Encephalogram) Classificação de células Reconhecimento

Importância • • OCR (Optical Character Recognition) ECG (Electro-Cardiogram) EEG(Electro-Encephalogram) Classificação de células Reconhecimento de cromossomos Inspeção automática CBIRS (Content-based Image Retrieval System) Inúmeras outras aplicações

Alongado? Textura Fourier I. A. Reconhecer o que é visto

Alongado? Textura Fourier I. A. Reconhecer o que é visto

Tópicos importantes • Identificação da Região • Descrição e representação baseadas em contornos •

Tópicos importantes • Identificação da Região • Descrição e representação baseadas em contornos • Descrição e representação baseadas em regiões • Descritores de cor

Representação de regiões • Características externas – Contorno • Características internas – pixels que

Representaçã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.

Representação de regiões • Normalmente uma representação externa enfoca as características da Forma •

Representaçã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 ! – P(T(I)) = T(P(I)) • P = propriedade T = transformação

Definir a Forma • Tarefa difícil – alongada, arredondada, com arestas salientes, etc. •

Definir 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

Identificação de regiões • É preciso identificar a região p/ descrevê-la. • Como ?

Identificaçã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.

Identificação de regiões

Identificação de regiões

Dois componentes conectados, considerando-se pixels 4 -conectados

Dois componentes conectados, considerando-se pixels 4 -conectados

Algoritmo de CCL Connected Component Labeling

Algoritmo de CCL Connected Component Labeling

Imagem binária Rotulagem de 1 -8 Atribuição de cores distintas a cada um dos

Imagem binária Rotulagem de 1 -8 Atribuição de cores distintas a cada um dos rótulos

Quantos perus há na imagem? Original Rotulagem Thresholded Coloração (196 regiões)

Quantos perus há na imagem? Original Rotulagem Thresholded Coloração (196 regiões)

Representação de forma por contorno • Chain Codes • Representações geométricas – comprimento –

Representaçã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)

Representação de forma por contorno • • • Descritores de Fourier Seqüências de segmentos

Representação de forma por contorno • • • Descritores de Fourier Seqüências de segmentos B-Spline Redes Neurais Transformada de Hough

Chain Codes • Representam um contorno por uma seqüência conectada de segmentos de retas

Chain Codes • Representam um contorno por uma seqüência conectada de segmentos de retas 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 à 90 o (derivative)

Chain Codes • Depende da conectividade, ponto inicial, rotação • Torná-lo independente do ponto

Chain 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 à 90 o (derivative)

Chain Codes

Chain Codes

Representações Geométricas (Representações sensíveis à resolução da imagem) • Comprimento do contorno – derivado

Representaçõ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 > 4 -conectividade – Também conhecido por perímetro • closed-boundary length – Considerar a outer-border

Representações Geométricas • Curvatura – caso contínuo: taxa de mudança na inclinação – caso

Representaçõ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

Representações Geométricas

Representações Geométricas

Representações Geométricas • Bending Energy (BE) – Energia armazenada no formato – Energia necessária

Representações Geométricas • Bending Energy (BE) – Energia armazenada no formato – Energia necessária p/ dobrar uma vara até uma forma desejável c 2(k) é o quadrado da curvatura L é o comprimento da borda

Bending Energy

Bending Energy

Representações Geométricas • Assinatura – representação funcional 1 -D de um contorno – Como

Representaçõ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)

Assinaturas Distância entre A e um ponto perpendicular B no ponto tangente a. A

Assinaturas Distância entre A e um ponto perpendicular B no ponto tangente a. A

Representações Geométricas • Chord Distribution – Chord: linha que une dois pontos de um

Representaçõ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

Representações por Contorno • Descritores de Fourier – Suponha uma curva fechada no plano

Representações por Contorno • Descritores de Fourier – Suponha uma curva fechada no plano dos complexos. Percorrendo-a no sentido antihorá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). Comprimento da curva Descritores

Como construir DFs a partir de um contorno • Suponha que a borda (contorno

Como construir DFs a partir de um contorno • Suponha que a borda (contorno fechado) de um “shape” tenha N pixeis numerados 0 – N -1 • O pixel k-th do contorno tem a posição (xk, yk). Podemos descrever o contorno como duas equações pararétricas: – x(k) = xk – y(k) = yk

Como construir DFs a partir de um contorno • Podemos extrair TF de cada

Como construir DFs a partir de um contorno • Podemos extrair TF de cada funcao: – ax(ν) = F (x(k)) – ay(ν) = F (y(k)) • Estes dois espectros são os Descritores de Fourier

Como construir DFs a partir de um contorno • Alternativamente, podemos considerar as coordenadas

Como construir DFs a partir de um contorno • Alternativamente, podemos considerar as coordenadas (x, y) do ponto não como coord. Cartesianas, mas no plano complexo: s(k) = x(k) + iy(k) • Portanto, a(ν) = F (s(k)) = F (x(k) + iy(k)) = F (x(k)) + i. F (y(k)) = ax(ν) + iay(ν) = [(ax(ν))−(ay(ν))] + i [(ax(ν)) + (ay(ν))]

Propriedades • Suponha que o espectro contenha altas freqüências – Mudanças bruscas em x

Propriedades • Suponha que o espectro contenha altas freqüências – Mudanças bruscas em x e y. – Contorno irregular • Suponha que o sinal tenha poucas altas freqüências – Mudanças suaves em x e y. – Contorno suave

Propriedades (2) • Se fizermos um low-pass nos FDs ? – Suavização – Os

Propriedades (2) • Se fizermos um low-pass nos FDs ? – Suavização – Os componentes de baixa freqüência capturam a forma geral do objeto – Se não usarmos todos os k componentes de a(v), mas somente m < k ? • Quem é o primeiro k ? ? ? (lembre fourier. . . ) – Se reconstruíssemos o sinal com estes m componentes ? • Compressão ! – Pensando assim, FDs agem como momentos: • Termos de ordem baixa/menores momentos dão a forma aproximada • Adicao de termos adicionais, refinam a forma !

Respostas a transformações • Vamos usar propriedades da FT • Translação: significa adicionar uma

Respostas a transformações • Vamos usar propriedades da FT • Translação: significa adicionar uma constante a cada coordenada (x, y). – Portanto, só mudamos o componente de freqüência zero F(0, 0) -> (DC) ! • Nada sobre a forma em si – Portanto, exceto para F(0, 0), FDs são invariantes à translação.

Respostas a transformações • Rotação – Da análise de Fourier, rotação no plano complexo

Respostas a transformações • Rotação – Da análise de Fourier, rotação no plano complexo por um ângulo θ é multiplicação por eiθ – Portanto, rotação sobre a origem do sistema de coordenadas, apenas multiplica os FDs por eiθ

Respostas a transformações • Escala – Suponha que mudemos o tamanho do objeto. –

Respostas a transformações • Escala – Suponha que mudemos o tamanho do objeto. – Tire suas conclusões comparando esta operação com translação !! • Ponto de inicio: – Isso não é translação do sinal 1 D s(k) ao longo de k ? – Translação no domínio espacial (k) corresponde a mudança de fase na transformada !

Descritores (qtd) Original: M=64 M=2 M=61 M=4 M=62 M=8

Descritores (qtd) Original: M=64 M=2 M=61 M=4 M=62 M=8

Representações por Contorno • Seqüências de segmentos (segment sequences) – aproximação de uma região

Representaçõ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.

Seqüências de segmentos • Determinando os vértices – utilizar medida de curvatura. – Tolerância

Seqüências de segmentos • Determinando os vértices – utilizar medida de curvatura. – Tolerância de intervalo

Determinando os vértices • Divisão recursiva do contorno – dividir até satisfazer um certo

Determinando 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.

Segmentos de formas variadas • Defina “primitivas”: representados por polinômios de 2 a ordem

Segmentos de formas variadas • Defina “primitivas”: representados por polinômios de 2 a 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.

Representação de forma por região • Descritores escalares – Área – Número de Euler

Representação de forma por região • Descritores escalares – Área – Número de Euler – Projeção – Ecentricidade – Elongatedness, Rectangularity, Compactness, – Direção

Representação de forma por região • • Momentos Convex Hull Esqueletonização Decomposição de Regiões

Representação de forma por região • • Momentos Convex Hull Esqueletonização Decomposição de Regiões

Representações por Região • Descritores Escalares – calculo baseado em heurística – não funcionam

Representaçõ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

Descritores Escalares • Número de Euler: propriedade topológica – topologia: estudo das propriedades de

Descritores 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)

Descritores Escalares • Projeção – Horizontal ph(i)e Vertical ph(j) – processamento de imagens binárias

Descritores Escalares • Projeção – Horizontal ph(i)e Vertical ph(j) – processamento de imagens binárias

Descritores Escalares • Excentricidade – razão entre o chord de comprimento máximo A e

Descritores Escalares • Excentricidade – razão entre o chord de comprimento máximo A e chord B (A e B perpendiculares) A B

Descritores Escalares • Alongamento (elongatedness) – Razão entre comprimento e largura do retângulo que

Descritores 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 Nro erosões

Descritores Escalares • Retangularidade (Fk) Razão da área da região e a área do

Descritores Escalares • Retangularidade (Fk) Razão da área da região e a área do bounding box ao contorno Direção do retângulo

Descritores Escalares • Compactness – a região mais compacta num espaço euclidiano é um

Descritores Escalares • Compactness – a região mais compacta num espaço euclidiano é um círculo

Representações por Região • Momentos – propriedades estatísticas que descrevem formas – imagens binárias

Representaçõ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 (p+q) é definido: i, j são coordenadas dos pixels da região

Momentos • O momento da fórmula anterior foi definido sobre o ponto zero •

Momentos • 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 Valor total imagem

Momentos • Momentos podem ser invariantes com relação a escala e há também propriedades

Momentos • 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]

Representações por Região • Convex Hull (casco convexo) – O que é convexo? •

Representaçõ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 A partir de Pk (no sentido antihorário) encontre pq = minn n. Pq será um vértice do convex hull.

Representações por Região • Uma forma de representação da forma de uma região plana

Representaçõ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)

Thinning • O esqueleto por ser definido pela Medial Axis Transformation (MAT) – A

Thinning • 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 algoritmos: • manter conectividade • não remover os pontos extremos (end points)

Transformada da distância Coloque fogo na borda da imagem: quanto tempo leva para o

Transformada da distância Coloque fogo na borda da imagem: quanto tempo leva para o fogo atingir todos os pixels internos. . . ?

Exemplos

Exemplos

Exemplo de MAT

Exemplo de MAT