Home >Documents >Iterative Closest Point Ronen Gvili. The Problem Align two partially- overlapping meshes given...

# Iterative Closest Point Ronen Gvili. The Problem Align two partially- overlapping meshes given...

Date post:22-Dec-2015
Category:
View:222 times
Transcript:
• Slide 1
• Iterative Closest Point Ronen Gvili
• Slide 2
• The Problem Align two partially- overlapping meshes given initial guess for relative transform
• Slide 3
• 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)))
• Slide 4
• Motivation Shape inspection Motion estimation Appearance analysis Texture Mapping Tracking
• Slide 5
• Motivation Range images registration
• Slide 6
• Motivation Range images registration
• Slide 7
• Range Scanners
• Slide 8
• Aligning 3D Data
• Slide 9
• 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 i.
• Slide 10
• Corresponding Point Set Alignment The MSE objective function : The alignment is :
• Slide 11
• Aligning 3D Data If correct correspondences are known, can find correct relative rotation/translation
• Slide 12
• Aligning 3D Data How to find correspondences: User input? Feature detection? Signatures? Alternative: assume closest points correspond
• Slide 13
• Aligning 3D Data How to find correspondences: User input? Feature detection? Signatures? Alternative: assume closest points correspond
• Slide 14
• Aligning 3D Data Converges if starting position close enough
• Slide 15
• 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:
• Slide 16
• 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 :
• Slide 17
• Finding Matches C the closest point operator Y the set of closest points to S
• Slide 18
• Finding Matches Finding each match is performed in O(N M ) worst case. Given Y we can calculate alignment S is updated to be :
• Slide 19
• 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
• Slide 20
• The Algorithm 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
• Slide 21
• Convergence Theorem The ICP algorithm always converges monotonically to a local minimum with respect to the MSE distance objective function.
• Slide 22
• Convergence Theorem Correspondence error : Alignment error:
• Slide 23
• Convergence Theorem Calculate correspondence Calculate alignment Apply alignment EkEk DkDk S`= rot(S)+trans Calculate correspondence Calculate alignment E k+1 D k+1
• Slide 24
• Convergence Theorem Proof :
• Slide 25
• Convergence Theorem Proof : If not - the identity transform would yield a smaller MSE than the least square alignment. Apply the alignmentq k on S 0 S k+1. Assuming the correspondences are maintained : the MSE is still d k.
• Slide 26
• Convergence Theorem Proof : After the last alignment, the closest point operator is applied : It is clear that: Thus :
• Slide 27
• Time analysis Each iteration includes 3 main steps A. Finding the closest points : O(N M ) per each point O(N M *N S ) total. B. Calculating the alignment: O(N S ) C. Updating the scene: O(N S )
• Slide 28
• Optimizing the Algorithm The best match/nearest neighbor problem : Given N records each described by K real values (attributes), and a dissimilarity measure D, find the m records closest to a query record.
• Slide 29
• Optimizing the Algorithm K-D Tree : Construction time: O(knlogn) Space: O(n) Region Query : O(n 1-1/k +k )
• Slide 30
• Slide 31
• Slide 32
• Optimizing the Algorithm The Bounds Overlap Ball query : Function BOP Local d,sum begin For d = 1 to K if Xq[d] < B-[d] sum += dist(d,Xq[d],B-[d]) else if Xq[d] > B+[d] sum += dist(d,Xq[d],B+[d]) if sum > PQ[0] return false return true;
• Slide 33
• Optimizing the Algorithm Function SEARCH(node) Local p,d,temp Begin if node == leaf if ball within bounds update PQ end d Disc[node], p Part[node] If Xq[d]
• Outliers Rejection Outlier thresholding: standard deviation of the error. Eliminate matches with error > |k| Some valid points might be classified as outliers, and some outliers might be classified as valid points.
• Slide 84
• Outliers Rejection Median/Rank estimation: Calculate the median, which is (almost guaranteed) valid point and use its error as estimation, i.e. Least Median of Squares. Requires exhaustive search.
• Slide 85
• Outliers Rejection M-Estimators Instead of minimizing the sum of square residuals, the square residuals are replaced by (r i ). Each point is assigned with a likelihood probability (weight) and after each iteration the probability is updated with respect to the residual.
• Slide 86
• The End
of 84/84
Iterative Closest Point Ronen Gvili
Embed Size (px)
Recommended

Education

Documents

Documents

Documents

Documents

Education

Documents

Technology

Documents

Documents

Documents

Documents

Documents

Documents

Documents

Documents

Documents

Documents