Você está na página 1de 86

FACULDADE DE INFORMTICA DE PRESIDENTE PRUDENTE

CONTORNOS ATIVOS SNAKES PARA A SEGMENTAO DE IMAGENS DIGITAIS

FAGNER DANIEL DE MELO

Presidente Prudente SP 2005

FACULDADE DE INFORMTICA DE PRESIDENTE PRUDENTE

CONTORNOS ATIVOS SNAKES PARA A SEGMENTAO DE IMAGENS DIGITAIS

FAGNER DANIEL DE MELO Trabalho monogrfico apresentado no curso de graduao, Bacharelado em Cincia da Computao, como requisito parcial para sua concluso. rea de concentrao: Processamento Grfico. Orientadores: MSc. Francisco Assis da Silva MSc. Leandro Luiz de Almeida

Presidente Prudente SP 2005

FICHA CATALOGRFICA
004 MELO, Fagner Daniel. Contornos Ativos Snakes para a Segmentao de Imagens Digitais Fagner Daniel de Melo. Presidente Prudente: UNOESTE: Universidade do Oeste Paulista, 2005. 84p. : il

Monografia (Graduao) Universidade do Oeste Paulista UNOESTE, Presidente Prudente, SP, 2005. Bibliografia

1. Segmentao de Imagens, 2. Contornos Ativos. 3. Snake. I. Autor. II. Ttulo.

DEDICATRIA

Dedico este trabalho a minha me Maria Rodrigues de Melo e ao meu pai Antonio de Melo, que nunca mediram esforos e sempre estiveram presentes em todos os momentos de sua realizao. Aos meus irmos Fabio, Fernando e Flvia pelo carinho e confiana.

AGRADECIMENTOS

A minha famlia que, em todos os momentos de realizao desta pesquisa, esteve presente. A minha namorada que esteve sempre presente ao meu lado com toda a sua irreverncia. Agradecimentos tambm ao professor orientador, MSc. Francisco Assis da Silva e ao professor Co-Orientador, MSc. Leandro Luiz de Almeida que, na rigidez de seus ensinamentos, fez aprimorar meus conhecimentos. Em especial ao professor, Dr. Almir Olivette Artero, pela amizade e auxlio no desenvolvimento do projeto. Aos meus amigos Amandia, Diogo, Eli, Julierme, Marco Aurlio, Rafael, Sidney e Vanderlei pelo companheirismo e os muitos momentos de alegria compartilhados.

EPGRAFE

[...] A imaginao mais importante que o conhecimento. [...]

Albert Einstein

MELO, Fagner Daniel. Contornos Ativos Snakes para a Segmentao de Imagens Digitais. Presidente Prudente: UNOESTE, 2005. Monografia de Graduao. Orientador: MSc. Francisco Assis da Silva Co-Orientador: MSc. Leandro Luiz de Almeida

RESUMO

H alguns anos os mtodos de deteco de bordas vem se tornando um importante recurso utilizado no processo de Segmentao de Imagens. Concentramse grandes esforos em experimentos de novas tcnicas, que buscam suprir alguns problemas encontrados nos mtodos mais antigos, cujos resultados so publicaes nos mais conceituados peridicos cientficos, tais como o mtodo Gradient Vector Flow e o T-Snakes. O mtodo de Contornos Ativos Snake uma soluo para a segmentao de imagens digitais, que possui a caracterstica de movimentar uma curva de maneira dinmica sobre a imagem, at que se alinhe s bordas do objeto de interesse. Este projeto apresenta o desenvolvimento de um novo mtodo de contornos ativos Snake que, baseado no modelo tradicional proposto por Kass, Witkin e Terzopoulos, e nas suas evolues, solucione os problemas dos mtodos tradicionais de forma simples e com desempenho computacional significativo. Para tanto apresenta-se uma ferramenta para a execuo dos mtodos Snakes desenvolvidos, de acordo com algumas energias envolvidas no processo, e que servir de base para aplicaes em reas especficas.

MELO, Fagner Daniel. Contornos Ativos Snakes para a Segmentao de Imagens Digitais. Presidente Prudente: UNOESTE, 2005. Graduation Monograph. Adviser: MSc. Francisco Assis da Silva Co-Adviser: MSc. Leandro Luiz de Almeida

ABSTRACT

The some years ago the edges detention methods it became an important resource used in the Images Segmentation process. Great efforts are concentrated in experiments of new techniques to supply some problems found in the old methods, whose resulted are publications in the best scientific periodic such as the Gradient method Flow Vector and the T-Snakes. The Active Contours Snake method is a solution for the segmentation of digital images. It has the characteristic to motion a curve in a dynamic way on the image until found the edges of the interest object. This project presents the development of a new Snake active contours method that based in the traditional model by Kass, Witkin and Terzopoulos and in its evolutions, solves the problems of the traditional methods of simple form and with significant computational performance. A tool for the execution of the developed Snakes methods is presented, in accordance with some involved energies in the process, and that it will serve of base for applications in specific areas.

LISTA DE FIGURAS

FIGURA 1 Representao da segmentao por Deteco de Bordas (OLIVEIRA, 2000). .................................................................................................................14 FIGURA 2 - Aplicao do Modelo Snake. .................................................................15 FIGURA 3 Representao de uma Imagem Digital (RIBEIRO, 1998)....................19 FIGURA 4 Arranjo matricial com respectivos nveis de cinza.................................20 FIGURA 5 Representao: Imagem original e imagem com rudo (RIBEIRO, 1998). ...........................................................................................................................21 FIGURA 6 Aplicao do filtro da mdia (RIBEIRO, 1998). .....................................22 FIGURA 7 Aplicao do filtro da mediana (RIBEIRO, 1998). .................................24 FIGURA 8 Curva de grau dois, definida a partir de trs pontos (OLIVEIRA, 2000). ...........................................................................................................................25 FIGURA 9 Representao da ao da curva do modelo de contornos ativos (SILVA, 2003).....................................................................................................28 FIGURA 10 Direo da fora elstica atuando sobre um ponto pi. (OLIVEIRA, 2000) ..................................................................................................................32 FIGURA 11 Ponto de contorno vi sobre a ao da energia de continuidade (OLIVEIRA, 2000). .............................................................................................34 FIGURA 12 Ao da fora balo sobre um contorno inicial. ..................................35 FIGURA 13 Utilizao da matriz Egrad (7 x 7) para a obteno da energia baseada em gradiente (OLIVEIRA, 2000). .......................................................................38 FIGURA 14 (a) Imagem original contendo alguns objetos (bordas) e algumas terminaes e (b) Snake obtida (OLIVEIRA, 2000)............................................39 FIGURA 15 Algoritmo para contornos ativos (TRUCCO, 1998). ............................43 FIGURA 16 (a) Imagem original com seu contorno inicial e (b) contorno final obtido com o mtodo original (XU; PRINCE, 1997). .....................................................44 FIGURA 17 Determinao de uma nova fora baseada no fluxo do vetor gradiente (GVF) (XU; PRINCE, 1997)................................................................................45 FIGURA 18 (a) contorno inicial, (b) contorno final obtido com o modelo de energias tradicional, (c) contorno inicial (definido longe das bordas do objeto), (d) contorno final utilizando GVF (XU; PRINCE, 1997). ..........................................47 FIGURA 19 (a) contorno inicial (passando atravs das bordas do objeto), (b) contorno obtido utilizando GVF (c) contorno inicial, aplicado no interior de um conjunto de pontos (contorno subjetivo) e (d) resultado obtido utilizando GVF (XU; PRINCE, 1997). .........................................................................................48 FIGURA 20 (a) Imagem mdica e o contorno inicial, (b) contorno final utilizando GVF (OLIVEIRA, 2000). .....................................................................................48 FIGURA 21 Triangulao Coxeter-Freudental. ......................................................49 FIGURA 22 Representao do novo modelo em um determinado estado de evoluo (MACHADO, 2003). ............................................................................51 FIGURA 23 Extrao de atributos para objetos previamente segmentados via extrao de bordas (S, 2005). .........................................................................53 FIGURA 24 Contagem e mensurao automtica de fibras musculares sem um pr-processamento. ...........................................................................................54 FIGURA 25 Contagem e mensurao automtica de fibras musculares aps a

etapa de pr-processamento. ...........................................................................54 FIGURA 26 Utilizao de contornos ativos para a determinao da rea do disco tico. ..................................................................................................................55 FIGURA 27 Utilizao de contornos na anlise de avalanches de neve, (a) contorno obtido em um momento e (b) contornos obtidos em momentos diferentes mostram a evoluo da avalanche de neve. .....................................55 FIGURA 28 Em anlise o ponto p1: a deformao iterativa e ocorre deslocando o ponto analisado para um novo ponto central, que o produto vetorial entre os snaxels de p0p1 e p1p2. O processo segue iterativamente para todos os pontos iterativamente.....................................................................................................58 FIGURA 29 Em anlise o ponto p1: a deformao iterativa e ocorre deslocando o ponto analisado em direo ao baricentro da curva. O processo segue iterativamente para todos os pontos iterativamente...........................................59 FIGURA 30 Representao da direo dos vetores normais para o processo de expanso da curva.............................................................................................61 FIGURA 31 Aplicao da energia externa utilizando-se de um limiar de duas classes de tons de cinza. O histograma representa a quantidade de tons de cinza da imagem original e da imagem sob o efeito limiar. ................................62 FIGURA 32 Aplicao da energia externa utilizando-se de um limiar de duas faixas de tons de cinza. O histograma representa a quantidade de tons de cinza da imagem original e da imagem sob o efeito limiar (OLIVEIRA, 2000). ................63 FIGURA 33 Aplicao da fora de rotao.............................................................65 FIGURA 34 Convoluo Aperidica. ......................................................................66 FIGURA 35 Aplicao do filtro da mdia. ...............................................................67 FIGURA 36 Exemplo da substituio do pixel mediano. ........................................67 FIGURA 37 Aplicao do filtro da mediana. ...........................................................68 FIGURA 38 Mscara do Operador Laplaciano.......................................................68 FIGURA 39 Aplicao do Filtro Laplaciano com a operao de Negao de Cores ...........................................................................................................................68 FIGURA 40 Aplicao do Filtro de Binarizao pela Mdia Global. .......................69 FIGURA 41 Aplicao do Filtro Limiar igual a 5. ....................................................70 FIGURA 42 Agrupamento de Nveis de Cinza. ......................................................70 FIGURA 43 Equao do Filtro Limiar. ....................................................................70 FIGURA 44 Interface principal da Ferramenta de Segmentao por Contornos Ativos Snake. .....................................................................................................71 FIGURA 45 Representao da Classe TSnakes....................................................72 FIGURA 46 Representao da Classe Snakes......................................................73 FIGURA 47 Representao grfica da estrutura de dados do projeto. ..................74 FIGURA 48 Imagem recm aberta pela ferramenta...............................................77 FIGURA 49 Configurao da Snake inicial.............................................................77 FIGURA 50 (a) Deformao da Snake. ..................................................................78 FIGURA 50 (b) Diviso da Snake...........................................................................78 FIGURA 51 Contorno final dos objetos. .................................................................79 FIGURA 52 Passos de uma situao crtica do experimento e resoluo via Juno de duas Snakes. ................................................................................................81

SUMRIO

1 INTRODUO......................................................................................................11 1.1 1.2 1.3 1.4 1.5 Classificao dos Mtodos de Segmentao....................................................12 Modelo Baseado em Bordas e Contornos Ativos ..............................................13 Objetivos, Justificativas e Motivaes do Projeto..............................................16 Trabalhos Correlatos e suas Aplicaes ...........................................................17 Estrutura desta Monografia ...............................................................................18

2 CONCEITOS BSICOS .......................................................................................19 2.1 Imagem Digital ..................................................................................................19 2.2 Pr-Processamento...........................................................................................20 2.2.1 Rudos ............................................................................................................21 2.2.2 Filtros..............................................................................................................21 2.2.2.1 Filtros da Mdia ...........................................................................................22 2.2.2.2 Filtro da Mediana .........................................................................................23 2.3 Curvas Splines ..................................................................................................24 3 O MODELO DE CONTORNOS ATIVOS ..............................................................27 3.1 Energia Interna..................................................................................................30 3.1.1 Modelo baseado na elasticidade e rigidez da curva .......................................30 3.1.2 Modelo Baseado na Continuidade e Fora Balo ..........................................32 3.1.2.1 Energia de Continuidade .............................................................................33 3.1.2.2 Fora Balo..................................................................................................34 3.2 Energia Externa.................................................................................................36 3.2.1 Energia da Intensidade da Imagem ................................................................36 3.2.2 Energia do Gradiente da Imagem...................................................................37 3.2.3 Energia das Terminaes...............................................................................39 3.2.4 Outras energias externas ...............................................................................40 3.3 Energia Confinada.............................................................................................40 3.4 Normalizao das Energias ..............................................................................41 3.5 Algoritmo Greedy ..............................................................................................41 4 OS MODELOS: GRADIENT VECTOR FLOW (GVF) E T-SNAKES ....................44 4.1 A nova fora externa: Gradient Vector Flow......................................................44 4.2 O modelo T-Snakes ..........................................................................................49 5 APLICAES DOS MTODOS SNAKES ...........................................................52 5.1 5.2 5.3 5.4 Sistema Semi-Automtico para Anlise de Imagens Digitais ............................52 Contagem e Mensurao de Fibras Musculares ...............................................53 Medio do Disco tico ....................................................................................55 Anlise de Avalanches ......................................................................................55

6 O PROJETO: DESENVOLVENDO UM MODELO DISCRETO DE SNAKE ........56 6.1 Energias Desenvolvidas....................................................................................57 6.1.1 Energias Internas ...........................................................................................57 6.1.1.1 Fora Tradicional .........................................................................................57

6.1.1.2 Fora Baricentro ..........................................................................................59 6.1.1.3 Fora Mista ..................................................................................................60 6.1.1.4 Fora Balo Tradicional e Fora Balo Baricentro.......................................61 6.1.2 Energia Externa ..............................................................................................61 6.1.3 Energia Confinada ..........................................................................................64 6.1.3.1 Fora de Rotao ........................................................................................64 6.1.3.2 Criao de Pontos Intermedirios................................................................65 6.2 Filtros de Pr-Processamento Desenvolvidos...................................................65 6.2.1 Filtro da Mdia................................................................................................66 6.2.2 Filtro da Mediana ............................................................................................67 6.2.3 Filtro Laplaciano .............................................................................................68 6.2.4 Binarizao pela Mdia: Local e Global..........................................................69 6.2.5 Filtro Limiar.....................................................................................................69 7 A FERRAMENTA DESENVOLVIDA ....................................................................71 7.1 Estruturas Utilizadas .........................................................................................72 7.2 Preenchimento dos Campos e Passos para a Deformao..............................75 7.3 Consideraes Adicionais .................................................................................79 8 EXPERIMENTOS E RESULTADOS.....................................................................80 9 CONCLUSES.....................................................................................................82 REFERNCIAS BIBLIOGRFICAS.........................................................................83

11

INTRODUO

A segmentao (BALAN, 2003), um processo essencial para anlise e identificao de caractersticas marcantes em uma imagem. Seu objetivo identificar os objetos que compem uma cena, sendo, na maioria dos casos, o grande responsvel pelo sucesso ou fracasso dos resultados obtidos da anlise. Esta etapa consiste em abstrair objetos para utiliz-los em processos posteriores como classificao, reconhecimento, dentre outros. Algumas das ocorrncias que dificultam a tarefa de segmentar uma imagem de forma eficiente so (MIYASAKI, 2003): Existncia de rudo na imagem: o nvel de rudo em uma imagem pode ser devido a vrios fatores: deficincia dos dispositivos de imageamento, interferncias eletromagnticas, entre outros; Baixo contraste na imagem: em algumas situaes os objetos presentes na imagem no apresentam uma boa separao nos tons de cinza ou mesmo cores; Falta de uma iluminao adequada: pode levar ao aparecimento de reas de sombra, que podem induzir a segmentao de um nico objeto em dois pedaos (rea clara e rea escura). Para tanto existe a etapa que visa garantir em grande parte a correo das imperfeies resultantes das imagens, sendo esta definida de prprocessamento de imagens. A funo desta etapa aprimorar as qualidades da imagem para a etapa de segmentao, sendo feita por meio de filtros especializados que visam a sua suavizao (MARQUES, 1999). Alm da etapa de pr-processamento na segmentao de imagens, pode-se utilizar uma outra etapa, que tambm conhecida como psprocessamento. O ps-processamento utilizado para completar a tarefa de segmentao, para os casos em que esta no obtiver bons resultados (OLIVEIRA, 2000).

12

Para o processo de segmentao so utilizadas duas propriedades bsicas: similaridade e descontinuidade. A similaridade procura pixels com a mesma tonalidade ou pertencentes mesma faixa de intensidade nos nveis de cinza. A descontinuidade procura pixels que possuam tonalidades diferentes nos nveis de cinza.

1.1

Classificao dos Mtodos de Segmentao

De acordo com Gonzalez (GONZALEZ, 1987), os mtodos de segmentao podem ser classificados em: Limiarizao, Deteco de Bordas e Baseado em Regies. Limiarizao: considerado o mtodo mais simples, onde todos os pixels que pertencem a uma mesma faixa de intensidade compem uma mesma regio. Sua funcionalidade se baseia na propriedade de similaridade; Deteco de Bordas: usado para localizar regies na imagem onde os nveis de cinza dos pixels variam bruscamente; num pixel a intensidade uma e nos pixels imediatamente ao seu redor possuem uma intensidade bem diferente. So conhecidas como descontinuidades e podem aparecer na forma de pontos isolados, linhas, segmentos ou curvas. A partir das descontinuidades so formados os contornos dos objetos; Crescimento por Regies: tem o intuito de aumentar pequenos grupos de pixels em grupos maiores, baseado em um conjunto inicial, a partir deste conjunto, se junta os pixels vizinhos que possuem propriedades semelhantes, como cor, textura, dentre outras propriedades. Existem vrios mtodos utilizados para a segmentao de imagens, alguns muito antigos e a maioria apresentam deficincias em algumas situaes.

13

Alguns, quando aplicados em imagens com altos nveis de rudos e com diferentes caractersticas de contexto podem no apresentar resultados satisfatrios. Sendo assim, novos mtodos que apresentem bons resultados, mesmo em situaes adversas, continuam ainda sendo investigados. Este projeto utiliza a propriedade de descontinuidade e segue a classificao segundo as abordagens envolvidas no processo de deteco de bordas.

1.2

Modelo Baseado em Bordas e Contornos Ativos

H alguns anos o assunto deteco de bordas vem desafiando pesquisadores da rea de Processamento de Imagens, cada vez mais surgem experimentos de novas tcnicas, cujos resultados so publicados nos mais conceituados peridicos cientficos mundiais. Este modelo um dos processos existentes para a segmentao de imagens digitais que vem apresentando resultados satisfatrios. Por sua vez, ele tem a tarefa de dividir uma imagem em suas unidades significativas, visando realar as bordas de objetos de uma cena, para posterior anlise e compreenso. De acordo com Gonzalez (GONZALEZ, 2000), a suposio inicial da abordagem baseada em bordas que ela fundamental no processo de anlise de imagens, porque as bordas definem o contorno dos objetos presentes na imagem. Sendo assim, justifica-se o grande interesse dos pesquisadores no estudo e desenvolvimento de mtodos voltados a esta rea. Como exemplo da abordagem tradicional baseada na deteco de bordas, tem-se a figura 1, onde, dada uma imagem original com alto nvel de rudo realiza-se a segmentao por deteco de bordas mostrando os resultados obtidos dessa segmentao.

14

(a)

(b)

(c)

(d)

FIGURA 1 Representao da segmentao por Deteco de Bordas (OLIVEIRA, 2000).

De acordo com a figura 1 tem-se: (a) uma imagem original apresentando alto nvel de rudo, (b) imagem de bordas, (c) contorno obtido por vetorizao (utilizando linhas retas ao invs de uma abordagem via Splines) e (d) forma esperada. Grande parte dos mtodos existentes para a segmentao de imagens possui algumas restries quando aplicados em imagens de diferentes

caractersticas de contexto, como altos nveis de rudos e contraste, no apresentando resultados satisfatrios no processo. Um modelo que, mesmo nestas situaes, apresenta uma melhor continuidade do contorno a segmentao por contornos ativos Snakes. O Modelo de Contorno Ativo uma vigorosa tcnica de anlise de imagens, pois oferecem um nico e poderoso mtodo que mistura geometria, fsica e teoria de aproximao. Este modelo caracterizado por tentar ajustar uma curva sobre a borda de um objeto da imagem. As Snakes (KASS, 1988) so modelos que possuem

15

a capacidade de se deformar at se adequar ao objeto de interesse. A figura 2 trata um contorno inicial (curva) e o resultado final da aplicao do modelo.

FIGURA 2 - Aplicao do Modelo Snake.

Com a deformao, as Snakes no retornam ao seu formato original, pelo fato de que foras atuam sobre ela (KASS, 1988). Estas foras so devidas a energias, que so conhecidas por energia interna e energia externa. A energia interna responsvel por deformar a Snake enquanto a energia externa responsvel por puxar, atrair a Snake em direo borda do objeto. O termo modelo deformvel refere-se a uma curva que se deforma sob ao de foras internas e externas. O campo de atuao deste modelo extensamente vasto, englobando aplicaes que envolvem deteco de bordas, modelagem de formas, segmentao e rastreamento de movimentos. Problemas associados principalmente com a inicializao da curva e convergncia a limites cncavos limitaram a utilidade das Snakes tradicionais. O modelo do Fluxo de Vetor Gradiente (GVF) uma nova fora externa para contornos ativos que resolve ambos os problemas em grande parte. Esta fora externa computada como uma difuso dos vetores gradiente dos nveis de cinza derivados da imagem. Com isso tem-se como resultado a insensibilidade a inicializao e uma maior flexibilidade do contorno quando aplicada em regies cncavas. Outro modelo que apresenta resultados satisfatrios o T-Snakes, que visa o tratamento de mudanas topolgicas dos objetos da imagem.

16

1.3

Objetivos, Justificativas e Motivaes do Projeto

O objetivo desse projeto realizar o desenvolvimento e implementao de um novo modelo para a segmentao de imagens digitais via a abordagem de contornos ativos Snake e que apresente uma evoluo do modelo Snake tradicional. Para tanto, realizou-se a investigao da utilizao de contornos ativos Snakes na segmentao de imagens digitais e conseqentemente a anlise e confronto dos resultados obtidos desta investigao, objetivando o desenvolvimento de um modelo com caractersticas prprias e conceitualmente simples. Um outro objetivo realizar experimentos dos algoritmos Snakes desenvolvidos com imagens de diferentes caractersticas de contexto, com relao iluminao, rudos, topologia, cores, entre outros. Neste contexto, desenvolveu-se uma ferramenta para auxiliar a execuo dos algoritmos implementados desta tcnica, com o intuito de facilitar a realizao dos experimentos. Esse um importante recurso para a soluo de problemas em processamento de imagens digitais, particularmente para a etapa de segmentao de imagens, mas muito utilizada tambm em rastreamento de movimento e modelagem de formas. As aplicaes que englobam esta tcnica esto em ascenso, com destaque para as reas da medicina, cartografia e computao grfica. A forma suave dos objetos envolvidos nestas reas, porm no regular, incentiva utilizao de Snakes, devido tendncia dos contornos se deformarem e se adequarem ao objeto, mantendo caracterstica de suavidade da curva. Outro fator relevante que justifica o uso desta tcnica a menor sensibilidade a rudos, podendo ser aplicada mais eficientemente em imagens com altos nveis de rudos, mantendo mesmo nestas situaes uma melhor continuidade do contorno. As motivaes que levaram a realizao deste projeto se resumem ao fato de que existem diversas propostas de segmentao de imagem, algumas muito antigas e a maior parte delas apresentam alguma deficincia em alguma situao. Sendo assim, a investigao de novos mtodos que apresentem melhores resultados para segmentao de imagens, como o caso do modelo deformvel

17

para localizao de bordas Gradient Vector Flow GVF (Fluxo do Vetor Gradiente) e o modelo para tratamento de mudanas topolgicas T-Snakes, que vem suprindo os problemas habituais encontrados nos modelos tradicionais, um fator de extrema importncia. Tal investigao serviu de base para a soluo adotada neste projeto. Outra motivao do fato de que as aplicaes Snakes esto em constante ascenso, com grande influncia nas reas de processamento de imagens, imageamento mdico, segmentao e rastreabilidade de movimentos (MIYASAKI, 2003).

1.4

Trabalhos Correlatos e suas Aplicaes

Existem diversos trabalhos relacionados ao mtodo de segmentao por contornos ativos Snakes, sendo estes aplicados em uma vasta gama de aplicaes, como medicina, geografia, entre outros. Dentre estes, cita-se neste projeto o trabalho de Silva (SILVA, 2003), Geo-Snake: uma aplicao da tcnica Snake em imagens geogrficas. Este trabalho consiste em uma ferramenta para a identificao de elementos especficos e caractersticas em imagens de satlite, como por exemplo, a identificao de regies e sub-regies de mesmo relevo, estradas, rodovias e tipos de vegetao. Alguns trabalhos enfatizam a definio de novos modelos, que so evoluo do modelo de contornos ativos Snake tradicionais, e que buscam resolver alguns de seus problemas e limitaes para com isso garantir maior flexibilidade e desempenho na segmentao de imagens digitais. O presente projeto segue a linha desses novos modelos, buscando o desenvolvimento de um modelo prprio de maneira simples e que resolva os problemas das Snakes tradicionais.

18

1.5

Estrutura desta Monografia

Aps a sntese introdutria correspondente ao primeiro captulo desta monografia, apresentam-se os conceitos mais elaborados. O captulo 2 fornece base inicial para a elaborao do projeto, descrevendo os conceitos sobre imagens digitais, pr-processamento de imagens, alguns filtros de suavizao, e curvas Splines. O captulo 3 corresponde a descrio do modelo de contornos ativos tradicional, apresenta a formulao inicial proposta por Kass, Witkin e Terzopoulos (KASS, 1988), algumas formas de se desenvolver as energias envolvidas no processo de segmentao pelo mtodo Snake e descrio lgica do algoritmo Greedy. O captulo 4 descreve os modelos Gradient Vector Flow (GVF) e o TSnakes que resolvem os problemas encontrados nas Snakes tradicionais com grande eficincia e que serviram de base para o desenvolvimento de uma soluo prpria. Algumas aplicaes abordando o contexto do projeto sero apresentadas no captulo 5. Descreve-se no captulo 6 o projeto implementado, seus conceitos e mtodos que, tomando por base os contedos apresentados nos captulos anteriores, contriburam para o desenvolvimento de uma soluo autntica para os modelos de contornos ativos Snake. O captulo 7 referente ferramenta desenvolvida para execuo de testes dos algoritmos implementados, buscando enfatizar as estruturas utilizadas, a explorao e traduo dos conceitos tericos para a soluo computacional e uma breve descrio da utilizao da ferramenta. Por fim, o captulo 8 trata dos resultados obtidos por meio da realizao de experimentos com imagens diversas, vantagens e limitaes do modelo proposto, extenso do projeto para futuras verses e concluses finais.

19

CONCEITOS BSICOS

2.1

Imagem Digital

Uma Imagem Digital formada por um conjunto de pontos discretos de tons de cinza e brilho, que so geralmente organizados em uma matriz de pixels (PEREIRA, 1996). Um pixel representado por um ponto (x, y) que corresponde sua localizao na imagem. Como representado na figura 3. Considera-se que, a localizao (0, 0) corresponde ao canto superior esquerdo da imagem, e f(x, y) corresponde ao tom de cinza ou cor da imagem na posio (x, y).

Pxel

Imagem Digital

Nvel de cinza do pxel

FIGURA 3 Representao de uma Imagem Digital (RIBEIRO, 1998).

20

Uma Imagem Digital uma imagem contnua amostrada em um arranjo matricial M x N, sendo o valor de cada elemento da matriz o nvel de cinza do pixel correspondente no plano de imagem (figura 4).

FIGURA 4 Arranjo matricial com respectivos nveis de cinza.

2.2

Pr-Processamento

A etapa de pr-processamento tem o objetivo do realce e suavizao de uma imagem de modo que a imagem resultante seja mais adequada para uma aplicao especfica, dada uma imagem original. A utilizao de um prprocessamento (aplicao de filtros) antes da segmentao por contornos ativos deve ser algo considervel (MENDELS, 1999), pois quanto melhor estiver imagem a ser segmentada maior a possibilidade de uma segmentao eficiente. A interpretao do resultado desta etapa normalmente subjetiva e dependente de conhecimento prvio do observador a respeito das imagens analisadas. No existem tcnicas de suavizao e realce capazes de resolver 100% dos problemas que uma imagem digital possa apresentar, mas seus resultados so relativamente satisfatrios, apresentando um bom desempenho (MARQUES, 1999). J estes problemas so referentes principalmente rudos existentes em imagens digitais, mas tambm podem se influenciados por outros fatores como falta de iluminao adequada e baixo contraste. Sero apresentados alguns filtros na etapa de suavizao para eliminao de rudos em imagens, sendo estes os por filtragem pela media e filtro da mediana.

21

2.2.1 Rudos

So causados por erros na transmisso de dados, onde os pixels corrompidos ou so alterados para o valor mximo, ou tem alguns bits alterados, causando uma diferena brusca de tons entre estes pixels e seus vizinhos (RIBEIRO, 1998). A figura 5 demonstra uma imagem original sem rudo e a mesma com alto nvel de rudo.

Imagem Original

Imagem com Rudo

FIGURA 5 Representao: Imagem original e imagem com rudo (RIBEIRO, 1998).

2.2.2 Filtros

Os filtros de passa baixa, tambm conhecidos como filtros de suavizao, so empregados na remoo de rudos de alta freqncia espacial em imagens digitais. Rudos estes que so geralmente introduzidos durante o processo de converso analgico-digital (RIBEIRO, 1998). Entre as tcnicas de suavizao conhecidas, existem as de suavizao conservativa, que so tcnicas de reduo de rudos que tm seu nome derivado do fato de empregar um algoritmo simples e rpido de filtragem que elimina o rudo de forma a manter os detalhes de altas freqncias como os contornos da imagem. Essa tcnica especialmente desenvolvida para remover picos de rudos, porm no muito eficiente na reduo de rudo aditivo.

22

2.2.2.1 Filtros da Mdia

O filtro da mdia implementado da seguinte maneira, tem-se uma janela que percorre toda a imagem, o elemento central dessa janela recebe a mdia de todos os elementos da janela (RIBEIRO, 1998). Por exemplo, tem-se a janela 3x3 abaixo:

A mdia dos valores : (12 + 238 + 244 + 244 + 245 + 245 + 247 + 250 + 252) / 9 = 219. Assim o valor do pixel central que era 12 ser 219. A figura 6 mostra o exemplo da aplicao do filtro da mdia.

Imagem Original

Imagem com Rudo

Imagem aps filtro 3x3

Imagem aps filtro 5x5

FIGURA 6 Aplicao do filtro da mdia (RIBEIRO, 1998).

23

2.2.2.2 Filtro da Mediana

Uma das principais limitaes do filtro da mdia, em situaes onde o objetivo a remoo de rudos em imagens, est na sua incapacidade de preservar bordas e detalhes finos de imagem. Para contorn-la, uma tcnica alternativa o filtro da mediana. Nesta tcnica, o nvel de cinza do pixel central da janela substitudo pela mediana dos pixels situados em sua vizinhana. Neste filtro o pixel central substitudo pelo valor mediano de seus vizinhos. O processo consiste em ordenar na forma crescente ou decrescente os valores dos pixels e pegar o valor mediano (RIBEIRO, 1998). Por exemplo (Janela 3x3):

Ordenando os valores tem-se: 12, 238, 244, 244, 245, 245, 247, 250, 252. O quinto valor o mediano, ou seja, o valor 245. Um dos maiores problemas do filtro da mediana o seu custo computacional, pois para encontrar o pixel mediano necessrio que se ordenem todos os valores da vizinhana, sendo relativamente mais lento do que o filtro da mdia.

24

A figura 7 mostra o exemplo com a aplicao do filtro da mediana:

Imagem Original

Imagem com Rudo

Imagem aps filtro media3x3

Imagem aps filtro mediana 3x3

FIGURA 7 Aplicao do filtro da mediana (RIBEIRO, 1998).

Este

mtodo

apresenta

desempenho

particularmente

bom

em

situaes onde a imagem contaminada por bastante rudo .

2.3

Curvas Splines

Um dos motivos da escolha de Splines no mtodo de segmentao por contornos ativos o fato de que elas so suficientemente flexveis para representar qualquer tipo de curva, preservando caractersticas da suavidade do objeto. A curva definida exclusivamente por um conjunto de pontos de controle, que funcionam como pontos de atrao sobre a curva (OLIVEIRA, 2000).

25

Segundo Angel (ANGEL, 1997), a interpolao utilizando Splines prope que o contorno do objeto seja dividido em um conjunto de partes ou segmentos, sendo estes pequenas curvas ou arcos, que podem ser representados adequadamente por polinmios de graus pequenos. A figura 8 mostra a obteno de uma curva de grau dois, tendo como objetivo mostrar a sua forma de construo.

FIGURA 8 Curva de grau dois, definida a partir de trs pontos (OLIVEIRA, 2000).

Tendo definidos os pontos da curva p0 e p1 so tomadas s direes das curvas, que so derivadas dos dois pontos que a definem. O objetivo obter uma curva suave, sem quebras bruscas do contorno. Atravs da interseo dos vetores direo, que foram originados dos pontos p0 e p1, define-se o terceiro ponto (v), sendo a curva de grau dois, definida por: p(t) = b0 + b1t + b2t2, t [-1,1] (1)

Onde:

b0 =

p 0 + p1 + 2

p 0 + p1 2 , 2

b1 =

p1 p 0 2

p 0 + p1 v 2 b2 = 2

Na figura 8 o ponto v atua como um ponto de atrao da curva e quando o mesmo movido, arrasta tambm a curva em sua direo. A interpolao utilizando uma Spline Cbica consiste em repartir o

26

intervalo em k subintervalos e, em seguida, obter k polinmios de grau trs para cada um deles. Algumas condies para a definio destes polinmios so (SILVA, 2004): 1. Em cada ponto de controle, devem ser iguais s inclinaes dos polinmios que nele incidem, de modo a proporcionar a suavidade desejada; 2. Em cada ponto de controle, tambm precisam ser iguais s curvaturas dos polinmios que neles incidem, constituindo no conceito de energia potencial mnima. A segmentao pelo mtodo Snake possui grande dependncia da topologia dos objetos da imagem a ser segmentada. Objetos com menos curvas e concavidades so relativamente mais fceis de serem segmentados do que os topologicamente mais complexos. A definio da Snake via a abordagem de Splines viabiliza a segmentao para qualquer que seja o objeto, pois garante a suavidade da curva desde o processo de deformao at a localizao do contorno do objeto, com isso tem-se como resultado final uma curva que melhor represente o objeto real.

27

O MODELO DE CONTORNOS ATIVOS

O modelo de contornos ativos, em sua formulao original proposta por Kass, Witkin e Terzopoulos (KASS, 1988), foi o mtodo proposto para resolver o problema de localizao de bordas de objetos em imagem. A partir da sua formulao foi possvel resolver vrios problemas de viso computacional e anlise de imagens. Este modelo leva em considerao a propriedade da descontinuidade e tem o objetivo de identificar bordas de objetos que compem uma imagem, sendo em geral aplicados conjuntamente com tcnicas de filtragem e suavizao usadas na deteco de pontos de bordas. Estes mtodos se iniciam em uma configurao mais ou menos arbitrria, um contorno inicial, que evolui at contornar o objeto de interesse. Devido a este comportamento dinmico que se tem definio de modelos deformveis. A segmentao utilizando contornos ativos caracterizada por tentar ajustar uma curva, no caso desse projeto uma Spline, sobre uma imagem. A movimentao da Spline ocorre de forma a tentar minimizar a energia funcional (TRUCCO, 1998) que dada pela combinao das energias da curva e da imagem, trata-se de um modelo baseado em conceitos fsicos. Devido ao fato da Spline se mover constantemente buscando encontrar a borda e se ajustar aos nveis mnimos de energia, a tcnica tambm conhecida como Snakes. Algumas vantagens com a utilizao de Snakes para a segmentao de imagens, segundo a viso de Pichumani (PICHUMANI, 1997):

So fceis de manipular, pelo fato das foras externas se comportarem de uma forma intuitiva;

So autnomas e auto-adaptveis na busca pelo estado de menor energia;

So menos sensveis ao rudo. ser utilizadas para seguir dinamicamente objetos em

Podem

28

dimenses temporais, assim como em espaciais. Aplicao em rastreamento de objetos. Segundo Xu e Prince (XU; PRINCE, 1998), os modelos de contornos ativos podem ser de dois tipos: modelos paramtricos, como as Snakes e modelos geomtricos ou implcitos, como os Level Set Methods (Mtodos de Ajuste de Nvel) e os Fast Marching Methods (Mtodos de Marcha Rpida). Esse projeto enfatiza o modelo do tipo paramtrico, que sintetizam curvas paramtricas ou superfcies dentro de um domnio de imagem e lhes permite se orientar a caractersticas desejadas, normalmente extremidades. Os modelos paramtricos so constitudos de curvas elsticas que agem sobre a imagem at encontrar a borda do objeto de interesse, sendo o processo realizado de maneira dinmica. Nesta composio atuam basicamente duas foras: a fora elstica e a da imagem ou de restrio. Devido a estas foras que a Snake pode se transformar no molde do objeto e tambm ser atrada para as bordas do objeto de interesse. A figura 9 ilustra a composio e ao desse modelo para a deteco de objetos de uma cena:

(a)

(b)

(c)

FIGURA 9 Representao da ao da curva do modelo de contornos ativos (SILVA, 2003).

Este modelo necessita da especificao de uma curva inicial, cuja posio definida pelo usurio, como se observa em (a). Junto associada uma funo objetivo, que denominada por energia da Snake. Esta energia composta de duas partes: energia interna e a energia externa. A interna considera aspectos fsicos como elasticidade, que a capacidade em que a curva tem de se deformar

29

sob a ao de uma fora e retornar ao seu formato original quando a mesma removida e aspectos de rigidez, que a resistncia da curva de manter-se dobrada. A energia externa considera as caractersticas da prpria imagem. Em (b) tem-se a representao da atuao dessas energias com o processo em andamento. A Snake se conforma quando encontrar o limite do objeto (c). De acordo com a definio de Kass, Witkin e Terzopoulos (KASS, 1988), uma Snake uma curva v(s)=[x(s),y(s)] que se move pela imagem buscando minimizar a energia funcional. O x(s) e o y(s) so as coordenadas x, y ao longo do contorno e s [0, 1] o comprimento do arco normalizado.

Esnake = Eint v( s ) + Eext v( s ) ds


0

(2)

A energia interna Eint totalmente definida pela curva e a energia externa Eext derivada da imagem. Em (2), v(s) = (x(s), y(s)) a representao paramtrica do contorno. A energia funcional definida em (2) uma combinao de energias interna e externa, a ferramenta matemtica indicada para a sua soluo o clculo variacional, que determina o mnimo de um funcional (assim como o clculo prov um mtodo para a determinao do mnimo de uma funo ordinria) (Trucco, 98). A correspondncia do modelo com o contorno s alcanada pela procura de um vetor que minimize a soma dessas energias. A conformidade com o contorno alcanada quando a soma for igual zero. Uma discretizao de (2) permite definir a energia da Snake como:

Esnake = Eint + Eext

(3)

Outras energias podem ser inseridas em (3), sendo comum definio de uma energia devida a certo conhecimento sobre a forma que o contorno do objeto apresenta. Esta energia conhecida como energia confinada, segundo Sonka (SONKA, 1998).

30

E snake = Einterna + Eexterna + Econfinada


energias, de forma a obter o comportamento desejado em cada situao.

(4)

Cada uma destas energias principais pode ser composta de outras

3.1

Energia Interna

A energia interna obtida a partir da prpria curva, tendo como um de seus principais objetivos deformar a Snake e manter a suavidade da curva. Neste contexto, sero apresentados alguns modelos e definies desta energia. Seguem abaixo os modelos com base na elasticidade e rigidez da curva e com base na continuidade e fora balo.

3.1.1 Modelo baseado na elasticidade e rigidez da curva

Este modelo foi proposto por Sonka (SONKA, 1998) sendo um modelo relativamente simples para a energia interna. baseado em conceitos de elasticidade e rigidez da curva.

Einterna

dv d 2v = ( s) + ( s) 2 ds ds

(5)

Por definio tem-se:

(s) especifica a elasticidade da curva ou resistncia ao se esticar. (s) especifica a rigidez da curva ou resistncia ao se torcer.
Na implementao torna-se necessrio o clculo da curvatura, que, utilizando a parametrizao v(s) = (x(s), y(s)) dada por:

31

k=

x ' y" x" y' ( x' 2 + y ' 2 )3/ 2

(6)

Utilizando diferenas finitas tem-se as seguintes aproximaes (WILLIAMS; SHAH, 1992) para os termos em (5).

dv 2 vi vi 1 = ( xi xi 1 ) 2 + ( yi yi 1 ) 2 ds
e

(7)

d 2v 2 v v v 2 + = ( x i1 2 x i + x i +1 ) 2 + ( y i1 2 y i + y i+1 ) 2 i i i + 1 1 2 ds

(8)

Na equao (7) e (8), assume-se que os pontos estejam igualmente espaados em intervalos unitrios. Quando isso no ocorrer, a equao (7) precisa ser dividida por d2 e a equao (8) por d4, onde d a distncia entre os pontos (SILVA, 2004). Como visto na equao (5), enquanto o termo (s) controla a tenso ao longo da curva, (s) controla a rigidez. Assim, para o caso de (s) = 0, tem-se uma descontinuidade no local, o que possibilita o aparecimento de um canto. Quando

(s) e (s) forem iguais zero tem-se uma quebra no contorno.


A tenso ao longo da curva pode ser medida por meio de uma funo que mede o comprimento do contorno, porm, observa-se que a Snake apresenta um melhor comportamento se os pontos de controle so tambm mantidos igualmente espaados (Young, 1995). Partindo desta observao, uma forma mais conveniente para a definio da energia tomar a soma dos quadrados das distncias entre os pontos adjacentes. Uma energia assim definida deve apresentar uma resposta mais rpida, se comparada com a energia obtida com o comprimento total da curva. A energia elstica pode ento ser escrita como:

Eelastica = k1 distancia( pi , pi1 )2


i =1

(9)

32

onde: k1 uma constante, a ser ajustada e, pi e pi-1 so pontos de controle adjacentes. A energia definida em (9) atua em um ponto de controle xi puxando-o em direo da reta que liga os seus dois vizinhos xi-1 e xi+1, conforme mostra a figura 10. Isto pode ser realizado pela definio das componentes em X e Y desta energia.

EelasticaX ,i = k1[( xi1 xi ) + ( xi+1 xi )]


e

(10)

E elasticaY ,i = k1 [ ( y i 1 y i ) + ( y i +1 y i )]

(11)

A figura 10 mostra geometricamente o comportamento desta energia.

pi+1

Fora elstica sobre xi

pi pi-1
FIGURA 10 Direo da fora elstica atuando sobre um ponto pi. (OLIVEIRA, 2000)

A energia interna deve ser capaz de forar a preservao da forma do contorno e tambm manter constante a distncia entre os pontos do contorno (OLIVEIRA, 2000).

3.1.2 Modelo Baseado na Continuidade e Fora Balo

Uma outra forma de definir a energia interna apresentada em Mackiewich (MACKIEWICH, 2005), que a define como sendo a soma de uma

33

energia de continuidade (continuity energy) e uma fora balo (ballon force). A energia interna ento escrita como:

Einterna (vi ) = cEcont (vi ) + bEbal (vi )

(12)

onde: Econt(vi) a energia de continuidade, que fora a forma do contorno e, Ebal(vi) a fora balo, que faz o contorno esticar ou encolher. Os parmetros c e b so pesos, utilizados para ajustar cada um destes termos. As energias Eext , Eint , Econt e Ebal podem ser representadas por meio de matrizes, nas quais o elemento vi ocupa a posio central. As dimenses pequenas destas matrizes definem uma pequena regio de processamento em torno deste elemento conforme mostra a figura 11, que sugere a utilizao de uma matriz 7x7.

3.1.2.1 Energia de Continuidade

A energia de continuidade Econt faz com que um contorno aberto tome a forma de uma linha reta, enquanto que um contorno fechado forado a tomar a forma de um crculo. A energia para cada elemento cjk(vi) na matriz Econt(vi) pode ser escrita como MACKIEWICH (2005) :

c jk (vi ) =
onde:

1 p jk (vi ) (vi 1 + vi +1 I (V )

(13)

1 n I (V ) = v i+1 v i n i =1

(14)

um fator de normalizao, dado pela distncia mdia entre os pontos de V (contorno); A normalizao importante em (13) para que a Econt(vi) seja independente do tamanho, localizao e orientao de v. Em (13), pjk(vi) o ponto na imagem que corresponde espacialmente ao elemento da matriz de energia cjk(vi). O parmetro = 0.5 para um contorno aberto e, neste caso, o ponto de energia mnima exatamente o meio entre os pontos vi-1 e vi+1, conforme apresentado na

34 figura 11. Para o caso de contornos fechados, definido como:

1 2 2 cos n

(15)

Neste caso o ponto de mnima energia na matriz Econt(vi) aquele que empurra V, para a posio que mais torna o contorno parecido com um crculo.

vi-2

vi-1 Matriz definida pela

vi
vi

Vizinhana de vi

vi+1

Contorno

Crculo
Centride do contorno vi+2

FIGURA 11 Ponto de contorno vi sobre a ao da energia de continuidade (OLIVEIRA, 2000).

Na figura 11, o ponto vi o local de menor energia na matriz, porque est mais prximo do crculo que passa pelos pontos vi-1 e vi+1 (considera-se tambm a necessidade de manter o afastamento eqidistante entre os pontos do contorno).

3.1.2.2 Fora Balo

A fora balo definida para controlar a expanso e a contrao do contorno. Espera-se que a fora balo auxilie um contorno inicial a se expandir at

35

as proximidades das bordas do objeto. A figura 12 mostra a ao desta fora, sobre uma imagem e um suposto contorno inicial.

ti
Objeto uniforme Contorno inicial (V) com intensidade Fora balo

ni
Contorno final (V)

FIGURA 12 Ao da fora balo sobre um contorno inicial.

A fora balo deve ser grande em regies homogneas e pequena nas regies de bordas dos objetos (MACKIEWICH, 2005). Cada elemento cjk(vi) da matriz Ebal(vi) pode ser expresso como o produto vetorial :

c jk (vi ) = ni (vi p jk (vi ))

(16)

onde ni o vetor normal de V no ponto vi e pjk(vi) o ponto na vizinhana de vi correspondente a entrada cjk(vi) na matriz energia. Assim, a fora balo se torna pequena nos pontos afastados de vi na direo ni. O vetor ni pode ser obtido a partir de uma rotao do vetor tangente ti, dado por (figura 12):

ti =

vi vi 1 v v + i +1 i vi vi 1 vi +1 vi

(17)

36

3.2

Energia Externa

Como visto, a energia externa totalmente obtida a partir da imagem, tendo diversas formas para sua definio. Algumas formas consideram as informaes referentes aos nveis de cinza dos pixels, outras consideram pixels de bordas da imagem, entre outras formas. Segundo Mackiewich (MACKIEWICH, 2005), levar em considerao a informao dos nveis de cinza e tambm dos pontos de borda resultam na definio da energia externa como sendo:

E externa (vi ) = mE mag (vi ) + gE grad (vi )

(18)

onde: Emag(vi) representa a energia que empurra o contorno para reas com os maiores nveis de cinza, enquanto que Egrad(vi) a energia que empurra o contorno em direo aos pontos de borda. Os parmetros m e g so utilizados para ajustar a participao de cada termo. O parmetro m pode ainda ser ajustado para fazer o contorno ser atrado por reas escuras ou claras, dependendo do sinal adotado. Outras energias podem ser tambm utilizadas para compor a energia externa e, uma outra definio (Sonka, 1998):

Eexterna(vi) = lEline(vi) + gEgrad(vi) + tEterm(vi)

(19)

As duas primeiras energias em (19) correspondem as duas energias em (18), respectivamente, enquanto que Eterm(vi) uma energia devida a presena de terminaes (pontas de linhas e cantos de objetos).

3.2.1 Energia da Intensidade da Imagem

A matriz de energia Emag(vi) ou Eline(vi) tem seus elementos cjk(vi) definidos pelos valores dos nveis de cinza nos pontos correspondentes na imagem,

37

na vizinhana de vi (a matriz c sobreposta imagem no ponto vi, por isto a definio de pontos correspondentes na imagem).

cjk(vi) = I(pjk(vi))
intensidades dos nveis de cinza, e assim, a energia de intensidade fica:

(20)

De forma a aumentar esta energia, pode-se tomar o quadrado das

E mag = k 2 imagem( xi , yi ) 2
i =1

(21)

3.2.2 Energia do Gradiente da Imagem

Os elementos c jk (vi ) da matriz de energia Egrad (vi ) podem ser definidos por:

c jk (vi ) = I ( p jk (vi ))

(22)

Novamente pode ser realizada a definio das componentes em X e Y desta energia, dadas por:

EgradX ,i = k3 [(imagem( xi +1 , yi ) imagem( xi 1 , yi )]


e

(23)

EgradX ,i = k3 [(imagem( xi , yi +1 ) imagem( xi , yi 1 )]

(24)

Na figura 13, o ponto vi que est na posio p4,4 da matriz deve ser movido para a posio p2,6 (vi ) , que possui o maior gradiente.

38

FIGURA 13 Utilizao da matriz

Egrad (7 x 7)

para a obteno da energia baseada em gradiente

(OLIVEIRA, 2000).

Observa-se que a direo do gradiente na borda do objeto deve ser igual norma da direo do contorno, assim, o valor de cada elemento da matriz
Egrad (vi ) pode ser definido pelo produto vetorial (OLIVEIRA, 2000):

c jk (vi ) = ni I ( p jk (vi ))
onde ni o vetor normal do contorno de vi .

(25)

Uma forma equivalente de definir os gradientes utilizar localmente os conhecidos operadores de gradiente, neste caso a energia, fica definida como:

Emag (i, j ) = g H (i, j )2 + gV (i, j )2


onde:

(26)

gH =

k =1 I =1

Sobel

(i, j ) I t (i + k , j + l )

(27)

gV =

k =1 I =1

Sobel

(i, j ) I t (i + k , j + l )

(28)

39

3.2.3 Energia das Terminaes

As terminaes das linhas e cantos dos objetos podem tambm ser utilizados para influenciar o traado do contorno, principalmente para a definio de contornos subjetivos (OLIVEIRA, 2000), como os que aparecem na figura 14.

FIGURA 14 (a) Imagem original contendo alguns objetos (bordas) e algumas terminaes e (b) Snake obtida (OLIVEIRA, 2000).

Uma possvel definio para esta energia pode ser feita da seguinte forma (SONKA, 1998): seja g uma verso ligeiramente suavizada da imagem f, tomando ( x, y ) as direes dos gradientes sobre a spline na imagem suavizada (g), faa:

n( x, y ) = (cos ( x, y ),sin( x, y ))
e
nR ( x, y ) = ( sin ( x, y ),cos( x, y ))

(29)

(30)

os vetores ao longo e perpendicular, respectivamente, s direes do gradiente


( x, y ) , ento,
2 2 g / n R = = nR g / n

Eterm
ou ainda,

(31)

40

Eterm =

( 2 g / y 2 )(g / x) 2 2( 2 g / xy )(g / x)(g / y ) + ( 2 g / x 2 )(g / y )2 ((g / x) 2 + (g / y ) 2 )


3 2

(32)

3.2.4 Outras energias externas

Diversas energias externas foram propostas para tentar modelar o comportamento do contorno. Algumas dessas energias so (MARQUES, 1998): A energia obtida com a soma de funes gaussianas centradas nos pontos de bordas detectadas na imagem.

E (vk ) =

1 M

x X

G (v

x)

(33)

onde: G a funo gaussiana e M o nmero de pontos de borda. Uma energia baseada em redes elsticas, que pode ser definida por:

E (vk ) =

1 M

x X

log G(v
i

x)

(34)

Um modelo para a extrao de regies coloridas em imagens naturais apresentado em Ngoi e Jia (NGOI, 1999). Neste caso, as cores so utilizadas para compor uma nova energia.

3.3

Energia Confinada

A energia confinada representa alguma informao que se possui respeito da forma do objeto, assim, para o caso de se desejar segmentar objetos quadrados, preciso que alguma ateno seja dada nos cantos da feio (atuando na suavidade e rigidez da curva nestes locais). Observa-se que a energia confinada

41

bem particular para cada tipo de aplicao (OLIVEIRA, 2000).

3.4

Normalizao das Energias Quando as energias definidas anteriormente so colocadas juntas na

equao (4), elas precisam operar de maneira a fazer que o contorno seja empurrado para os limites do objeto na imagem. Alm da necessidade de determinaes dos sinais de cada uma das componentes de energias, uma normalizao delas no intervalo [0,1] tambm se mostra atraente (MACKIEWICH, 2005).

3.5

Algoritmo Greedy

Este algoritmo apresenta um mtodo para definir uma Snake sobre um contorno em uma imagem digital. O algoritmo opera de forma local, na tentativa de se obter uma soluo global tima. A grande vantagem do algoritmo est na sua simplicidade (e conseqentemente, baixo custo computacional), dispensando ainda o conhecimento do clculo variacional. Em seguida so apresentadas algumas suposies iniciais e o algoritmo (OLIVEIRA, 2000). A energia funcional definida por : E = ( s ) Econt + ( s ) Ecurv + ( s ) Eimage ds

(35)

Onde: Econt, Ecurv e Eimage so, respectivamente, as energias de continuidade do contorno, a energia devida suavidade (rigidez) da curva e a energia da imagem, devida a atrao das bordas. Como em (5), Econt definida por :

E cont

dv = ds

(36)

Que no caso discreto pode ser escrita como :

42

Econt = || pi - pi-1 ||2

(35)

Com o objetivo de prevenir a formao de aglomerados de pontos de contornos ( importante manter a eqidistncia entre os pontos do contorno), a equao (35) pode ser modificada para:

E cont
_

_ = d pi pi 1

(36)

Onde: d a distncia mdia entre os pares de pontos pi e pi-1. Quando || pi pi-1 || >> d , tem-se Econt || pi - pi-1 ||2. O termo de suavidade deve ser capaz de impedir um excesso de oscilaes no contorno, o que, conforme j apresentado, pode ser feito atravs do clculo da curvatura, que pode ser aproximada (a curvatura pode ser aproximada pela segunda derivada do contorno) por : Ecurv = || pi-1 2pi + pi+1 ||2 (37)
_

Finalmente o termo Eimage pode ser obtido por meio do gradiente (38), conforme j apresentado em (22). Eimage = - || I ||
_ _

(38)

Tomando I a imagem e p 1, ......, p N o conjunto contendo as posies iniciais dos pontos do contorno. Deseja-se encontrar o contorno p1,......,pN, que melhor se ajusta sobre o contorno da imagem, por meio da minimizao da energia funcional E. E = ( i Econt + i Ecurv + i Eimage )
i =1 N

(39)

com i, i e i 0 e Econt, Ecurv e Eimage como em (36), (37) e (38), respectivamente. O ncleo do algoritmo constitudo de dois passos (TRUCCO, 1998) e as interaes terminam quando um nmero predefinido dos pontos alcana um local mnimo.

43

Observa-se que este algoritmo funciona bem apenas quando o contorno inicial j est prximo do local da soluo desejada (SILVA, 2004). 1. A vizinhana sobre a qual a energia funcional localmente minimizada pequena (geralmente se utiliza janelas 3x3, 5x5 ou 7x7 centradas em cada ponto do contorno). A minimizao da energia feita por comparaes diretas dos valores da energia funcional em cada localizao. 2. Durante o segundo passo, o algoritmo procura por cantos (curvaturas mximas ao logo do contorno). Se uma curvatura mxima encontrada em um ponto pj, j recebe o valor zero, desconsiderando a contribuio do termo de suavidade Ecurv no ponto pj e tornando possvel o aparecimento de um canto. A figura 15 mostra o algoritmo definido segundo estas condies (TRUCCO, 1998).
Algoritmo snake (snake algorithm) A entrada formada pela imagem I, que contm um contorno fechado de interesse e um conjunto de pontos p1, ...., pN definindo a posio inicial e a forma da Snake. Seja f a quantidade mnima de pontos da Snake que precisam ser movidos em cada interao antes da convergncia e U(p) uma pequena vizinhana do ponto p. no incio, pi = p i ,
_

d = d , i = i = 1

i = 1.2

Enquanto um nmero maior que f de pontos da Snake se movem na interao: 1 - para cada i = 1,....,N, encontre a localizao de U(pi) para o qual o funcional E definido em (36) mnimo, e mova o ponto pi da snake para a localizao; 2 para cada i = 1,....,N, calcule a curvatura k da snake nos pontos pi, como k = | pi-1 2pi + pi+1 | e verifique o mximos locais. Faa = 0 para todos pj que a curvatura um mximo local e excedam um valor mnimo defindio pelo usurio;
_

3 calcule o valor de d , mdia das distncias; FIGURA 15 Algoritmo para contornos ativos (TRUCCO, 1998).

44

OS MODELOS: GRADIENT VECTOR FLOW (GVF) E T-SNAKES H duas dificuldades de chave com algoritmos de contorno ativos

tradicionais (XU; PRINCE, 1997), apresentados no captulo anterior. A primeira se refere ao contorno inicial que deve, em geral, estar perto do verdadeiro limite ou ento convergir num provvel resultado errado. A segunda que os contornos ativos tm dificuldades de progredirem em regies de limite cncavo. A figura 16 mostra uma imagem com um objeto que possui uma concavidade e o resultado obtido utilizando o modelo tradicional de foras.

(a)

(b)

FIGURA 16 (a) Imagem original com seu contorno inicial e (b) contorno final obtido com o mtodo original (XU; PRINCE, 1997).

Embora existam muitos mtodos como os multiresolution e foras de presso, por exemplo, que foram propostos para resolver esses problemas tradicionais, eles ou resolvem um problema ou resolvem ambos, mas, criando dificuldades novas (XU; PRINCE, 1997). Sendo assim, os modelos GVF e T-Snakes so evolues da Snake tradicional que alm de resolverem os problemas tradicionais possuem

caractersticas e inovaes prprias, sendo considerados atualmente os mtodos robustos, de melhor desempenho e mais flexveis da literatura.

4.1

A nova fora externa: Gradient Vector Flow Essa nova de fora externa para modelos de contorno ativos,

45

focalizando os problemas listados acima e os resolvendo em grande parte, pode ser observada na figura 17.

FIGURA 17 Determinao de uma nova fora baseada no fluxo do vetor gradiente (GVF) (XU; PRINCE, 1997).

As principais vantagens do GVF so que ele permite capturar a curva em uma grande distncia e, ainda pode for-la em regies cncavas (XU; PRINCE, 1997). Tal campo aponta em direo s bordas dos objetos quando prximo a elas, mas varia suavemente sobre regies homogneas, se estendendo at a fronteira da imagem. Estas propriedades garantem um maior alcance de captura da Snake, de ambos os lados das bordas do objeto, alm de for-la em direo a regies cncavas devido a um processo simultneo de difuso (PIMENTEL, 2000). definido um campo de distribuio de bordas f(x, y) derivado de uma imagem em tons de cinza I(x, y) com a propriedade de apresentar valores elevados prximo s bordas de objetos (PIMENTEL, 2000).

f(x, y) = -Eext(x, y)

(40)

46 O gradiente f tem vetores que apontam para as bordas e que, sobre as bordas, so normais s mesmas. Estes vetores apresentam maiores magnitudes apenas na vizinhana imediata das bordas. Sobre regies homogneas, onde I(x, y) praticamente constante, f tende a zero e no h informao sobre bordas prximas ou distantes (XU e PRINCE, 1997). O campo GVF ento definido como o campo vetorial g(x, y) = (u(x, y), v(x, y)) que minimiza a funo de energia
2 2 2 2 E = ux + uy + vx + vy + f

g f dxdy
2

(41)

Quando |f| pequena, a energia dominada pelas derivadas parciais do campo vetorial, gerando um campo suave. Por outro lado, quando |f| grande, o segundo termo se domina integrando, e minimizado quando g = f. Isto produz o efeito desejado de manter g praticamente igual ao gradiente da distribuio de bordas quando este alto, porm forando o campo a variar suavemente em regies homogneas. O parmetro controla a relao entre o primeiro e o segundo termos e ajustado de acordo com o nvel de rudo presente na imagem (maior nvel de rudo, maior ) (XU; PRINCE, 1997). O campo GVF pode ser determinado pela soluo das equaes de Euler:

2u (u f x )( f x2 + f y2 ) = 0 2 v (v f y )( f x2 + f y2 ) = 0

(42a)

(42b)

Observa-se que em regies homogneas da imagem o segundo termo das equaes nulo, e u e v so determinadas pela equao de Laplace. Assim, nestas regies o campo GVF resultante interpolado a partir das bordas da regio, refletindo uma espcie de competio entre os vetores de borda, o que produz vetores resultantes apontando para regies cncavas de objetos (XU; PRINCE, 1997). As equaes (42) so tratadas tendo u e v como funes do tempo e

47

resolvendo (PIMENTEL, 2000):

ut ( x, y, t ) = 2u ( x, y, t ) (u ( x, y, t ) f x ( x, y )) f x ( x, y ) + f y ( x, y )
2

) )

(43a)

vt ( x, y, t ) = 2 v( x, y, t ) (v( x, y, t ) f v ( x, y )) f x ( x, y ) + f y ( x, y )
2

(43b)

A soluo em regime permanente destas equaes parablicas lineares desacopladas a soluo desejada das equaes de Euler (42). As equaes (43a e 43b) so conhecidas como equaes gerais de difuso, presentes na modelagem de diversos processos fsicos como conduo de calor, balano de massa em reatores e mecnica de fludos (PIMENTEL, 2000). Aps a determinao do campo GVF, basta substituir a fora potencial externa tradicional por g(x, y) (PIMENTEL, 2000). A figura 18 mostra alguns resultados obtidos com a insero desta nova energia.

FIGURA 18 (a) contorno inicial, (b) contorno final obtido com o modelo de energias tradicional, (c) contorno inicial (definido longe das bordas do objeto), (d) contorno final utilizando GVF (XU; PRINCE, 1997).

48

A figura 19 mostra que o mtodo apresenta bons resultados mesmo quando o contorno inicial cruza as fronteiras do objeto e, tambm, quando o contorno do objeto definido por um conjunto de pontos (contorno subjetivo).

FIGURA 19 (a) contorno inicial (passando atravs das bordas do objeto), (b) contorno obtido utilizando GVF (c) contorno inicial, aplicado no interior de um conjunto de pontos (contorno subjetivo) e (d) resultado obtido utilizando GVF (XU; PRINCE, 1997).

A figura 20 mostra os resultados obtidos com este modelo, quando aplicado sobre uma imagem mdica (interior de um rgo - corao) (OLIVEIRA, 2000).

FIGURA 20 (a) Imagem mdica e o contorno inicial, (b) contorno final utilizando GVF (OLIVEIRA, 2000).

49

4.2

O modelo T-Snakes O modelo T-Snakes visa uma segmentao de imagens capaz de lidar

com mudanas topolgicas nos objetos. A capacidade de lidar com mudanas de topologia importante para poder segmentar objetos de contornos mltiplos e com furos, concavidades ou ramificaes. Esta capacidade permite que a Snake seja dividida para criar mltiplos contornos ou, ainda, fundir vrios em um s. Estas operaes so conhecidas como Split e Merge, respectivamente (MACHADO, 2003). Define-se 3 componentes bsicos para o modelo: triangulao, um modelo discreto de Snake e uma funo caracterstica (MACHADO, 2003). A triangulao busca a decomposio do domnio da imagem em clulas para represent-las com objetos geomtricos mais simples de dimenso n. A triangulao utilizada neste projeto a Coxeter-Freudental, considerada muito simples, pois se diferem somente pela orientao e reflexo das clulas. Sendo assim, decompe-se a imagem em uma grade com quadrados iguais e divide-se cada quadrado em 2 tringulos ou clulas simples (GIRALDI, 2005). A figura 21 representa a decomposio da imagem em clulas triangulares.

FIGURA 21 Triangulao Coxeter-Freudental.

O componente modelo discreto de Snake a fora discreta, que baseada na Snake tradicional e que tem a finalidade da deformao em direo s bordas do objeto. A fora interna de tenso age para manter um espaamento uniforme entre os ns do modelo. A fora interna de rigidez relaciona-se suavidade da Snake. O modelo possui tambm uma fora interna normal usada para atrair a Snake em direo s bordas dos objetos, procurando evitar que a Snake pare em locais mnimos. A fora externa ou fora dos dados da imagem definida em funo das caractersticas de interesse na imagem, no caso aqui considerando as bordas dos objetos da cena.

50

A equao de evoluo para o T-Snakes, que aplicada a cada snaxel a cada evoluo, o resultado de uma combinao entre estas foras. Uma abordagem mais detalhada sobre estas foras e os parmetros por elas utilizados pode ser vista em Giraldi (2000). A funo caracterstica permite a classificao dos tringulos da grade utilizando os valores 0 ou 1 de seus vrtices. A Snake no poder atingir um tringulo cujos vrtices tenham valores iguais a 1 (ns queimados), e estes pontos so os j visitados pela Snake. Por sua vez os ns da malha formados por tringulos com valores iguais a 0 (no queimado) correspondem a regies atingveis pela Snake (MACHADO, 2003). Os tringulos onde a funo caracterstica contm valores de 0 e 1 so denominados tringulos de borda. Para o algoritmo, projeta-se a Snake inicial fornecida pelo usurio sobre a malha queimando os pontos externos a ela atravs da funo que determina se o n est interno ou externo ao polgono. Esse processo referente convergncia da Snake. Para a deformao em expanso so queimados os ns internos a Snake. Em cada iterao do algoritmo de contrao atualiza-se a posio das snaxels atravs da ao das foras internas e externas, garantindo a evoluo da Snake. Ao final de cada iterao faz-se uma atualizao da funo caracterstica e determina-se o conjunto de ns da malha que sero queimados durante a evoluo. Os vrtices do tringulo que possurem todos os valores 1 ou 0 esto fora ou dentro da Snake respectivamente e os tringulos onde a funo caracterstica muda de valor so denominados tringulos de borda. A determinao dos tringulos de borda corresponde ao limite onde as snaxels podero se deformar, tanto para a contrao quanto para expanso. A condio de parada do algoritmo se faz quando todas as snaxels estiverem sobre a borda do objeto (MACHADO, 2003). A figura 22 demonstra a evoluo da Snake, destacando os ns queimados, internos e tringulos de borda num determinado estado de passo de contrao.

51

FIGURA 22 Representao do novo modelo em um determinado estado de evoluo (MACHADO, 2003).

Este modelo possui algumas limitaes. A restrio evoluo imposta pela condio de entropia usada, ou seja, se um n queimado ele permanece queimado. Esta poltica vantajosa no tratamento de mudanas topolgicas, porm tem a desvantagem de limitar a evoluo da Snake em apenas expanso ou apenas contrao. Outra limitao o fato do mtodo de reparametrizao da Snake (projeo sobre a malha) ser extrnseco, isto , depender no somente da forma do contorno, mas tambm da maneira como o espao foi dividido (decomposio simplicial), bem como do seu posicionamento neste espao.

52

APLICAES DOS MTODOS SNAKES

5.1

Sistema Semi-Automtico para Anlise de Imagens Digitais A extrao de informaes em imagens extremamente importante na

rea biolgica, onde a extrao de atributos das imagens pode auxiliar no diagnstico de doenas. Atualmente a anlise de imagens biolgicas realizada de forma manual, ou apoiada por sistemas muito automatizados, que no inserem o potencial humano no processo de anlise e, conseqentemente, no contemplam todas as necessidades do usurio. Neste contexto, esta aplicao um processamento digital de imagens para extrair atributos de imagens mdicas e biolgicas de forma semi-automtica, auxiliando a obteno de medidas dos objetos (clulas e outros) imageados e apoiando a documentao das medidas extradas. A extrao de atributos composta principalmente pelas medidas de rea, permetro e demais caractersticas dos objetos que pertencem imagem, que possibilitam um diagnostico mais preciso de uma pessoa com determinada doena (S, 2005). Existe certa dependncia desta aplicao em relao s caractersticas da imagem que se extrairo os atributos, uma vez que estas so imagens fotogrficas e possuem uma ampla gama de detalhes e imperfeies. Sendo assim, a utilizao do mtodo Snake para a segmentao da imagem um fator muito interessante, pois aps uma boa segmentao a imagem perde totalmente as possveis imperfeies originais e o processo de extrao de seus atributos se torna relativamente mais apropriado e eficiente, como apresentada na figura 23.

53

FIGURA 23 Extrao de atributos para objetos previamente segmentados via extrao de bordas (S, 2005).

5.2

Contagem e Mensurao de Fibras Musculares O uso de imageamento em tomografia computadorizada, ressonncia

magntica e radiografia so j relativamente comuns na rea da medicina. A aplicao dos mtodos Snakes na contagem e mensurao de fibras musculares possui resultados satisfatrios. As fibras, entretanto, no estando bem definidas fazem com que o processo automtico de procura das bordas "extravase" para outras fibras ou mesmo no consiga delimitar uma fibra completamente, como apresentado na figura 24, sendo realizado a contagem e mensurao automtica em uma imagem original em tons de cinza, sem prvio tratamento (MIYASAKI, 2003).

54

FIGURA 24 Contagem e mensurao automtica de fibras musculares sem um pr-processamento.

Uma idia natural que surge tentar fazer o fechamento das bordas de cada fibra, para ento submeter imagem contagem e mensurao automaticamente usando o programa Image (MIYASAKI, 2003). O resultado aps o pr-processamento da imagem apresentado na figura 25.

FIGURA 25 Contagem e mensurao automtica de fibras musculares aps a etapa de prprocessamento.

55

5.3

Medio do Disco tico A figura 26 mostra a sua aplicabilidade para medir o disco tico (retina).

Trata-se de uma tarefa importante, que tem por objetivo monitorar mudanas na forma e rea do disco, que, em muitos casos, indicam problemas como o glaucoma (atualmente, a segunda maior causa de cegueira) (SILVA, 2004).

FIGURA 26 Utilizao de contornos ativos para a determinao da rea do disco tico.

5.4

Anlise de Avalanches Em Ladret (1999) sugerida a utilizao de Snakes como uma boa

ferramenta para a anlise de avalanches de neve. A figura 27 mostra esta aplicao (SILVA, 2004).

(a)

(b)

FIGURA 27 Utilizao de contornos na anlise de avalanches de neve, (a) contorno obtido em um momento e (b) contornos obtidos em momentos diferentes mostram a evoluo da avalanche de neve.

56

O PROJETO: DESENVOLVENDO UM MODELO DISCRETO DE SNAKE Uma definio em termos computacionais retrata uma Snake como um

conjunto

de

pontos

de

controle,

ou

snaxels,

cujas

posies:

{vi (t ) = (xi (t ), yi (t )), i = 0, K , N 1} ,


(MACHADO, 2003).

so interligadas e variam no decorrer do tempo

Os modelos de energias utilizado no desenvolvimento do projeto so baseados na Snake tradicional e em suas otimizaes, e possui a caracterstica de atuar sobre a curva de maneira simples. Desenvolveu-se a deformao da Snake tanto para processos de contrao quanto para expanso, possuindo a caracterstica de manter, da melhor forma possvel, as snaxels com critrios de espaamento equivalentes. H um grande esforo em manter uma a eqidistncia das snaxels, pois, de acordo com a literatura os algoritmos apresentam um melhor comportamento nestas situaes (YOUNG, 1995). de extrema importncia a definio de alguns filtros de prprocessamento para uma melhor segmentao de objetos com alto nvel de detalhes, pois estes induzem a deformao erronia da Snake em encontrar contornos que no so realmente os do objeto em questo. Neste contexto, tambm foram desenvolvidos seis filtros de pr-processamento da imagem, estes seguem descritos na seo 6.2. Para a configurao inicial da Snake so considerados dois tipos de polgonos fechados: circular e definido pelo usurio. Assim, a criao da Snake por intermdio de um polgono circular realizada por uma equao que descreve um crculo, dado um ponto e seu raio. Para esta configurao tambm necessrio especificar a quantidade de snaxels, que sero dispostos pela curva de maneira eqidistante. A configurao por um polgono definido pelo usurio descreve a curva inicial pela interligao de snaxels escolhidas manualmente. No entanto, a curva inicial depende de uma combinao de energias para proporcionar a sua evoluo at as bordas de interesse. A deformao da Snake feita atravs da ao da energia interna normal, de tenso, rigidez e da energia externa, iterativamente sobre todos os snaxels.

57

Teoricamente tem-se a energia interna normal e de tenso agindo de forma conjunta para movimentar e manter um espaamento uniforme entre os snaxels. A fora interna de rigidez relaciona-se suavidade da Snake, sendo normalmente descrita atravs de Splines sobre as snaxels. Por fim, a energia externa definida em funo das caractersticas de interesse na imagem, neste caso as bordas (critrios de intensidade do nvel de cinza dos pixels). Em especial, foram desenvolvidos procedimentos para diviso de uma Snake em outras, possibilitando a segmentao de vrios objetos com somente uma curva inicial, e procedimentos para juno de Snakes, unindo-as para a segmentao de um objeto em comum. Estes dois procedimentos so acionados quando houver sobreposio dos pontos de controle da curva.

6.1

Energias Desenvolvidas As energias desenvolvidas so dispostas tanto para o modelo

convencional ou de contrao quanto para o Balloon ou de expanso. Independentemente do mtodo escolhido para a segmentao possvel que se realize a subdiviso de uma Snake em vrias e a juno de vrias em uma s.

6.1.1 Energias Internas So derivadas da prpria curva e possuem a finalidade de deform-la de forma a manter um critrio de espaamento de pontos de controle e garantir a suavidade em se confrontar com a borda do objeto de interesse.

6.1.1.1 Fora Tradicional

Esta fora se baseia no modelo tradicional proposto por Kass, Witkin e Terzopoulos e definida pela componente da fora elstica, onde tem o objetivo de movimentar os pontos de controle em direo ao fechamento da curva ou contrao da Snake. Esta fora possui a caracterstica de que uma curva aberta tome a forma de um segmento de reta e uma curva fechada tome a forma de um ponto.

58

A grande vantagem desta fora o fato de que a cada passo da deformao da curva os pontos so mantidos com critrios de espaamento equivalentes. muito importante que os pontos de controle sejam mantidos igualmente espaados e que haja uma quantidade suficiente destes pontos de controle, pois a representao do contorno do objeto ser melhor representada nestas situaes. Para a deformao da curva define-se basicamente o clculo mediante o produto vetorial dos vetores correspondem aos trs pontos de controle vizinhos. Desta forma, a fora elstica atua em um ponto de controle pi puxando-o em direo ao centro da reta (ponto central), que interliga os seus dois vizinhos pi-1 e pi+1, conforme mostra a figura 28.

Snake Inicial

FIGURA 28 Em anlise o ponto p1: a deformao iterativa e ocorre deslocando o ponto analisado para um novo ponto central, que o produto vetorial entre os snaxels de p0p1 e p1p2. O processo segue para todos os pontos iterativamente.

O processo deve ser definido para as componentes em X e Y de todos os pontos de controle da curva. A definio do ponto central e a atrao dos pontos em sua direo quem garante que os pontos de controle se deformaro mantendo a equivalncia de distncia de seus vizinhos. O produto vetorial desta fora elstica definido atravs das equaes para as componentes x e y dos pontos de controle:

x + x EelasticaX ,i = k1 i 1 i +1 2

y + y EelasticaY ,i = k1 i 1 i +1 2

(44)

A constante k define o quanto o ponto de controle deve ser atrado em

59

direo ao ponto central, uma vez que se k for relativamente grande pode ser que ultrapasse as fronteiras do objeto em anlise. A grande desvantagem desta fora a no deformao em objetos com limites cncavos, onde o mximo obtido um segmento de reta nestas regies. Outra desvantagem a no existncia de uma fora de rigidez referente a uma maior suavizao da curva.

6.1.1.2 Fora Baricentro

A fora baricentro tambm definida pela fora elstica, atuando de forma a puxar os pontos de controle em direo ao baricentro da curva. O baricentro o ponto central da curva calculado atravs das mdias dos componentes x e y de todos os pontos. Para a deformao dos pontos de controle baseada na equao da Maior Distncia sendo realizada de maneira a movimentar no mximo em 1 pixel em direo ao baricentro, podendo evidentemente a movimentao ser menor. Primeiramente deve-se definir a maior distncia entre os pontos e o baricentro da curva e depois realizar a parametrizao de todos os pontos em relao a maior distncia, proporcional a todos os pontos. Direo da fora elstica atuando sobre um ponto pi apresentada na figura 29.

FIGURA 29 Em anlise o ponto p1: a deformao iterativa e ocorre deslocando o ponto analisado em direo ao baricentro da curva. O processo segue para todos os pontos iterativamente.

Esta fora elstica definida atravs das equaes para as componentes x e y dos pontos de controle, atraindo os pontos de controle em direo ao baricentro (baricentro em x e y) da curva.

60
baricentroX x EelasticaX ,i = x maiordis tan ciaX baricentroY y EelasticaY ,i = y maiordis tan ciaY (45)

Se o ponto em anlise for maior do que o baricentro da imagem para os seus componentes x e y, ento a operao utilizada ser a subtrao do ponto em anlise com a distncia que este deve se deslocar em direo ao baricentro, caso contrrio operao utilizada ser a adio. importante ressaltar que os pontos de controle se deslocaram no mximo em 1 pixel (ponto de controle que tiver a maior distncia do baricentro da curva) e garantindo a proporo para as distncias menores. Esta fora possui a caracterstica da deformidade em regies cncavas, pelo fato de serem atradas, a cada iterao, para o baricentro da curva. Esta deformao em concavidades no segue nenhuma relao com o objeto em questo, sendo insuficiente para a maioria dos casos. Porm, esta fora no mantm os pontos de controle igualmente espaados o que acarreta em uma deformao ruim para alguns casos. A fora Baricentro desempenha apenas o fator de deformao da curva ou fora elstica, a fora de rigidez para uma melhor suavizao do contorno no foi estabelecida.

6.1.1.3 Fora Mista

Desenvolvida por meio da unio da fora Tradicional e Baricentro. Sendo assim, apresenta como caractersticas certa invaso em regies cncavas do objeto e a preservao de critrios de eqidistncia entre os pontos de controle, proporcionando uma melhor segmentao de objetos que contenham pouca concavidade. Esta fora se apresenta como certo avano em relao ao modelo tradicional, mas, a segmentao de objetos com concavidades maiores ainda no possuem resultados satisfatrios, pois essa fora no age de forma intuitiva na busca por regies ou bordas ainda no exploradas.

61

6.1.1.4 Fora Balo Tradicional e Fora Balo Baricentro

A fora balo preserva as mesmas caractersticas do modelo de fora tradicional ou baricentro, mas ao invs dos pontos de controle serem deformados para o processo de contrao da curva se estabelece o processo de sua expanso. Neste contexto, para o desenvolvimento da fora balo so estabelecidas rotaes de 180 da direo em que os pontos de controle originalmente se deformariam, provocando conseqentemente seu afastamento do baricentro (para a fora baricentro) ou a substituio do elemento k da equao (44) pelo fator negativo de k (para a fora tradicional). A direo dos pontos de controle pode ser representada e desenvolvida pelo vetor normal ao segmento de reta que liga os pontos vizinhos ao ponto em anlise. A representao grfica da atuao da fora balo de ambos os casos pode ser observada na figura 30.

FIGURA 30 Representao da direo dos vetores normais para o processo de expanso da curva.

6.1.2 Energia Externa A energia externa obtida a partir da prpria imagem e considera os pixels de borda, ou seja, a energia do gradiente da imagem. Sendo assim, possui a caracterstica que empurra a curva em direo aos pontos de borda do objeto em segmentao, at encontrar uma forte descontinuidade dos tons de cinza que conseqentemente representa a borda do objeto de interesse.

62

Define-se ento o confronto da curva com a borda do objeto atravs da quebra brusca dos tons de cinza da imagem. Este por sua vez estabelecido atravs de um limiar de faixas de cinzas (variando de 2 at 255 conforme a necessidade do usurio), onde se busca num processo iterativo classificar o ponto de controle em anlise em uma classe de 0 a 255 e verificar se os n pontos vizinhos pertencem mesma classe (mscara de convoluo). Para sintetizao do conceito abordado apresentado o exemplo da figura 31, onde se aplicar a energia do gradiente com um limiar de duas faixas de tons de cinza. Com um limiar de duas faixas tem-se a representao da classe 0 (primeira faixa) de 0 a 127 e da classe 1 um (segunda faixa) de 128 a 255.

FIGURA 31 Aplicao da energia externa utilizando-se de um limiar de duas classes de tons de cinza. O histograma representa a quantidade de tons de cinza da imagem original e da imagem sob o efeito limiar.

Para este exemplo como se fossem consideradas, ao invs da imagem original que contm uma grande quantidade de nveis de cinza, a imagem com o efeito limiar de duas classes de cinza, onde os pixels com valores de 0..127 (faixa 0) pertencem cor preta ou com valor 0, e os com valores de 128..255 (faixa 1) pertencentes cor branca ou valor 255. A possvel conformidade com a borda do objeto ser dada quando um ponto de controle da curva sair de uma classe 0

63

partindo para a classe 1 ou vice e versa, caracterizando uma descontinuidade. A figura 32 representa a conformidade de um ponto de controle da curva com a borda do objeto, definindo o seu critrio de parada. O ponto vi que est na posio p4,4 da matriz deve ser movido para a posio p2,6, (vi) devido mudana limiar da classe 1 para a classe 0. Para a verificao utilizado uma mscara de convoluo de N x N dimenses onde todos os pontos da mscara de convoluo devem pertencer a mesma classe limiar de vi, se algum ponto no pertencer a mesma classe se encontrou um ponto de borda. A figura 31 aplicada uma mscara de convoluo de dimenso 7x7.

FIGURA 32 Aplicao da energia externa utilizando-se de um limiar de duas faixas de tons de cinza. O histograma representa a quantidade de tons de cinza da imagem original e da imagem sob o efeito limiar (OLIVEIRA, 2000).

A classe do ponto em anlise vi calculada pela da equao abaixo: Classe de vi = Valor Inteiro (nvel de cinza de vi dividido (256 dividido limiar)) Continuao do Exemplo: Classe do ponto vi = Valor Inteiro (255 dividido (256 dividido 2)); Classe do ponto vi = Valor Inteiro (255 dividido 128); {valor real = 1,99}

Classe do ponto vi = 1.

64

Quando algum elemento da mscara de convoluo possuir a faixa diferente da faixa do ponto em anlise, este deve ser movimentado para a posio do elemento de faixa diferente, onde provavelmente se encontrou a borda do objeto. No exemplo acima a classe do elemento da mscara de convoluo p2,6 igual zero, com isso o ponto vi em anlise (p4,4) deve ser movido para a posio p2,6, (vi) devido mudana limiar da classe 1 para a classe 0 (descontinuidade = fora gradiente).

6.1.3 Energia Confinada Apesar do fato da energia interna baricentro proporcionar certa deformao da curva em limites cncavos esta no realizada de forma intuitiva e muito dependente do objeto a ser segmentado. Sendo assim, a energia confinada busca o tratamento e melhoramento dos problemas encontrados nos modelos tradicionais, principalmente no que diz respeito deformao da curva em regies cncavas. Tal energia, assim como os modelos de segmentao via abordagem de contornos ativos Snake mais robustos da literatura, possui energias e

funcionalidades adicionais que permitam tal tratamento, de forma a buscar por regies de contorno ainda no exploradas. Define-se ento uma nova energia:

E snake = Einterna + Eexterna + Econfinada


6.1.3.1 Fora de Rotao

(46)

A fora de rotao busca por pontos de controle da curva que ainda no esto sob a borda do objeto onde, atravs de rotaes dos vetores, procura-se encontrar a borda atribuindo ao ponto de controle da curva o ponto de borda encontrado. Aplica-se esta fora quando um ponto de controle pi encontrar a borda do objeto e os seus pontos vizinhos ainda no o encontraram. Ento, se estabelece uma rotao de 45 nos sentidos horrios e anti-horrios do vetor composto pelos pontos pi e pi+1 (podendo ser realizado tambm para o vizinho anterior) na busca por um ponto de borda do objeto.

65

Tal fora proporciona a sua ao de forma intuitiva, percorrendo iterativamente os pontos de controle buscando encontrar de imediato um novo ponto de borda. A figura 33 apresenta a ao desta fora sobre um vetor composto pelos pontos pi e pi+1 em anlise num processo iterativo:

FIGURA 33 Aplicao da fora de rotao.

6.1.3.2 Criao de Pontos Intermedirios

A criao de pontos intermedirios estabelece uma distncia mxima entre os pontos de controle. Ao se ultrapassar a distncia mxima insere-se na curva um ponto intermedirio, permitindo uma melhor segmentao de objetos com alto nvel de detalhes e curvaturas finas. Deve-se ter uma quantidade razovel de pontos de controle para segmentar um objeto de forma satisfatria, principalmente em regies curvilneas.

6.2

Filtros de Pr-Processamento Desenvolvidos O objetivo que aps o pr-processamento, a imagem resultante deve

ser mais adequada para a tarefa de segmentao. Para o processamento da imagem original so aplicados templates de acordo com uma mscara de convoluo especfica, deslocando-o por toda a imagem de forma seqencial e causando a transformao dos pixels. Utilizou-se no projeto mscaras de organizao mpar (3x3, 5x5, etc.) com convoluo aperidica, onde o resultado substitudo pelo pixel do centro da mscara. Para a utilizao de mscaras de organizao par (2x2, 4x4, etc.) o resultado deve substituir o

66

primeiro pixel da mscara. Na convoluo aperidica centra-se o template com o primeiro pixel da imagem atribuindo o valor 0 aos valores inexistentes na imagem, como mostra a figura 34 com uma mscara de convoluo 3x3.

FIGURA 34 Convoluo Aperidica.

Neste

contexto,

apresentam-se

os

filtros

espaciais

de

pr-

processamento desenvolvidos, suas funcionalidades, templates e o resultado que este proporciona na imagem. Para a transformao da imagem deve-se percorr-la seqencialmente por todos os seus pixels e aplicando o template especfico. O resultado ser uma nova imagem processada.

6.2.1 Filtro da Mdia O filtro da mdia um tipo de filtro passa baixa que atravs de uma mscara realiza a mdia da vizinhana. Uma Mscara de Mdia tal que seus pesos so positivos e a soma igual a 1. Dado uma imagem f(x,y) de N x N pixels:

g ( x, y ) =
onde:

1 M

( n , m )S

f ( n, m )

(47)

S o conjunto de coordenadas dos pontos na vizinhana de (x,y), incluindo (x,y); M o nmero total de pontos da vizinhana.

67

Exemplos de filtros passas baixa:

A figura 35 apresenta o resultado da aplicao desse filtro em uma imagem original e o seu resultado.

FIGURA 35 Aplicao do filtro da mdia.

6.2.2 Filtro da Mediana Substitui o nvel de cinza de cada pixel pelo nvel de cinza mediano em uma vizinhana do pixel. O nvel mediano de um conjunto de valores tal que exista metade dos valores menores e metade dos valores maiores. O exemplo da aplicao do filtro da mdia apresentado na figura 36. O pixel central de valor 15 ser substitudo pelo valor 20 (nvel mediano):

FIGURA 36 Exemplo da substituio do pixel mediano.

A figura 37 apresenta o resultado da aplicao desse filtro em uma imagem original e o seu resultado.

68

FIGURA 37 Aplicao do filtro da mediana.

6.2.3 Filtro Laplaciano Outra aplicao importante da convoluo espacial de uma mscara com a imagem o realce (Sharpening) ou Filtragem Passa Alta. chamada de Mscara de Realce porque tende a realar mudanas abruptas de Nveis de Cinza na Imagem. A Mscara do Filtro Passa Alta deve ter o peso central positivo e os pesos perifricos negativos tal que a soma seja igual a Zero. O exemplo de um filtro passa alta (Operador Laplaciano) representado na figura 38:

FIGURA 38 Mscara do Operador Laplaciano.

A figura 39 apresenta o resultado da aplicao desse filtro em uma imagem original e o seu resultado.

.
FIGURA 39 Aplicao do Filtro Laplaciano com a operao de Negao de Cores.

69

6.2.4 Binarizao pela Mdia: Local e Global O objetivo transformar uma imagem que possui diversos tons de cinza em uma imagem em preto e branco, tendo um fator limiar dos nveis de cinza da imagem. O limiar resultado da mdia dos pixels realizada globalmente na imagem ou localmente atravs de convoluo consecutivas (filtro da mdia), onde os pixels da imagens que possurem o nvel de cinza menor que a mdia sero transformados para o valor 0 (preto) e os maiores que a mdia em valor 255 (branco). Dado uma imagem f(x,y) de N x N pixels:

g ( x, y ) =
onde:

1 M

( n , m )S

f ( n, m )

(48)

M o nmero total de pontos da vizinhana; S o conjunto de coordenadas dos pontos na vizinhana de (x,y), incluindo (x,y); Se f(x,y) < g(x,y) ento g(x,y) = 0; seno g(x,y) = 255.

Na figura 40 tem-se uma imagem original com vrios tons de cinza e o resultado da aplicao do filtro de binarizao pela mdia global.

FIGURA 40 Aplicao do Filtro de Binarizao pela Mdia Global.

6.2.5 Filtro Limiar Transforma a imagem que contm diversos tons de cinza (0..255) em uma nova imagem com uma quantidade menor de tons de cinza, de acordo com a quantidade de limiares (grupos) especificados. A transformao realizada atravs de agrupamentos de faixa de cinza.

70

No exemplo mostrado na figura 41 tem-se uma imagem original e a aplicao do filtro limiar com cinco limiares de nveis de cinza (5 grupos):

FIGURA 41 Aplicao do Filtro Limiar igual a 5.

Sendo assim, os pixels da imagem que tinham o nvel de cinza entre os grupos gerados sero transformados de acordo com a figura 42, gerando uma nova imagem com apenas cinco tons de cinza:

FIGURA 42 Agrupamento de Nveis de Cinza.

Dado uma imagem f(x,y) de N x N pixels se aplicada equao da figura 43, percorre-se todos os pixels da imagem original (f(x,y) de 0..n-1, 0.n-1) e gera-se uma nova imagem (g(x,y)):

FIGURA 43 Equao do Filtro Limiar.

71

A FERRAMENTA DESENVOLVIDA A ferramenta para segmentao de imagens por contornos ativos

Snakes foi implementada utilizando a linguagem C++Builder 5, sob a utilizao da programao orientada a objetos (OOP). O objetivo desta ferramenta ilustrar a dinmica de funcionamento dos algoritmos implementados. importante ressaltar que a ferramenta atua apenas na etapa de segmentao de objetos pertencentes a imagens digitais, no tendo uma aplicao especfica em alguma rea, mas, por sua vez pode futuramente ser utilizada para esses fins, pois a programao orientada a objetos possui como principal caracterstica a reusabilidade de suas classes, mtodos e afins. A utilizao de uma interface simples e sugestiva permite aos usurios um melhor entendimento dos passos realizados para a segmentao de um objeto. Esta ferramenta de carter semi-automtico, ou seja, so de extrema importncia a parametrizao e experincia do usurio para a obteno de resultados satisfatrios. A figura 44 mostra a interface do sistema, com seus botes de acionamento e campos devidamente rotulados, e painis que referenciam as imagens no processo de atuao da Snake e o seu resultado final.

FIGURA 44 Interface principal da Ferramenta de Segmentao por Contornos Ativos Snake.

72

7.1

Estruturas Utilizadas A ferramenta possui duas classes principais. A primeira a classe

TSnakes que referente a configurao do objeto a ser segmentado, mtodo a ser utilizado na segmentao, matriz que representa a imagem, lista que contm todas as Snakes para tal segmentao e seus mtodos para deformao e filtragem de pr-processamento da imagem. A classe T-Snakes mostrada na figura 45.

FIGURA 45 Representao da Classe TSnakes.

A segunda a classe Snake, mostrada na figura 46, possui a configurao de cada curva, possui uma varivel de instncia para a cor e espessura da curva, quantidade de pontos, lista de pontos de controle da curva com suas respectivas posies (x, y) na imagem e seus mtodos para manipulao dos dados.

73

FIGURA 46 Representao da Classe Snakes.

74

Computacionalmente, as estruturas principais internas (no so de interface) utilizadas na implementao do novo modelo e da ferramenta so:

Listas

Duplamente

Encadeadas

Circular:

utilizadas

para

representao das vrias Snakes que podem estar em execuo simultaneamente e para a representao da lista de pontos de controle da Snake. Cada elemento da lista possui um ponteiro referenciando o elemento anterior e posterior, alm da informao principal. Como mostra a figura 47:

Objeto da Classe TSnake

Classe TSnake Objeto da Classe Snake Representao Lista de Snakes

Classe Snake Representao da Curva (Lista de Pontos de Controle) FIGURA 47 Representao grfica da estrutura de dados do projeto.

Matrizes: formam a representao da imagem, uma vez que uma imagem uma matriz de pixels de dimenses N x N, correspondentes altura e largura respectivamente. Cada elemento da matriz possui a cor de cada pixel da imagem real;

Registros:

so

estruturas

criadas

pelo

desenvolvedor

que

correspondem a um conjunto de elementos. Por exemplo, o registro Pontos possui os elementos x (Pontosx) e y (Pontosy)

75

correspondentes a sua localizao na imagem.

7.2

Preenchimento dos Campos e Passos para a Deformao Para melhor entendimento do funcionamento da Ferramenta sero

apresentados seus campos e como se realiza a segmentao de um objeto. Corresponde aos filtros de pr-processamento da imagem original, uma que vez que uma imagem prprocessada deve estar mais adequada para a tarefa de segmentao. Os Filtros so: Mdia, Mediana,

Laplaciano, Binarizao Global e Local, e Filtro Mediano. Para melhor entendimento dos filtros leia o captulo anterior. Botes para abrir uma nova imagem a ser segmentada (a ferramenta suporta apenas imagens .bmp - BitMaps), salvar uma imagem segmentada (somente com o contorno do objeto segmentado) e limpar a imagem em atividade (limpar as Snakes e voltar ao estado inicial). Informa a configurao da curva inicial definida pelo usurio. Esta pode ser Circular (dados um ponto central e o raio) ou ainda Aleatria (dados todos os pontos da curva). A configurao da Curva Inicial depende da quantidade de pontos iniciais (campo Pontos). Informam a quantidade de pontos a serem gerados na curva inicial, a cor da curva e sua respectiva espessura. Aps parametrizar estes campos e configurar a

localizao da curva inicial deve-se efetuar a sua gerao no campo Gerar Snake Inicial.

76

Corresponde ao critrio para a localizao da borda do objeto, onde o usurio deve informar o nmero de limiares de cores. Para maior entendimento leia o captulo anterior em Energia Externa. Informa o mtodo (Tradicional, Baricentro, Balo

Tradicional, Balo Baricentro e Misto) a ser utilizado para a segmentao de imagens, tempo de pausa na deformao e distncia mnima entre os pontos (se os pontos se distanciarem alm da distncia mnima criado um novo ponto intermedirio), respectivamente. Inicia a deformao de uma Snake na busca do contorno do objeto, segundo o mtodo escolhido. Possibilita a parada forada da deformao e a visualizao do resultado final da segmentao (borda do objeto).

A ferramenta foi desenvolvida de modo que se possa visualizar a deformao da Snake desde sua configurao inicial at o confronto com a borda do objeto de interesse, enfatizando de maneira clara o seu funcionamento. possvel a segmentao de diversos objetos simultaneamente atravs da definio de vrias Snakes independentes, tanto para o processo de expanso quanto para contrao da curva. Tambm h a possibilidade de segmentar vrios objetos com somente uma Snake (para os casos de contrao da curva, onde a curva se subdivide de maneira dinmica entre todos os objetos) ou ainda a juno de vrias Snakes em uma s (para os casos de expanso da curva). Para maior sintetizao dos conceitos e funcionamento da ferramenta so apresentados os passos bsicos para a segmentao de um objeto de 2 cores, sem que haja a necessidade de um pr-processamento: 1. Abrir a imagem a ser segmentada. A figura 48 representa uma imagem recm aberta pela ferramenta;

77

FIGURA 48 Imagem recm aberta pela ferramenta.

2. Escolher o tipo da seleo (Circular ou Aleatria) da Curva Inicial; 3. Configurar a quantidade de Pontos de Controle iniciais, a cor e a espessura da Snake; 4. Configurar os pontos iniciais obre a imagem de forma a envolver o objeto. Se a seleo for do tipo Circular, ento o usurio deve fornecer o ponto central e o raio, com isso a ferramenta ir gerar como curva inicial um circulo com a quantidade de pontos de controle definidos no campo Pontos. Se o tipo for Aleatrio o usurio deve selecionar os pontos de controle da Snake Inicial um a um, com no mnimo 25 pontos; 5. Gerar a Snake Inicial. A figura 49 representa a gerao da Snake inicial pela configurao Circular;

FIGURA 49 Configurao da Snake inicial.

6. Definir o Limiar de Cores: como a imagem binarizada (somente duas cores), o nmero de limiares escolhido dever ser igual a

78

dois. Com isso a Snake se deformar at sair de uma faixa limiar de cores para a outra faixa, e conseqentemente se confrontar com a borda do objeto de interesse; 7. Escolher o mtodo a ser utilizado na segmentao (podendo ser de contrao ou expanso da curva), o tempo de execuo e a distncia mnima para a criao de pontos intermedirios. Os mtodos esto dispostos e seguem as caractersticas de acordo com as foras apresentadas no captulo 6; 8. Iniciar a Deformao. A figura 50 (a) representa a deformao da Snake pelo mtodo da Fora Mista e a figura 50 (b) a diviso em duas Snakes para a segmentao de dois objetos.

FIGURA 50 (a) Deformao da Snake.

FIGURA 50 (b) Diviso da Snake.

9. Visualizar o Resultado Final. Na figura 51 tem-se o contorno final segmentado pelo mtodo de contornos ativos Snake via a ferramenta desenvolvida no projeto;

79

FIGURA 51 Contorno final dos objetos.

10. Salvar o contorno do objeto segmentado pelo mtodo de contornos ativos Snake.

7.3

Consideraes Adicionais Pelo fato da ferramenta desenvolvida ser de carter semi-automtico

necessrio que haja uma boa habilidade do usurio para a segmentao de imagens mais complexas, principalmente das que exigem critrios de pr-processamento. Pode ser que dependendo do objeto a ser segmentado obtenha-se como resultado final um contorno inconstante, isso se deve pelo fato da ferramenta no ser implementada com a abordagem de Splines que, teoricamente deixariam o contorno do objeto mais suave e prximo da realidade.

80

EXPERIMENTOS E RESULTADOS Para a realizao de experimentos foram utilizadas imagens com

diferentes caractersticas de contexto e de naturezas distintas. Sendo assim, foi considerado no processo de segmentao, realizado por meio da ferramenta proposta, as seguintes imagens: preto e branco, coloridas, geomtricas, abstratas e fotogrficas. Estas por sua vez so pertencentes a diferentes reas como imagens de ressonncia magntica, imagens de clulas e fibras musculares da rea da medicina; imagens de formas simples como quadrados, crculos, tringulos e imagens abstratas da rea da geometria em geral; entre outras. A ferramenta apresentou, em geral, resultados satisfatrios para todos os tipos de imagens. A segmentao de imagens fotogrficas um processo que requer grande habilidade do usurio na especificao de filtros de pr-processamento antes da tarefa de segmentao por contornos ativos pela ferramenta, pelo fato destas imagens apresentarem altos nveis de detalhes. Contudo, a ferramenta obteve resultados satisfatrios mesmo nestas situaes. Em experimentos com imagens que possuem concavidade na regio prxima ao baricentro da curva a segmentao no pode ser efetuada por completo com somente uma Snake, pelo fato de as foras desenvolvidas se confrontarem e de certa forma se anularem. A soluo adotada foi a utilizao de mais Snakes, onde ao encontrarem provocam a fuso das Snakes em uma s, segmentando os objetos que possuem estas caractersticas. Este experimento pode ser demonstrado na figura 52. O passo 1 mostra que a curva no conseguiu a deformao em contrao correta do objeto e foi necessria a configurao de uma nova Snake (passo 2) para que se tenha a fuso posterior num processo de expanso das curvas. Os passos de 3 a 5 demonstram as Snakes se deformando na busca pela borda do objeto e o processo de juno de ambas. O resultado final da segmentao apresentado no passo 6.

81

FIGURA 52 Passos de uma situao crtica do experimento e resoluo via Juno de duas Snakes.

82

CONCLUSES O mtodo de contornos ativos uma vigorosa tcnica para o processo

de segmentao de imagens digitais que vem apresentando resultados satisfatrios nas diversas reas de atuao. O presente projeto uma ferramenta de segmentao de imagens, atuando num processo inicial e retornando parmetros para a viabilizao de processos posteriores, como anlise, reconhecimento e classificao. Por exemplo: pode ser aplicada para clculos de permetros e rea de objetos de uma imagem, modelagem de forma e objetos 3D, rastrear movimentos de vdeos, entre outros. A forma como o mtodo implementado, atravs da definio de energias, facilita a modificao do mtodo original, possibilitando diversas adaptaes e, conseqentemente, a obteno de melhores resultados em cada rea de aplicao. Alm das Energias tradicionais conhecidas na literatura que foram estudas (intensidade, fora balo, etc.), foram criadas outras energias para a soluo de alguns problemas tradicionais de segmentao em regies cncavas. As energias desenvolvidas so: a Energia da Rotao e a Energia de Pontos Intermedirios. Para projetos futuros pode-se realizar a implementao, testes e verificao da viabilidade do uso de curvas Splines e Bezier na tentativa de uma maior suavizao do contorno das segmentaes, definio de algoritmos de psprocessamento da segmentao por Snakes (quando no produzir o resultado esperado) e implementao e aplicao dos mtodos Snake Gradient Vector Flow e T-Snakes.

83

REFERNCIAS BIBLIOGRFICAS ANGEL, E. Interactive Computer Graphics Top-Down Approach with Opengl. New York: Pearson, 1999. BALAN, A. G. R. Tcnicas de Segmentao de Imagens Areas para Contagem de Populao de Aves. So Paulo: [s.n.], 2003.
GIRALDI, G.A. Dual T-Snakes. Thesis Developed at COPPE-UFRJ (Brazil). Disponvel em <http://virtual01.lncc.br/~giraldi/Tese/>. Acesso em 12 de Agosto de 2005.

GONZALEZ, R. C.; Woods, R. E. Processamento Digital de Imagens. So Paulo: Edgard Blcher, 2000. MARQUES, J, S. A Link Between Image-Based and Feature-Based Active Contours. SIGNAL PROCESSING, n 67, p. 271- 278, 1998. MACKIEWICH, B. Active Contour Models (Snakes). Disponvel em <http://www.cs.sfu.ca/people/Faculty/Atkins/papers/blairthesis/main/node28.html>. Acesso em 05 de Abril de 2005. MENDELS, F., HENEGHAN, C., THIRAN J. P. Identification of the Optic Disk Boundary in Retinal Images using Active Contours, submitted, 1999. NGOI, K. P., JIA, J.C. An Active Contour Model for Color Region Extraction in Natural Scenes, IMAGE AND VISION COMPUTING, p. 955-966, 1999. PICHUMANI, R. Construction of A Three-Dimensional Geometric Model for Segmentation and Visualization of Cervical Spine Images. Ph.D thesis, Medical Informatics of Stanford University, 1997. RIBEIRO, B. Suavizao de Imagens Image Smoothing. Disponvel em <http://www.ic.uff.br/~aconci/suavizacao.pdf>. Acesso em 30 de Abril de 2005 SANTOS, V. T. Segmentao de Imagens Mamogrficas para Deteco de Ndulos em Mamas Densas. So Paulo: [s.n.], 2002. SONKA, M.; HLAVAC, V.; BOYLE, R. Image Processing, Analysis and Machine Vision. Chapamn & Hall Computing: London, 1998. TRUCCO, E.; VERRI, A. Introductory Techniques for 3-D Computer Vision. Prentice Hall: New Jersey, 1998. WILLIAMS, D.; SHAH M. A Fast Algorithm for Active Contours and Curvature Estimation. CVGIP:IMAGE UNDERSTANDING, vol. 55, n 1, January, p. 14-26, 1992. KASS, M.; WITKIN, A.; TERZOPOULOS, D. Snakes: Active Contour Models. In: INTERNATIONAL JOURNAL OF COMPUTER VISION, 1988. XU, C.; PRINCE, J. L., Gradient Vector Flow: A New External Force for Snakes, IEEE PROC. CONF. ON COMP. VIS. PATT. RECOG., p. 66-71, 1997. XU, C.; PRINCE, J. L. Generalized Gradient Vector Flow External Forces for Active Contours. SIGNAL PROCESSING, n 71, p. 131-139, 1998.

84

YOUNG, D. Active Contour Models (Snakes). Disponvel em <http://www.cogs.svsx.ac.uk/users/davidy/teachvision/vision7.html>. Acessado em 22 de Outubro de 2005. PIMENTEL, B. Segmentao de Imagens Mdicas utilizando modelos de Active Contour. Departamento de Cincia da Computao da Universidade Federal de Minas Gerais. Disponvel em <http://www.verlab.dcc.ufmg.br/projetos/brunosp/modsnake.htm>. Acesso em 27 de Abril de 2005. PEREIRA, A. Estudo e Implementao de Filtros para Processamento Digital de Imagem. Bacharelado em Cincia da Computao, Faculdade de Informtica de Presidente Prudente FIPP, p.11-12, 1996. (Monografia em Bacharelado em Cincia da Computao). MACHADO, C. C. M.; GALVO, L. R.; VANDERLEI, T. A.; SANTOS W. Y. R. Uma ferramenta de extrao de bordas utilizando T-Snakes. Centro de Informtica, Universidade Federal de Pernambuco UFPE. Recife PE, 2003. MARQUES, O. F.; VIEIRA H. N., Processamento Digital de Imagens. Rio de Janeiro: Brasport, 1999. MIYASAKI, R., Splines e Contorno Ativo em Aplicaes de Imagens Mdicas. UNESP - Licenciatura em Matemtica. Presidente Prudente, 2003. OLIVEIRA, M. C. F., Segmentao de Imagens por Contornos Ativos Snakes, Instituto de Cincias Matemticas e de Computao, 2000. S, A. O., Sistema Semi-Automtico para Anlise de Imagens, Bacharelado em Cincia da Computao, Faculdade de Informtica de Presidente Prudente FIPP, 2005. (Monografia em Bacharelado em Cincia da Computao). SILVA, F. A.; ALMEIDA, L. L.; PEREIRA, J. R.;BARBEIRO, T. L. S., Contornos Ativos Snakes, Departamento de Engenharia Eltrica, Escola de Engenharia de So Carlos USP, 2004. SILVA, J. P. M., Geo-Snake : uma aplicao da tcnica snake em imagens geogrficas. Escola de Informtica Curso em Cincia da Computao. Pelotas, 2003. (Monografia em Bacharelado em Cincia da Computao).

Você também pode gostar