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

Post on 04-Aug-2020

0 views 0 download

transcript

Probabilistic Point Cloud RegsitrationPart I

Siavash Khallaghi

October 13, 2016

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

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

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

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

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

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

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

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

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

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

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

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

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

Point Cloud Registration

Problem Definition

x2 x1

x3

y2 y1

y3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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