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