+ All Categories
Home > Documents > Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… ·...

Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… ·...

Date post: 04-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
87
Probabilistic Point Cloud Regsitration Part I Siavash Khallaghi October 13, 2016 Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 1 / 26
Transcript
Page 1: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Probabilistic Point Cloud RegsitrationPart I

Siavash Khallaghi

October 13, 2016

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 1 / 26

Page 2: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Introduction

Outline

Point cloud registration, iterative closest point and coherent pointdrift (25 minutes)

Applications and related literature (25 minutes)

Example Python and Matlab code (25 minutes)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 2 / 26

Page 3: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Introduction

Outline

Point cloud registration, iterative closest point and coherent pointdrift (25 minutes)

Applications and related literature (25 minutes)

Example Python and Matlab code (25 minutes)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 2 / 26

Page 4: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Introduction

Outline

Point cloud registration, iterative closest point and coherent pointdrift (25 minutes)

Applications and related literature (25 minutes)

Example Python and Matlab code (25 minutes)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 2 / 26

Page 5: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Introduction

Computer Vision

Bogo et al., “FAUST: Dataset and evaluation for 3D mesh registration”, CVPR 2014

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 3 / 26

Page 6: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Introduction

Image Guided Interventions

Rasoulian et al., “Augmentation of Paramedian 3D Ultrasound Images of the Spine”, IPCAI 2013

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 4 / 26

Page 7: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

Suppose we are given a fixed XN×3 = {x1, x2, x3, . . . , xN} and amoving YM×3 = {y1, y2, . . . , yM} point cloud.

We would like to know the correspondences between X and Y , e.g.,{x1 → y2, x2 → y1, x3 → y3, . . .},and also the transformation T with parameters θ that maps Y intoX , i.e. X = T (Y , θ).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 5 / 26

Page 8: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

Suppose we are given a fixed XN×3 = {x1, x2, x3, . . . , xN} and amoving YM×3 = {y1, y2, . . . , yM} point cloud.

We would like to know the correspondences between X and Y , e.g.,{x1 → y2, x2 → y1, x3 → y3, . . .},

and also the transformation T with parameters θ that maps Y intoX , i.e. X = T (Y , θ).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 5 / 26

Page 9: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

Suppose we are given a fixed XN×3 = {x1, x2, x3, . . . , xN} and amoving YM×3 = {y1, y2, . . . , yM} point cloud.

We would like to know the correspondences between X and Y , e.g.,{x1 → y2, x2 → y1, x3 → y3, . . .},and also the transformation T with parameters θ that maps Y intoX , i.e. X = T (Y , θ).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 5 / 26

Page 10: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 6 / 26

Page 11: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 6 / 26

Page 12: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 7 / 26

Page 13: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.xn = xn − X and yn = yn − Y are centered coordinates.The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 14: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.xn = xn − X and yn = yn − Y are centered coordinates.The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 15: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.

xn = xn − X and yn = yn − Y are centered coordinates.The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 16: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.xn = xn − X and yn = yn − Y are centered coordinates.

The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 17: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.xn = xn − X and yn = yn − Y are centered coordinates.The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 18: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Estimating the Transformation Between Two Point Clouds

We start by assuming that the point clouds have an equal N numberof points and correspondences are known in advance.

Notations:

We define X and Y as the center of the two point clouds.xn = xn − X and yn = yn − Y are centered coordinates.The transformation is determined by a scale factor s, a rotation matrixR and a translation vector t.

We can transform one point in one cloud to the other usingxn = sRyn + t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 8 / 26

Page 19: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

It can be shown that the minimization problem has a closed-formsolution.

Optimal translation: t∗ = X − sRY .

Optimal scale: s∗ =∑

n(Ryn)T xn∑n yn

T yn.

Optimal rotation1: R∗ = VUT where Y XT = USV T is the singularvalue decomposition of Y XT .

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 9 / 26

Page 20: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

It can be shown that the minimization problem has a closed-formsolution.

Optimal translation: t∗ = X − sRY .

Optimal scale: s∗ =∑

n(Ryn)T xn∑n yn

T yn.

Optimal rotation1: R∗ = VUT where Y XT = USV T is the singularvalue decomposition of Y XT .

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 9 / 26

Page 21: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

It can be shown that the minimization problem has a closed-formsolution.

Optimal translation: t∗ = X − sRY .

Optimal scale: s∗ =∑

n(Ryn)T xn∑n yn

T yn.

Optimal rotation1: R∗ = VUT where Y XT = USV T is the singularvalue decomposition of Y XT .

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 9 / 26

Page 22: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

It can be shown that the minimization problem has a closed-formsolution.

Optimal translation: t∗ = X − sRY .

Optimal scale: s∗ =∑

n(Ryn)T xn∑n yn

T yn.

Optimal rotation1: R∗ = VUT where Y XT = USV T is the singularvalue decomposition of Y XT .

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 9 / 26

Page 23: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

It can be shown that the minimization problem has a closed-formsolution.

Optimal translation: t∗ = X − sRY .

Optimal scale: s∗ =∑

n(Ryn)T xn∑n yn

T yn.

Optimal rotation1: R∗ = VUT where Y XT = USV T is the singularvalue decomposition of Y XT .

1Hint: R∗ = argmaxR tr(RY XT )Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 9 / 26

Page 24: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Point Cloud Registration

Now, we assume that point-to-point correspondences are not known.The minimization criterion becomes:E =

∑Nn=1

∑Mm=1 Pmn‖xn − sRym − t‖2

Possible representations for the correspondence variables Pmn:

1 Binary: Pmn = 1 if ym corresponds to xn and Pmn = 0 otherwise.2 Soft:

∑n Pmn =

∑m Pmn = 1, and 0 ≤ Pmn ≤ 1

3 Probabilistic: Pmn = P(xn = m|xn) or the posterior probability ofassigning point ym to xn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 10 / 26

Page 25: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Point Cloud Registration

Now, we assume that point-to-point correspondences are not known.The minimization criterion becomes:E =

∑Nn=1

∑Mm=1 Pmn‖xn − sRym − t‖2

Possible representations for the correspondence variables Pmn:

1 Binary: Pmn = 1 if ym corresponds to xn and Pmn = 0 otherwise.2 Soft:

∑n Pmn =

∑m Pmn = 1, and 0 ≤ Pmn ≤ 1

3 Probabilistic: Pmn = P(xn = m|xn) or the posterior probability ofassigning point ym to xn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 10 / 26

Page 26: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Point Cloud Registration

Now, we assume that point-to-point correspondences are not known.The minimization criterion becomes:E =

∑Nn=1

∑Mm=1 Pmn‖xn − sRym − t‖2

Possible representations for the correspondence variables Pmn:1 Binary: Pmn = 1 if ym corresponds to xn and Pmn = 0 otherwise.

2 Soft:∑

n Pmn =∑

m Pmn = 1, and 0 ≤ Pmn ≤ 13 Probabilistic: Pmn = P(xn = m|xn) or the posterior probability of

assigning point ym to xn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 10 / 26

Page 27: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Point Cloud Registration

Now, we assume that point-to-point correspondences are not known.The minimization criterion becomes:E =

∑Nn=1

∑Mm=1 Pmn‖xn − sRym − t‖2

Possible representations for the correspondence variables Pmn:1 Binary: Pmn = 1 if ym corresponds to xn and Pmn = 0 otherwise.2 Soft:

∑n Pmn =

∑m Pmn = 1, and 0 ≤ Pmn ≤ 1

3 Probabilistic: Pmn = P(xn = m|xn) or the posterior probability ofassigning point ym to xn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 10 / 26

Page 28: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Point Cloud Registration

Point Cloud Registration

Now, we assume that point-to-point correspondences are not known.The minimization criterion becomes:E =

∑Nn=1

∑Mm=1 Pmn‖xn − sRym − t‖2

Possible representations for the correspondence variables Pmn:1 Binary: Pmn = 1 if ym corresponds to xn and Pmn = 0 otherwise.2 Soft:

∑n Pmn =

∑m Pmn = 1, and 0 ≤ Pmn ≤ 1

3 Probabilistic: Pmn = P(xn = m|xn) or the posterior probability ofassigning point ym to xn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 10 / 26

Page 29: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

The ICP Algorithm

The iterative closest point algorithm is the most used pointregistration method:

1 Initialize the scale, rotation and translation parameters2 Transform each point ym and search its closest point

xk = argminn‖xn − sRym − t‖2 and set Pkn = 1

3 Estimate the transformation parameters by minimizing:E =

∑Mk=1 Pmk‖xk − sRym − t‖2

4 Repeat steps 2 and 3 until convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 11 / 26

Page 30: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

The ICP Algorithm

The iterative closest point algorithm is the most used pointregistration method:

1 Initialize the scale, rotation and translation parameters

2 Transform each point ym and search its closest pointxk = argmin

n‖xn − sRym − t‖2 and set Pkn = 1

3 Estimate the transformation parameters by minimizing:E =

∑Mk=1 Pmk‖xk − sRym − t‖2

4 Repeat steps 2 and 3 until convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 11 / 26

Page 31: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

The ICP Algorithm

The iterative closest point algorithm is the most used pointregistration method:

1 Initialize the scale, rotation and translation parameters2 Transform each point ym and search its closest point

xk = argminn‖xn − sRym − t‖2 and set Pkn = 1

3 Estimate the transformation parameters by minimizing:E =

∑Mk=1 Pmk‖xk − sRym − t‖2

4 Repeat steps 2 and 3 until convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 11 / 26

Page 32: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

The ICP Algorithm

The iterative closest point algorithm is the most used pointregistration method:

1 Initialize the scale, rotation and translation parameters2 Transform each point ym and search its closest point

xk = argminn‖xn − sRym − t‖2 and set Pkn = 1

3 Estimate the transformation parameters by minimizing:E =

∑Mk=1 Pmk‖xk − sRym − t‖2

4 Repeat steps 2 and 3 until convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 11 / 26

Page 33: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

The ICP Algorithm

The iterative closest point algorithm is the most used pointregistration method:

1 Initialize the scale, rotation and translation parameters2 Transform each point ym and search its closest point

xk = argminn‖xn − sRym − t‖2 and set Pkn = 1

3 Estimate the transformation parameters by minimizing:E =

∑Mk=1 Pmk‖xk − sRym − t‖2

4 Repeat steps 2 and 3 until convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 11 / 26

Page 34: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

Drawbacks of ICP

It is very sensitive to initial transformation parameters and often getstrapped in a local minima.

It is not robust to large transformations.

It cannot deal with anisotropic noise, i.e. the noise has to have thesame variance across all coordinates.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 12 / 26

Page 35: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

Drawbacks of ICP

It is very sensitive to initial transformation parameters and often getstrapped in a local minima.

It is not robust to large transformations.

It cannot deal with anisotropic noise, i.e. the noise has to have thesame variance across all coordinates.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 12 / 26

Page 36: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Iterative Closest Point

Drawbacks of ICP

It is very sensitive to initial transformation parameters and often getstrapped in a local minima.

It is not robust to large transformations.

It cannot deal with anisotropic noise, i.e. the noise has to have thesame variance across all coordinates.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 12 / 26

Page 37: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Probabilistic Point Cloud Registration

We assume that points on the moving point cloud are the centroids ofGaussians with covariance matrices {Cm}Mm=1

The minimization criterion is now generalized to:E =

∑Nn=1

∑Mm=1 Pmn

(‖xn − sRym − t‖2 + log |Cm|

)The posterior probabilities are defined as:

Pmn =|Cm|−

12 exp(− 1

2‖xn−sRym−t‖2

Cm)∑M

k=1 |Ck |−12 exp(− 1

2‖xn−sRyk−t‖2

Ck)+∅3D

Mahalanobis distance: ‖a− b‖2C = (a− b)TC−1(a− b)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 13 / 26

Page 38: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Probabilistic Point Cloud Registration

We assume that points on the moving point cloud are the centroids ofGaussians with covariance matrices {Cm}Mm=1

The minimization criterion is now generalized to:E =

∑Nn=1

∑Mm=1 Pmn

(‖xn − sRym − t‖2 + log |Cm|

)

The posterior probabilities are defined as:

Pmn =|Cm|−

12 exp(− 1

2‖xn−sRym−t‖2

Cm)∑M

k=1 |Ck |−12 exp(− 1

2‖xn−sRyk−t‖2

Ck)+∅3D

Mahalanobis distance: ‖a− b‖2C = (a− b)TC−1(a− b)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 13 / 26

Page 39: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Probabilistic Point Cloud Registration

We assume that points on the moving point cloud are the centroids ofGaussians with covariance matrices {Cm}Mm=1

The minimization criterion is now generalized to:E =

∑Nn=1

∑Mm=1 Pmn

(‖xn − sRym − t‖2 + log |Cm|

)The posterior probabilities are defined as:

Pmn =|Cm|−

12 exp(− 1

2‖xn−sRym−t‖2

Cm)∑M

k=1 |Ck |−12 exp(− 1

2‖xn−sRyk−t‖2

Ck)+∅3D

Mahalanobis distance: ‖a− b‖2C = (a− b)TC−1(a− b)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 13 / 26

Page 40: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Probabilistic Point Cloud Registration

We assume that points on the moving point cloud are the centroids ofGaussians with covariance matrices {Cm}Mm=1

The minimization criterion is now generalized to:E =

∑Nn=1

∑Mm=1 Pmn

(‖xn − sRym − t‖2 + log |Cm|

)The posterior probabilities are defined as:

Pmn =|Cm|−

12 exp(− 1

2‖xn−sRym−t‖2

Cm)∑M

k=1 |Ck |−12 exp(− 1

2‖xn−sRyk−t‖2

Ck)+∅3D

Mahalanobis distance: ‖a− b‖2C = (a− b)TC−1(a− b)

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 13 / 26

Page 41: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Point Registration with Expectation Maximization (EM)

1 Initialize the transformation parameters s, R, t and covariancematrices Cm

2 Expectation step: Estimate posterior probabilities Pmn

3 Maximization step: Estimate transformation parameters andcovariance matrices

4 Repeat steps 2 and 3 untile convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 14 / 26

Page 42: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Point Registration with Expectation Maximization (EM)

1 Initialize the transformation parameters s, R, t and covariancematrices Cm

2 Expectation step: Estimate posterior probabilities Pmn

3 Maximization step: Estimate transformation parameters andcovariance matrices

4 Repeat steps 2 and 3 untile convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 14 / 26

Page 43: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Point Registration with Expectation Maximization (EM)

1 Initialize the transformation parameters s, R, t and covariancematrices Cm

2 Expectation step: Estimate posterior probabilities Pmn

3 Maximization step: Estimate transformation parameters andcovariance matrices

4 Repeat steps 2 and 3 untile convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 14 / 26

Page 44: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Point Registration with Expectation Maximization (EM)

1 Initialize the transformation parameters s, R, t and covariancematrices Cm

2 Expectation step: Estimate posterior probabilities Pmn

3 Maximization step: Estimate transformation parameters andcovariance matrices

4 Repeat steps 2 and 3 untile convergence

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 14 / 26

Page 45: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The ”Rigid” Coherent Point Drift Algorithm

We consider the special case where all convariance matrices arespherical Gaussians with variance σ2.

This removes the dependency between covariance matrices androtation.

There is a closed-form solution for transformation parameters(s, R, t) and σ2 to similar to the least squares minimization (slide 9).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 15 / 26

Page 46: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The ”Rigid” Coherent Point Drift Algorithm

We consider the special case where all convariance matrices arespherical Gaussians with variance σ2.

This removes the dependency between covariance matrices androtation.

There is a closed-form solution for transformation parameters(s, R, t) and σ2 to similar to the least squares minimization (slide 9).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 15 / 26

Page 47: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The ”Rigid” Coherent Point Drift Algorithm

We consider the special case where all convariance matrices arespherical Gaussians with variance σ2.

This removes the dependency between covariance matrices androtation.

There is a closed-form solution for transformation parameters(s, R, t) and σ2 to similar to the least squares minimization (slide 9).

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 15 / 26

Page 48: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The ”Rigid” Coherent Point Drift Algorithm

Rigid + scaling registration of a moving blue point cloud to a fixed red point cloud using CPD. Both point clouds have been

corrupted with removed points and random spurious outlier points.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 16 / 26

Page 49: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 50: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 51: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 52: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 53: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 54: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points

2 And W is an unknown Number− of − points×Dimension matrix oftransformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 55: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 56: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

This is similar to the rigid case, only we apply a differenttransformation to our point clouds

In the rigid case, we used a transformation model thatT (ym, s,R, t) = sRym + t subject to RRT = I and det(R) = 1

In the non-rigid case, we assume moving cloud points that are closewithin a β radius, move together

This coherent motion is regularized with a constant λ

This translates to the following transformation model:T (ym,W ) = ym + GW where:

1 Gij = exp(− 12β2 ‖yi − yj‖2) is a Guassian kernel matrix that is

calculated once from the moving cloud points2 And W is an unknown Number− of − points×Dimension matrix of

transformation parameters

The transformation parameters are found using a linear equation:(diag(P1)G + λσ2

)W = PX − diag(P1)Y

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 17 / 26

Page 57: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

The Non-rigid Coherent Point Drift Algorithm

Non-rigid registration of a moving blue point cloud to a fixed red point cloud using CPD. Both point clouds have been corrupted

with removed points and random spurious outlier points.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 18 / 26

Page 58: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:

1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 59: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:

1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 60: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:

1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 61: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:1 Correspondence, i.e. which Gaussian the fixed point belongs to

2 and GMM parameters, i.e. the transformation that best aligns theGMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 62: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 63: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 64: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 65: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Coherent Point Drift

Why Does EM Perform So Well?

CPD is basically a mixture density estimation algorithm.

We assume that fixed points belong to a Gaussian Mixture Model(GMM) with unknown parameters that is constructed from themoving point cloud.

We have to solve two problems simultaneously:1 Correspondence, i.e. which Gaussian the fixed point belongs to2 and GMM parameters, i.e. the transformation that best aligns the

GMM centroids

We have to solve this problem without knowing the correspondencesin advance, i.e. missing data.

The EM algorithm was specifically designed to solve the maximumlikelihood with missing data problem

This is why EM performs so well for point cloud registration

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 19 / 26

Page 66: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

References

References

Itertive closest pointhttp://www.cs.virginia.edu/~mjh7v/bib/Besl92.pdf

Coherent point drift https://arxiv.org/pdf/0905.2635.pdf

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 20 / 26

Page 67: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

Let’s expand the quadratic error using RTR = I :

E =∑

n (xn − sRyn − t)T (xn − sRyn − t)

E = s2∑

n yTn yn + 2s

(∑n y

Tn

)RT t − 2s

∑n y

Tn RT xn −

2(∑

n xTn

)t +

(∑n x

Tn xn

)+ NtT t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 21 / 26

Page 68: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

Let’s expand the quadratic error using RTR = I :

E =∑

n (xn − sRyn − t)T (xn − sRyn − t)

E = s2∑

n yTn yn + 2s

(∑n y

Tn

)RT t − 2s

∑n y

Tn RT xn −

2(∑

n xTn

)t +

(∑n x

Tn xn

)+ NtT t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 21 / 26

Page 69: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

Let’s expand the quadratic error using RTR = I :

E =∑

n (xn − sRyn − t)T (xn − sRyn − t)

E = s2∑

n yTn yn + 2s

(∑n y

Tn

)RT t − 2s

∑n y

Tn RT xn −

2(∑

n xTn

)t +

(∑n x

Tn xn

)+ NtT t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 21 / 26

Page 70: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Least Squares Minimization

The transformation parameters can be determined by minimizing:E =

∑Nn=1 ‖xn − sRyn − t‖2

Let’s expand the quadratic error using RTR = I :

E =∑

n (xn − sRyn − t)T (xn − sRyn − t)

E = s2∑

n yTn yn + 2s

(∑n y

Tn

)RT t − 2s

∑n y

Tn RT xn −

2(∑

n xTn

)t +

(∑n x

Tn xn

)+ NtT t

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 21 / 26

Page 71: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Translation

t∗ = argmint

E

The derivative of the error w.r.t t is:∂E∂t = 2sR

∑n yn − 2

∑n xn + 2Nt

Setting the derivative to zero we obtain:t∗ = X − sRY

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 22 / 26

Page 72: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Translation

t∗ = argmint

E

The derivative of the error w.r.t t is:∂E∂t = 2sR

∑n yn − 2

∑n xn + 2Nt

Setting the derivative to zero we obtain:t∗ = X − sRY

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 22 / 26

Page 73: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Translation

t∗ = argmint

E

The derivative of the error w.r.t t is:∂E∂t = 2sR

∑n yn − 2

∑n xn + 2Nt

Setting the derivative to zero we obtain:t∗ = X − sRY

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 22 / 26

Page 74: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

A Simplified Criterion

By substituting the optimal translation we obtain:

E =∑N

n=1 ‖xn − sRyn‖2

E = s2∑

n ynT yn − 2s

∑n yn

TRT xn +∑

n xnT xn

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 23 / 26

Page 75: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

A Simplified Criterion

By substituting the optimal translation we obtain:

E =∑N

n=1 ‖xn − sRyn‖2

E = s2∑

n ynT yn − 2s

∑n yn

TRT xn +∑

n xnT xn

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 23 / 26

Page 76: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

A Simplified Criterion

By substituting the optimal translation we obtain:

E =∑N

n=1 ‖xn − sRyn‖2

E = s2∑

n ynT yn − 2s

∑n yn

TRT xn +∑

n xnT xn

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 23 / 26

Page 77: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Scale Factor

s∗ = argmins

E

which yields: s∗ =∑

n(Ryn)T xn∑n yn

T yn

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 24 / 26

Page 78: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Scale Factor

s∗ = argmins

E

which yields: s∗ =∑

n(Ryn)T xn∑n yn

T yn

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 24 / 26

Page 79: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Rotation

From the expansion of the error function we obtain that:R∗ = argmax

R

(∑n yn

TRT xn)

= argmaxR

(∑n xn

TRyn)

R∗ = argmaxR

tr(RY XT

)= argmax

Rtr (RCXY )

Let CXY = USV T be the singular value decomposition of the datacovariance matrix, the optimal rotation is given by

R∗ = VUT

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 25 / 26

Page 80: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Rotation

From the expansion of the error function we obtain that:R∗ = argmax

R

(∑n yn

TRT xn)

= argmaxR

(∑n xn

TRyn)

R∗ = argmaxR

tr(RY XT

)= argmax

Rtr (RCXY )

Let CXY = USV T be the singular value decomposition of the datacovariance matrix, the optimal rotation is given by

R∗ = VUT

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 25 / 26

Page 81: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Rotation

From the expansion of the error function we obtain that:R∗ = argmax

R

(∑n yn

TRT xn)

= argmaxR

(∑n xn

TRyn)

R∗ = argmaxR

tr(RY XT

)= argmax

Rtr (RCXY )

Let CXY = USV T be the singular value decomposition of the datacovariance matrix, the optimal rotation is given by

R∗ = VUT

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 25 / 26

Page 82: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

The Optimal Rotation

From the expansion of the error function we obtain that:R∗ = argmax

R

(∑n yn

TRT xn)

= argmaxR

(∑n xn

TRyn)

R∗ = argmaxR

tr(RY XT

)= argmax

Rtr (RCXY )

Let CXY = USV T be the singular value decomposition of the datacovariance matrix, the optimal rotation is given by

R∗ = VUT

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 25 / 26

Page 83: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Point Registration with Expectation Maximization

1 The EM algorithm for point registration uses a Gaussian mixturemodel (GMM) augmented with a uniform-distribution componentthat captures outliers.

2 The estimation of the transformation parameters do not need explicitpoint-to-point correspondences.

3 However, such correspondences can be easily established by searchingthe probabilities Pmn

4 The algorithm is robust to initialization, Gaussian noise and uniformlydistributed gross errors (outliers), it may however be trapped in localminima.

5 It is less efficient than ICP because of the computation of theprobabilities Pmn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 26 / 26

Page 84: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Point Registration with Expectation Maximization

1 The EM algorithm for point registration uses a Gaussian mixturemodel (GMM) augmented with a uniform-distribution componentthat captures outliers.

2 The estimation of the transformation parameters do not need explicitpoint-to-point correspondences.

3 However, such correspondences can be easily established by searchingthe probabilities Pmn

4 The algorithm is robust to initialization, Gaussian noise and uniformlydistributed gross errors (outliers), it may however be trapped in localminima.

5 It is less efficient than ICP because of the computation of theprobabilities Pmn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 26 / 26

Page 85: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Point Registration with Expectation Maximization

1 The EM algorithm for point registration uses a Gaussian mixturemodel (GMM) augmented with a uniform-distribution componentthat captures outliers.

2 The estimation of the transformation parameters do not need explicitpoint-to-point correspondences.

3 However, such correspondences can be easily established by searchingthe probabilities Pmn

4 The algorithm is robust to initialization, Gaussian noise and uniformlydistributed gross errors (outliers), it may however be trapped in localminima.

5 It is less efficient than ICP because of the computation of theprobabilities Pmn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 26 / 26

Page 86: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Point Registration with Expectation Maximization

1 The EM algorithm for point registration uses a Gaussian mixturemodel (GMM) augmented with a uniform-distribution componentthat captures outliers.

2 The estimation of the transformation parameters do not need explicitpoint-to-point correspondences.

3 However, such correspondences can be easily established by searchingthe probabilities Pmn

4 The algorithm is robust to initialization, Gaussian noise and uniformlydistributed gross errors (outliers), it may however be trapped in localminima.

5 It is less efficient than ICP because of the computation of theprobabilities Pmn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 26 / 26

Page 87: Probabilistic Point Cloud Regsitration Part Isiavashk/teaching/UBC_October_2016/presentatio… · Bogo et al., \FAUST: Dataset and evaluation for 3D mesh registration", CVPR 2014

Extra Slides

Point Registration with Expectation Maximization

1 The EM algorithm for point registration uses a Gaussian mixturemodel (GMM) augmented with a uniform-distribution componentthat captures outliers.

2 The estimation of the transformation parameters do not need explicitpoint-to-point correspondences.

3 However, such correspondences can be easily established by searchingthe probabilities Pmn

4 The algorithm is robust to initialization, Gaussian noise and uniformlydistributed gross errors (outliers), it may however be trapped in localminima.

5 It is less efficient than ICP because of the computation of theprobabilities Pmn.

Siavash Khallaghi Probabilistic Point Cloud Registration October 13, 2016 26 / 26


Recommended