Top Banner
1 3D Point Cloud Processing Dr. Andreas Nüchter July 23, 2014 Robotics and Telematics The image depicts how our robot Irma3D sees itself in a mirror. The laser looking into itself creates distortions as well as changes in intensity that give the robot a single eye, complete with iris and pupil. Thus, the image is called "Self Portrait with Duckling". 3D Point Cloud Processing Prof. Dr. Andreas Nüchter Planes
44

Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

Aug 27, 2018

Download

Documents

vohuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

13D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

The image depicts how our robot Irma3D sees itself in a mirror. The laser looking into itself

creates distortions as well as changes in intensity that give the robot a single eye,

complete with iris and pupil. Thus, the image is called

"Self Portrait with Duckling".

3D Point CloudProcessing

Prof. Dr. Andreas Nüchter

Planes

Page 2: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

23D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

SIFT Example (1)

• Typical 30000 features in animage of 3.6 Megapixel

• Example:

Page 3: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

33D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

SIFT Example (2)

• Typical 30000 features in animage of 3.6 Megapixel

• Example:

Page 4: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

43D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Remember: Feature-Based Registration

Page 5: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

53D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Minimization using Least Squares

• This minimization does not tolerate “outliers”

0 2 4 6 8 10 12-2

0

2

4

6

8

10

12

14

inliers

Outlier

0 2 4 6 8 10 12-2

0

2

4

6

8

10

12

14

Inliers

Outlier

Correct line

Page 6: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

63D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Robust Estimator for Data with Outlier

The M-estimator and Least-Median-of-Squares (LMedS) estimator cannot cope with 50% outliers

• Solution: The RANSAC (RANdom SAmple Consensus) Algorithm

Developed by Fischler and Bolles

One of the most importtant techniques in computer viso

Can cope with 50% or more outlier

Page 7: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

73D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

The RANSAC Algorithm – In General

• Generate M (a predefined number) of Model hypotheses, from which all a calculated by a minimal set of points

• Evaluate all hypotheses

• Calculate the remaining error using all data.

• Points with errors smaller than a threshold are classified as “Inlier”

• The hypothesis with a maximal number of “Inlier” is chosen. Aterwards the hypotheses is re-estimated, using only the inlier.

Page 8: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

83D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

The RANSAC Algorithm – Formal

k := 0

Repeat until P(better solutions exists) < η

(cost function C and step counter k)

k := k + 1

I. Hypothesis estimation

(1) Select random set

(2) Calculate parameter

II. Verification

(3) calculate costs

(4) if C* < Ck then C*:=Ck, p := pk

end

mSUS kk ||,)( kk Sfp

Ux kk xpc ),(

Page 9: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

93D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (1)

• Given the following set of points

Page 10: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

103D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (2)

• Select points @ random

Page 11: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

113D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (3)

• Estimate a line based of the chosen points

Page 12: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

123D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (4)

• Calculate the error that is made in this estimation

Page 13: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

133D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (5)

• Apply a threshold; estimate a new line based on the red and green points

Page 14: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

143D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Example: Line Detection with RANSAC (7)

• Repeat everything for different random points

Page 15: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

153D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

RANSAC for Plane Detection

Page 16: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

163D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

RANSAC for Plane Detection

Page 17: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

173D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

RANSAC for Plane Detection

Page 18: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

183D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Detecting Shapes with RANSAC

• Improve selection of sample points– Choose points with higher likelihood if in close proximity– Lower number of draws required

• Speed up validation of hypothesis

R. Schnabel, R. Wahl, and R. Klein. Efficient RANSAC for Point-Cloud Shape Detection. Computer Graphics Forum, 2007.

Page 19: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

193D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Detection of Lines (1)

• Example: Accumulator with point pairs

Representation using the Hessian normal form:

We need a discrete accumulator H[ρ][l] : Both ρ and l are represented with finite

Page 20: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

203D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Detection of Lines (2)

Hough Transformation of a line(based on edge point pairs)

• Input: edge points (x1, y1), (x2, y2), . . . , (xn, yn)

• Output: lines that go through these edge points

• One can expect that there will be peaks in the accumulator array H[ρ][l]. All peaks correspond to a line in the image.

• Huge number of edge point pairs: O(n^2)

Set all elements of the accumulator H[ρ][l] to zero;for (all pairs of edge points in k(r, c)) {

calculate the corresponding ρ and l;H[ρ][l] ++; / Consider discretization of ρ and l /∗ ∗

}Detect peaks in H[ρ][l];

Page 21: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

213D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Detection of Lines (3)

• Accumulator with single edge points:Reduction of the work load: Construct the Accumulator H[ρ][l] with “hints” to possible lines based on single edge points. Unfortunately, every edge point (xi, yi) implies not one edge, but a set of edges (ρ, l):

i.e., a sinusoidal curve in the ρl space.

• Solution: All possible parameters (ρ, l), that fulfill the above constraint (I.e. they represent a line with the current edge point (xi, yi)) are considered and the corresponding counter in the array is incremented.

Page 22: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

223D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Detection of Lines (4)

• Input: Edge points (x1, y1), (x2, y2), . . . , (xn, yn)

• Output: Lines, that go though these edge points1. Transform all adge points (xi, yi) according to

l = xi cos ρ + yi sin ρ from the xy-space to the ρl-space.for (ρ = 0; ρ < 2π; ρ+=dρ)for (l = 0; l < lmax; l+=dl)

H[ρ][l] = 0;for (i = 1; i ≤ n; i++)for (ρ = 0; ρ < 2π; ρ+=dρ) {

l = xi cos ρ + yi sin ρ;H[ρ][l] ++; / Regard the discretisation of l /∗ ∗

/ Increment according to edge width s(xi, yi) poss. /∗ ∗

}2. Search for cluster points in ρl-space, i.e. in H[ρ][l]. 3. All cluster points (ρ0, l0) define a line

l0 = x cos ρ0+y sin ρ0 in xy-space.

Page 23: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

233D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Detection of Lines (5)

• Example:

Page 24: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

243D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Iterations (1)

Page 25: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

253D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Iterations (2)

Page 26: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

263D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Results

Page 27: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

273D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transformation: Example

• Detection of Lines:

Page 28: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

283D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

From 2D to 3D – From Lines to Planes

Page 29: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

293D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Polar Coordinates

Page 30: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

303D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transform (HT)

• Hough Space: - Space–

• Cartesian Space: (x,y,z) – Space

– -∞ < x,y,z < ∞• Hough Transform

– Cartesian Space → Hough Space

– For a point (x,y,z) HT yields all planes that go through (x,y,z)

Page 31: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

313D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Transform – Example

Page 32: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

323D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Discretization – Accumulator Array

Page 33: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

333D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Discretization – Related Work

[Censi, 2004] [Zaharia, 2002]

Page 34: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

343D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Accumulator Ball

• discretize with stepwidth

with and

Page 35: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

353D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparing Accumulators (1)

Page 36: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

363D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Variants - SHT

Page 37: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

373D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Hough Variants• Probablistic Hough Transform (PHT)

– Use p% of the input points only

• Progressive Probabilistic Hough Transform (PPHT)– Pick points randomly and perform HT– Quit when one cell has been voted by p% of the points

• Adaptive Probabilistic Hough Transform (APHT) – Pick points randomly and perform HT– Obtain a list of maxima– Quit when list of maxima remains stable

• Randomized Hough Transform (RHT)– Pick three points randomly– Accumulate the cell corresponding to the plane spanned by

these points– Delete points of plane when threshold is reached

Page 38: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

383D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparing Accumulators (2)

Page 39: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

393D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparing Hough Variants (1)

Page 40: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

403D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparing Hough Variants (2)

Page 41: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

413D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparison with Related Work (1)

• Randomized Hough Transform (RHT)

• Region Growing (RG) [Poppinga, 2008]

• Hierarchical Fitting Primitives (HFP)

[Attene, 2006]

Page 42: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

423D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparision with Related Work (2)

RHT

RG

HFP

Page 43: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

433D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparision with Related Work (3)

RHT

RG

HFP

Page 44: Planes 3D Point Cloud Processing - … · 4 3D Point Cloud Processing Dr. Andreas Nüchter ... Representation using the Hessian normal form: ... From 2D to 3D – From Lines to Planes.

443D Point Cloud ProcessingDr. Andreas NüchterJuly 23, 2014

Robotics and Telematics

Comparision with Related Work (4)