You are on page 1of 35

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 Taxonomy

Mechanical (CMM, jointed arm)


Inertial (gyroscope, accelerometer)
Contact Ultrasonic trackers
Magnetic trackers

Industrial CT
Range
Transmissive Ultrasound
acquisition
MRI

Radar
Non-optical
Reflective Sonar
Optical
Range Acquisition Taxonomy
Shape from X:
stereo
motion
shading
Passive texture
focus
defocus
Optical
methods Active variants of passive method
Stereo w. projected texture
Active depth from defocus
Photometric stereo
Active
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 non-
diffuse 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
1
r  ct
2
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 

1  c    2n 
r    
2  νm  2 

• Note the ambiguity in the measured


phase!
 Range ambiguity of 1/2mn
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

• Assign each stripe a unique illumination code


over time [Posdamer 82]
Time

Space
Gray-Code Patterns

• To minimize effects of quantization error:


each point may be a boundary only once
Time

Space

You might also like