Title: 3D Scanning
13D Scanning
Acknowledgement some content and figures by
Brian Curless
2Data Types
- Volumetric Data
- Voxel grids
- Occupancy
- Density
- Surface Data
- Point clouds
- Range images (range maps)
3Related 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
4Related Fields
- Computer Graphics
- Often want complete model
- Low noise, geometrically consistent model more
important than absolute accuracy - Application animated CG characters
5Terminology
- Range acquisition, shape acquisition,
rangefinding, range scanning, 3D scanning - Alignment, registration
- Surface reconstruction, 3D scan merging, scan
integration, surface extraction - 3D model acquisition
6Range Acquisition Taxonomy
Mechanical (CMM, jointed arm)
Inertial (gyroscope, accelerometer)
Contact
Ultrasonic trackers
Magnetic trackers
Industrial CT
Rangeacquisition
Transmissive
Ultrasound
MRI
Radar
Non-optical
Sonar
Reflective
Optical
7Range Acquisition Taxonomy
Shape from X stereo motion shading texture f
ocus defocus
Passive
Opticalmethods
Active variants of passive methods Stereo w.
projected texture Active depth from
defocus Photometric stereo
Active
Time of flight
Triangulation
8Optical 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)
9Stereo
- Find feature in one image, search along epipole
in other image for correspondence
10Stereo
- 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
11Shape from Motion
- Limiting case of multibaseline stereo
- Track a feature in a video sequence
- For n frames and f features, have2?n?f knowns,
6?n3?f unknowns
12Shape 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
13Shape from Shading
- Given image of surface with known, constant
reflectance under known point light - Estimate normals, integrate to find surface
- Problem ambiguity
14Shape from Shading
- Advantages
- Single image
- No correspondences
- Analogue in human vision
- Disadvantages
- Mathematically unstable
- Cant have texture
- Not really practical
- But see photometric stereo
15Shape from Texture
- Mathematically similar to shape from shading, but
uses stretch and shrink of a (regular) texture
16Shape from Texture
- Analogue to human vision
- Same disadvantages as shape from shading
17Shape 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 bemade practical
18Active 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
19Active 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
20Pulsed Time of Flight
- Basic idea send out pulse of light (usually
laser), time how long it takes to return
21Pulsed 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.
22AM Modulation Time of Flight
- Modulate a laser at frequency?m , it returns with
a phase shift ?? - Note the ambiguity in the measured phase!? Range
ambiguity of 1/2?mn
23AM 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)
24Triangulation
25Triangulation Moving theCamera and Illumination
- Moving independently leads to problems with
focus, resolution - Most scanners mount camera and light source
rigidly, move them as a unit
26Triangulation Moving theCamera and Illumination
27Triangulation Moving theCamera and Illumination
28Triangulation Extending to 3D
- Possibility 1 add another mirror (flying spot)
- Possibility 2 project a stripe, not a dot
Object
29Triangulation Scanner Issues
- Accuracy proportional to working volume (typical
is 10001) - 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?)
30Triangulation Scanner Issues
- Material properties (dark, specular)
- Subsurface scattering
- Laser speckle
- Edge curl
- Texture embossing
31Multi-Stripe Triangulation
- To go faster, project multiple stripes
- But which stripe is which?
- Answer 1 assume surface continuity
32Multi-Stripe Triangulation
- To go faster, project multiple stripes
- But which stripe is which?
- Answer 2 colored stripes (or dots)
33Multi-Stripe Triangulation
- To go faster, project multiple stripes
- But which stripe is which?
- Answer 3 time-coded stripes
34Time-Coded Light Patterns
- Assign each stripe a unique illumination
codeover time Posdamer 82
Time
Space
35Gray-Code Patterns
- To minimize effects of quantization erroreach
point may be a boundary only once
Time
Space