260 likes | 385 Vues
This document explores advanced triangulation methods for structured light systems, emphasizing the balance between speed and robustness. It addresses the challenges of single-stripe systems and offers solutions through time-coded light patterns and gray-code patterns, which minimize quantization errors. The content delves into accounting for reflectance variations and optimizing for dynamic scenes, ensuring effective tracking through illumination history management. Techniques such as shadow scanning and active stereo systems are also discussed, providing diverse options for capturing high-quality range images.
E N D
Triangulation System Options • Single-stripe systems most robust, but slowest • To go faster, project multiple stripes • But which stripe is which? • In limit, project 2D pattern, determineprojector/camera correspondence
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
Accounting for Reflectance • Because of surface reflectance and ambient light, distinguishing between black and white not always easy • Solution: project all-white (and sometimesall-black) frame • Permits multiple shades of gray
Intensity Wedges • Limiting case: intensity wedges
Temporal vs. Spatial Continuity • Structured-light systems make certain assumptions about the scene: • Temporal continuity assumption: • Assume scene is static • Assign stripes a code over time • Spatial continuity assumption: • Assume scene is one object • Project a grid, pattern of dots, etc.
Grid Methods • Assume exactly onecontinuous surface • Count dots or grid lines • Occlusions causeproblems • Some methods usedynamic programming [Maas]
Codeword Codes Assuming Local Spatial Continuity
Codes Assuming Local Spatial Continuity [Zhang] [Ozturk]
Spatio-Temporal Continuity • Another possible assumption: • Object may move • Velocity low enough to permit tracking • “Spatio-temporal” continuity
Camera Projector Designing a Code for Moving Scenes
t Designing a Code for Moving Scenes
Codeword t Designing a Code for Moving Scenes
Illumination history = (WB),(BW),(WB) Code Codes for Moving Scenes • Assign time codesto stripe boundaries • Perform frame-to-frametracking of correspondingboundaries • Propagate illumination history [Hall-Holt & Rusinkiewicz, ICCV 2001]
Designing a Code • Want many “features” to track:lots of black/white edges at each frame • Try to minimize ghosts – WW or BB “boundaries” that can’t be seen directly
Designing a Code • Design a code to make tracking possible: • Do not allow two spatially adjacent ghosts • Do not allow two temporally adjacent ghosts t
0000 1101 • Nodes: stripes (over time) 1010 0111 • Edges: boundaries (over time) 1111 0010 0101 1000 1011 0110 0001 1100 0100 1001 Time 1110 0011 Space Designing a Code • Graph (for 4 frames):
Path with alternating colors:55 edges in graph maximal-length traversal has 110 boundaries (111 stripes) 0000 1101 • Nodes: stripes (over time) 1010 0111 1111 0010 0101 1000 Boundary visible at even times Boundary visible at odd times 1011 0110 0001 1100 0100 1001 1110 0011 Designing a Code • Graph (for 4 frames): • Edges: boundaries (over time)
Designing a Code • Many solutions to the graph problem as stated, so we can add more constraints • Maximize effect of errors • No static boundaries • Even distribution of stripes of width 1 and 2
Implementation • Pipeline: • DLP projector illuminates scene @ 60 Hz. • Synchronized NTSC camera captures video • Pipeline returns range images @ 60 Hz. Project Code Capture Images Find Boundaries Match Boundaries Decode Compute Range
Results Video frames Stripe boundaries unknown known ghosts
More Options: Shadow Scanning • Variant of single-stripe triangulation • Use a simple lamp, stick to create a shadow [Bouguet]
More Options: Active Stereo • Benefit: only camera/camera calibration,not camera/projector • Projection possibilities: • Random texture • Single stripe • Others (space-time codes?) [Davis]