Alinhamento de nuvens de
pontos
Problema de alinhamento
• Dadas duas nuvens de pontos P e Q, encontrar o
movimento rígido (R, t) que minimiza o erro de
ajuste
min  || q ( pi )  ( Rpi  t ) ||
2
i
onde q(pi) é o ponto em Q correspondente ao
ponto pi de P.
• Dificuldade: não se sabe, a priori, qual é o ponto
em Q que corresponde a pi
Algoritmo ICP (Iterative Closest Point)
• inicia com estimativa grosseira para R e t
• a cada iteração, q(pi) é escolhido como o
ponto em Q mais próximo de Rpi + t
• R e t são recalculados de modo a minimizar
o erro de ajuste
[Besl e McKay, 92]
Algoritmo ICP (Iterative Closest Point)
Algoritmo ICP (Iterative Closest Point)
• Também se aplica a ajuste de nuvens de
pontos a modelos (por exemplo, cilindros)
Subproblema fundamental: alinhamento
de pontos correspondentes
• Dados os pares de pontos correspondentes pi, qi (i
= 1, ..., n), determinar R e t que minimizam
min  || qi  ( Rpi  t ) ||
2
i
• Resolvido por Horn[88, 89]
Alinhamento de pontos correspondentes
min  || qi  ( Rpi  t ) ||2
i
– Obter os centróides p0 e q0
– Definir pi’= pi – p0 , qi’= qi – q0
– Definir
onde
 S xx

M   S yx

 S zx
S xy
S yy
S zy
S xz 

S yz 

S zz 
, ,
, ,
S xx   pix
qix , S xy   pix
qiy , etc
i
i
Alinhamento de pontos correspondentes
min  || qi  ( Rpi  t ) ||2
i
– Rotação: R = M(MT M) –1/2
– Translação: t = q0– Rp0
– Observação: se a transformação é escrita
na forma R(p + t), R não muda e t é
simplesmente q0– p0
Alinhamento de pontos correspondentes
– Pode ser incluído um fator de escala:
1
min  ||
qi  ( s Rpi  t ) ||2
s
i
– Rotação: R = M(MT M) –1/2
– Escala: s 
, 2
, 2
 || qi || /  || pi ||
i
i
– Translação: t = q0– sRp0
Exemplo (2D)
 20 218
 136 208




p   18 114, q   170 121
 78 114
 219 131




Exemplo (2D)
p0  (38.66, 148.66), q0  (175, 153.33)
 0.9460 - 0.3241

R  
 0.3241 0.9460
(q = 18o)
Exemplo (2D)
 134.8 212.87
 136 208




Rp  t   166.7 113.8 , q   170 121
 223.4 133.3 
 219 131




Variantes do ICP
• ICP funciona melhor quando todo ponto em
P corresponde a algum ponto em Q (não é o
caso no alinhamento de malhas obtidas por
fotografia 3D)
• Diversas estratégias para melhorar o
desempenho para alinhamento de malhas
com superposição parcial
Variantes do ICP
• Tomar pontos em ambas as malhas
• Usar outros critérios para casamento
(textura, normal)
• Atribuir pesos às correspondências
• Rejeitar outliers
• Alterar a medida de distância (pontosuperfície no lugar de ponto-ponto)
Download

PC_ICP - PUC-Rio