1 Numerical geometry of non-rigid shapes Iterative closest point algorithms Iterative closest point...

Post on 19-Dec-2015

228 views 0 download

Transcript of 1 Numerical geometry of non-rigid shapes Iterative closest point algorithms Iterative closest point...

1Numerical geometry of non-rigid shapes Iterative closest point algorithms

Iterative closest point algorithmsTutorial 4

© Maks Ovsjanikovtosca.cs.technion.ac.il/book

Numerical geometry of non-rigid shapesStanford University, Winter 2009

2Numerical geometry of non-rigid shapes Iterative closest point algorithms

Outline

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

1.Problem Formulation.

2.Intuition.

3.Some Math.

Robust Global Registration Gelfand N., Mitra N., Guibas L., Pottmann H., Proceedings of SGP, 2005

Formulation.

1.Problem and Motivation.

2.Multi-Scale point descriptors.

3.Global Matching – Branch and Bound.

4.Results.

3Numerical geometry of non-rigid shapes Iterative closest point algorithms

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

Problem Formulation:

1. Given two sets points: in . Find the rigid transform:

and that minimizes:

4Numerical geometry of non-rigid shapes Iterative closest point algorithms

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

Problem Formulation:

1. Given two sets points: in . Find the rigid transform:

and that minimizes:

5Numerical geometry of non-rigid shapes Iterative closest point algorithms

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

Problem Formulation:

1. Given two sets points: in . Find the rigid transform:

and that minimizes:

2. In practice, have many points. Perform this step many times. Want a fast way to

get an exact solution. Representation is important.

6Numerical geometry of non-rigid shapes Iterative closest point algorithms

Given two sets points: in . Find the rigid transform:

and that minimizes:

Finding the translation part .1. Let and : the centroids of and

and let and . Then .

2. where:

minimized if

7Numerical geometry of non-rigid shapes Iterative closest point algorithms

Given two sets points: in . Find the rigid transform:

and that minimizes:

Need to find the rotation .1. Several ways to represent rotation: Orthonormal matrix, Euler angle, Gibbs vector,

quaternions, etc. Which one is most useful in this case?

2. Plan of action:

Want to minimize

Since rotation preserves lengths. Need to maximize:

Question: What unit vector maximizes if is symmetric?

Answer: Eigenvector corresponding to the maximum eigenvalue of .

8Numerical geometry of non-rigid shapes Iterative closest point algorithms

Given two sets points: in . Find the rigid transform:

and that minimizes:

Need to find the rotation .2. Plan of action:

Need to maximize:

3. If represent using orthonormal matrices, then get:

Would prefer: , where is a vector and - matrices

Quaternions allow us to express rotation in such form.

9Numerical geometry of non-rigid shapes Iterative closest point algorithms

Quaternions (two slides intro).

1. Vectors with 4 components, 3 of which are imaginary:

2. Multiplication is defined using the rules:

from which follows:

In matrix form:

3. Dot product:

Matrices associated with unit quaternions are orthonormal.

10Numerical geometry of non-rigid shapes Iterative closest point algorithms

Quaternions (two slides intro).

4. Conjugation: . Matrix corresponding to the conjugate is

the transpose of the original.

5. Regular vectors can be represented with purely imaginary quaternions:

6. Rotation can be represented with composite product by a unit quaternion :

where .

Conversely, every unit quaternion corresponds to a rotation.

11Numerical geometry of non-rigid shapes Iterative closest point algorithms

Back to Alignment.

1. Want to maximize:

2. In quaternion form:

3. The optimal rotation quaternion is the eigenvector corresponding to the maximum

eigenvalue of:

12Numerical geometry of non-rigid shapes Iterative closest point algorithms

Summary

Efficient algorithm to find the optimal translation and rotation in the

rigid alignment, provided that the correspondences are known.

Uniform scaling can be found similarly:

Quaternions provide a simple and efficient way to represent rotations.

Other methods: SVD, Orthogonal Matrices, Dual Quaternions

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

Estimating 3-D rigid body transformations: a comparison of four major

algorithms. Eggert et al., Machine Vision and Applications, Vol. 9 1997

13Numerical geometry of non-rigid shapes Iterative closest point algorithms

Outline

Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987

1.Problem Formulation.

2.Intuition.

3.Some Math.

Robust Global Registration Gelfand N., Mitra N., Guibas L., Pottmann H., Proceedings of SGP, 2005

Formulation.

1.Problem and Motivation.

2.Multi-Scale point descriptors.

3.Global Matching – Branch and Bound.

4.Results.Images by N. Gelfand

14Numerical geometry of non-rigid shapes Iterative closest point algorithms

Robust Global Registration Gelfand, Mitra, Guibas, Pottmann, Proceedings of SGP, 2005

Problem:

Given:

Two shapes P and Q which partially overlap.

Using only rigid transforms, register Q against P by minimizing the squared distance between them.

Goal:

No assumptions about initial positions!

15Numerical geometry of non-rigid shapes Iterative closest point algorithms

Approaches

• Rigid transform can be specified with small number of parameters– Try all possible transform bases– Find the one that aligns the most points

• Guaranteed to find the correct transform– But can be costly

16Numerical geometry of non-rigid shapes Iterative closest point algorithms

Approaches

• Use neighborhood geometric information

• Descriptors should be– Invariant under transform– Local– Cheap

• Improves correspondence search or used for feature extraction

[Mokh 01, Huber 03, Li 05]

17Numerical geometry of non-rigid shapes Iterative closest point algorithms

Registration Problem

• Why it’s hard– Unknown areas of overlap– Have to solve the correspondence problem

• Why it’s easy– Rigid transform is specified by small number of points– Prominent features are easy to identify

We only need to align a few points correctly.

18Numerical geometry of non-rigid shapes Iterative closest point algorithms

Method Overview

1. Use descriptors to identify features– Integral volume descriptor

2. Build correspondence search space– Few correspondences for each feature

3. Efficiently explore search space– Distance error metric– Pruning algorithms

19Numerical geometry of non-rigid shapes Iterative closest point algorithms

Integral Descriptors

• Multiscale

• Inherent smoothing

f(x)p

Br(p)

[Manay 04]

20Numerical geometry of non-rigid shapes Iterative closest point algorithms

Integral Volume Descriptor

• Related to mean curvature.

• Provably robust to noise.

0.20

21Numerical geometry of non-rigid shapes Iterative closest point algorithms

Descriptor Computation

• Approximate using a voxel grid

– Convolution of occupancy grid with ball

22Numerical geometry of non-rigid shapes Iterative closest point algorithms

Feature Identification

• Pick as features points with rare descriptor values– Rare in the data rare in the model few correspondences

• Works for any descriptor

0

10

20

30

40

50

60

70

80

90

100

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Descriptor value

# o

ccu

ren

ces

Features

23Numerical geometry of non-rigid shapes Iterative closest point algorithms

Multiscale Algorithm

• Features should be persistent over scale change

r=0.5 r=1 r=2 r=4 r=8

Y Y Y N N

N N Y Y Y

N N Y N N

24Numerical geometry of non-rigid shapes Iterative closest point algorithms

• Search the whole model for correspondences– Range query for descriptor values– Cluster and pick representatives

Correspondence Space

PQ

25Numerical geometry of non-rigid shapes Iterative closest point algorithms

Evaluating Correspondences

• Coordinate root mean squared distance

– Requires best aligning transform– Looks at correspondences individually

26Numerical geometry of non-rigid shapes Iterative closest point algorithms

Rigidity Constraint

• Pair-wise distances between features and correspondences should be the same

PQ

27Numerical geometry of non-rigid shapes Iterative closest point algorithms

Rigidity Constraint

• Pair-wise distances between features and correspondences should be the same

PQ

28Numerical geometry of non-rigid shapes Iterative closest point algorithms

Evaluating Correspondences

• Distance root mean squared distance

– Depends only on internal distances

29Numerical geometry of non-rigid shapes Iterative closest point algorithms

Search Algorithm

• Few features, each with few potential correspondences– Minimize dRMS– Exhaustive search still too expensive

PQ

30Numerical geometry of non-rigid shapes Iterative closest point algorithms

Branch and Bound.

• Find global minimum of a function.

Search Space:

31Numerical geometry of non-rigid shapes Iterative closest point algorithms

Branch and Bound.

• Find global minimum of a function.

Search Space:

1.Split (Branch).

2.Bound.

3.Prune:If min2 > max1, can remove branch 2.

min1

max1

min2

max2

32Numerical geometry of non-rigid shapes Iterative closest point algorithms

• Branch and bound– Initial bound using greedy assignment

• Discard partial correspondences that fail thresholding test–

• Prune if partial correspondence exceeds bound– Spaced out features make incorrect correspondences fail quickly

• Since we explore the entire search space, we are guaranteed to find optimal alignment– Up to cluster size

Search Algorithm

pi

pjqj

qiRc

33Numerical geometry of non-rigid shapes Iterative closest point algorithms

Search Algorithm

• Branch and bound– Initial bound using greedy assignment

• Discard partial correspondences that fail thresholding test–

• Prune if partial correspondence exceeds bound– Spaced out features make incorrect correspondences fail quickly

• Since we explore the entire search space, we are guaranteed to find optimal alignment– Up to cluster size

34Numerical geometry of non-rigid shapes Iterative closest point algorithms

Greedy Initialization

• Good initial bound is essential• Build up correspondence set hierarchically

35Numerical geometry of non-rigid shapes Iterative closest point algorithms

Greedy Initialization

• Good initial bound is essential• Build up correspondence set hierarchically

36Numerical geometry of non-rigid shapes Iterative closest point algorithms

Greedy Initialization

• Good initial bound is essential• Build up correspondence set hierarchically

37Numerical geometry of non-rigid shapes Iterative closest point algorithms

Partial Alignment

• Allow null correspondences, while maximizing the number of matches points

38Numerical geometry of non-rigid shapes Iterative closest point algorithms

Alignment Results

Input: 2 scans Alignment Refined by ICP

39Numerical geometry of non-rigid shapes Iterative closest point algorithms

Alignment Results

Input: 10 scans

Alignment Refined by ICP