SEGMENTAÇÃO E REPRESENTAÇÃO DE CONTORNOS POR … · Este trabalho apresenta uma revisão sobre...

10
I SBAI - UNESP - Rio Claro/SP - Brasil SEGMENTAÇÃO E REPRESENTAÇÃO DE CONTORNOS POR B-SPLINES PARA APLICAÇÕE EM VISÃO COMPUTACIONAL ROBERTO MARCONDES CESAR JUNIOR 1 ROBERTO DE ALENCAR LOTUF0 2 Grupo de Computação de Imagens Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica C.P. 6101, Unicamp 13081 - Campinas - SP le-mail: pinda«ldca.fee.unicarnp.br 2e-mail : lotufo«ldca.fee.unicarnp.br Abstract. This paper presents an algorithm for the segmentation and representation of arbi- trary contours using B-splines. The algorithm is a modification of [GY87], based on the global structure of the representation. Our modification improves the original method in two ways : redundant information elimination and better data compression. Some results of representation and segmentation of contours from both sinthetic and experimental images are presented. 1 Introdução Em inúmeras aplicações de Visão Computacional (VC), reconhecimento de padrões (RP) e mesmo pro- cessamento de imagens (PI), a representação da forma dos objetos por alguma estrutura que possua um nível de abstração maior que a própria matriz de pixels, cumpre um papel fundamental. Essa representa- ção pode tanto ser o objetivo final como um passo intermediário em um processo maior, dependendo da aplicação. Existem 2 abordagens básicas relacionadas à representação das formas: contornos e regiões. Exemplos de métodos de representação de formas por regiões são" octrees" , "quadtrees", esqueletos, decomposição geométrica e morfológica [IA92], e estão além do escopo deste trabalho. Este trabalho discutirá alguns aspectos de representação ou descrição de contornos . Uma primeira representação óbvia de um contorno é dada por um conjunto P (1) Pi (Xi, yd, i = O .. . n de pontos do contorno. Se o contorno for fechado, tem-se po = Pn. Existem algumas classificações básicas relacionadas aos métodos de descrição de contornos. Primeiramente, um contorno pode ser analisado através de uma transformação escalar ou no próprio domínio espacial [T.80]. Um exemplo de uma transformação escalar sobre o contorno P da eq. 1 é : Per(P) = a que associa ao contorno P o seu perímetro a . .Muitos outros exemplos existem na literatura, como área definida pelo contorno, excentricidade, relação área / perímetro e As transformações escalares são particularmente importantes para a abordagem estatística para o Reconhecimento de Padrões [K.S82]. Por outro lado, as técnicas que descrevem o contorno no domínio espacial procuram identificar características estruturais nesses, como ângulos e outras primitivas geométricas, por exemplo. Esse tipo de descrição de contornos é importante para a abordagem estrutural para o Reconhecimento de Pa- drões [K.S82] . A representação de contornos, em quase todos seus métodos, possui algumas características comuns, apesar de sua diversidade. O conhecimento dessas características facilita o entendimento da maioria dos - 223-

Transcript of SEGMENTAÇÃO E REPRESENTAÇÃO DE CONTORNOS POR … · Este trabalho apresenta uma revisão sobre...

I SBAI - UNESP - Rio Claro/SP - Brasil

SEGMENTAÇÃO E REPRESENTAÇÃO DE CONTORNOS POR B-SPLINES PARA APLICAÇÕE EM VISÃO COMPUTACIONAL

ROBERTO MARCONDES CESAR JUNIOR 1

ROBERTO DE ALENCAR LOTUF0 2

Grupo de Computação de Imagens Departamento de Engenharia de Computação e Automação Industrial

Faculdade de Engenharia Elétrica C.P. 6101, Unicamp

13081 - Campinas - SP

le-mail: pinda«ldca.fee.unicarnp.br

2e-mail : lotufo«ldca.fee.unicarnp.br

Abstract. This paper presents an algorithm for the segmentation and representation of arbi­trary contours using B-splines. The algorithm is a modification of [GY87], based on the global structure of the representation. Our modification improves the original method in two ways : redundant information elimination and better data compression. Some results of representation and segmentation of contours from both sinthetic and experimental images are presented.

1 Introdução

Em inúmeras aplicações de Visão Computacional (VC), reconhecimento de padrões (RP) e mesmo pro­cessamento de imagens (PI), a representação da forma dos objetos por alguma estrutura que possua um nível de abstração maior que a própria matriz de pixels, cumpre um papel fundamental. Essa representa­ção pode tanto ser o objetivo final como um passo intermediário em um processo maior, dependendo da aplicação. Existem 2 abordagens básicas relacionadas à representação das formas: contornos e regiões. Exemplos de métodos de representação de formas por regiões são" octrees" , "quadtrees", esqueletos, decomposição geométrica e morfológica [IA92], e estão além do escopo deste trabalho. Este trabalho discutirá alguns aspectos de representação ou descrição de contornos .

Uma primeira representação óbvia de um contorno é dada por um conjunto

P (1)

Pi (Xi, yd, i = O .. . n

de pontos do contorno. Se o contorno for fechado, tem-se po = Pn. Existem algumas classificações básicas relacionadas aos métodos de descrição de contornos.

Primeiramente, um contorno pode ser analisado através de uma transformação escalar ou no próprio domínio espacial [T.80]. Um exemplo de uma transformação escalar sobre o contorno P da eq. 1 é :

Per(P) = a

que associa ao contorno P o seu perímetro a . . Muitos outros exemplos existem na literatura, como área definida pelo contorno, excentricidade, relação área / perímetro e outros ~ As transformações escalares são particularmente importantes para a abordagem estatística para o Reconhecimento de Padrões [K.S82].

Por outro lado, as técnicas que descrevem o contorno no domínio espacial procuram identificar características estruturais nesses, como ângulos e outras primitivas geométricas, por exemplo. Esse tipo de descrição de contornos é importante para a abordagem estrutural para o Reconhecimento de Pa­drões [K.S82] .

A representação de contornos, em quase todos seus métodos, possui algumas características comuns, apesar de sua diversidade. O conhecimento dessas características facilita o entendimento da maioria dos

- 223-

I SBAI - UNESP _·Rio Claro/SP - Brasil

métodos, além de funcionar como um referencial para a criação de parâmetros de avaliação e comparação dos métodos :

(i) extração de informações sobre a forma do contorno; (ii) compressão de dados; (iii) filtragem de ruídos; (iv) identificação de cantos ou pontos de curvatura máxima; Existem muitos métodos diferentes de representação de curvas, e uma pequena revisão ao tema será

feita na secção 2. Uma das formas de se representar contornos é por meio de curvas paramétricas. Existem aplicações

interessantes para esse tipo de representação, como a definição de fontes tipográficos para processadores de texto [J .M89], ou a parametrização de curvas, permitindo sua manipulação através de equações . Particularmente, pode-se representar contornos por curvas B-splines [DC82] . Existem duas abordagens básicas para esse tipo de representação: interpolação [MRHJ92] ou aproximação [GY87]. As curvas B-spline possuem propriedades que já foram amplamente estudadas [C .72]. Por outro lado, a extração de informações sobre a forma do contorno a partir desse tipo de representação, ainda não foi abordada de forma sistemática, pelo menos na literatura até agora consultada pelos autores.

Em muitas aplicações, é desejável qua a representação do contorno permita a identificação de partes ou segmentos que possuam uma certa informação estrutural importante para que possa ser usada poste­riormente. Uma dessas aplicações é a representação de uma série de contornos consecutivos e o posterior estabelecimento de uma relação entre os segmentos de cada contorno. Essa aplicação cumpre um papel importante no ajuste de superfícies paramétricas à contornos de um objeto tridimensional [LHJ91]. Ou­tro exemplo está na correspondência entre partes de objetos para seu reconhecimento quando estes estão incompletos ou parcialmente escondidos [FG92]. Porém, ao contrário de uma simples aproximação poli­gonal, é desejável a identificação de pontos importantes em cada segmento. Esses pontos podem definir uma segunda aproximação poligonal, ou ainda serem usados como pontos de controle numa aproximação por B-splines. Também é interessante que o número de segmentos seja o menor possível, reduzindo ao máximo a redundância de informações globais presentes na representação. É exatamente isso que nosso algoritmo de representação por B-splines procura fazer, melhorando uma representação preliminar gerada pelo algoritmo de [GY87], eliminando a informação estruturalmente redundante e conseguindo uma maior redução no volume dos dados . Além disso, a informação gerada no processo de representação pode ser usada num posterior processo de casamento de segmentos.

Este trabalho apresenta uma revisão sobre alguns métodos importantes de representação de contornos na secção 2. Na secção 3 será apresentada uma modificação do método [GY87), a fim de melhorar seu desempenho para as aplicações anteriormente citadas. Exemplos da representação de contornos pelo nosso método são apresentados e discutidos na secção 4. Na secção 5 são apresentados os comentários finais e discutidas aplicações futuras do método.

2 Representação de Curvas no Domínio Espacial: Revisão Bibliográfica

A primeira forma de representação de curvas que possui um nível de abstração maior que a própria imagem binária é a do conjunto dos próprios pontos dessa curva, como na eq. 1, ou seja, uma simples lista ordenada contendo seus pontos. Algumas informações já podem ser extraídas dessa representação. Por exemplo , a curva possui n + 1 pontos, e se Pn = Pa, então a curva é fechada. Caso contrário, ela é aberta. Essas informações porém, não são completas para curvas com topologiaS mais complexas, como seria o caso de uma curva representando o número 6. Alguns trabalhos sugerem que essas curvas sejam decompostas em componentes simples, onde cada um seria uma curva aberta ou fechada. O caso de curvas com ramificações ("branching") também pode ser tratado pela decomposição. Um exemplo é a curva em forma da letra" y" .

U ma das formas mais usadas de se representar curvas é o código da cadeia, proposto por Fre­eman [H .61]. Essa forma de representação possui características que foram amplamente estudadas na literatura. Diversas informações sobre a curva codificada podem ser extraídas a partir dessa repre­sentação , como área, perímetro e centro de gravidade [JR86] . Em [HL77] é introduzida uma forma de se encontrar pontos que possuem um grande valor, em módulo, de curvatura. Esses pontos definem uma aproximação poligonal do contorno representado . J á em [OH88], o contorno é dividido em segmentos de reta e arcos de circunferência, obtendo uma representação de nível mais elevado a partir do código da

- 224-

I SBAI - UNESP - Rio Claro/SP - Brasil

cadeia. Existem métodos de representação de contornos que utilizam o conceito de transformadas. Existem

duas abordagens distintas para essa forma de representação : (a) construção· do gráfico que tem por coordenadas o tamanho do segmento compreendido pelo por um ponto inicial Xo (do contorno) e um outro ponto !!<. do contorno, versus a inclinação da reta tangente nesse mesmo ponto !!<,j (b) tomando-se a imagem como um plano complexo, onde cada ponto pode ser escrito na forma a+bi. Uma boa introdução a essas duas abordagens pode ser encontrada em [T.80]. Particularmente, no caso de transformadas de Fourier, que se encaixa no caso (b), pode-se definir um conjunto de descritores de Fourier ("Fourier Descriptors" ,FD) que são independentes de posição, tamanho, rotação e ponto inicial do contorno [EK77].

A aproximação poligonal de contornos é uma das formas de representação de contornos mais estudadas [R090] . A literatura relacionada a esse tópico é extremamente vasta e diversa. Assim, ao invés de uma completa revisão sobre esse tipo de representação, serão referenciados alguns métodos que apresentam conceitos que serão utilizados posteriormente.

Algebricamente, uma aproximação poligonal que aproxima o contorno P da eq. 1 é dada por

P I {I I I } = PO,Pl' .. ·,Pn' (2)

o conjunto p l pode ou não ser um subconjunto de P. Esta é uma primeira diferença entre os métodos de aproximação poligonal.

Outra diferença importante entre os métodos de aproximação poligonal está relacionada com o critério de aproximação. Baseado na forma como esse critério é definido, pode-se dividir os métodos em duas classes: globais e locais [E.E87]. De maneira geral, pode-se pensar que os métodos globais procuram identificar uma aproximação poligonal possível para o contorno em questão, enquanto que os métodos locais procuram, localmente, por pontos de alta curvatura em módulo. Esses pontos são tomados como vértices da aproximação poligonal. Exemplos de métodos globais estão em [U. 72] e [TS74] j por outro lado, [S.L 77] e [ST83] são métodos locais.

Uma característica presente na maioria dos métodos de aproximação poligonal é a necessidade da definição de limiares para a segmentação da curva a ser aproximada. Isso faz com que o método seja dependente de escala na maioria dos casos . Existem duas maneiras de se resolver esse problema:

(a) normalização do critério de aproximação: onde, por exemplo, o erro máximo de apro­ximação é normalizado em relação ao tamanho do contorno [GP91].

(b) descrição hierárquica do contorno: onde várias aproximações com diferentes valores para o erro máximo são obtidas e armazenadas. A estrutura que descreve essas aproximações deve permi­tir sua análise em vários níveis. Exemplos dessas estruturas são as "strip-trees" [DC82] ou os super­segmentos [FG92]. Um dos primeiros trabalhos a chamar a atenção para essa descrição hierárquica é [S.L77].

3 Representação de Contornos por B-splines

Embora as curvas B-spline tenham sido largamente utilizadas em muitas aplicações de computação grá­fica, o mesmo não aconteceu em VC. Sua potencial .utilização foi aventada em diferentes trabalhos e livros na década de 70 (por exemplo, [SJP77]) , porém os problemas mais diretamente ligados à VC só começaram a ser encarados de maneira sistemática em trabalhos mais recentes [GY87] [MRHJ92].

Uma curva B-spline é definida pela equação:

n

P(u) = I>i Ni,k(U) i=O

onde Ni,k(U) é a função base da B-spline e Pi, i = O .. n, o conjunto de pontos de controle, formando o polígono de controle da curva [DJ90] . A função Ni,k( u) pode ser definida a priori, tornando o problema central na representação de curvas por B-splines a definição do polígono de controle. Esse polígono pode ser obtido a partir de um conjunto de pontos que pertençam ou aproximem a curva desejada [SJP77]. Uma escolha natural para esse conjunto são os pontos de curvatura local máxima (fig. 1) . Logo, o primeiro passo para aproximar a curva desejada consiste na identificação desses pontos de curvatura máxima. Esse conjunto pode ser usado diretamente como o polígono de controle, no caso de uma aproximação

-225 -

I SBAI - UNESP - Rio Claro/SP - Brasil

Figura 1: B-spline e polígono de controle

por B-splines [GY87], ou em um método para o cálculo de um polígono de controle que interpole esses pontos [MRHJ92]. Em [SJP77], [W.T83] e [DC82], esses pontos devem ser especificados interativamente.

Em [MRHJ92] e [GY87], esses pontos são calculados automaticamente fazendo-se uma aproximação poligonal [DC82] ao contorno. Os vértices dessa aproximação poligonal formarão o conjunto citado an­teriormente. Porém, a menos qu~ a curva a ser representada seja razoavelmente simples, a aproximação de todo o contorno por apenas uma B-spline pode trazer problemas no resultado final. Assim, uma apro­ximação por partes deverá ser feita. Dessa forma, além da identificação dos vértices da aproximação poligonal, deve-se realizar uma segmentação da curva. Cada segmento da curva será representado por um segmento de B-spline (fig. 2) .

Figura 2: Contorno segmentado.

Após a aplicação de um método de aproximação poligonal, [MRHJ92] avalia o ângulo formado por cada vértice e seus vizinhos adjacentes. Os pontos onde esse ângulo for menor que um valor pré­estabelecido, ou seja, pontos de maior curvatura, definem a segmentação da curva. Os outros vértices, entre cada par de pontos segmentadores, serão usados para o cálculo do polígono de controle de cada segmento.

Em [GY87] são usadas B-splines para suavização e avaliação da curvatura em cada ponto do contorno. Uma B-spline cúbica é ajustada em cada ponto da curva, baseado em uma vizinhança de 2 pontos para cada lado. Os coeficientes dessa B-spline são usados para uma avaliação analítica da curvatura naquele ponto. Segundo esse trabalho, se (Xi, Yi) forem as coordenadas do ponto Pi do contorno, então a curvatura Ci nesse ponto é dada por :

onde

Xi-2 + Xi+2 - 6Xi + 2(Xi-l + xi+d 12

Yi-2 + Yi+2 - 6Yi + 2(Yi-l + Yi+d 12

4(Xi+l - Xi-l) + (Xi+2 - Xi-2) 12

- 226-

I SBAI - UNESP - Rio Claro/SP - Brasil

4(Yi+1 - Yi-l) + (Yi+2 - Yi-2) 12

Pontos que possuam um grande valor de curvatura (em módulo) segmentarão a curva, enquanto que pontos que possuam um valor intermediário serão usados como pontos de controle. Todos os demais pontos são descartados. Neste trabalho, será denotado por CJ o limiar de curvatura para pontos de seg­mentação, e Cc para pontos de controle. É importante notar que os métodos que fazem uma aproximação do contorno por B-splines definem 2 aproximações poligonais em dois níveis de proximidade diferentes. Essa idéia se parece com o conceito de super segmentos [FG92].

O nosso método de representação de curvas por B-splines se baseia em [GY87] para a identificação inicial dos pontos de segmentação e os de controle. Porém, como essa representação é feita a partir de uma análise local da curva original, ocorre que o número de segmentos pode ser muito grande, devido a pequenos ruídos no contorno .. Essa representação, para nossas aplicações, acabou por não gerar segmentos significativos em relação à estrutura completa do contorno. Para resolver esse problema, um ajuste global é feito sobre os pontos considerados inicialmente como pontos de segmentação. Os pontos que não passarem nesse ajuste serão "rebaixados" à condição de pontos de controle. Em seguida, o mesmo ajuste é feito aos pontos de controle de cada segmento. Dessa vez , os pontos que não passarem pelo ajuste serão descartados de nossa representação. O ajuste global se baseia em dois critérios:

(a) ajuste por vizinhança: uma vez que a curvatura é avaliada localmente, em um conjunto finito de pontos, pode ocorrer que um ou mais pontos numa pequena vizinhança possuam mesma curvatura máxima. Porém, para nossa aplicação é desejável que apenas um ponto seja considerado. Assim, baseado no tamanho total da curva, uma vizinhança mínima é avaliada, dentro da qual apenas um ponto é tomado como de segmentação ou de controle (fig. 3 (a)) .

(b) ajuste por ângulo: o ângulo entre o ponto em questão e os vizinhos adjacentes é calculado. Se ele estiver próximo de 180 graus, esse ponto é descartado (fig. 3 (b)). Supondo que (Xi, Yd sejam as coordenadas do i-ésimo ponto de segmentação ou controle, pode-se calcular os vetores PiPl-l e PiPl+l como sendo :

PiPl-l

PiPl+l

(Xi-l - Xi, Yi-l - Yi)

(Xi+l - Xi, Yi+1 - Yi)

e o cosseno do ângulo entre esses vetores é dado por :

PiPi-l • PiPi+l a = ~~~--~~---IlpiPi--lllllpiPi+lll

onde o símbolo. denota o produto escalar . Como -1 ~ a ~ 1, quanto mais próximo estiver a de -1 , tanto mais próximo estará o ângulo de

180Q..

Pi-I~ p. Pi+1

I

(3) (b)

Figura 3: Ajuste dos vértices da aproximação poligonal.

Uma vez que os pontos de segmentação e de controle foram identificados, tem-se associado a cada segmento um polígono de controle, composto pelos pontos de segmentação extremos e os pontos de controle intermediários (fig. 4) . Assim, um segmento representado por uma B-spline é um segmento de curva que pode ser obtido a partir do polígono de controle P, onde

- 227-

I SBAI - UNESP - Rio Claro/SP - Brasil

e po = bi e Pn = bi+1 (fig. 2 e 4). O problema de se gerar o segmento a partir do polígono de controle já foi muito estudado, e algoritmos para resolvê-lo podem ser encontrados em [C .72] .

Além disso, vale notar que o próprio conjunto de todos os polígonos de controle definem duas apro­ximações poligonais ao contorno original, a primeira formada pelos pontos de segmentação e a segunda pelos próprios polígonos de controle. Assim, esse polígonno pode ser usado como um super segmento, para aplicações em reconhecimento de objetos [FG92].

Figura 4: Segmento de B-spline e vetores do polígono de controle

Alguns resultados da representação por B-splines são analisados na secção 4.

4 Resultados Experimentais

Nesta secção são apresentados alguns resultados que ilustram o funcionamento do algoritmo de seg­mentação e representação por B-splines, e sua utilização como um algoritmo de aproximação poligonal. São usadas imagens criadas sintéticamente e obtidas experimentalmente, através de um "scanner" e por um processo de tomografia computadorizada.

4.1 Pré-processamento

Todo o pré-processamento necessário para a obtenção da imagem binária, e conseqüente segmentação do objeto de interesse foi feito foi feito através do Khoros, que é um pacote de processamento e visualização de imagens . No caso da tomografia, tem-se uma imagem de 256 x 256 pixels, e 12 bits, obtida a partir de um processo de tomografia computadorizada de raio-x (ver tabela da fig o 7) . A imagem foi segmentada por limiar (" threshold" ). A tabela da figura 7 mostra a imagem binária. As duas faixas ao lado da cabeça são ruídos do tomógrafo.

A extração do contorno do objeto foi feito através de um algoritmo çlo código de corrida, e esse contorno é posteriormente armazenado através do código da cadeia (fig. 7) .

A tabela da fig o 5 mostra um estudo de caso onde letras de um cartaz foram digitalizadas através de um "scanner" . Todo o pré-processamento para a obtenção do contorno foi feito de maneira análoga ao caso anterior .

A tabela da figura 6 mostra um exemplo do algoritmo em uma imagem criada pelo software" Fig" , V . 2.0. A imagem foi obtida e pré-processada no Khoros .

4.2 Representação

Em todos os 3 casos. os parâmetros do algoritmo foram os mesmos: c. = 0.39, Cc = 0.32 e a = -0.65 . Apenas no caso das letras foi tomado a = -0.9.

A primeira coluna da tabela 5 mostra as letras digitalizadas. A segunda mostra o contorno extraído de cada letra. A terceira coluna mostra uma aproximação poligonal, onde os vértices, marcados com quadradinhos pretos , são os pontos de segmentação calculados pelo nosso algoritmo. A quarta coluna mostra as letras representadas por B-splines . Na quinta estão as aproximações poligonais geradas pelos polígonos de controle de cada letra. A coluna de nome "ncont" mostra o número de pontos de cada contorno. A coluna "nseg" mostra o número de seginentos de cada letra. Por fim , a última coluna mostra

- 228-

I SBAf- UNESP - Rio Claro/SP - Brasil

o número total de pontos necessários para nossa representação, somando os 'pontos de segmentação e os de controle.

A tabela 6 mostra o funcionamento do algoritmo em uma imagem gerada pelo próprio computador . A coluna" Medioni" mostra a segmentação do contorno pelo método original de [GY87). A coluna "Modificado" mostra o funcionamento do nosso algoritmo. A última imagem dessa tabela mostra os dois contornos, original e representado por B-splines pelo nosso método, sobrepostos. O contorno original tem 865 pontos. Pelo nosso método, foram necessários 6 pontos de segmentação e 54 pontos de controle .

Finalmente, a tabela 7 mostra um exemplo de aplicação em imagens médicas. Esse contorno possui 666 pontos. Ele foi segmentado por 21 pontos, e foram necessários 48 pontos de controle. Os pontos de segmentação são marcados com quadradinhos pretos na última imagem dessa tabela, enquanto que os de controle foram marcados com quadradinhos brancos. A taxa de compressão é de aproximadamente 10:1.

letra contorno ap. pol. 1 B-spline ap. pol. 2 ncont nseg nrep

U U U U U 195 12 25

N N N N N 203 12 25

I ~ ~ ~ ~ 86 4 9

C te C 6 C 202 17 32

A M ~ ~ ~ 133 7 23

M M M M M 246 14 39

P ~ ~ ~ ~ 130 9 18

Figura 5: Tabela de resulatdos com letras digitalizadas

5 Comentários finais e Conclusões

Foi apresentada uma modificação do método [GY87) para segmentação e representação de contornos por B-splines . Essa modificação procura reduzir uma representação preliminar, eliminando pontos que, glo­balmente, apresentam uma informação estrutural redundante. Uma decorrência direta dessa modificação é a redução no volume de dados, além de permitir uma melhor extração de informações a partir da repre­sentação. Foram apresentados exemplos do funcionamento do algoritmo de representação por B-splines e por aproximação poligonal.

Como já foi dito anteriormente, uma das aplicações para os descritores é o casamento de segmen­tos entre contornos, presente em processos de reconstrução 3D de imagens por ajuste de superfícies

- 229-

I SBAI - UNESP - Rio Claro/SP - Brasil

Original Contorno Medioni

Modificado B-splines Sobrepostos

Figura 6: Tabela de Resultados com figura sintética

paramétricas. Esse casamento é feito por meio de um algoritmo de busca em grafos, onde técnicas de Inteligência Artificial podem ser usadas. Um exemplo de um algoritmo para esse tipo de aplicação é o A'. Esse tipo de algoritmo tem seu desempenho diretamente ligado a uma função custo associada a cada arco do grafo.

Finalmente, existem outras maneiras de se modificar o método [GY87] para que ele contemple uma informação global. Por exemplo, pode-se medir a distância entre os pontos de controle intermediários e o segmento de reta que liga os pontos de segmentação. Embora esse método possa ser um pouco mais caro computacionalmente, ele pode identificar pontos mais significativos em cada polígono de controle.

6 Agradecimentos

Este trabalho foi desenvolvido como parte do programa de mestrado do primeiro autor, que é bolsista da Fundação de Amparo à Pesquisa do Estado de São Paulo - FAPESP - proc. 91/4176-5.

Referências

[C.72]

[DC82]

[DJ90]

[E.E87]

[EK77]

Boor C . Calculating with b-splines. Journal of Approximation Theory, 6:50-62, 1972.

Ballard D.H. and Brown C.M. Computer Vision. Prentice-Hall, NJ, 1982.

Rogers D.F. and Adams J .A. Mathematical Elements for Computer Graphics. McGraw-Hill, NY, 2nd edition, 1990.

Ruiz E.E .S. Comparação de técnicas e Métodos para Visão Computacional em Ambientes Industriais. dissertação de mestrado,FEE-UNICAMP, Campinas, 1987.

Persoon E. and Fu K.S. Shape discrimination using fourier descriptors. IEEE Transactions on Sys. Man and Cybern., SMC-7(3):170-179, march 1977.

- 230-

I SBAI - UNESP - Rio Claro/SP - Brasil

Original Binária Contorno

Segmentação B-spline Pontos de Controle

Figura 7: Tabela de Resultados com imagem de tomografia

[FG92] Stein F . and Medioni G. Structural indexing efficient 2-d object recognition. IEEE Transac­tions on Pato Anal. Mach. Intel., 14(12) :1198-1204, december 1992.

[GP91] West G .A.W . and Rosin P.L. Techiniques for segmenting image curves into meaningful des­criptors. Pattem Recognition, 24(7) :643-652,1991.

[GY87] Medioni G. and Yasumoto Y. Comer detection and curve representation using cubic b-splines . Computer Vision, Graphics and Image Processing, 39:267-278, 1987.

[H .61] Freeman H. On the encoding of arbitrary geometric configurations. IEEE Trans. Eletr. Comp ., EC-10:260-268,1961.

[HL 77] Freeman H. and Davis L. A corner-finding algorithm for chain-coded curves. IEEE Transac­tions on Computers, C-26:297-303, March 1977.

[IA92] Pitas I. and Venetsanopoulos A.N. Morphological shape representation. Pattern Recognition, 25(6):555-565 , 1992.

[J .M89] Gomes J .M. Representação de arcos por curvas de bézier. In Anais: II SIBIGRAPI, pages 519-523, 1989.

[JR86] Angulo J .M. and Madrigal R.1. Vision Artificial por Computador. Paraninfo, Madrid, 1986.

[K.S82] Fu K.S. Syntactic Pattem Recognition and Applications. Prentice-Hall, 1982.

[LHJ91] Chang L.W., Chen H.W., and Ho J .R . Reconstruction of 3d medicaI images : a non-linear interpolation techinique for reconstruction of 3d medicaI images. CVGIP: Graph. Meth. and Image Proces. , 53(4):382-391,july 1991.

-231 -

I SBAI - UNESP - Rio Claro/SP - Brasil

[MRHJ92] Chong M.M .S., Gay R.K., Tan H.N., and Liu J. Automatic representation of fingerprints for data compression by b-spline functions. Pattern Recognition, 25(10):1199-1210, 1992.

[OH88] Baruch O. and Murray H.L. Segmentation of two-dimensional boundaries using chain-code. Pattern Recognition, 21(6):581-589,1988.

[R090] Cesar Junior R .M. and Linhares O.L: Métodos numéricos de aproximação poligonal: uma análise comparativa de 3 métodos . In Anais: Jornada EPUSP/IEEE em Computação Visual, pages 191-197,1990.

[SJP77] Wu S.C., Abel J .F., and Donald P.G. An interactive computer graphics approach to surface representation. Communications of the ACM, 20(10):703-712, october 1977.

[S.L 77] Davis S.L. Understanding shapes : angles and sides. IEEE Transactions on Computers, C-26(3):236-242, March 1977.

[ST83] Hung S.H. and Kaswand T. CriticaI points on a perfectly 8-or-6 connected thin binary line. Pattern Recognition, 16(3):297-306, 1983.

[T.80] Pavlidis T . Structural Pattern Recognition. Springer-Verlag, 2nd edition, 1980.

[TS74] Pavlidis T. and Horowitz S.L. Segmentation of plane curves. IEEE Transactions on Compu­ters, C-23(8):860-870, August 1974.

[U .72] Ramer U. An iterative procedure for the polygonal approximation of plane curves. Computer Graphic and Image Processing, 1:244-256,1972.

[W.T83] W.Tiller. Rational b-splines for curve and surface representation. IEEE Computer Graphics and Applications, pages 61-69, september 1983.

- 232-