1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro...
Transcript of 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro...
1
ICP- Iterative Closest Point
Allan Carlos, Daniel Campos
Pontifícia Católica do Rio de JaneiroDepartamento de Informática
Disciplina: Visão Computacional e Realidade Aumentada.Professor: Marcelo Gattass
Departamento de Informática
2
Introdução Problema Motivação
Descrição da técnica Alinhamento Pontos mais próximos Registro de retalhos
Algoritmo ICPConvergênciaVariações do ICPSeleção de PontosCorrespondência de PontosRejeição de PontosErro métrico e minimizaçãoConclusão
Sumário Departamento de Informática
3
Problema:
Alinhamento de malhas com pontos de sobreposição, dada uma condição inicial.
Introdução Departamento de Informática
Sistema Coord M1
Sistema Coord M2
4
Introdução
Modelagem (range images) Estimativa de Movimento Mapeamento de textura Tracking
Departamento de Informática
Motivação
5
Introdução
Modelagem (range images)
Departamento de Informática
Motivação
6
Introdução Departamento de Informática
Motivação
1
15
8
6
2
conversãoem meshes
(scanning, triangulação)
alinhamento
(pair-wise registration)
alinhamento global
(multi-viewregistration)
Modelo reconstruido
Modelagem (range images)
7
Descrição da Técnica Departamento de Informática
M = conjunto de pontos do modeloS = conjunto de pontos da cena
Curvas
S
M
M0
M1
M2
M3
. . .
Mi
S0
S1
S2
S3
. . .
Si
Conjunto de pontos correspondentes
Alinhamento
8
Alinhamento Departamento de Informática
A função objetivo que minimiza o erro (MSE)
S
S
N
iTiRi
S
N
iii
S
qsqRmN
qf
TranssRotmN
TRf
1
2
1
2
)(1
)(
)(1
),(
O alinhamento é dado por
),(),,( SMdtransrot mse
9
Alinhamento Departamento de Informática
Conhecida a correta correspondência implica que pode ser encontrada a correta rotação e translação
Problema consiste em achar as corretas correspondências
10
Alinhamento Departamento de Informática
Como encontrar esses pontos correspondentes?
11
Alinhamento Departamento de Informática
Como encontrar esses pontos correspondentes? Possível solução é tomar o conjunto de pontos mais próximos
Não convergiu!
12
Alinhamento Departamento de Informática
Converge quando os conjuntos estão suficientemente próximos
Legal =D
13
Alinhamento Departamento de Informática
Converge quando os conjuntos estão suficientemente próximos
Legal =D
Problema: quase nunca essa situação ocorre!
14
Pontos mais próximos Departamento de Informática
Dado dois pontos r1 e r2 a distância euclidiana é dada por
221
221
2212121 )()()(),( zzyyxxrrrrd
Assim o problema é formulado da seguinte forma
),(min),( 1..1
1 ini
ardArd
15
Registrando os retalhos Departamento de Informática
Encontrar o melhor alinhamento da cena S com o modelo M ou seja, a distância de cada ponto na cena ao modelo é dada por
smdMSdMm
min),(
16
Registrando os retalhos Departamento de Informática
Onde
MY
MSCY
My
ysdsmdMSdMm
),(
),(min),(
C – Operador de pontos mais próximos
Y – Conjunto dos pontos mais próximos
17
Registrando os retalhos Departamento de Informática
Registrar dois retalhos tem complexidade O(NM)
Dado conjunto de pontos mais próximos Y, o alinhamento pode ser obtido por
),(),,( YSdtransrot
A cada passo S é atualizado para ser
transSrotSnew )(
18
Algoritmo ICP Departamento de Informática
PipelineInicia com o erro ∞
Calcula as correspondencias
Calcula alinhamento
Aplica alinhamento
Atualiza o erro
Se erro > threshold
Y = CP(M,S),e
(rot,trans,d)
S`= rot(S)+trans
d` = d
19
Algoritmo ICP Departamento de Informática
Pseudo código
function ICP(Scene,Model)
begin
E` + ∞;
(Rot,Trans) In Initialize-Alignment(Scene,Model);
repeat
E E`;
Aligned-Scene Apply-Alignment(Scene,Rot,Trans);
Pairs Return-Closest-Pairs(Aligned-Scene,Model);
(Rot,Trans,E`) Update-Alignment(Scene,Model,Pairs,Rot,Trans);
Until |E`- E| < Threshold
return (Rot,Trans);
end
Converge!?
20
Convergência Departamento de Informática
Teorema
“O algoritmo ICP sempre converge monotonicamente para um mínimo local com respeito a distância mínima do erro quadrático (MSE) da função objetivo.”
Erro correspondente
Erro de alinhamento
SN
iikik
Sk sy
Ne
1
21
SN
ikiokik
Sk TranssRoty
Nd
1
2)(
1
21
Variações do ICP Departamento de Informática
Método
1. Selecionar amostras nas malhas2. Associar pontos nas duas malhas3. Ponderação de pares4. Rejeitar par de pontos a uma certa distância5. Assumir um threshold para o erro da transformação6. Minimizar o erro métrico da transformação
Visam encontrar os melhores pontos correspondentes entre os retalhos, tal que o movimento rígido obtenha o registro das malhas.
22
Variações do ICP Departamento de Informática
Buscam analisar
Tempo de convergência Estabilidade Tolerância a ruídos Máximo desalinhamento inicial
23
Utilizando todos os pontos disponíveis [Besl 92]. Subamostragem Uniforme [Turk 94]. Amostragem aleatória em cada iteração [Masuda 96]. Amostragem com normais distribuídas uniformemente
[Rusinkiewicz 01].
Departamento de InformáticaSeleção de Pontos
24
Amostragem UniformeAmostragem Uniforme Amostragem no espaçoAmostragem no espaço das Normaisdas Normais
Departamento de InformáticaSeleção de Pontos
25
Pontos mais próximos da outra malha [Besl 92]. “Normal shooting” [Chen 91]. Calibração Reversa [Blais 95]. Restringindo as correspondencias dos pontos com
algum tipo de semelhança (cor, intensidade , normais , curvatura) [Pulli 99].
Departamento de InformáticaCorrespondência de Pontos
26
Pontos mais próximos
Departamento de InformáticaCorrespondência de Pontos
27
“Normal shooting”
Departamento de InformáticaCorrespondência de Pontos
28
Projeção (calibração reversa) Projeta o ponto amostrado na outra malha a partir do
ponto de vista da malha atual.
Departamento de InformáticaCorrespondência de Pontos
29
Ponderação de pares Departamento de Informática
Pesos constantesInicia com pesos baixos para pontos que estão a uma distância maior
A ponderação é baseada na compatibilidade das normais
max
21 ),(1
Dist
ppDistWeight
21 nnWeight
30
Corresponde pontos com distância ponto a ponto maior que um threshold estipulado.
Rejeição dos piores n% pares baseado em alguma métrica.
Rejeição de pares não consistentes com seus pares vizinhos[Dorai 98] :
(p1,q1) , (p2,q2) são inconsistentes se
thresholdqqDistppDist ),(),( 2121
Departamento de InformáticaRejeição de pares
31
Distância > Thresholding
Departamento de InformáticaRejeição de pares
32
Pares Inconsistentes
p1 p2
q2
q1
Departamento de InformáticaRejeição de pares
33
Soma do quadrado das distâncias entre pontos correspondentes .
A solução para o problema da transformação rígida pode ser implementada através dos métodos :
SVD Quatérnios Matrizes ortonormais Quatérnios duais
Departamento de InformáticaErro métrico e minimização
34
Departamento de InformáticaAnálise e Conclusões
Problema de registro é um problema complexo.
O problema de reconstrução é de grande interesse e
existem diversos projetos.
O problema do alinhamento inicial resolvido com uma boa heurística para achar pontos de correspondência é o que define o funcionamento do ICP
Foi interessante estudar o método já que as idéias existentes no problema de registro são empregadas em diversas outras situações.
35
Departamento de InformáticaReferências
An iterative framework for registration with reconstruction-Thales Vieira[1], Adelailson Peixoto[2], Luiz Velho[3], Thomas Lewiner[1] [1]PUC-Rio de Janeiro, [2] UFAL-Maceió, [3] Visgraf Lab, IMPA-Rio de Janeiro
Registro Automático de Superfícies Usando Spin-Images. ThalesViera, Adelailson Peixoto(UFAL),Thomas Lewiner(PUC-Rio), Luiz Velho IMPA.
Registro Automático de Superfícies Usando Spin-Images. Thales Viera e Adelailson Peixoto, dissertação de mestrado, UFAL.
Efficient Variants of the ICP Algorithm. Szymon Rusinkiewicz, Marc Levoy, Stanford University.
An iterative framework for registration with reconstruction. Thales Viera, Adelailso Peixoto(UFAL),Thomas Lewiner(PUC-Rio), Luiz Velho IMPA.