processamento de imagens representação e descrição
TRANSCRIPT
![Page 1: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/1.jpg)
Processamento de Imagens
Representação e Descrição
![Page 2: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/2.jpg)
Contexto
![Page 3: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/3.jpg)
Processamento baixo nível
Realce de imagem, restauração, transformações
Nível intermediário
Representação e descrição
![Page 4: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/4.jpg)
Processamento alto nível (reconhecimento e interpretação)
reconhecimento de objetos, classificação, etc
![Page 5: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/5.jpg)
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 2D e 3D (necessidade de + de um viewpoint)
![Page 6: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/6.jpg)
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
![Page 7: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/7.jpg)
Alongado?
Fourier
Textura
I.A.
Reconhecer o que é visto
![Page 8: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/8.jpg)
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
![Page 9: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/9.jpg)
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.
![Page 10: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/10.jpg)
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
![Page 11: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/11.jpg)
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
![Page 12: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/12.jpg)
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.
![Page 13: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/13.jpg)
Identificação de regiões
![Page 14: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/14.jpg)
Dois componentes conectados, considerando-se pixels 4-conectados
![Page 15: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/15.jpg)
Algoritmo de CCLConnected Component Labeling
![Page 16: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/16.jpg)
Imagem binária Rotulagem de 1-8
Atribuição de cores distintas a cada um dos rótulos
![Page 17: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/17.jpg)
Quantos perus há na imagem?
Original Thresholded
Rotulagem Coloração (196 regiões)
![Page 18: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/18.jpg)
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)
![Page 19: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/19.jpg)
Representação de forma por contorno
• Descritores de Fourier
• Seqüências de segmentos
• B-Spline
• Redes Neurais
• Transformada de Hough
![Page 20: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/20.jpg)
Chain 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)
![Page 21: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/21.jpg)
![Page 22: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/22.jpg)
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 à 90o (derivative)
![Page 23: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/23.jpg)
Chain Codes
![Page 24: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/24.jpg)
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
![Page 25: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/25.jpg)
• 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
![Page 26: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/26.jpg)
Representações Geométricas
![Page 27: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/27.jpg)
• Bending Energy (BE)– Energia armazenada no formato
– Energia necessária p/ dobrar uma vara até uma forma desejável
Representações Geométricas
c2(k) é o quadrado da curvaturaL é o comprimento da borda
![Page 28: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/28.jpg)
Bending Energy
![Page 29: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/29.jpg)
• 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)
Representações Geométricas
![Page 30: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/30.jpg)
AssinaturasDistância entre A e um pontoperpendicular B no ponto tangente a A
![Page 31: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/31.jpg)
![Page 32: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/32.jpg)
• 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 Geométricas
![Page 33: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/33.jpg)
• 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).
Representações por Contorno
Comprimento da curva
Descritores
![Page 34: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/34.jpg)
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
![Page 35: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/35.jpg)
• 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
![Page 36: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/36.jpg)
• 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,
Como construir DFs a partir de um contorno
a(ν) = F (s(k)) = F (x(k) + iy(k)) = F (x(k)) + iF (y(k)) = ax(ν) + iay(ν) = [(ax(ν))−(ay(ν))] + i [(ax(ν)) + (ay(ν))]
![Page 37: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/37.jpg)
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
![Page 38: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/38.jpg)
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 !
![Page 39: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/39.jpg)
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.
![Page 40: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/40.jpg)
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θ
![Page 41: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/41.jpg)
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 1D s(k) ao longo
de k ?– Translação no domínio espacial (k) corresponde
a mudança de fase na transformada !
![Page 42: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/42.jpg)
Descritores (qtd)
Original: M=64 M=2 M=4 M=8
M=61 M=62
![Page 43: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/43.jpg)
• 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.
Representações por Contorno
![Page 44: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/44.jpg)
Seqüências de segmentos
• Determinando os vértices– utilizar medida de curvatura. – Tolerância de intervalo
![Page 45: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/45.jpg)
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.
![Page 46: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/46.jpg)
Segmentos 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.
![Page 47: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/47.jpg)
Representação de forma por região
• Descritores escalares– Área– Número de Euler– Projeção– Ecentricidade– Elongatedness, Rectangularity, Compactness, – Direção
![Page 48: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/48.jpg)
Representação de forma por região
• Momentos
• Convex Hull
• Esqueletonização
• Decomposição de Regiões
![Page 49: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/49.jpg)
• 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
Representações por Região
![Page 50: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/50.jpg)
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)
![Page 51: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/51.jpg)
Descritores Escalares• Projeção
– Horizontal ph(i)e Vertical ph(j)
– processamento de imagens binárias
![Page 52: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/52.jpg)
Descritores Escalares• Excentricidade
– razão entre o chord de comprimento máximo A e chord B (A e B perpendiculares)
A B
![Page 53: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/53.jpg)
• 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
Descritores Escalares
Nro erosões
![Page 54: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/54.jpg)
• Retangularidade
Descritores Escalares
(Fk) Razão da área da região e a área do bounding box ao contorno
Direção do retângulo
![Page 55: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/55.jpg)
• Compactness– a região mais compacta num espaço euclidiano
é um círculo
Descritores Escalares
![Page 56: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/56.jpg)
• 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:
Representações por Região
i,j são coordenadas dos pixels da região
![Page 57: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/57.jpg)
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
![Page 58: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/58.jpg)
• 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]
Momentos
![Page 59: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/59.jpg)
• Convex Hull (casco convexo)– O que é convexo?
Representações por Região
• 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 anti-horário) encontre pq = minn n .Pq será um vértice do convex hull.
![Page 60: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/60.jpg)
• 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)
Representações por Região
![Page 61: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/61.jpg)
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 dos algoritmos:• manter conectividade
• não remover os pontos extremos (end points)
![Page 62: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/62.jpg)
Transformada da distância
Coloque fogo na borda da imagem: quanto tempo leva para o fogoatingir todos os pixels internos...?
![Page 63: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/63.jpg)
Exemplos
![Page 64: Processamento de Imagens Representação e Descrição](https://reader036.vdocuments.pub/reader036/viewer/2022062312/552fc10e497959413d8c4efd/html5/thumbnails/64.jpg)
Exemplo de MAT