detecting geometric primitives in 3d...

37
© 2003-2018 MVTec Software GmbH | Any use of content and images outside of this presentation or their extraction is not allowed without prior permission by MVTec Software GmbH Detecting Geometric Primitives in 3D Data

Upload: others

Post on 10-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

© 2003-2018 MVTec Software GmbH | Any use of content and images outside of this presentation or their extraction is not allowed without prior permission by MVTec Software GmbH

Detecting Geometric Primitives in 3D Data

Page 2: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Building Blocks for Point-Pair-Voting

Feature 3D Point Pairs

Parameter Space Local, Data-Driven Parameters

Feature Matching Implicit Model Description

Detection Voting Scheme

Page 3: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Point Pair Features

Fast, invariant, discriminative,

define local reference frame

Page 4: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Point Pair Feature Database

Find similar point pairs in O(1)

Page 5: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Local Pose Parameters

Rigid 6D pose:

Large, complex

parameter space

Page 6: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Local Pose Parameters

Rigid 6D pose:

Large, complex

parameter space

Assume one 3D point to

be aligned

Page 7: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Local Pose Parameters

Rigid 6D pose:

Large, complex

parameter space

Assume one 3D point to

be aligned

Fix scene point

(“reference point”)

Find corresponding

model point and rotation

around normal vector

Page 8: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Background: Local Pose Parameters

Page 9: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

For each scene point, find best local parameters (corresponding model point, rotation angle)

through voting

Initialize accumulator array with zeros

Iterate over other points

For each point pairs, vote

Voting Scheme

Page 10: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Select a 3D scene point, create the local voting space

Voting Scheme

Page 11: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Pair the 3D point with all other 3D points

Voting Scheme

Page 12: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Compute the point pair feature

Voting Scheme

Page 13: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Find corresponding point pairs on the model

Voting Scheme

Page 14: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Vote for every possible correspondence

Voting Scheme

Page 15: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Maximum in the voting space is the locally optimal pose

Voting Scheme

Page 16: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Geometric primitives often arise in practical applications

Calibration using spheres

Find background planes

Navigation

Remove background plane before object detection

Raw cylinders with varying radii (rigid shape is too constraining)

The base method works for primitives, but local parameters contain redundancies

that make the voting slower

Propose to adapt the method to

Remove redundancies

Exploit explicit nature of primitives for faster feature matching

Add shape parameters (radius / scale)

Geometric Primitives

Page 17: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Optimizations for Geometric Primitives

Feature 3D Point Pairs

Parameter Space Local, Data-Driven Parameters

Feature Matching Implicit Model Description

Detection Voting Scheme

Page 18: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Geometric Primitives: Using Symmetry Information

Page 19: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Implicit Point Pairs for Planes

Page 20: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Implicit Point Pairs for Spheres

Page 21: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Implicit Point Pairs for Cylinders

Page 22: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Pipeline

Page 23: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results on the SegComp ABW Dataset

Page 24: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results on a Synthetic Dataset

Page 25: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results on Synthetic Data

Page 26: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results on Real Data

Page 27: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results on Real Data

Page 28: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Outlook: Solids of Revolution

Page 29: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Iterative Voting though Graph Matching

Feature 3D Point Pairs

Parameter Space Local, Data-Driven Parameters

Feature Matching Implicit Model Description

Detection Voting Scheme

Page 30: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Graph Matching

correspondences between

model and scene points

Correct correspondences form a dense subgraph

Duchenne, O., Bach, F., Kweon, I.S., Ponce, J.: A tensor-based algorithm for high-order graph matching. PAMI

33(12) (2011)

connect

consistent correspondences

Page 31: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Graph Matching

correspondences between

model and scene points

Correct correspondences form a dense subgraph

connect

consistent correspondences

Assignment vector:

Relax:

Page 32: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Graph Matching

correspondences between

model and scene points

Correct correspondences form a dense subgraph

connect

consistent correspondences

Solved using gradient descend:

Equivalent to the power iteration with proven convergence

Equivalent to multiple rounds of voting

Assignment vector:

Relax:

Page 33: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Graph Intuition

Page 34: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Graph Pruning

Page 35: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results

Page 36: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Results

Page 37: Detecting Geometric Primitives in 3D Datacmp.felk.cvut.cz/sixd/workshop_2018/data/drost_r6d_eccv...Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition;

Bertram Drost, Slobodan Ilic: Local Hough Transform for 3D Primitive Detection; in:

International Conference on 3D Vision (3DV), 398-406, 2015.

Bertram Drost: Point Cloud Computing for Rigid and Deformable 3D Object Recognition; PhD

Thesis, Faculty of Informatics, Technical University of Munich, 2016.

Bertram Drost, Slobodan Ilic: Graph-based deformable 3d object matching; in: German

Conference on Pattern Recognition, 2015.

Adam Hoover, Gillian Jean-Baptiste, Xiaoyi Jiang, Patrick J. Flynn, Horst Bunke, Dmitry B.

Goldgof, Kevin W. Bowyer, David W. Eggert, Andrew W. Fitzgibbon, Robert B. Fisher: An

Experimental Comparison of Range Image Segmentation Algorithms; in: IEEE Transactions on

Pattern Analysis and Machine Intelligence, 18 (7):673–689, 1996.

References