Departamento de Informática ICP- Iterative Closest Point Allan Carlos, Daniel Campos Pontifícia Católica do Rio de Janeiro Departamento de Informática Disciplina: Visão Computacional e Realidade Aumentada. Professor: Marcelo Gattass
Departamento de Informática Sumário Introdução Problema Motivação Descrição da técnica Alinhamento Pontos mais próximos Registro de retalhos Algoritmo ICP Convergência Variações do ICP Seleção de Pontos Correspondência de Pontos Rejeição de Pontos Erro métrico e minimização Conclusão
Departamento de Informática Introdução Problema: Alinhamento de malhas com pontos de sobreposição, dada uma condição inicial. Sistema Coord M1 Sistema Coord M2
Departamento de Informática Introdução Motivação Modelagem (range images) Estimativa de Movimento Mapeamento de textura Tracking
Departamento de Informática Introdução Motivação Modelagem (range images)
Departamento de Informática Introdução Motivação Modelagem (range images) 1 15 8 6 2 conversão em meshes (scanning, triangulação) alinhamento (pair-wise registration) alinhamento global (multi-view registration) Modelo reconstruido
Departamento de Informática Descrição da Técnica Alinhamento Conjunto de pontos correspondentes Curvas S M M0 M1 M2 M3 . Mi S0 S1 S2 S3 Si M = conjunto de pontos do modelo S = conjunto de pontos da cena
Departamento de Informática Alinhamento A função objetivo que minimiza o erro (MSE) O alinhamento é dado por
Departamento de Informática Alinhamento 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
Departamento de Informática Alinhamento Como encontrar esses pontos correspondentes?
Departamento de Informática Alinhamento Como encontrar esses pontos correspondentes? Possível solução é tomar o conjunto de pontos mais próximos Não convergiu!
Departamento de Informática Alinhamento Converge quando os conjuntos estão suficientemente próximos Legal =D
Departamento de Informática Alinhamento Converge quando os conjuntos estão suficientemente próximos Legal =D Problema: quase nunca essa situação ocorre!
Departamento de Informática Pontos mais próximos Dado dois pontos r1 e r2 a distância euclidiana é dada por Assim o problema é formulado da seguinte forma
Departamento de Informática Registrando os retalhos 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
Departamento de Informática Registrando os retalhos Onde C – Operador de pontos mais próximos Y – Conjunto dos pontos mais próximos
Departamento de Informática Registrando os retalhos Registrar dois retalhos tem complexidade O(NM) Dado conjunto de pontos mais próximos Y, o alinhamento pode ser obtido por A cada passo S é atualizado para ser
Calcula as correspondencias Departamento de Informática Algoritmo ICP Pipeline Inicia com o erro ∞ Y = CP(M,S),e Calcula as correspondencias (rot,trans,d) Calcula alinhamento S`= rot(S)+trans Aplica alinhamento d` = d Atualiza o erro Se erro > threshold
Departamento de Informática Algoritmo ICP 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!?
Departamento de Informática Convergência 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
Departamento de Informática Variações do ICP Visam encontrar os melhores pontos correspondentes entre os retalhos, tal que o movimento rígido obtenha o registro das malhas. Método Selecionar amostras nas malhas Associar pontos nas duas malhas Ponderação de pares Rejeitar par de pontos a uma certa distância Assumir um threshold para o erro da transformação Minimizar o erro métrico da transformação
Departamento de Informática Variações do ICP Buscam analisar Tempo de convergência Estabilidade Tolerância a ruídos Máximo desalinhamento inicial
Departamento de Informática Seleção de Pontos 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ática Seleção de Pontos Amostragem Uniforme Amostragem no espaço das Normais
Departamento de Informática Correspondência de Pontos 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ática Correspondência de Pontos Pontos mais próximos
Departamento de Informática Correspondência de Pontos “Normal shooting”
Departamento de Informática Correspondência de Pontos Projeção (calibração reversa) Projeta o ponto amostrado na outra malha a partir do ponto de vista da malha atual.
Departamento de Informática Ponderação de pares Pesos constantes Inicia com pesos baixos para pontos que estão a uma distância maior A ponderação é baseada na compatibilidade das normais
Departamento de Informática Rejeição de pares 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
Departamento de Informática Rejeição de pares Distância > Thresholding
Departamento de Informática Rejeição de pares Pares Inconsistentes p1 p2 q2 q1
Departamento de Informática Erro métrico e minimização 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ática Aná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.
Departamento de Informática Referê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. Thales Viera, 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.