3D Modeling with Depth Sensors Torsten Sattler Spring 2018 - - PowerPoint PPT Presentation

3d modeling with depth sensors
SMART_READER_LITE
LIVE PREVIEW

3D Modeling with Depth Sensors Torsten Sattler Spring 2018 - - PowerPoint PPT Presentation

3D Modeling with Depth Sensors Torsten Sattler Spring 2018 http://www.cvg.ethz.ch/teaching/3dvision/ Previously Obtaining depth maps / range images via stereo matching (Lecture 5) Volumetric modeling from multiple images


slide-1
SLIDE 1

3D Modeling with Depth Sensors

Torsten Sattler Spring 2018

http://www.cvg.ethz.ch/teaching/3dvision/

slide-2
SLIDE 2

Previously

  • Obtaining “depth maps” / “range images”

via stereo matching (Lecture 5)

  • Volumetric modeling from multiple images

and their depth maps (last lecture)

(some slides from Szymon Rusinkiewicz, Brian Curless)

slide-3
SLIDE 3

Topics Today

  • Actively obtaining “depth maps” /

“range images”

  • unstructured light
  • structured light
  • time-of-flight
  • Registering range images for 3D modeling

(some slides from Szymon Rusinkiewicz, Brian Curless)

slide-4
SLIDE 4

Taxonomy

3D modeling passive active stereo shape from silhouettes … structured/ unstructured light laser scanning photometric stereo

slide-5
SLIDE 5

unstructured light structured light laser scanner

3D Modeling with Depth Sensors

time-of-flight

slide-6
SLIDE 6

Key Takeaways

  • What active depth sensors exist?
  • How do sensors generate depth maps?
  • How to register multiple depth maps?
slide-7
SLIDE 7

Unstructured Light

project texture to disambiguate stereo

slide-8
SLIDE 8

Space-Time Stereo

Davis, Ramamoothi, Rusinkiewicz, CVPR’03

Idea: Extend matching window over

time rather than space

slide-9
SLIDE 9

Space-Time Stereo

Davis, Ramamoothi, Rusinkiewicz, CVPR’03

Assumption: Scene is static!

slide-10
SLIDE 10

Space-Time Stereo

Zhang, Curless and Seitz, CVPR’03 Assumption: Geometry changes smoothly over time (high framerate) → Linearize temporal variation

slide-11
SLIDE 11

Space-Time Stereo Results

Zhang, Curless and Seitz, CVPR’03

slide-12
SLIDE 12

Light Transport Constancy

Davis, Yang, Wang, ICCV05

  • Common assumption: Lambertian surfaces = color

consistency

  • Arbitrary reflectance via light transport consistency

Percentage of reflected light remains constant

slide-13
SLIDE 13

Triangulation Scanner

Light / Laser Camera “Peak” position in image reveals depth (typically obtained via mean or median filtering)

slide-14
SLIDE 14

Triangulation: Moving the Camera and Illumination

  • Moving independently leads to problems

with focus, resolution

  • Most scanners mount camera and light

source rigidly, move them as a unit, allows also for (partial) pre-calibration

slide-15
SLIDE 15

Triangulation: Moving the Camera and Illumination

slide-16
SLIDE 16

Triangulation: Extending to 3D

  • Alternatives: project dot(s) or stripe(s)

Object Laser Camera

slide-17
SLIDE 17

Triangulation Scanner Issues

  • Accuracy proportional to working volume

(typical is ~ 1000:1)

  • Scales down to small working volume

(e.g. 5 cm. working volume, 50 µm. accuracy)

  • Does not scale up (baseline too large…)
  • Two-line-of-sight problem (shadowing from

either camera or laser)

  • Triangulation angle: non-uniform resolution if

too small, shadowing if too big (useful range: 15°-30°)

slide-18
SLIDE 18

Triangulation Scanner Issues

  • Material properties (dark, specular)
  • Subsurface scattering
  • Laser speckle
  • Edge curl
  • Texture embossing

Fundamental question: How to determine the

exact (subpixel) laser spot position ?

slide-19
SLIDE 19
slide-20
SLIDE 20

Space-Time Analysis

Curless, Levoy, ICCV‘95

Idea: Look at intensity over time as laser spot moves Time of maximum intensity (Gaussian model) defines position of illuminant and thus depth

slide-21
SLIDE 21

Space-Time Analysis

Curless, Levoy, ICCV‘95

slide-22
SLIDE 22

Projector as Camera

slide-23
SLIDE 23

Multi-Stripe Triangulation

  • To go faster, project multiple stripes
  • But which stripe is which?
  • Answer # 1: assume surface continuity

e.g. Eyetronics’ ShapeCam

slide-24
SLIDE 24

Multi-Stripe Triangulation

  • To go faster, project multiple stripes
  • But which stripe is which?
  • Answer # 2: colored stripes (or dots)
slide-25
SLIDE 25

Multi-Stripe Triangulation

  • To go faster, project multiple stripes
  • But which stripe is which?
  • Answer # 3: time-coded stripes
slide-26
SLIDE 26

Time-Coded Light Patterns

  • Assign each stripe a unique illumination code
  • ver time [Posdamer 82]

Space Time

slide-27
SLIDE 27

Better Codes…

  • Gray code

Neighbors only differ one bit

slide-28
SLIDE 28

Poor man’s scanner

Bouguet and Perona, ICCV’98

slide-29
SLIDE 29

Microsoft Kinect

  • Infrared „projector“
  • Infrared camera
  • Works indoors (no IR distraction)
  • „invisible“ for human

Depth Map: note stereo shadows! Color Image (unused for depth) IR Image

slide-30
SLIDE 30

Kinect

  • Projector pattern „strongly textured“
  • Correlation-based stereo

between IR image and projected pattern possible

stereo shadow Bad SNR / too close Homogeneous region, ambiguous without pattern

slide-31
SLIDE 31

Pulsed Time of Flight

  • Basic idea: send out pulse of light (usually laser),

time how long it takes to return

t c d ∆ = 2 1

slide-32
SLIDE 32

Pulsed Time of Flight

  • Advantages:
  • Large working volume (up to 100 m.)
  • Disadvantages:
  • Not-so-great accuracy (at best ~ 5 mm.)
  • Requires getting timing to ~ 30 picoseconds
  • Does not scale with working volume
  • Often used for scanning buildings, rooms,

archeological sites, etc.

slide-33
SLIDE 33

Depth Cameras

2D array of time-of-flight sensors

e.g. Canesta’s CMOS 3D sensor

jitter too big on single measurement, but averages out on many

(10,000 measurements⇒100x improvement)

slide-34
SLIDE 34

3D Modeling

  • Aligning range images
  • Pairwise
  • Globally

(some slides from S. Rusinkiewicz, J. Ponce,…)

slide-35
SLIDE 35

Aligning 3D Data

  • If correct correspondences are known

(from feature matches, colors, …) …

  • … it is possible to find correct relative

rotation/translation

slide-36
SLIDE 36

Aligning 3D Data

Xi’ = T Xi X1

X2

X2 X1 For T as general 4x4 matrix:

Linear solution from ≥5 corrs.

T is Euclidean Transform: 3 corrs. (using quaternions)

[Horn87] “Closed-form solution of absolute

  • rientation using unit quaternions”

T e.g. Kinect motion

slide-37
SLIDE 37

Aligning 3D Data

  • How to find corresponding points?
  • Manual input (for small datasets)
  • Or: Use some form of descriptor
  • Here: Spin Images
  • Overview over classical and learned variants:

[Khoury, Zhou, Koltun, Learning Compact Geometric Features, ICCV 2017]

slide-38
SLIDE 38

Spin Images

  • [Johnson and Hebert ’97]
  • “Signature” that captures local shape
  • Similar shapes → similar spin images
slide-39
SLIDE 39

Computing Spin Images

  • Start with a point on a 3D model
  • Find (averaged) surface normal at that

point

  • Define coordinate system centered at this

point, oriented according to surface normal and two (arbitrary) tangents

  • Express other points (within some

distance) in terms of the new coordinates

slide-40
SLIDE 40

Computing Spin Images

  • Compute histogram of locations of other

points, in new coordinate system, ignoring rotation around normal:

n ˆ × = p α n ˆ ⋅ = p β

“radial dist.” “elevation”

slide-41
SLIDE 41

Computing Spin Images

“radial dist.” “elevation”

slide-42
SLIDE 42

Spin Image Parameters

  • Size of neighborhood
  • Determines whether local or global shape

is captured

  • Big neighborhood: more discriminative power
  • Small neighborhood: resilience to clutter
  • Size of bins in histogram:
  • Big bins: less sensitive to noise
  • Small bins: captures more detail
slide-43
SLIDE 43

Alignment with Spin Image

  • Compute spin image for each point / subset of

points in both sets

  • Find similar spin images → potential

correspondences

  • Compute alignment from correspondences

⇒Same problems as with image matching:

  • Robustness of descriptor vs. discriminative power
  • Mismatches → robust estimation required
slide-44
SLIDE 44

Aligning 3D Data

Alternative: assume closest points correspond to each other, compute the best transform…

slide-45
SLIDE 45

Aligning 3D Data

… and iterate to find alignment

Iterated Closest Points (ICP) [Besl & McKay 92]

Converges if starting position “close enough“

slide-46
SLIDE 46

ICP Variant – Point-to-Plane Error Metric

  • Using point-to-plane distance instead of point-to-

point lets flat regions slide along each other more easily [Chen & Medioni 92]

slide-47
SLIDE 47

Finding Corresponding Points

  • Finding closest point is most expensive stage of ICP
  • Brute force search – O(n)
  • Spatial data structure (e.g., k-d tree) – O(log n)
  • Voxel grid – O(1), but large constant, slow preprocessing
slide-48
SLIDE 48

Finding Corresponding Points

  • For range images, simply project point

[Blais/Levine 95]

  • Constant-time, fast
  • Does not require precomputing a spatial data structure
slide-49
SLIDE 49

Summary

  • Different active sensors that generate

depth maps / range scans

  • Unstructured light, structured light (laser),

projector-camera systems, time-of-flight, …

  • Central idea: Space-time analysis
  • Better stereo matching, handling dynamic
  • bjects, improving laser scan quality, …
  • Registration of range scans via

descriptors and ICP

slide-50
SLIDE 50

Feb 19 Introduction Feb 26 Geometry, Camera Model, Calibration Mar 5 Features, Tracking / Matching Mar 12 Project Proposals by Students Mar 19 Structure from Motion (SfM) + papers Mar 26 Dense Correspondence (stereo / optical flow) + papers Apr 2 Easter Break Apr 9 Bundle Adjustment & SLAM + papers Apr 16 Student Midterm Presentations Apr 23 Multi-View Stereo & Volumetric Modeling + papers Apr 30

3D Modeling with Depth Sensors + papers

May 7 3D Scene Understanding + papers May 14 4D Video & Dynamic Scenes + papers May 21 Whitesuntide May 28

Student Project Demo Day = Final Presentations

Schedule

slide-51
SLIDE 51

Next week: 3D Scene Understanding