Rastreamento de Componentes Conexas em V´ıdeo 3D para ... · fundidade da cena ´e obtida por...

10
Rastreamento de Componentes Conexas em V´ ıdeo 3D para Obtenc ¸˜ ao de Estruturas Tridimensionais Manuscrito n ´ umero 21829 Resumo Este artigo apresenta um sistema que objetiva a gerac ¸˜ ao de estruturas tridimensionais a partir de v´ ıdeo 3D. O sistema existente obt´ em, em tempo real, usando luz estruturada, tanto o modelo 2 1 2 D dos objetos quanto a textura dos mesmos. ´ E descrita parte do trabalho j´ a desenvolvido, consistindo de duas aplicac ¸˜ oes: (1) um etodo para detecc ¸˜ ao, rastreamento e casamento espa- cial de componentes conexas presentes em um v´ ıdeo 3D e (2) a aplicac ¸˜ ao de uma malha din ˆ amica adaptativa ba- seada em operadores estelares. Na primeira aplicac ¸˜ ao, a informac ¸˜ ao de imagem ´ e combinada com posic ¸˜ oes tri- dimensionais a fim de alinhar partes de superf´ ıcies que ao vistas em quadros subseq¨ uentes. A abordagem que adotamos consiste na detecc ¸˜ ao de caracter´ ısticas sali- entes, tanto no espac ¸o da imagem quanto no do mundo, provendo alinhamentos de textura e de geometria mais completos. J´ a a segunda aplicac ¸˜ ao envolve a construc ¸˜ ao de malhas que podem adaptar-se ` a geometria da su- perf´ ıcie conforme esta evolui. 1. Introduc ¸˜ ao Neste artigo, apresentamos duas aplicac ¸˜ oes desenvol- vidas com v´ ıdeo 3D, al´ em de um m ´ odulo de visualizac ¸˜ ao do mesmo. As aplicac ¸˜ oes s˜ ao (1) detecc ¸˜ ao, rastrea- mento e casamento de componentes conexas (CCs) e (2) aplicac ¸˜ ao de uma malha dinˆ amica adaptativa ` as compo- nentes detectadas. Para realizar a integrac ¸˜ ao dos dados geom´ etricos, pri- meiramente ´ e preciso detectar as componentes conexas presentes em uma cena. Tal necessidade deve-se ao fato de que o casamento entre todas as componentes cone- xas (casamento global) ´ e melhor feito quando cada uma delas ´ e registrada individualmente, uma vez que ´ e elimi- nada a influˆ encia do movimento relativo entre elas. Dado que sistemas de v´ ıdeo 3D geralmente adqui- rem a textura da cena com uma resoluc ¸˜ ao maior que a da geometria da mesma, uma abordagem razo´ avel ´ e uti- Figura 1. Vis˜ ao geral do esquema pro- posto para rastreamento e casamento de componentes conexas em um v´ ıdeo 3D. lizar a textura para melhorar o casamento da geometria. Trata-se de um passo intermedi´ ario importante e este do- cumento cont´ em o estudo que j´ a foi desenvolvido neste sentido. Os primeiros passos dados com o intuito de reali- zar a integrac ¸˜ ao dos dados podem ser discriminados em trˆ es etapas: (1) rastreamento das componentes conexas; (2) identificac ¸˜ ao de pontos salientes correspondentes; (3) estimac ¸˜ ao de uma transformac ¸˜ ao geom´ etrica para o registro tridimensional das componentes conexas. Esta seq¨ encia de passos ´ e esquematizada na Figura 1. Tamb´ em ´ e descrita a gerac ¸˜ ao de malhas para os mo- delos tridimensionais das CCs identificadas. De posse de tais malhas, podemos por fim fazer a integrac ¸˜ ao das mesmas, tomando-as duas a duas e gerando uma ma- lha final que acomode melhor as componentes conexas casadas. Este ´ e um t´ opico que pretendemos abordar na continuac ¸˜ ao deste trabalho.

Transcript of Rastreamento de Componentes Conexas em V´ıdeo 3D para ... · fundidade da cena ´e obtida por...

Rastreamento de Componentes Conexas em Vıdeo 3Dpara Obtencao de Estruturas Tridimensionais

Manuscrito numero 21829

Resumo

Este artigo apresenta um sistema que objetiva ageracao de estruturas tridimensionais a partir de vıdeo3D. O sistema existente obtem, em tempo real, usandoluz estruturada, tanto o modelo 212D dos objetos quantoa textura dos mesmos.E descrita parte do trabalho jadesenvolvido, consistindo de duas aplicacoes: (1) ummetodo para deteccao, rastreamento e casamento espa-cial de componentes conexas presentes em um vıdeo 3De (2) a aplicacao de uma malha dinamica adaptativa ba-seada em operadores estelares. Na primeira aplicacao,a informacao de imageme combinada com posicoes tri-dimensionais a fim de alinhar partes de superfıcies quesao vistas em quadros subsequentes. A abordagem queadotamos consiste na deteccao de caracterısticas sali-entes, tanto no espaco da imagem quanto no do mundo,provendo alinhamentos de textura e de geometria maiscompletos. Ja a segunda aplicacao envolve a construcaode malhas que podem adaptar-sea geometria da su-perfıcie conforme esta evolui.

1. Introducao

Neste artigo, apresentamos duas aplicacoes desenvol-vidas com vıdeo 3D, alem de um modulo de visualizacaodo mesmo. As aplicacoes sao (1) deteccao, rastrea-mento e casamento de componentes conexas (CCs) e (2)aplicacao de uma malha dinamica adaptativaas compo-nentes detectadas.

Para realizar a integracao dos dados geometricos, pri-meiramentee preciso detectar as componentes conexaspresentes em uma cena. Tal necessidade deve-se ao fatode que o casamento entre todas as componentes cone-xas (casamento global)e melhor feito quando cada umadelase registrada individualmente, uma vez quee elimi-nada a influencia do movimento relativo entre elas.

Dado que sistemas de vıdeo 3D geralmente adqui-rem a textura da cena com uma resolucao maior que ada geometria da mesma, uma abordagem razoavele uti-

Figura 1. Vis ao geral do esquema pro-posto para rastreamento e casamento decomponentes conexas em um vıdeo 3D.

lizar a textura para melhorar o casamento da geometria.Trata-se de um passo intermediario importante e este do-cumento contem o estudo que ja foi desenvolvido nestesentido.

Os primeiros passos dados com o intuito de reali-zar a integracao dos dados podem ser discriminados emtres etapas: (1) rastreamento das componentes conexas;(2) identificacao de pontos salientes correspondentes;(3) estimacao de uma transformacao geometrica para oregistro tridimensional das componentes conexas. Estasequencia de passose esquematizada na Figura 1.

Tambeme descrita a geracao de malhas para os mo-delos tridimensionais das CCs identificadas. De possede tais malhas, podemos por fim fazer a integracao dasmesmas, tomando-as duas a duas e gerando uma ma-lha final que acomode melhor as componentes conexascasadas. Estee um topico que pretendemos abordar nacontinuacao deste trabalho.

2. Vıdeo 3D

A aquisicao e manipulacao de informacao de vıdeo3D e um topico chave da pesquisa recente em VisaoComputacional e Computacao Grafica [6; 15]. Ha variosproblemas importantes em aberto naarea e que a pes-quisa no estado da arte comecou a tratar nosultimostempos.

A aquisicao dos dadose realizada por um sistemaproposto recentemente conhecido comoVıdeo 4D[14],o qual prove ambas as informacoes degeometriae tex-tura dinamicas da cena em tempo real (taxa de amostra-gem de 30 quadros por segundo). Este sistemae partede um projeto para a obtencao devıdeo 4-dimensional,quee um conceito recente. Um vıdeo 4D pode ser en-tendido comoobjetos 3D genericos variando no decor-rer do tempo.

A ideia principal por tras do conceito de Vıdeo 4De a construcao incremental da geometria estruturada dacena, ou seja, a geracao de informacao 3D completaacu-muladacom o passar do tempo (4D = 3D + tempo). Estaideia representa um passo alem do tradicional vıdeo deprofundidade (range video) no qual cada quadro forneceinformacao de profundidade a partir do ponto de vista dacamera (ou seja, imagensrange). O conceito de Vıdeo4D abre novas possibilidades interessantes e que forammuito pouco exploradas ate agora. Ate onde sabemos,ainda nao ha metodo algum que tenha resolvido com-pletamente este problema.

A maior dificuldadee como integrar a informacao21

2D de cada quadro ao longo do tempo. Um passo in-termediario necessario e o rastreamento e o casamentoda estrutura de objetos 3D presentes no decorrer dovıdeo. O fato de os objetos poderem serdeformaveis(ouseja,nao-rıgidos) representa uma dificuldade adicionalde todo o processo.

2.1. A Plataforma de Vıdeo 3D

O sistemae uma plataforma completa para vıdeo3D, constituıda por dispositivo de aquisicao, processa-mento de dados, modulo de transmissao e modulo devisualizacao. Este sistema gera vıdeo 3D em tempo reala partir de uma diversidade de cenas.

O dispositivo de aquisicao emprega estereo ativo,sendo composto por uma camera de vıdeo e um proje-tor, sincronizados e calibrados tanto geometrica quantofotometricamente. O modulo de processamento de da-dos extrai informacao sobre profundidade a partir de umcodigo de luz estruturada. O modulo de transmissao tratada entrada e saıda de dados, bem como da compressaoe descompressao do fluxo dos mesmos. Finalmente, o

modulo de visualizacao renderiza vıdeo 3D por meio dautilizacao de geometria dinamica baseada em pontos.

O dispositivo de aquisicao e construıdo comequipamento de vıdeo NTSC facilmente encon-trado no mercado. Isto traz diversas vantagens, taiscomo uma boa relacao custo-benefıcio, facilidade desincronizacao, compatibilidade e muitas opcoes de ca-nais de distribuicao.

2.2. Aquisicao de Vıdeo 3D em Tempo Real

Para detectar componentes geometricamente cone-xas em uma cena, o sistema de captura 3D deve for-necer imagens e geometria de alta qualidade em temporeal. Qualidadee crucial para a obtencao de analisese sınteses precisas. O tempo reale necessario para aexploracao de coerencia no tempo e para a captura demovimentos sutis de componentes conexas, bem comopara a reducao de problemas de casamento durante aanalise espaco-temporal.

2.2.1. O Metodo (b, s)-BCSL A reconstrucao da pro-fundidade da cenae obtida por meio de triangulacao dascorrespondencias entre a camera e o projetor. A chavede todo o processo de modelagem 3D do sistemae ba-seada em uma extensao do metodo (b, s)-BCSL de co-res [10] para trabalhar comcenas dinamicas, por meioda combinacao com um vıdeo sincronizado.

O codigo (b, s)-BCSL fornece um eficiente es-quema de correspondencia camera/projetor. Trata-sede um codigo para fronteira de luz colorida estrutu-rada, a qual consiste de uma sequencia des padroesde faixas a serem projetados, cada um comb co-res. O uso de padroes complementarese necessariopara detectar, de forma robusta, transicoes de fai-xas e cores. O sistema utiliza 6 cores que podem serdetectadas, sem ambiguidades, por meio de cruzamen-tos com zero: vermelha, verde, azul, ciano, magentae amarela. Este conjunto de corese geralmente refe-renciado pela sigla RGBCMY, aludindoas iniciais dosnomes destas na lıngua inglesa.

Em nossos experimentos, foi adotado um codigo (6,2)-BCSL, ou seja, 2 padroes compostos pelas 6 corescitadas, o que caracteriza mais de 900 combinacoes defaixas possıveis. Dois padroese o mınimo permitido. Aconfiguracao escolhida fornece a melhor razao entre acoerencia espaco-temporal e o comprimento do codigo.

O que o sistema emprega, na realidade,e umasequencia de pares de padroes complementares:S1S1S2S2. Toda faixa coloridae projetada e se-guida pela projecao de uma outra faixa que pos-sua uma cor complementar, a fim de facilitar a deteccao,de forma robusta, das fronteiras das faixas. Este calculo

Figura 2. Decodificac ao das transic oes defaixas.

e feito a partir da diferenca das duas imagens resul-tantes. As fronteiras das faixas tornam-se cruzamentoscom zero nas imagens consecutivas e podem ser detec-tadas com precisao sub-pixel.

Um padrao S1 e uma imagem composta por diver-sas faixas verticais coloridas, de forma que o padraoS1

e uma outra imagem, tambem composta por faixas verti-cais de mesma largura e posicao que as faixas do padraoS1, so que com cores complementares. Este esquema fazcom que a identificacao do codigo seja muito robusta e alocalizacao das fronteiras mais precisa. A reconstrucaocompleta de uma geometriae obtida apos a projecaode um padrao S1 e seu complementoS1 seguida pelaprojecao de um padraoS2 e seu complementoS2.

Ha uma outra vantagem na utilizacao de padroescomplementares: foi verificado, empiricamente, que pa-res de padroes de cores complementares, quando proje-tados a 120Hz, sao percebidos comoluz branca cons-tante. Assim, o codigo (b, s)-BCSL complementadotorna possıvel realizar a captura simultanea tanto da ge-ometria quanto da textura da cena 3D. Ele tambem fazcom que a construcao de mascaras de sombra seja umatarefa trivial.

Para a construcao da correspondencia camera/proje-tor, projeta-se uma subsequencia de dois padroes na cenae detectam-se as cores e as fronteiras das faixas pro-jetadas a partir da imagem obtida por uma camera dealta velocidade. As quatro cores projetadas, duas paracada padrao, detectadas proximas a qualquer fronteira,sao unicamente decodificadas para a faixa projetada deındice p (reffig:decode). A coluna correspondente noespaco do projetore detectada emO(1) utilizando oprocesso de decodificacao (6, 2)-BCSL. A profundidadee entao calculada pelos parametros intrınsecos do parcamera/projetor e pela transformacao rıgida entre seus

Figura 3. Esquema de captura envol-vendo quadros do vıdeo de entrada e asequ encia de saıda da textura e da geo-metria.

sistemas de referencia.O codigo (6, 2)-BCSL pode ser facilmente combi-

nado com vıdeo. Cada quadro de vıdeo com resolucao640× 480 no padrao NTSCe composto por dois campos640× 240 entrelacados. Cada campoe exposto/captu-rado em 1/60 de segundo. A camera e o projetor sao sin-cronizados utilizando-segenlock (do ingles generatorlock ), que se trata de uma tecnica comumente usada pararealizar a sincronizacao da saıda de vıdeo de um equipa-mento com a captura de vıdeo de outro. Para a projecao,e gerada uma sequencia de quadros intercambiando osdois padroes que sao codificados com seus correspon-dentes complementos com campos em umunico quadro.Este sinal de vıdeoe enviado ao projetor e conectadoaentradagenlock da camera. A soma dos dois camposfornece uma imagem de textura e sua diferenca resultanas cores e fronteiras das faixas projetadas. A aquisicaocompleta da geometria e da texturae ilustrada na Fi-gura 3.

Este sistemae adequado para o rastreamento de com-ponentes porque mantem um bom balanco entre a detec-cao de textura, geometria e movimento. Nossos vıdeosforam obtidos por meio da projecao de 70–90 faixas so-bre as cenas, com diferentes escalas. Sao utilizados umacamera Sony HyperHAD e um projetor Infocus LP-70.

2.3. Pipeline do Sistema

A Figura 4 nos da uma visao geral dopipeline do pro-cessamento 3D. A sequenciaS1S1S2S2 de padroes defaixase projetada sobre a cena (Figura 4(a)). Para cadaparSkSk, sao inferidas as cores das faixas (Figura 4(b))e as respectivas fronteiras (Figura 4(c)). Na sequencia,codigos de fronteira sao derivados a partir de padroes

(a) (b)

(c) (d)

(e) (f)

Figura 4. Sequ encia de passos do sistemade vıdeo 3D.

Sij que se casam. Textura e mascara de sombra sao ob-tidas pela combinacao das imagensSkSk (Figura 4(d)).A profundidadee calculada por meio da triangulacaodas correspondencias de fronteira na camera e no proje-tor, seguida por interpolacao (Figura 4(e)). Finalmente,o vıdeo 3De montado, transmitido e visualizado (Fi-gura 4(f)).

A observacao chave que explica porque a codificacao(b, s)-BCSL funciona bem para cenas dinamicase queas fronteiras das faixas projetadas alteram muito poucode um quadro para outro, mesmo quando objetos dacena movem-se rapidamente. A obstrucao de frontei-ras ocorre somente devido ao movimento dos objetos nafrente da camera.

3. Rastreamento e Registro deComponentes Conexas 3D

Um dos problemas importantes em aberto nasareasde Visao Computacional e Computacao Graficae o ras-treamento e o casamento decomponentes conexasgeo-

metricamente em um vıdeo 3D. A presente secao des-creve uma nova solucao para este problema, a quale ob-tida por meio da integracao das informacoes degeome-tria e detexturafornecidas pelo vıdeo 3D.

Para cuidar deste problema, nossa abordagem iniciacom a identificacao de componentes conexas tridimensi-onais, em cada quadro, que representem objetos comple-tos ou partes de objetos. Os proximos passos necessariossao:

① rastrear as componentes conexas;

② identificar pontos salientes correspondentes;

③ estimar a transformacao geometrica para registro 3Ddas componentes conexas.

3.1. Visao Geral da Abordagem Proposta

A Figura 1 ilustra nossa abordagem para o rastrea-mento de componentes conexas 3D. Dois quadros sub-sequentes sao esquematicamente exibidos (denotadoscomo quadrot−1 e quadrot). Primeiramente, as compo-nentes conexas sao detectadas para cada quadro. O pro-cedimento de rastreamento identifica qual componenteconexa no quadrot− 1 corresponde a qual no quadrot.

Uma vez que as CCs tenham sido rastreadas ao longoda sequencia de vıdeo, o proximo passoe casar cada parde CC nos quadros subsequentes. Com o objetivo de ca-sar as CCs de uma maneira eficiente, tres passos sao se-guidos:

① Pontos salientes sao detectados no quadrot;

② Os pontos correspondentes sao identificados no qua-dro t− 1;

③ Um alinhamento entre os pontos correspondentes nosquadrost− 1 e t e executado.

A resolucao da texturae maior que a da geometriaporque foi adotadoestereo ativo(luz estruturada) paraobter informacao de geometria 3D. Baseado no conceitoda taxa de Nyquist, a resolucao da textura precisa serpelo menos duas vezes a da geometria. Em nossos ex-perimentos, elae mais que o dobro. A imagem da tex-tura prove caracterısticas visuais a serem exploradas en-quanto a geometria fornece caracterısticas geometricas(forma) dos objetos na cena. Ambas sao exploradas deuma forma complementar.

O sistema de captura de vıdeo 3D envolve tres siste-mas de coordenadas diferentes:

Sistema de coordenadas 2D:e o domınio parametricoda imagem da textura, assim como para a ima-gem de profundidade (istoe, geometria). Para cadaponto (u, v) na imageme associada uma funcaode corc(u, v) = (R(u, v), G(u, v), B(u, v)) assim

como uma informacao de profundidaded(u, v).Conforme explicado na Secao 2.2, a informacao deprofundidade naoe calculada pelo sistema para to-dos os pontos(u, v), mas ela pode ser obtida porinterpolacao dos pontos de amostragem. Usamos anotacaoc(u, v, t) ed(u, v, t) para denotar a texturae a imagem de profundidade do quadro no tempot,respectivamente.

Sistema de coordenadas da camera: este sistema decoordenadase dado pelos parametros intrınsecos(por exemplo, distancia focal, taxa de aspectoe centro de projecao) e extrınsecos (translacaoe rotacao) da camera. Baseando-se na parame-trizacao (u, v) da imagem, e possıvel calcu-lar a posicao de um ponto da cena visto pelacamera: consideremos um pontoP amostradona imagem de profundidade associado ao pi-xel p = (u, v) e com profundidadewP = d(u, v).Podemos calcular o vetor direcao de P comov = (P − O)/||P − O||, em queO e a origemdo centro de projecao. Todos os pontos pertencen-tes ao raio de visao determinado porO e P sao daformar(w) = O + wv, em que o parametrow in-dica a distancia ate a origem O na direcaode v. Entao, a coordenada do pontoP da su-perfıcie e dada, no sistema de coordenadas dacamera, porP = r(wP ) = O + wP v;

Sistema de coordenadas do mundo:e o sistema decoordenadas global da cena, no qual elementos dacamera e da cena estao embutidos. Uma vez quetanto os elementos da camera quanto da cena po-dem se mover, suas posicoes e orientacoes saodependentes do tempo.

3.2. Deteccao de Componentes Conexas

O primeiro passo para a deteccao de componentes co-nexase a construcao de um grafo de conexao de pontos3D. De modo simples, pontos cuja proximidade seja me-nor que um determinado limiarl sao ditosconexos. Umacomponente conexae um grafo isolado de pontos co-nexos. Abordagens ingenuas para a construcao de taisgrafos podem possuir um tempo de complexidade muitoalto.

Os metodos de decodificacao usados em sistemasestereo ativo fornecem automaticamente informacao lo-cal que pode ser usada para a deteccao de componentesconexas. As coordenadasj (linha no espaco da camera)e p (numero do plano projetado) de um ponto 3D defi-nem uma topologia intrınseca.

Na verdade, pontos que estao proximos no espacodiscreto(j, p) sao fortes candidatos a estarem proximos

Figura 5. Area de sobreposic ao em qua-dros subsequentes.

no espaco 3D. Isto nem sempree verdade devido a des-continuidades na profundidade da cena. Por outro lado,pontos distantes no espaco(j, p) tambem estao distantesno espaco 3D. Portanto, o uso de uma tabela(j, p) re-duz significativamente o espaco de busca para o calculodo grafo de conexao e dos diferentes componentes.

Neste esquema, dois pontos estao conectados se elessaok-vizinhos na tabela(j, p) e se a distancia que os se-para no espaco 3De menor que o limiarl. E necessarioter cuidado porque a resolucao dej e tipicamente muitomaior que a resolucao dep e, consequentemente, suasunidades sao diferentes.

3.3. Rastreamento de Componentes Conexas

Como as CCs sao segmentadas quadro a quadro inde-pendentemente,e necessario implementar um procedi-mento de rastreamento para identificar qual CC no qua-dro t − 1 corresponde a qual no quadrot. Diferenteseventos importantes precisam ser tratados pelo procedi-mento de rastreamento, tais como: CCs moveis que mu-dam de forma; novas CCs que aparecem na cena; com-ponentes conexas antigas que desaparecem (por exem-plo, movendo-se para fora da cena); CCs que se unem(por exemplo, dois objetos diferentes que se tocam emalgum instante); CCs que se dividem (por exemplo, ob-jetos que se tocavam e que separam-se movendo-se cadaum para um lado).

O procedimento de rastreamento proposto consideraquadros consecutivos de modo que possamos explorar ofato de que cada CC realiza pequenos movimentos en-tre quadros subsequentes devidoa alta taxa de aquisicao(30 quadros por segundo). Em tais casos, espera-se quea interseccao de uma CCc em um quadrot com suacorrespondente CC no quadrot − 1 seja grande. Ainterseccao entre as CCs em quadros subsequenteseusada para rastrear as CCs (veja a Figura 5).

SejaL = {l1, l2, . . . , l|L|} um conjunto de rotulosde CCs em cada quadro. Rastrear uma componente co-nexa pode ser visto como a determinacao de um ma-peamentoM : L → L tal que, para cada quadro notempot, se uma CC possui rotulo lx em um quadro notempo t − 1 e rotulo ly no quadro no tempot, entao

M(ly) = lx. A imagem de profundidaded(u, v, t) eusada para construirM . Para cada CCc no tempot,a interseccao entrec e todas as CCs no tempot − 1 ecalculada. Somente as componentes conexas no tempot − 1 com uma interseccao maior que um limiar defi-nido a priori sao consideradas como candidatas. Sejamc1, c2, . . . , cn estas CCs candidatas no quadrot − 1. Adiferenca media entre as coordenadas de profundidadedec ec1, c2, . . . , cn e calculada e a CC emt−1 que mi-nimiza esta diferencae escolhida como a candidata fi-nal:

m(c, ci) =1

|c ∩ ci|∑

(u,v)∈c∩ci

|d(u, v, t)−d(u, v, t−1)|

i = 1, 2, . . . , n. Um limiar de distancia maximodmax edeterminado de modo que, semini m(c, ci) > dmax,entao nenhum mapeamento entre os quadrost − 1 et e criado parac. Neste caso,c e considerada comosendo uma nova CC que surgiu no quadrot, ou seja,ela nao estava presente no quadrot− 1. Um novo rotuloe entao atribuıdo ac. Em nossos experimentos, utiliza-mosdmax = 1.5 e a interseccao mınima aceitavel foi de30% daarea da componente conexa sendo analisada.

3.4. Casamento de Componentes Conexasusando Informacoes da Textura e daGeometria

Uma vez que as CCs sao rastreadas, cada par de CCscorrespondentes em quadros subsequentes deve ser ali-nhado. Istoe feito por meio da aplicacao do algoritmoiterativo de pontos mais proximos (ICP) [1] a um con-junto de pontos salientes selecionados a partir das CCs.O algoritmo ICPe amplamente utilizado para o alinha-mento de modelos tridimensionais baseando-se somentena geometria, eas vezes na cor, das malhas. Tres pas-sos sao seguidos a fim de selecionar os pontos que ali-mentam o algoritmo ICP:

① Alinhamento da textura: As porcoes da textura cor-respondentesas CCs consideradas sao extraıdas e ca-sadas por meio de correlacao. O ponto maximo decorrelacao das duas porcoes de texturac(u, v, t) ◦c(u, v, t− 1) indica a translacao que uma porcao de-veria sofrer a fim de ocorrer um casamento com aoutra. Uma correspondencia ponto a ponto entre asduas porcoesc(u, v, t) e c(u, v, t − 1) e entao esta-belecida. A principal vantagem de usar textura paracriar esta correspondencia entre dois quadros, em vezda geometria,e a alta resolucao apresentada pelo pri-meiro;

② Identificacao de pontos salientes nos dados da ge-ometria (quadro t): Os dados da geometriad(u, v)

representam a informacao de profundidade medidaao longo dos padroes de luz projetados na cena. Osconjuntos de pontos maximo e mınimo locais aolongo de cada faixa de luz no quadrot sao tomadoscomo pontos salientes. Estes pontos sao identifica-dos por meio de diferenciacao numerica ded(u, v, t)ao longo de cada faixa de luz;

③ Identificacao de pontos salientes corresponden-tes nos dados de geometria (quadrot − 1): Aposicao na texturac(u, v, t) de cada ponto saliente ded(u, v, t) e identificada. Devido ao procedimento dealinhamento por correlacao da textura, esta tambeme a posicao dos pontos salientes na imagem alinhadada texturac(u, v, t− 1). E importante notar que, de-vido a alta resolucao da imagem da textura, a posicaode um ponto saliente no quadrot−1 pode nao ter umponto correspondente amostrado nos dados da geo-metria do quadrot− 1. Portanto, o ponto saliente noquadrot− 1 e obtido por interpolacao dos pontos dageometria.

O procedimento acima leva a dois conjuntos de pon-tos salientes correspondentes dos dados da geometriados quadrost e t−1. Estes dois conjuntos de pontos saoentao registrados usando o algoritmo ICP, enfim produ-zindo o resultado desejado.

3.5. O Algoritmo ICP (Iterative Closest Point)

O algoritmo ICP foi introduzido por Besl e Mc-Kay [1] e tornou-se a principal tecnica para o registrode conjuntos de dados 3D. O algoritmo recebe dois con-juntos de dados 3D como entrada. SejamP e Q doisconjuntos de dados contendoNp e Nq pontos respecti-vamente. Ou seja,P = {pi}, i = 1, . . . , Np eQ = {qi},i = 1, . . . , Nq. O objetivo e calcular uma matriz derotacao R e um vetor de translacao t tais que o con-junto transformadoP ′ = RP + t fique bem alinhadocomQ. Segue abaixo um sumario do algoritmo (veja aFigura 6 para uma ilustracao do funcionamento do ICP).

① Inicializacao: k = 0 ePk = P .

② Calculo do ponto mais proximo: Para cada pontoem Pk, calcula o ponto mais proximo emQ. Con-sequentemente, produz um conjunto de pontos maisproximosC = {ci}, i = 1, . . . , Np em queC ⊂ Q eci e o ponto mais proximo api.

③ Calculo do registro: Dado o conjunto de pontosmais proximos C, a funcao objetivo de quadradosmedios a ser minimizadae:

f(R, t) =1

Np

Np∑i=1

||ci −Rpi − t||2

Figura 6. Ilustrac ao do algoritmo ICP.

Note quepi e um ponto do conjunto originalP , naode Pk. Portanto, o registro calculado aplica-se aoconjunto de dados originaisP ao passo que os pon-tos mais proximos sao calculados usandoPk.

④ Aplicacao do registro:Pk+1 = RP + t.

⑤ Se a precisao desejada para o registroe alcanca-da: Finalize a iteracao.Senao: k = k + 1. Repita os passos 2–5.

4. Biblioteca de Malha Dinamica Adapta-tiva baseada em Operadores Estelares

Na continuacao deste trabalho, foi utilizada uma bi-blioteca de malhas chamada A48 [11; 12]. Tal biblio-teca mantem uma triangulacao uniforme de superfıciesque variam com o tempo. O usuario fornece uma malhainicial, um procedimento de amostragem da superfıcie eum conjunto de criterios de adaptacao. Conforme a su-perfıcie sofre alteracoes com o tempo, a malhae automa-ticamente modificada, a fim de manter-se segundo as ca-racterısticas definidas pelo usuario. A representacao damalhae baseada em uma estrutura de dados conhecidapor meia-aresta, desprovida de qualquer requisito ex-tra para armazenamento. A malha possui uma estruturasubjacente de multiresolucao semi-regular. Alem disso,a especificacao das caracterısticas da malha desejadapode ser baseada em regras de adaptacao muito gerais.Este esquema facilita o desenvolvimento de aplicacoesgraficas que manipulam superfıcies trianguladas.

4.1. Visao Geral

Malhas poligonais sao indiscutivelmente a repre-sentacao mais comum para superfıcies em ModelagemGeometrica e Computacao Grafica.

Em muitas aplicacoes, a superfıciee dinamica e mudasua forma com o passar do tempo. Isto abrange umgrande numero de problemas, da animacao de corpos de-formaveisa multiescala progressiva para transmissao evisualizacao. Ha outras aplicacoes em que a forma da su-perfıciee fixa, mas a discretizacao da mesma deve ser al-terada por razoes computacionais. Isto ocorre, por exem-plo, no caso de simulacoes de elemento finito (FEM, doinglesFinite Element Simulations) com corpos rıgidos.

Esta subsecao apresenta um esquema simples paracriacao e manutencao da representacao de uma malhade superfıcies que variam com o passar do tempo e quetrata de todos os requisitos mencionados acima. Comoum benefıcio adicional, a representacao da malha pos-sui uma estrutura subjacente de multiresolucao semi-regular, a qual pode ser explorada de diversas formas.A presente descricao baseia-se no artigo em que a bibli-oteca A48 foi apresentada [11].

Mais especificamente, as caracterısticas relevantesdeste programa sao:

☞ Uma biblioteca de malha dinamica adaptativa sim-ples baseada nameia-aresta, uma estrutura de da-dos topologica padrao. A implementacao destanova funcionalidade de multiresolucao adapta-tiva nao requer nenhum armazenamento extra narepresentacao. Tambem, uma vez que a meia-arestae largamente adotada,e facil incorporar a biblio-teca em muitas aplicacoes.

☞ Uma API mınima para criacao e adaptacao de ma-lhas. Esta interface complementa os tradicionaisoperadores de consulta topologica e consiste de ape-nas poucas funcoes.

☞ Uma estrutura de malhas conforme, que altera dina-micamente sua resolucao baseada em criterios defi-nidos pelo usuario. Isto torna as potencialidades deadaptacao associadas muito gerais e poderosas.

☞ Um mecanismo efetivo para o refinamento ea simplificacao de malhas semi-regulares quemantem uma estrutura de multiresolucao res-trita. Este mecanismoe baseado no conceito de umamulti-triangulacao binaria restrita e na teoria este-lar.

A representacao de malha dinamica da bibliotecaA48 possui uma estrutura subjacente de multiresolucao.Representacoes de multiresolucao podem ser definidaspor meio de operacoes locais ou globais em uma ma-lha [3]. Com o objetivo de dar suportea adaptacao,a estrutura de dados de multiresolucao deve ser cons-truıda usando operacoes locais. Malhas progressivas [5]constituem um exemplo de tal estrutura de dados. Ou-tro exemploe a malha 4-K hierarquica [13]. Neste tipo

Figura 7. Malha din amica adaptativa.

Figura 8. Rastreamento de componentesconexas em vıdeo.

de representacao, diferentes malhas podem ser extraıdasdinamicamente a partir da estrutura de dados. Contudo,operacoes locais precisam ser explicitamente armazena-das. No esquema em questao, somente a malha atuale armazenada na representacao. Os movimentos legaisque alteram a resolucao da malha sao definidos implici-tamente.

A Figura 7 mostra um exemplo da malha aplicada auma superfıcie bidimensional (a esquerda) e apos seremrealizadas duas refinacoes e considerar o limiar na me-tade da malha (a direita).

5. Resultados Experimentais

Nesta secao, apresentamos resultados experimentaisusando sequencias de vıdeo 3D. A Figura 8 mostra a

Figura 9. Casamento de texturas.

(a) (b) (c)

Figura 10. Translac ao baseada no casa-mento de textura.

informacao de textura de tres quadros de uma sequenciade vıdeo (coluna da esquerda) juntamente com os cor-respondentes dados de geometria segmentada (coluna dadireita). No primeiro quadro (linha do topo) ha uma pes-soa em frente a um fundo plano, portanto definindo duascomponentes conexas no espaco da geometria. As CCssao codificadas por meio de cores diferentes.A medidaque a pessoa se move, as CCs correspondentes sao ras-treadas conforme esperado.

Um exemplo da informacao de textura e da seg-mentacao correspondente usando a geometria daCC e mostrado na Figura 9. Esta textura segmen-tadae usada pelo procedimento de alinhamento de tex-tura para criar um mapeamento entre as texturas de qua-dros subsequentes, como mostrado na Figura 10. Nela,(a) e (b) mostram a textura de uma CC nos qua-drost − 10 e t, respectivamente. Em (c) vemos o qua-dro t transladado em(u, v) = (1, 71) com relacaoao quadrot − 10 e sobreposto a esteultimo. O qua-dro t e mostrado com 50% de transparencia. Usamosuma diferenca de 10 quadros apenas com o propositode uma melhor visualizacao. Em quadros consecuti-vos, a translacao geralmentee pequena. Os pontos sali-entes anteriormente calculados para o quadro mostradona Figura 11(a) sao mostrados na Figura 11(b), junta-mente com seus pontos salientes interpolados corres-pondentes no quadro anterior (Figuras 11(c) e 11(d)). Ospontos salientes casados resultantes da aplicacao do al-goritmo ICP (o programaScanalyzetem sido usadoem nossos experimentos—http://graphics.stanford.edu/software/scanalyze/ ) saomostrados na imagem (a) da Figura 12, corroborando as-sim o metodo introduzido. A imagem (b) mostra um

(a) (b)

(c) (d)

Figura 11. Dados de profundidade e pon-tos salientes.

(a) (b)

Figura 12. Casamento realizado pelo algo-ritmo ICP.

outro conjunto de pontos alinhados de acordo com a Fi-gura 10.

A Figura 13 mostra a aplicacao da malha dinamicaadaptativa sobre a superfıcie de um quadro obtido a par-tir de um vıdeo 3D.

Para tornar possıvel o experimento de novos algo-ritmos com os dados oriundos do vıdeo 3D, deu-seinıcio a implementacao de um sistema de visualizacao

Figura 13. Malha A48 no vıdeo 3D.

Figura 14. Aplicac ao do sistema de visua-lizac ao.

do mesmo, cuja aplicacao e mostrada na Figura 14.Nela temos, de cima para baixo, da esquerda para adireita: decimacao quadrica com 80% de reducao dosdados, mapeamento de cores segundo a profundidade,renderizacao estereo vermelho-azul e efeito de borra-mento por movimento da camera.

6. Discussao e Conclusao

O metodo para rastreamento e casamento de com-ponentes conexas apresentado tem se mostrado efetivoem nossos experimentos, sendo conveniente para rea-lizar a integracao de vıdeos 3D. Estee um passo im-portante para a construcao do vıdeo 4D por meio daacumulacao da geometria no tempo. O metodo lida cor-retamente com diferentes eventos que podem ocorrer du-rante o vıdeo, tais como o surgimento, desaparecimentoe a divisao de CCs.

Uma das originalidades previstas por este trabalhomostra-se tanto na reuniao inedita de tecnicas ja co-nhecidas como na melhoria e adaptacao do algoritmoICP aos dados oriundos de um vıdeo 3D, objetivandoa modelagem tridimensional. Com isso, sera obtido umavanco inicial em direcao ao conceito de vıdeo 4D [14].

6.1. Trabalhos Futuros

Embora o programa ICP adotado leve a resultados sa-tisfatorios, parte de nosso trabalho atual esta focado noaperfeicoamento da implementacao do ICP de modo apermitir o registro de CCs em tempo real [2; 4; 7–9].Isto sera feito a partir de alguma biblioteca ja imple-mentada e disponıvel, possibilitando o desenvolvimentode uma interface para trabalhar com os dados forneci-dos pelo sistema de vıdeo 3D.

Filtros de Kalman serao aplicados a fim de acelerartodo o processo de vıdeo 4D por meio da combinacaode diferentes fontes de dados disponıveis para predizera posicao e a pose das CCs conforme novos quadros saoadquiridos.

Uma aplicacao que se tem em mentee o rastreamentode faces em cenas de vıdeo, envolvendo a segmentacaoe a reconstrucao 3D das mesmas.

Finalmente, um procedimento para a uniao de formasusando a informacao de registro das CCs esta atualmenteem desenvolvimento e sera divulgado no devido tempo.

Referencias Bibliograficas

[1] P. J. Besl and N. D. McKay. A method for registration of3-D shapes.IEEE Transactions on Pattern Analysis andMachine Intelligence, 14(2):239–256, Fevereiro 1992.

[2] G. Dalley. A software test-bed for the registration of3D range images. Master’s thesis, Ohio State Univer-sity, 2000.

[3] M. Garland. Multiresolution modeling: Survey & futureopportunities. InEurographics’99, State of the Art Re-port (STAR), 1999.

[4] S. Gupta, K. Sengupta, and A. A. Kassim. Compressionof dinamic 3D geometry data using iterative closest point

algorithm. Computer Vision and Image Understanding,87:116–130, 2002.

[5] H. Hoppe. Efficient implementation of progressivemeshes.Computer and Graphics, 22(1):27–36, 1998.

[6] P. S. Huang, C. Zhang, and F.-P. Chiang. High-speed3-D shape measurement based on digital fringe projec-tion. Optical Engineering, 42(1):163–168, 2003.

[7] A. Johnson and S. B. Kang. Registration and integrationof textured 3D data.Cambridge Research Laboratory -Technical Report Series, Outubro 1996.

[8] T. Masuda and N. Yokoya. A robust method for registra-tion and segmentation of multiple range images.Com-puter Vision and Image Understanding, 61(3):295–307,5 1995.

[9] S. Rusinkiewicz and M. Levoy. Efficient variants of theICP algorithm. Third International Conference on 3DDigital Imaging and Modeling, 2001.

[10] A. Sa, P. C. Carvalho, and L. Velho. (b, s)-BCSL: Struc-tured light color boundary coding for 3D photography.In Proceedings the 7th Fall Workshop on Vision, Mode-ling, and Visualization, 2002.

[11] L. Velho. A dynamic adaptive mesh library based onstellar operators.Journal of Graphics Tools, 9(2):1–29,2004.

[12] L. Velho. A48: A dynamic adaptive mesh library, 2006.http://w3.impa.br/˜lvelho/a48/ .

[13] L. Velho and J. Gomes. Variable resolution 4-K meshes:Concepts and applications.Computer Graphics Forum,19:195–212, 2000.

[14] M. B. Vieira, L. Velho, A. Sa, and P. C. Carvalho. Acamera-projector system for real-time 3D video. InPro-ceedings of IEEE International Workshop on Projector-Camera Systems (PROCAMS), San Diego, California,USA, Junho 2005. Em conjunto com CVPR 2005.

[15] L. Zhang, N. Snavely, B. Curless, and S. M. Seitz. Space-time faces: High resolution capture for modeling and ani-mation.ACM Transactions on Graphics, 23(3):548–558,2004.