Processamento de Imagens Representao e Descrio Contexto Processamento
































































- Slides: 64
Processamento de Imagens Representação e Descrição
Contexto
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
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 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
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 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 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. • 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 ? – 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
Dois componentes conectados, considerando-se pixels 4 -conectados
Algoritmo de CCL Connected Component Labeling
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)
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 B-Spline Redes Neurais Transformada de Hough
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 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
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 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 • 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
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
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 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 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 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 (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 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 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 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 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. – 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
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 de intervalo
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 (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 – 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çõ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 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 • 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 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 bounding box ao contorno Direção do retângulo
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 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 • 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 que garantem independência da rotação e translação. [Sonka]
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 é 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 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 fogo atingir todos os pixels internos. . . ?
Exemplos
Exemplo de MAT