3D Scanning Acknowledgement: some content and figures by Brian Curless

advertisement

3D Scanning

Acknowledgement: some content and figures by Brian Curless

Data Types

• Volumetric Data

Voxel grids

Occupancy

Density

• Surface Data

Point clouds

Range images (range maps)

Related Fields

• Computer Vision

Passive range sensing

Rarely construct complete, accurate models

Application: recognition

• Metrology

Main goal: absolute accuracy

High precision, provable errors more important than scanning speed, complete coverage

Applications: industrial inspection, quality control, as-built models

Related Fields

• Computer Graphics

Often want complete model

Low noise, geometrically consistent model more important than absolute accuracy

Application: animated CG characters

Terminology

• Range acquisition, shape acquisition, rangefinding, range scanning, 3D scanning

• Alignment, registration

• Surface reconstruction, 3D scan merging, scan integration, surface extraction

• 3D model acquisition

Range acquisition

Range Acquisition Taxonomy

Contact

Transmissive

Reflective

Mechanical (CMM, jointed arm)

Inertial (gyroscope, accelerometer)

Ultrasonic trackers

Magnetic trackers

Industrial CT

Ultrasound

MRI

Non-optical

Radar

Sonar

Optical

Optical methods

Range Acquisition Taxonomy

Passive

Active

Shape from X: stereo motion shading texture focus defocus

Active variants of passive methods

Stereo w. projected texture

Active depth from defocus

Photometric stereo

Time of flight

Triangulation

Optical Range Scanning Methods

• Advantages:

Non-contact

Safe

Usually inexpensive

Usually fast

• Disadvantages:

Sensitive to transparency

Confused by specularity and interreflection

Texture (helps some methods, hurts others)

Stereo

• Find feature in one image, search along epipole in other image for correspondence

Stereo

• Advantages:

Passive

Cheap hardware (2 cameras)

Easy to accommodate motion

Intuitive analogue to human vision

• Disadvantages:

– Only acquire good data at “features”

Sparse, relatively noisy data (correspondence is hard)

Bad around silhouettes

Confused by non-diffuse surfaces

• Variant: multibaseline stereo to reduce ambiguity

Shape from Motion

• “Limiting case” of multibaseline stereo

• Track a feature in a video sequence

• For n frames and f features, have

2

 n

 f knowns, 6

 n +3

 f unknowns

Shape from Motion

• Advantages:

Feature tracking easier than correspondence in far-away views

Mathematically more stable (large baseline)

• Disadvantages:

Does not accommodate object motion

Still problems in areas of low texture, in nondiffuse regions, and around silhouettes

Shape from Shading

• Given: image of surface with known, constant reflectance under known point light

• Estimate normals, integrate to find surface

• Problem: ambiguity

Shape from Shading

• Advantages:

Single image

No correspondences

Analogue in human vision

• Disadvantages:

Mathematically unstable

– Can’t have texture

• Not really practical

But see photometric stereo

Shape from Texture

• Mathematically similar to shape from shading, but uses stretch and shrink of a (regular) texture

Shape from Texture

• Analogue to human vision

• Same disadvantages as shape from shading

Shape from Focus and Defocus

• Shape from focus: at which focus setting is a given image region sharpest?

• Shape from defocus: how out-of-focus is each image region?

• Passive versions rarely used

• Active depth from defocus can be made practical

Active Optical Methods

• Advantages:

Usually can get dense data

Usually much more robust and accurate than passive techniques

• Disadvantages:

Introduces light into scene (distracting, etc.)

Not motivated by human vision

Active Variants of Passive Techniques

• Regular stereo with projected texture

Provides features for correspondence

• Active depth from defocus

Known pattern helps to estimate defocus

• Photometric stereo

Shape from shading with multiple known lights

Pulsed Time of Flight

• Basic idea: send out pulse of light (usually laser), time how long it takes to return r

1

2 c

 t

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.

AM Modulation Time of Flight

• Modulate a laser at frequency

 m

, it returns with a phase shift

  r

1

2

 c

ν m



 

2

2

 n

• Note the ambiguity in the measured phase!

Range ambiguity of 1 /

2

 m n

AM Modulation Time of Flight

• Accuracy / working volume tradeoff

(e.g., noise ~ 1 /

500 working volume)

• In practice, often used for room-sized environments (cheaper, more accurate than pulsed time of flight)

Triangulation

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

Triangulation: Moving the

Camera and Illumination

Triangulation: Moving the

Camera and Illumination

Triangulation: Extending to 3D

• Possibility #1: add another mirror (flying spot)

• Possibility #2: project a stripe, not a dot

Object

Laser

Camera

Triangulation Scanner Issues

• Accuracy proportional to working volume (typical is ~1000:1)

• Scales down to small working vol. (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

)

Triangulation Scanner Issues

• Material properties (dark, specular)

• Subsurface scattering

• Laser speckle

• Edge curl

• Texture embossing

Multi-Stripe Triangulation

• To go faster, project multiple stripes

• But which stripe is which?

• Answer #1: assume surface continuity

Multi-Stripe Triangulation

• To go faster, project multiple stripes

• But which stripe is which?

• Answer #2: colored stripes (or dots)

Multi-Stripe Triangulation

• To go faster, project multiple stripes

• But which stripe is which?

• Answer #3: time-coded stripes

Time-Coded Light Patterns

Time

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

Space

Gray-Code Patterns

Time

• To minimize effects of quantization error: each point may be a boundary only once

Space

Download