260 likes | 371 Views
Triangulation Scanner Design Options. 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, determine projector/camera correspondence. Time-Coded Light Patterns.
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]