48
COS 526: Advanced Computer Graphics 3D Acquisition and Registration Slide credits: Tom Funkhouser

3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

COS 526: Advanced Computer Graphics

3D Acquisition and Registration

Slide credits: Tom Funkhouser

Page 2: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point Cloud Acquisition

• Passive– Structure from motion

• Active– Touch probes

– Optical scanning• Time of flight

• Triangulation

– Laser

– Structured light

Page 3: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structure from Motion

• Solve for 3D structure from correspondences

Multi-view Stereo (MVS)Structure from Motion (SfM)

Page 4: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structure from Motion

• Advantages:– Demonstrated for large photo collections

• Disadvantages:– Pixel correspondences required

Page 5: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Touch Probes

• Capture points on object with tracked tip of probe– Physical contact with the object

– Manual or computer-guided

Page 6: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Touch Probes

• Advantages:– Can be very precise

– Insensitive to appearance

• Disadvantages:– Slow, small scale

– Can’t use on fragile objects

Page 7: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Time of Flight Laser Scanning

• Measures the time it takesthe laser beam to hit the objectand come back– e.g., LIDAR

dd = 0.5 t ⋅ c laser

Page 8: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Time of Flight Laser Scanning

• Advantages– Accommodates large range – up to several miles

(suitable for buildings, landscapes)

• Disadvantages– Lower accuracy (~ several mm)

Page 9: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Triangulation Laser Scanning

• System includes calibratedlaser beam and camera– Laser dot is photographed

• The location of the dot in theimage allows triangulation: tells distance to the object

laserd

cameralens

Page 10: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Triangulation Laser Scanning

• System includes calibratedlaser beam and camera– Laser dot is photographed

• The location of the dot in theimage allows triangulation: tells distance to the object

laserd

cameralens

Page 11: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

• Stripe triangulation

Camera

Object

Light Plane

ImagePoint

Plug X, Y into plane equation to get Z

Triangulation Laser Scanning

Laser

𝐴𝐴𝐴𝐴 + 𝐵𝐵𝐵𝐵 + 𝐶𝐶𝐶𝐶 + 𝐷𝐷 = 0

Page 12: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Triangulation Laser Scanning

• Advantages– Very precise (tens of microns)

• Disadvantages– Small distances (meters)

– Inaccessible regions

Page 13: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Multi-Stripe Triangulation

Page 14: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Color-Coded Stripe Triangulation

Zhang et al, 3DPVT 2002

Page 15: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Time-Coded Stripe Triangulation

Assign each stripe a unique illumination code over time

Space

Time

[Posdamer 82]

Page 16: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Time-Coded Stripe Triangulation

Page 17: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

3D Reconstruction using Structured Light [Inokuchi 1984]

Recovered Rows Recovered Columns

Time-Coded Stripe Triangulation

Page 18: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structured Light Scanning: Kinect

IR EmitterColor Sensor

IR Depth Sensor Tilt Motor

Microphone Array

Page 19: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structured Light Scanning: Kinect

Projected IR Pattern

Page 20: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structured Light Scanning: Kinect

Depth Map RGB Image

Page 21: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Structured Light Scanning

• Advantages:– Very fast – 2D pattern at once

• Disadvantages:– Prone to noise

– Indoor only

Page 22: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

Page 23: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

Page 24: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

Page 25: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

Page 26: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

+

Page 27: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Range Processing Pipeline

• Steps1. manual initial alignment

2. ICP to one existing scan

3. automatic ICP of all overlapping pairs

4. global relaxation to spread out error

5. merging using volumetric method

Page 28: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

3D Registration: Goal

• Given two partially overlapping scans, compute the transformation that makes themlie on top of each other

Partially Overlapping Scans Aligned Scans

Page 29: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

General Approach

1. Find feature points

Partially Overlapping Scans

Page 30: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

General Approach

1. Find feature points

2. Establish correspondences

Partially Overlapping Scans

Page 31: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

General Approach

1. Find feature points

2. Establish correspondences

3. Compute the aligning transformation

Partially Overlapping Scans Aligned Scans

Page 32: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Problem

• Most problems require aligning a subset of features

AB

Page 33: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Observation I

• Calculating the aligning transformation is usually easy if correspondences are known (proposed)

A B

∑=

−=N

iii BABARMSD

1

2)(),(

Page 34: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Observation II

• Calculating the correspondences is usually easy if the aligning transformation is known (proposed)

BiAi

Page 35: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Challenge

• The challenge is to discover the correspondences and aligning transformation together

AB

Page 36: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Brute Force Search

• Simple method:– Try all possible sets of point correspondences– Score the alignment for each one

• Problem:– O(nm) possible sets of m correspondences

among n points

A B

Page 37: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Brute Force Search

• Simple method:– Try all possible sets of point correspondences– Score the alignment for each one

• Problem:– O(nm) possible sets of m correspondences

among n points

A

8 Point alignedRMSD = 3.1

B

Page 38: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Brute Force Search

• Simple method:– Try all possible sets of point correspondences– Score the alignment for each one (e.g., RMSD)

• Problem:– O(nm) possible sets of m correspondences

among n points

BA

All points alignedRMSD = 0.2

Page 39: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

RANSAC

• Randomly sample set of possible correspondences– Randomly generate a small set of point correspondences

– Compute the aligning transformation for correspondencesScore how well other points align after that transformation

– Remember the best transformation

A B

Page 40: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

ICP: Motivation

• If correct correspondences are known, can find correct relative rotation/translation

Page 41: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

ICP: Motivation

• How to find correspondences?– Assume closest points correspond!

Page 42: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

ICP: Motivation

• … and iterate to find alignment– Iterative Closest Points (ICP) [Besl & McKay 92]

• Converges if starting position “close enough“

Page 43: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

ICP Algorithm

• Select e.g. 1000 random points

• Match each to closest point on other scan,using data structure such as k-d tree

• Reject pairs (e.g. with distance > k times median)

• Construct error function:

• Minimize (closed form solution in [Horn 87])

2∑ −+= iiE qtRp

Page 44: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point-to-Plane Error Metric

• Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]

– In practice, much faster convergence

Page 45: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point-to-Plane Error Metric

• Error function:

where R is a rotation matrix, t is translation vector

[ ]∑ ⋅−+= 2)( iiiE nqtRp

Page 46: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point-to-Plane Error Metric

• Linearize rotations– (i.e. assume that sin θ ≈ θ, cos θ ≈ 1):

𝑅𝑅 = 𝑅𝑅𝑥𝑥𝑅𝑅𝑦𝑦𝑅𝑅𝑧𝑧

≈1 −𝑟𝑟𝑧𝑧 𝑟𝑟𝑦𝑦𝑟𝑟𝑧𝑧 1 −𝑟𝑟𝑥𝑥−𝑟𝑟𝑦𝑦 𝑟𝑟𝑥𝑥 1

𝑅𝑅𝑝𝑝𝑖𝑖 ⋅ 𝑛𝑛𝑖𝑖 ≈ 𝑟𝑟 ⋅ (𝑝𝑝𝑖𝑖 × 𝑛𝑛𝑖𝑖)

Page 47: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point-to-Plane Error Metric

• Error function:

where R is a rotation matrix, t is translation vector

• After linearization:

• Result: overconstrained linear system

[ ]∑ ⋅−+= 2)( iiiE nqtRp

( )

=⋅+×⋅+⋅−≈ ∑

z

y

x

rrr

rntnprnqp where,)()( 2iiiiiiE

Page 48: 3D Acquisition and Registration - Princeton University · 2018. 10. 15. · 3D Acquisition and Registration. Slide credits: Tom Funkhouser. Point Cloud Acquisition • Passive –

Point-to-Plane Error Metric

• Overconstrained linear system

• Solve using least squares

=

=

=

=

⋅−−⋅−−

→←→×←→←→×←

222

111

222

11

n)q(pn)q(p

nnpn1np

bxA

bAx

,,

,

z

y

x

z

y

x

tttrrr

( ) bAAAx

bAAxAT1T

TT

−=

=