350 likes | 543 Views
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
E N D
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 Rangeacquisition Transmissive Ultrasound MRI Radar Non-optical Sonar Reflective Optical
Range Acquisition Taxonomy Shape from X: stereo motion shading texture focus defocus Passive Opticalmethods 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: • 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, have2nf knowns, 6n+3f 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 bemade 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: • 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: 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
Laser Camera Triangulation: Extending to 3D • Possibility #1: add another mirror (flying spot) • Possibility #2: project a stripe, not a dot Object
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 codeover time [Posdamer 82] Time Space
Gray-Code Patterns • To minimize effects of quantization error:each point may be a boundary only once Time Space