1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro...

35
1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática isciplina: Visão Computacional e Realidade Aumentada. rofessor: Marcelo Gattass Departamento de Informática

Transcript of 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro...

Page 1: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 2: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 3: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 4: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

4

Introdução

Modelagem (range images) Estimativa de Movimento Mapeamento de textura Tracking

Departamento de Informática

Motivação

Page 5: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

5

Introdução

Modelagem (range images)

Departamento de Informática

Motivação

Page 6: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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)

Page 7: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 8: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 9: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 10: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

10

Alinhamento Departamento de Informática

Como encontrar esses pontos correspondentes?

Page 11: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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!

Page 12: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

12

Alinhamento Departamento de Informática

Converge quando os conjuntos estão suficientemente próximos

Legal =D

Page 13: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

13

Alinhamento Departamento de Informática

Converge quando os conjuntos estão suficientemente próximos

Legal =D

Problema: quase nunca essa situação ocorre!

Page 14: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 15: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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),(

Page 16: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 17: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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 )(

Page 18: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 19: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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!?

Page 20: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 21: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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.

Page 22: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 23: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 24: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

24

Amostragem UniformeAmostragem Uniforme Amostragem no espaçoAmostragem no espaço das Normaisdas Normais

Departamento de InformáticaSeleção de Pontos

Page 25: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 26: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

26

Pontos mais próximos

Departamento de InformáticaCorrespondência de Pontos

Page 27: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

27

“Normal shooting”

Departamento de InformáticaCorrespondência de Pontos

Page 28: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 29: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 30: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 31: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

31

Distância > Thresholding

Departamento de InformáticaRejeição de pares

Page 32: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

32

Pares Inconsistentes

p1 p2

q2

q1

Departamento de InformáticaRejeição de pares

Page 33: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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

Page 34: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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.

Page 35: 1 ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional.

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.