rastreamento de componentes conexas em v´ıdeo 3d para ... · fundidade da cena ´e obtida por...

Post on 21-Jan-2019

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related