Departamento de Engenaria Elétrica - EESC-USP SEL-0339 Introdução à Visão Computacional Aula 6 Representação e Descrição Prof. Dr. Marcelo Andrade da Costa Vieira Prof. Dr. Adilson Gonzaga mvieira@sc.usp.br
Dados Geométricos 3D Computação Gráfica Imagem D Imagem D Processamento de imagens Imagem D Imagem D Visão Computacional Dados Geométricos 3D Visão Computacional - Aula1
Visão Computacional Imagem Digital Processamento de Imagem Extração/ Seleção de Características Reconecimento LENNA 3
4
Introdução q Após a segmentação, os agrupamentos resultantes são usualmente representados por meio de dados em um formato apropriado camados de descritores. Representação Fronteiras: Características externas. forma do objeto Foco na Regiões: Características internas. Foco na textura ou cor do objeto q Uma fronteira pode ser descrita pelo seu tamano, orientação, número de concavidades, etc... q Uma região pode ser descrita pela sua cor, textura, área, etc... q Os descritores devem ser insensíveis à translação, rotação e mudança de escala 5
Representação de Fronteiras
Representação de Fronteiras 1) Seguidor de fronteira Define uma sequência ordenada de pontos que descrevem uma fronteira. Para imagens binárias com a fronteira segmentada. Representação 1-D de uma forma bidimensional em uma imagem
Algoritmo: 1. Considere o ponto de partida b 0 como o ponto mais alto e mais a esquerda rotulado com valor 1 (objeto);. Denote por c 0 o vizino à esquerda (ponto de fundo); 3. Examine todos os vizinos-8 do ponto b 0 a partir de c 0 considerando o sentido orário e marque o primeiro ponto rotulado com 1 que for encontrado.
Algoritmo: 4. Inclua as coordenadas desse ponto na sequência como b 1. Ele faz parte da fronteira do objeto; 5. Denote por c 1 o ponto imediatamente anterior ao ponto b 1 encontrado na sequência (ponto de fundo); 6. Repita o passo 3 a 5 até que o ponto encontrado seja novamente b 0.
) Código da Cadeia: ( Cain Code ou Código de Freeman) q Representam uma fronteira através de uma sequência conectada de segmentos, de direção e comprimento definidos. Código de 4 direções Código de 8 direções 10
Exemplo: Código de 4 direções: Cain Code 11
q Se a representação da fronteira for feita a cada par de pixels o custo computacional do algoritmo é alto e o torna mais susceptível a ruídos. Ruído 1
q Deve-se reamostrar a fronteira através de uma grade de amostragem de tamano maior. q Então, conforme a fronteira é percorrida, um ponto na fronteira é atribuído a cada nó da grade em função da sua proximidade. q O código de cadeia deve ser calculado para a fronteira reamostrada.
Imagem Origem Código de 4 direções: 003333333111101101 Grade de reamostragem Origem Código de 8 direções: 076666553311 14
Exemplo: 15
Normalização do Código da Cadeia: q O Código da Cadeia de uma dada fronteira depende de uma origem. q A solução é normalizar o código para que independa da origem. Primeira Diferença ou Derivativo do Código da Cadeia: Invariante com relação à Rotação 16
17 Primeira Diferença ou Derivativo do Código da Cadeia: Método: 1. Considerar o Código da Cadeia de forma circular, ou seja, fecado em suas extremidades.. Montar o Código Derivativo de acordo com a distância no sentido anti-orário: 3 3 1 3 3 1 1 1 3 0 1 1 1 0 - - - p p p p p p 3 3 0 1 0 3 - p p 4 direções 1 3 3 1 0 0 0 3 3 0 0 1 1 0 0 0
Exemplo: Código da Cadeia: 003333333111101101 p 1 0-3 Código Derivativo: 3 0 3 0 0 0 0 0 3 1 3 0 3 1 3 0 0 3 1 0 3 1 18
Exemplo: 3 0 3 0 0 0 0 0 3 1 3 0 3 1 3 0 0 3 1 0 3 1 p 3 - p 1 Virar à Direita 90 o Virar à Esquerda 90 o Direção arbitrária ( 3 ) 19
0 Código Derivativo de 8 Direções: 5 4 3 0 3 3 4 3 3 0 6 0 0 7 4 0 1 1 4 1 0 - - - p p p p p p 4) 3)(7 )(6 1)(5 0)(4 7)(3 6)( 5)(1 (0 5 5) 4)(7 3)(6 )(5 1)(4 0)(3 7)( 6)(1 (0 6 6) 5)(7 4)(6 3)(5 )(4 1)(3 0)( 7)(1 (0 7 ) 1)(7 0)(6 7)(5 6)(4 5)(3 4)( 3)(1 (0 3 1) 0)(7 7)(6 6)(5 5)(4 4)(3 3)( )(1 (0 0) 7)(7 6)(6 5)(5 4)(4 3)(3 )( 1)(1 (0 1 7) 6)(7 5)(6 4)(5 3)(4 )(3 1)( 0)(1 (0 0 Sentido anti-orário
0 (0 0)(1 1)( )(3 3)(4 4)(5 5)(6 6)(7 7) 1 (0 1)(1 )( 3)(3 4)(4 5)(5 6)(6 7)(7 0) (0 )(1 3)( 4)(3 5)(4 6)(5 7)(6 0)(7 1) 3 (0 3)(1 4)( 5)(3 6)(4 7)(5 0)(6 1)(7 ) 7 (0 7)(1 0)( 1)(3 )(4 3)(5 4)(6 5)(7 6) 6 (0 6)(1 7)( 0)(3 1)(4 )(5 3)(6 4)(7 5) 5 (0 5)(1 6)( 7)(3 0)(4 1)(5 )(6 3)(7 4) Código da Cadeia: 076666553311 0 6 Código Derivativo: 6 7 7 0 0 0 7 0 6 0 7 7 1 7 1 1
3) Aproximações Poligonais: Uma fronteira pode ser aproximada por um polígono. Para uma fronteira fecada, a aproximação é exata quando o número de segmentos do polígono é igual ao número de pontos da fronteira. O objetivo da aproximação poligonal é capturar o formato da fronteira utilizando o menor número possível de segmentos.
Polígono de perímetro mínimo Cercar a fronteira por um conjunto de células concatenadas de tamano definido (esse tamano define a precisão da aproximação). O polígono é definido como se fosse um elástico que se encole e contorna a fronteira encontrando seus limites nos cantos interiores e exteriores da região delimitada pelas células.
Polígono de perímetro mínimo Define-se a região interna do conjunto de células concatenadas utilizando vizinança-4 (cinza-escuro). Deve-se rotular cada vértice do polígono interno em côncavo (preto) ou convexo (branco); Um vértice convexo é o ponto central de um trio de pontos que definem um ângulo na faixa de 0 <θ<180 e um vértice côncavo tem um ângulo na faixa de 180 <θ<360.
Polígono de perímetro mínimo Todos os vértices côncavos devem ser espelados considerando a diagonal oposta da célula externa da região. O polígono de perímetro mínimo é formado ligando-se os vértices encontrados (convexo e côncavo espelado), desprezando-se os vértices brancos que estão entre dois vértices pretos.
A orientação de um trio de pontos (a,b,c) com coordenadas (x 1,y 1 ), (x,y ), (x 3,y 3 ), respectivamente, pode ser calculado considerando-se a matriz abaixo: Como saber se um ponto é convexo ou côncavo? ú ú ú û ù ê ê ê ë é 1 1 1 3 3 1 1 y x y x y x A ï þ ï ý ü ï î ï í ì < > Convexo Colineares Côncavo A 0 0 0 ) det(
Exemplo:
Inscrição de Polígono Convexo: Fronteira Original Convexa Determinar os dois pontos mais distantes da fronteira ( a e b ); A forma foi subdividida em duas regiões; Determinar os pontos de maior distância perpendicular ao segmento a-b para as regiões superior e inferior (c e d); 8
Inscrição de Polígono Convexo: Inscrever o Polígono através da união dos pontos da fronteira determinados (a,b,c,d) Estabelecer um nível de Limiar para a distância perpendicular para definir o número de pontos do polígono. A Fronteira é então descrita através dos pontos que formam os vértices do Polígono inscrito ( a,b,c,d,...) 9
4) Assinaturas: q Representação unidimensional de uma fronteira em coordenadas polares. Exemplos: 1) Gráfico da Distância do centro de massa versus Ângulo: 30
Coordenadas Polares: y "'-------'-----'----x [X, Y] poicart(theta, RHO) coordinates. Te syntax is [THETA, RHO] cartpol(x, Y) 31
Exemplo: 3
Descritores de Fronteiras 1) Comprimento da Fronteira (Perímetro): Contagem do número de pixels da Fronteira. q Usando o Código da Cadeia: de 4 direções Número de elementos. de 8 direções Número de elementos pares (orizontais e verticais) mais x (número de elementos ímpares) elementos diagonais. 33
) Diâmetro da Fronteira: Diam ( B) max i, j [ D( p, p )] i j Onde: D p i, p ) ( j É a distância entre os píxels i e j sobre a Fronteira B. q O valor do Diâmetro e a orientação da lina que conecta os dois pontos da fronteira mais distantes são descritores úteis da fronteira. q Esta lina é também camada de Eixo Maior da fronteira. 34
3) Excentricidade da Fronteira: q É a razão entre o Eixo Maior (D) e o Eixo Menor (d) da fronteira. D E d q Eixo Menor é a maior distância entre dois pontos da fronteira B sobre uma perpendicular ao Eixo Maior. 35
4) Número do Formato: ( Sape Numbers ) q Utilizando o Código da Cadeia de 4 direções, o Número do Formato da fronteira é definido como o menor número formado pela primeira diferença (Código Derivativo) através da Rotação do Derivativo. q A Ordem n do Número do Formato é definida como o número de dígitos para representá-lo. n é par para fronteiras fecadas Código da Cadeia: Derivativo: Número do Formato: 36
Código da Cadeia: Derivativo: Número do Formato: Código da Cadeia: Derivativo: Número do Formato: Código da Cadeia: Derivativo: Número do Formato: Código da Cadeia: Derivativo: Número do Formato: 37
Geração do Número do Formato: 1. Dada a Fronteira que se quer determinar seu Número do Formato, localizar o Eixo Maior e o Eixo Menor.. Definir o Retângulo Básico que envolve a fronteira, baseado nos dois eixos localizados. 38
3. Aproximar o retângulo que envolve a fronteira através de um retângulo cuja Excentricidade (E) melor aproxima a do Retângulo Básico. Exemplo: Supondo-se que a excentricidade medida foi E. O Retângulo 3 x 6 foi escolido pois possui excentricidade E. O polígono tem ordem 18, ou seja, o código da Cadeia terá 18 elementos. 1 x 8 E8 x 7 E3.5 3 x 6 E 4 x 5 E1,5 39
4. Alinar a direção do Código da Cadeia com a grade resultante e gerar os códigos e o Número do Formato equivalentes à fronteira. Código da Cadeia: 0 0 0 0 3 0 0 3 3 1 1 1 Derivativo: 3 0 0 0 3 1 0 3 3 0 1 3 0 0 3 1 3 0 Número do Formato: 0 0 0 3 1 0 3 3 0 1 3 0 0 3 1 3 0 3 40
6) Descritores de Fourier: A sequência de coordenadas de uma fronteira percorrida no sentido orário pode ser representada utilizando números complexos, com as coordenadas x no eixo real e a coordenadas y no eixo imaginário: Reduz a representação -D para 1-D. s x + i i jy i 41
6) Descritores de Fourier: Aplicando a transformada de Fourier na sequência determinada, temos os descritores de Fourier da fronteira; A transformada inversa desses coeficientes reconstrói a fronteira. Ao invés de usarmos todos os coeficientes na transformada inversa, pode-se obter uma fronteira aproximada (reduzir os detales da forma) utilizando-se apenas alguns coeficientes de Fourier (utiliza-se um filtro passa baixa). Os componentes de alta frequência são responsáveis pelos detales finais da imagem e os de baixa frequência determinam a forma global da imagem. Quanto menor a frequência de corte, mais detales são perdidos mas menos descritores são utilizados para descrever a fronteira. 4
Exemplo: 43
Representação de Regiões
Representação de Regiões 1) Esqueleto de uma Região: q Redução de uma região ao seu esqueleto, através de um algoritmo de afinamento ou esqueletização. q O esqueleto de uma região pode ser definido pela Transformação do Eixo Médio ( Medial Axis Transform - MAT). q A MAT de uma região R com borda B é definida da seguinte forma: Para cada ponto p em R, encontramos seu vizino mais próximo em B. Se p tiver mais de um vizino desse tipo, então diz-se que ele pertence ao eixo médio (esqueleto) de R. Esqueleto Região R Borda B 45
Exemplo: Esqueleto de regiões considerando a Distância Euclidiana. Os pontos do Esqueleto possuem pelo menos dois pontos em B de mesma Distância Euclidiana. 46
Exemplo: 47
Descritores de Regiões 1) Área de uma Região (A): A Número de pixels contido dentro de sua fronteira. ) Compacidade: C P A Onde P Perímetro da fronteira e A Área da Região q A Compacidade é adimensional e insensível a mudanças de escala e orientação. 48
3) Descritores Topológicos: q Úteis para descrições globais no plano de Imagem. q Topologia é o estudo das propriedades de uma figura que não sejam afetadas por deformações, desde que não existam divisão ou fusão da figura. Número de Furos: Número de Componentes conectados: Região com furos Região com 3 componentes conectados 49
Número de Euler: E C - H Onde: C número de componentes Conectados H número de furos E 0 E -1 50
4) Descritores de Textura: Fornece medidas de propriedades da imagem como suavidade, rugosidade e regularidade. 51
Abordagem Estatística: Baseada em istograma Mean Moment L 1 Expression rn I z;p(z;) ;0 Standard deviation a J;;.j;;z Smootness R 1-1/(1 + ( ) Tird moment Uniformity Entropy L - l P,3 L (Z; - m)3 p(zj io L - l U L p(zj ; 0 L - l e - I p(z;)log p(z;) ; 0 Measure of Texture A measure of average intensity. A measure of average contrast. Measures te relative smootness of te intensity in a region. R is 0 for a region of constant intensity and approaces 1 for regions wit large excursions in te values of its intensity levels. In practice, te variance, a, used in tis measure is normalized to te range [0,1] by dividing it by (L-1f Measures te skewness of a istogram. Tis measure is 0 for symmetric istograms; positive by istograms skewed to te rigt about te mean; and negative for istograms skewed to te left. Values of tis measure are brougt into a range of values comparable to te oter five measures by dividing f.l3 by (L -1), te same divisor we used to normalize te variance. Measures uniformity. Tis measure is maximum wen all intensity values are equal (maximally uniform) and decreases from tere. A measure of randomness. Alguns descritores de textura baseados no istograma de uma região. Z i à Intensidade dos pixels P(z) àhistograma das intensidades L à número dos possíveis níveis de cinza 5
Exemplo de valores de textura em diferentes imagens 53
5) Momentos: q O momento de ordem (p+q) de uma função contínua bi-dimensional é definido como: m p q x y f x, y dx dy ò ò pq ) - - ( para p,q 0,1,,... m 00 0 0 x y f ( x, y) dx dy f ( x, y) dx dy ò ò - - ò ò - - m 00 área da Região 54
m 01 0 1 x y f ( x, y) dx dy y f ( x, y) dx dy ò ò - - ò ò - - m 10 1 0 x y f ( x, y) dx dy x f ( x, y) dx dy ò ò - - ò ò - - m 01 e m 10 são as coordenadas do Centro de Massa da Região 55
Momentos Centrais Normalizados: q São Momentos centralizados em regiões e podem ser expressos como: µ p q ( x - x) ( y - y) f ( x, y dx dy ò ò pq ) - - Onde: x m m 10 00 e y Para uma Imagem Digital: m m 01 00 São as coordenadas do Centro de Massa, normalizadas pela área da região. µ pq åå p ( - x) ( y - x y q x y) f ( x, y) 56
Momentos Centrais até a ordem 3: µ åå åå 0 0 00 x - x) ( y - y) f ( x, y) f ( x, y) x y x y ( m 00 µ 10 µ 01 µ µ µ Ordem 1 Ordem 0 0 m0 - xm10 0 m0 - ym01 11 m11 - ym10 µ µ µ µ Ordem 3 m - ym - xm + 1 1 11 0 y m m - xm - ym + 1 1 11 0 x m m - xm + 30 30 0 3 x m m - ym + 03 03 0 3 y m São Invariantes com relação à escala. 10 01 10 01 57
Momentos Invariantes: q Conjunto de Momentos (Momentos Invariantes de Hu) que são relativamente invariantes à translação, rotação e escala. Momentos Centrais Normalizados pela área: µ pq p + q 1 pq Onde: g + µ g 00 Para p+q,3,4,... q Hu calculou 7 desses momentos. q A experiência tem mostrado que os 7 Momentos Invariantes de Hu, são suficientes para descrever uma região independente da rotação, translação e escala. 58
59 Momentos Invariantes de Hu: 0 0 1 f + 11 0 0 4 ) ( f + - 03 1 1 30 3 ) (3 ) 3 ( f - + - 03 1 1 30 4 ) ( ) ( f + + + [ ] [ ] 03 1 1 30 03 1 03 1 03 1 1 30 1 30 1 30 5 ) ( ) 3( ) )( (3 ) 3( ) ( ) )( 3 ( f + - + + - + + - + + - [ ] ) )( ( 4 ) ( ) ( ) ( 03 1 1 30 11 03 1 1 30 0 0 6 f + + + + - + - [ ] [ ] 03 1 1 30 03 1 30 1 03 1 1 30 1 30 03 1 7 ) ( ) 3( ) )( (3 ) 3( ) ( ) )( (3 f + - + + - + + - + + -
Exemplo: 60
Exemplo: 61
FIM 6