• Nenhum resultado encontrado

Estrat´egias de segmentac¸˜ao e visualizac¸˜ao interativas

cena original Segmentação cena segmentada

não-iterativa (IFT) da cena

Visualização imagem

Ações do usuário sementes

Figura 4.1: Segmentac¸˜ao n˜ao incremental com visualizac¸˜ao de cena

O m´etodo mais simples e mais cl´assico ´e usar o algoritmo de segmentac¸˜ao (watershed via IFT) seguido de um algoritmo de visualizac¸˜ao da cena (splatting da cena inteira por exemplo). Os processos de segmentac¸˜ao e visualizac¸˜ao formam dois blocos totalmente independentes (vide a figura 4.1). Na pr´atica, o usu´ario escolhe sementes a partir das vistas 2D (fatias) da cena, nos lugares que lhe parecem representar objetos de interesse diferentes ou fundo. Ele n˜ao precisa delinear os objetos, mas escolher pelo menos uma semente por objeto e uma para o fundo. A partir dessas sementes, a IFT segmenta a cena. Um algoritmo de

rendering traduz a cena segmentada numa imagem, visualizada na tela e dando um efeito de 3D. Se o usu´ario

julgar que o resultado n˜ao ´e o desejado, ele reitera esse processo: Ele acrescenta um conjunto de sementes (que pode aproveitar-se do conjunto anterior ou n˜ao); a IFT processa de novo a cena inteira com esse novo conjunto de sementes, independentemente do resultado da segmentac¸˜ao anterior; e uma nova imagem ´e criada a partir do novo resultado da segmentac¸˜ao. O processo ´e reiterado at´e o usu´ario ficar satisfeito com o resultado da segmentac¸˜ao. Esse m´etodo trivial tem a desvantagem de ser demorado por reprocessar em cada passo da segmentac¸˜ao a cena inteira.

A segunda estrat´egia, usada por Bergo e Falc˜ao (Bergo e Falc˜ao, 2003), consiste em usar o algo- ritmo de segmentac¸˜ao iterativa (watershed iterativo) e, no final de cada passo, aplicar tamb´em um m´etodo de visualizac¸˜ao direta sobre os voxels da cena segmentada. Como no caso anterior, podem ser projetados todos os voxels (voxel splatting) da cena para obter a imagem, ou ainda, podem ser jogados raios (raycasting) a partir da imagem para encontrar os voxels da cena segmentada, cada voxel tendo um r´otulo que identifica o objeto no qual ele foi particionado. Nesse caso, segmentac¸˜ao e visualizac¸˜ao formam dois blocos inde- pendentes tamb´em, mas a segmentac¸˜ao ´e incremental, ela aproveita o resultado anterior (ver o diagrama da figura 4.2). O usu´ario escolhe sementes no primeiro passo para designar objetos e observa a imagem do resultado da segmentac¸˜ao. Caso n˜ao fique satisfeito, ele acrescenta novas sementes e tamb´em eliminadores para remover regi˜oes mal segmentadas. A DIFT processa apenas parte da cena: a parte que vai ser modi- ficada (reconquistada). Por isso, os passos posteriores ao primeiro s˜ao bem mais r´apidos. Essa estrat´egia tem um ganho no processo de segmentac¸˜ao, mas n˜ao na visualizac¸˜ao. Seguem duas propostas novas para tentar aproveitar os passos anteriores no processo de visualizac¸˜ao: o algoritmo de “borda incremental” e o de “imagem incremental”.

cena original Segmentação iterativa

(DIFT) cena segmentada de cena

Visualização imagem

Ações do usuário sementes & eliminadores

Figura 4.2: Segmentac¸˜ao iterativa com visualizac¸˜ao de cena

A primeira proposta posiciona-se do ponto de vista da cena. Ela tenta otimizar o m´etodo de projec¸˜ao de voxels. Com efeito, ela consiste em diminuir o n´umero de voxels a serem projetados, esperando, desse jeito, acelerar a visualizac¸˜ao. No fundo, parte-se da quest˜ao seguinte: Quais s˜ao os voxels realmente vis´ıveis na imagem? Podemos constatar que, no caso de uma visualizac¸˜ao de tipo opaca, apenas os voxels de objeto que s˜ao vizinhos de voxels de fundo s˜ao vis´ıveis. Chamamos esses voxels devoxels de borda. Portanto, qualquer que seja o ˆangulo de visualizac¸˜ao do observador, ´e preciso projetar apenas a borda dos objetos (ver o diagrama da figura 4.3). Economiza-se, desta maneira, a projec¸˜ao dos voxels internos aos objetos (sempre invis´ıveis, pois escondidos pelos de borda), e, obviamente, n˜ao se projetam os voxels de fundo. Tipica- mente, menos de 3% dos voxels das cenas tratadas s˜ao de borda. Por outro lado, para n˜ao perder tempo em detectar a borda dos objetos, ela ´e constru´ıda de maneira incremental. Com efeito, a detecc¸˜ao e atualizac¸˜ao da borda ´e feita durante o processo de segmentac¸˜ao para ganhar tempo. Os processos de segmentac¸˜ao e visualizac¸˜ao j´a n˜ao s˜ao mais totalmente independentes, pois a atualizac¸˜ao da borda ´e embutida no algoritmo da “BDIFT” (DIFT com detecc¸˜ao de Borda). A dificuldade desse m´etodo ´e manter atualizada, em cada passo da segmentac¸˜ao, a borda dos objetos: uma lista de voxels de borda a projetar, como explicamos mais detalhadamente na sec¸˜ao 4.2. Quanto ao usu´ario, ele age da mesma maneira que na estrat´egia precedente: Escolhe sementes e eliminadores para a segmentac¸˜ao e reitera o processo at´e ficar satisfeito.

sementes & eliminadores

Visualização por imagem Ações do usuário cena segmentada borda cena original Atualização da borda durante a Segmentação Iterativa

(BDIFT) projeção da borda

Figura 4.3: Segmentac¸˜ao iterativa com visualizac¸˜ao de borda

A segunda proposta, apresentada com detalhes na sec¸˜ao 4.3, ´e baseada no ponto de vista da ima- gem e n˜ao da cena. Interessa-se nas mudanc¸as que podem ocorrer na imagem, devido `a atualizac¸˜ao da segmentac¸˜ao. Sup˜oe-se que o ˆangulo de visualizac¸˜ao permanece o mesmo. A imagem pode variar de um passo da segmentac¸˜ao para outro, por causa da mudanc¸a de r´otulos atribu´ıdos a certos voxels. Alguns voxels, que pertenciam ao fundo no passo anterior de segmentac¸˜ao, podem ter se tornado objeto e, portanto, aparecer na imagem. Outros, pelo contr´ario, podem desaparecer por serem escondidos neste passo ou por terem se tornado fundo. Ainda outros podem simplesmente ter trocado de r´otulo, isto ´e, de objeto, e permanecer vis´ıveis. Como geralmente se indicam objetos diferentes com (falsas) cores diferentes, a imagem tamb´em deve levar em conta a alterac¸˜ao da cor. Com essas considerac¸˜oes, tentou-se desenvolver um m´etodo baseado na atualizac¸˜ao da imagem que utiliza os dois tipos de t´ecnica de visualizac¸˜ao direta: a projec¸˜ao dos voxels com r´otulo alterado seguida de raycastings para atualizar o conte´udo dos pixels atingidos. Esse m´etodo poderia ser chamado de “display incremental” ou “imagem incremental”, do mesmo modo que a DIFT ´e uma IFT incremental, pois cada passo ´e baseado e aproveita-se do anterior (ver o diagrama da figura 4.4). ´E um m´etodo construtivo.

cena original Segmentação iterativa (DIFT)

Armazena a cena

cena segmentada

antiga cena segmentada

Imagem IncrementalVisualização por imagem

-

sementes & eliminadores Ações do usuário