{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

# ICP - RonenGvili TheProblem Aligntwopartially...

This preview shows pages 1–21. Sign up to view the full content.

Iterative Closest Point Ronen Gvili

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
The Problem Align two partially- overlapping meshes given initial guess for relative  transform
Data Types Point sets Line segment sets (polylines) Implicit curves  : f(x,y,z) = 0 Parametric curves : (x(u),y(u),z(u)) Triangle sets (meshes) Implicit surfaces : s(x,y,z) = 0 Parametric surfaces (x(u,v),y(u,v),z(u,v)))

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Motivation Shape inspection Motion estimation Appearance analysis Texture Mapping Tracking
Motivation Range images      registration

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Motivation Range images registration
Range Scanners

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Aligning 3D Data
Corresponding Point Set Alignment Let M be a model point set.  Let S be a scene point set. We assume : 1. N M  = N S . 2. Each point S i  correspond to M .

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Corresponding Point Set Alignment The MSE objective function : The alignment is : = = - - = - - = S S N i T i R i S N i i i S q s q R m N q f Trans s Rot m N T R f 1 2 1 2 ) ( 1 ) ( ) ( 1 ) , ( ) , ( ) , , ( S M d trans rot mse Φ =
Aligning 3D Data If correct correspondences are known, can  find correct relative rotation/translation

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Aligning 3D Data How to find correspondences:  User input?  Feature detection?  Signatures? Alternative: assume  closest  points  correspond
Aligning 3D Data How to find correspondences:  User input?  Feature detection?  Signatures? Alternative: assume  closest  points  correspond

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Aligning 3D Data Converges if starting position “close enough“
Closest Point Given 2 points r 1  and r 2  , the Euclidean  distance is:  Given a point r 1  and set of points A ,  the Euclidean distance is: 2 2 1 2 2 1 2 2 1 2 1 2 1 ) ( ) ( ) ( ) , ( z z y y x x r r r r d - + - + - = - = ) , ( min ) , ( 1 .. 1 1 i n i a r d A r d =

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Finding Matches The scene   shape S is aligned to be  in the best alignment with the model  shape M. The distance of each point s of the  scene from the model is : s m d M s d M m - = min ) , (
Finding Matches  M Y M S C Y M y y s d s m d M s d M m = = - = ) , ( ) , ( min ) , ( C – the closest point operator Y – the set of closest points to S

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Finding Matches  Finding each match is performed in O(N M worst case. Given Y we can calculate alignment S is updated to be : ) , ( ) , , ( Y S d trans rot Φ = trans S rot S new + = ) (
The Algorithm Init the error to  Calculate correspondence Calculate alignment Apply alignment Update error If error > threshold Y = CP(M,S),e (rot,trans,d) S`= rot(S)+trans d` = d

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
The Algorithm function ICP(Scene,Model) begin E`   +  ; (Rot,Trans)   In Initialize-Alignment(Scene,Model); repeat       E`;     Aligned-Scene   Apply-Alignment(Scene,Rot,Trans);     Pairs   Return-Closest-Pairs(Aligned-Scene,Model);     (Rot,Trans,E`)
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}