Acknowledgement: some content and figures by Brian Curless 3D Scanning Acknowledgement: some content and figures by Brian Curless
Data Types Volumetric Data Surface Data Voxel grids Occupancy Density Point clouds Range images (range maps)
Related Fields Computer Vision Metrology 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 acquisition Transmissive Ultrasound MRI Radar Non-optical Sonar Reflective Optical
Range Acquisition Taxonomy Shape from X: stereo motion shading texture focus defocus Passive Optical methods Active variants of passive methods 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: Disadvantages: 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 2nf knowns, 6n+3f unknowns
Shape from Motion Advantages: Disadvantages: 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: Disadvantages: Not really practical 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
Pulsed Time of Flight Advantages: Disadvantages: 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 frequencym , it returns with a phase shift Note the ambiguity in the measured phase! Range ambiguity of 1/2mn
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 Laser Object 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