alinhamento de mapas 3d icp - iterative closest point algorithm baseado em trabalhos de p. besl, n....

32
Alinhamento de Mapas Alinhamento de Mapas 3D 3D “ICP - Iterative “ICP - Iterative Closest Point Closest Point Algorithm” Algorithm” Baseado em Trabalhos de Baseado em Trabalhos de P. Besl, N. Mckay, Szymon P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Rusinkiewicz, Marc Levoy Zhengyou Zhang, Y. Chen, Zhengyou Zhang, Y. Chen, Medioni Medioni

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

Alinhamento de Mapas 3DAlinhamento de Mapas 3D“ICP - Iterative Closest “ICP - Iterative Closest

Point Algorithm”Point Algorithm”

Baseado em Trabalhos de Baseado em Trabalhos de

P. Besl, N. Mckay, Szymon P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc LevoyRusinkiewicz, Marc Levoy

Zhengyou Zhang, Y. Chen, Zhengyou Zhang, Y. Chen, MedioniMedioni

Page 2: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Reconstrução de modelos 3D Reconstrução de modelos 3D ??

1

15

8

6

2

AplicaçõesAplicações

• ReengenhariaReengenharia

• Produção de conteudos multimédiaProdução de conteudos multimédia

• Preservação de arte e aquitecturaPreservação de arte e aquitectura

• Modelização da superfice terrestreModelização da superfice terrestre

• Modelos - para sistemas de visãoModelos - para sistemas de visão

conversãoem meshes

(scanning, triangulação)

alinhamento

(pair-wise registration)

Integração,fusão

alinhamento global

(multi-viewregistration)

modelofinal

Objecto Original

Page 3: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

RegistrationRegistration

• Alinhamento Alinhamento ((Registration)Registration) - - Transformar as várias Transformar as várias medições (3D, 2.5D) de medições (3D, 2.5D) de uma superfície num uníco uma superfície num uníco sistema de coordenadassistema de coordenadas

• Fusão GeométricaFusão Geométrica - Obter - Obter um uníco modelo 3D da um uníco modelo 3D da superficie com base nas superficie com base nas várias medições da várias medições da superfície (superfície (scansscans))

Page 4: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ProblemaProblema

• Alinhar dois mapas Alinhar dois mapas 3D que parcialmente 3D que parcialmente referem-se à mesma referem-se à mesma zona do objecto.zona do objecto.

• Suposição de uma 1º Suposição de uma 1º transformação transformação relativarelativa

Page 5: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Alinhamento de dados 3DAlinhamento de dados 3D

• Sabendo a correcta correspondência entre pontos de dois mapas 3D é possível estimar a transformação relativa (rotações/translações) entre eles

• (Besl, McKay, Zhang)

Page 6: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Alinhamento de dados 3DAlinhamento de dados 3D

• Como encontrar os pares de Como encontrar os pares de pontos correspondentes?pontos correspondentes?

• Solução em Sistemas Inicias: Solução em Sistemas Inicias: • definição por parte do utilizador definição por parte do utilizador

(manual)(manual)• correspondência de primitivas (features),correspondência de primitivas (features),• assinaturas de superficies, etc.assinaturas de superficies, etc.

Page 7: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Alinhamento de dados 3DAlinhamento de dados 3D

• Solução alternativa: assumir que o Solução alternativa: assumir que o ponto ponto mais próximomais próximo é o par é o par correspondente, determinar a correspondente, determinar a melhor transformação, .... melhor transformação, ....

Page 8: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Alinhamento de dados 3DAlinhamento de dados 3D

• … … e iterativamente encontrar e e iterativamente encontrar e refinar o alinhamentorefinar o alinhamento– Iterated Closest Points (ICP) [Besl & Iterated Closest Points (ICP) [Besl &

McKay 92]McKay 92]• O sistema converge se a suposição para 1ª O sistema converge se a suposição para 1ª

transformação fôr suficientemente conhecida transformação fôr suficientemente conhecida “close enough“ ???“close enough“ ???

Page 9: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Algoritmo ICP originalAlgoritmo ICP original

• Dado um conjunto de pontos P e uma superfície Q onde P é um subconjunto de Q:

Pesquisa do ponto mais próximo: para cada ponto p de P encontrar o ponto q mais próximo em Q

Calcular registration: calcular a transformação rígida T que minimiza as somas dos quadrados das distâncias entre os pares de pontos próximos (p,q)

Transformação: Aplicar a transformação rígida T a todos os pontos do conjunto P

Iterar: repetir os passos 1 a 3 até convergir.

Page 10: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Algoritmo ICP originalAlgoritmo ICP original

Np

iii pTqE

2

Minimizar esta função objectivo:

qi são pontos do scan Q, pi são pontos do scan P e T é a transformação

Page 11: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ICPICP

• 3D3D

• 2D2D

Page 12: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ICP Registration of Free-ICP Registration of Free-Form Curves (Z. Zhang) Form Curves (Z. Zhang)

• Dados dois conjuntos de curvas 3D Dados dois conjuntos de curvas 3D de de scansscans consecutivos C consecutivos Cii(i=1,...,m) (i=1,...,m)

C’C’kk(k=1, ...,n) compostas por (k=1, ...,n) compostas por

pontos xpontos xi,j i,j (j=1,..N(j=1,..Nii) e x’) e x’k,lk,l (l=1,..N (l=1,..Nkk) )

minimizar critério simétrico:minimizar critério simétrico: ),'(),(),( ,2

1 1,

',

2

1 1, i

Tlk

Tn

k

Nk

llkkji

m

i

Ni

jji CtRxRdqCtRxdptRF

d(x,C) distância do ponto x à curva C

pi,j,qk,l - 0 ou 1 caso haja correspondência respectiva

Page 13: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ICP Registration for Free-ICP Registration for Free-Form Curves (Z. Zhang)Form Curves (Z. Zhang)

),(1

),( ',

2

1 1,

1 1,

kji

m

i

Ni

jjim

i

Ni

jji

CtRxdpp

tRF

•Reduzir a carga computacional,

minimizar apenas um dos lado do critério

2

1

1),(

m

iii ytRx

NtRF

xi,yi : par de pontos 3D mais proximos,

pertencentes a superficies distintas

Page 14: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Transformações?Transformações?

• Como calcular as translações e rotações Como calcular as translações e rotações envolvidas?envolvidas?

• Ferramentas: Ferramentas: – SVD: Singular Value DecompositionSVD: Singular Value Decomposition

– QuaterniõesQuaterniões

Page 15: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

TransformaçõesTransformações

xqQqWsqWtRx TT )()()( W(q),Q(q) - funções matriciais dos quaterniões

• Um quaternião q pode ser considerado um vector 4D [q1,q2,q3,q4]T ou um par (q^,q4)• Os quaterniões são extensões dos números complexo

•q =w+xi+yj+zk q’=w-xi-yj-zk•|q|=1

• Cálculo de matrizes iterativo• Sucessivas transformações => menos multiplicações

Page 16: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Variantes do ICP Variantes do ICP

• Propostas de modificações nas Propostas de modificações nas seguintes “Etapas do ICP” :seguintes “Etapas do ICP” :

1.1. SelecçãoSelecção dos pontos fonte (de um ou de dos pontos fonte (de um ou de ambos meshes 3D)ambos meshes 3D)

2.2. CorrespondênciaCorrespondência a pontos noutras a pontos noutras nuvens de pontosnuvens de pontos

3.3. PesosPesos nas correspondências nas correspondências4.4. RejeiçãoRejeição de certos pontos (limites) de certos pontos (limites)5.5. Atribuição de Atribuição de erros métricos erros métricos nas nas

transformaçõestransformações6.6. MinimizaçãoMinimização do erro métrico do erro métrico

Page 17: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Desempenho das variantesDesempenho das variantes

• Analíse:Analíse:– VelocidadeVelocidade

– EstabilidadeEstabilidade

– Tolerância ao erro e aos limitesTolerância ao erro e aos limites

– Convergênncia (desalinhamento maximo Convergênncia (desalinhamento maximo inicial permitido)inicial permitido)

Page 18: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Selecção dos pontosSelecção dos pontos

• Usar todos os pontosUsar todos os pontos

• Subamostragem uniformeSubamostragem uniforme

• Amostragem aleatóriaAmostragem aleatória

• Normal-space samplingNormal-space sampling– garantir que as normais das amostras garantir que as normais das amostras

estejam distribuidas uniformementeestejam distribuidas uniformemente

Page 19: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Normal-Space SamplingNormal-Space Sampling

Uniform SamplingUniform Sampling Normal-Space SamplingNormal-Space Sampling

Page 20: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Selecção vs. PesoSelecção vs. Peso

• Definir estrutura de Definir estrutura de armazenamentoarmazenamento

• Preprocessamento / custo Preprocessamento / custo computacional e robustezcomputacional e robustez

Page 21: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Erro métrico Ponto-a-PlanoErro métrico Ponto-a-Plano

• Utilização de distancias entre Utilização de distancias entre ponto a plano em vez de ponto a ponto a plano em vez de ponto a ponto [Chen & Medioni 91]ponto [Chen & Medioni 91]

Page 22: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

CorrespondênciaCorrespondência

• A estratégia de correspondência A estratégia de correspondência influencia a convergência e a influencia a convergência e a velocidadevelocidade

• Ponto PróximoPonto Próximo

• Normal shootingNormal shooting

• Ponto Próximo CompativelPonto Próximo Compativel

• ProjecçãoProjecção

Page 23: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Correspondência do ponto Correspondência do ponto próximopróximo

• Encontrar o ponto mais próximo Encontrar o ponto mais próximo na outra nuvem de pontos (mesh)na outra nuvem de pontos (mesh)

• Estável, lento, requer Estável, lento, requer preprocessamentopreprocessamento

Page 24: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Normal ShootingNormal Shooting

• Projecção segundo a normal até Projecção segundo a normal até encontrar a outra meshencontrar a outra mesh

• Melhor que o ponto mais próximo para Melhor que o ponto mais próximo para superficies suaves, comporta-se mal com superficies suaves, comporta-se mal com ruído e superfícies complexasruído e superfícies complexas

Page 25: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Closest Compatible PointClosest Compatible Point

• Ponto Próximo CompativelPonto Próximo Compativel

• Compatibilidade baseada em Compatibilidade baseada em normais, tangente, cores,etc.normais, tangente, cores,etc.

• No limite trata-se de No limite trata-se de correspondência de primitivascorrespondência de primitivas

Page 26: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Projecção para encontrar Projecção para encontrar correspondênciacorrespondência

• Descobrir o ponto mais próximo é a tarefa Descobrir o ponto mais próximo é a tarefa mais pesada do ICPmais pesada do ICP

• Ideia: utilizar um algoritmo simples para Ideia: utilizar um algoritmo simples para determinar a correspondência [Blais 95]determinar a correspondência [Blais 95]

Page 27: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

AplicaçõesAplicações

• INPUT:INPUT:– Um scanner que fornece dados 3D, Um scanner que fornece dados 3D,

2.5D 2.5D

– ICPICP

– Fusão e RenderingFusão e Rendering

• Resultado: Aquisição Modelo 3DResultado: Aquisição Modelo 3D

Page 28: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ResultadosResultados

Page 29: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

Multi-view registrationMulti-view registration

• Alinhar simultâneamente duas ou mais superfícies• ICP multi vista

•Minimizar o quadrado da distância entre pontos correspondentes (Benjemaa & Schmitt)

•Necessita de uma 1ª estimação•Mesmos problemas do ICP

•Alternativa: Minimizar distâncias de pontos a planos, (Neugebauer)

Page 30: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ConclusãoConclusão

• Metódo capaz de alinhar mapas 3D não Metódo capaz de alinhar mapas 3D não requerendo calibraçõesrequerendo calibrações

• Aquisição dos dados 3D segundo vários Aquisição dos dados 3D segundo vários pontos de vista sem o conhecimento das pontos de vista sem o conhecimento das respectivas transformaçõesrespectivas transformações

• Método iterativo de refinamentoMétodo iterativo de refinamento• Algum custo computacionalAlgum custo computacional

Page 31: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ReferênciasReferências

• The representation, recognition, and locating of 3-D objects,by O.D. Faugeras and M. Hebert, in The International Journal of Robotics Research. 5(3):27-52, Fall, 1986.

• A method for registration of 3-d shapes [ICP],by P.J. Besl and N.D. McKay, in IEEE Pattern Analysis and Machine Intelligence, 14(2):239-256, February 1992.

• Iterative Point Matching for Registration of Free-Form Curves, by Zhengyou Zhang, Technical Report RR-1658, Mars 1992 <article>

• A solution for the registration of multiple 3D point sets using unit quaternions, by Raouf Benjemaa and Francis Schmitt, Fifth European Conference on Computer Vision (ECCV '98) University of Freiburg, Germany, 2-6 June 1998, pp. 34-50 <author homepage>

• Object modelling by registration of multiple range images, by Y. Chen and G. Medioni. Image and Vision Computing, 10(3):145–155, April 1992

• Simultaneous registration of multiple range views for use in reverse engineering, by D. W. Eggert, A. W. Fitzgibbon, and R. B. Fisher, Technical Report 804, Dept. of Artificial Intelligence, University of Edinburgh, 1996.

• K. Pulli. Surface reconstruction and display from range and color data, by Kari Pulli, PhD thesis, Dept. of Computer Science and Engineering, Univ. of Washington, December 1997.

Page 32: Alinhamento de Mapas 3D ICP - Iterative Closest Point Algorithm Baseado em Trabalhos de P. Besl, N. Mckay, Szymon Rusinkiewicz, Marc Levoy Zhengyou Zhang,

ISR-Coimbra 2001

ReferênciasReferências

• Zippered Polygon Meshes from Range Images, by Greg Turk and Marc Levoy, SIGGRAPH 94, 311- 318.

• A Volumetric Method for Building Complex Models from Range Images, by Brian Curless and Marc Levoy SIGGRAPH 96.

• "Efficient Variants of the ICP Algorithm" (with Marc Levoy), presented at the Third International Conference on 3D Digital Imaging and Modeling (3DIM), 2001.

• Efficient Variants of the ICP Algorithm,

• Szymon Rusinkiewicz, Marc Levoy, Presented at the Third International Conference on 3D Digital Imaging and Modeling (3DIM 2001) <article>

•Tutorial by Marc Pollefayes, on 3D Modeling from Images at ECCV2000 and 3DIM2001.

3D Scanning Projects• The Digital Michelangelo Project

• Overview of the IBM Pieta Project

• 3D Fax machine

• Tele 3D

• 3D Vision Research

• Virtual archaeology

SoftwareSoftware• Stanford Software Package

• Mesh Toolbox

• EIKONA3D

• Amira