Triangulation Scanner Design Options

26
Triangulation Scanner Triangulation Scanner Design Options Design Options

description

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. - PowerPoint PPT Presentation

Transcript of Triangulation Scanner Design Options

Page 1: Triangulation Scanner Design Options

Triangulation Scanner Design Triangulation Scanner Design OptionsOptions

Page 2: Triangulation Scanner Design Options

Triangulation System OptionsTriangulation System Options

• Single-stripe systems most robust, but Single-stripe systems most robust, but slowestslowest

• To go faster, project multiple stripesTo go faster, project multiple stripes– But which stripe is which?But which stripe is which?

• In limit, project 2D pattern, determineIn limit, project 2D pattern, determineprojector/camera correspondenceprojector/camera correspondence

Page 3: Triangulation Scanner Design Options

Time-Coded Light PatternsTime-Coded Light Patterns

• Assign each stripe a unique illumination Assign each stripe a unique illumination codecodeover time [Posdamer 82]over time [Posdamer 82]

SpaceSpace

TimeTime

Page 4: Triangulation Scanner Design Options

Gray-Code PatternsGray-Code Patterns

• To minimize effects of quantization error:To minimize effects of quantization error:each point may be a boundary only onceeach point may be a boundary only once

SpaceSpace

TimeTime

Page 5: Triangulation Scanner Design Options

Accounting for ReflectanceAccounting for Reflectance

• Because of surface reflectance and Because of surface reflectance and ambient light, distinguishing between ambient light, distinguishing between black and white not always easyblack and white not always easy

• Solution: project all-white (and Solution: project all-white (and sometimessometimesall-black) frameall-black) frame

• Permits multiple shades of grayPermits multiple shades of gray

Page 6: Triangulation Scanner Design Options

Multiple Shades of GrayMultiple Shades of Gray

Page 7: Triangulation Scanner Design Options

Multiple Shades of GrayMultiple Shades of Gray

Page 8: Triangulation Scanner Design Options

Intensity WedgesIntensity Wedges

• Limiting case: intensity wedgesLimiting case: intensity wedges

Page 9: Triangulation Scanner Design Options

Temporal vs. Spatial ContinuityTemporal vs. Spatial Continuity

• Structured-light systems make certain Structured-light systems make certain assumptions about the scene:assumptions about the scene:

• TemporalTemporal continuity assumption: continuity assumption:– Assume scene is staticAssume scene is static

– Assign stripes a code over timeAssign stripes a code over time

• SpatialSpatial continuity assumption: continuity assumption:– Assume scene is one objectAssume scene is one object

– Project a grid, pattern of dots, etc.Project a grid, pattern of dots, etc.

Page 10: Triangulation Scanner Design Options

Grid MethodsGrid Methods

• Assume exactly oneAssume exactly onecontinuous surfacecontinuous surface

• Count dots or grid linesCount dots or grid lines

• Occlusions causeOcclusions causeproblemsproblems

• Some methods useSome methods usedynamic programmingdynamic programming

[Maas][Maas]

Page 11: Triangulation Scanner Design Options

Codes Assuming Local Spatial Codes Assuming Local Spatial ContinuityContinuity

CodewordCodeword

Page 12: Triangulation Scanner Design Options

Codes Assuming Local Spatial Codes Assuming Local Spatial ContinuityContinuity

[Zhang][Zhang]

[Ozturk][Ozturk]

Page 13: Triangulation Scanner Design Options

Spatio-Temporal ContinuitySpatio-Temporal Continuity

• Another possible assumption:Another possible assumption:– Object may moveObject may move

– Velocity low enough to permit trackingVelocity low enough to permit tracking

– ““Spatio-temporal” continuitySpatio-temporal” continuity

Page 14: Triangulation Scanner Design Options

Designing a Code for Moving Designing a Code for Moving ScenesScenes

ProjectorProjectorCameraCamera

Page 15: Triangulation Scanner Design Options

Designing a Code for Moving Designing a Code for Moving ScenesScenes

tt

Page 16: Triangulation Scanner Design Options

Designing a Code for Moving Designing a Code for Moving ScenesScenes

tt

CodewordCodeword

Page 17: Triangulation Scanner Design Options

Illumination history = (WB),(BW),(WB)Illumination history = (WB),(BW),(WB)Illumination history = (WB),(BW),(WB)Illumination history = (WB),(BW),(WB)

CodeCodeCodeCode

Codes for Moving ScenesCodes for Moving Scenes

• Assign time codesAssign time codesto stripe to stripe boundariesboundaries

• Perform frame-to-framePerform frame-to-frametracking of correspondingtracking of correspondingboundariesboundaries– Propagate illumination historyPropagate illumination history

[Hall-Holt & Rusinkiewicz, ICCV 2001][Hall-Holt & Rusinkiewicz, ICCV 2001]

Page 18: Triangulation Scanner Design Options

Designing a CodeDesigning a Code

• Want many “features” to track:Want many “features” to track:lots of black/white edges at each framelots of black/white edges at each frame

• Try to minimize ghosts – WW or BB Try to minimize ghosts – WW or BB “boundaries” that can’t be seen directly“boundaries” that can’t be seen directly

Page 19: Triangulation Scanner Design Options

Designing a CodeDesigning a Code

• Design a code to make tracking possible:Design a code to make tracking possible:– Do not allow two Do not allow two spatiallyspatially adjacent ghosts adjacent ghosts

– Do not allow two Do not allow two temporallytemporally adjacent ghosts adjacent ghosts

tt

Page 20: Triangulation Scanner Design Options

Designing a CodeDesigning a Code

• Graph (for 4 frames):Graph (for 4 frames):

– Edges: boundaries (over time)Edges: boundaries (over time)

– Nodes: stripes (over time)Nodes: stripes (over time)

0011001111101110

10111011 01100110

01000100 10011001

00010001 11001100

00000000 11011101

10101010 01110111

100010000101010111111111 00100010

SpaceSpace

TimeTime

Page 21: Triangulation Scanner Design Options

Designing a CodeDesigning a Code

• Graph (for 4 frames):Graph (for 4 frames):

• Path with alternating colors:Path with alternating colors:55 edges in graph 55 edges in graph maximal-length traversal has 110 boundaries (111 stripes)maximal-length traversal has 110 boundaries (111 stripes)

– Edges: boundaries (over time)Edges: boundaries (over time)

Boundary visible at even timesBoundary visible at even times

Boundary visible at odd timesBoundary visible at odd times

– Nodes: stripes (over time)Nodes: stripes (over time)

0011001111101110

10111011 01100110

01000100 10011001

00010001 11001100

00000000 11011101

10101010 01110111

100010000101010111111111 00100010

Page 22: Triangulation Scanner Design Options

Designing a CodeDesigning a Code

• Many solutions to the graph problem as Many solutions to the graph problem as stated, so we can add more constraintsstated, so we can add more constraints– Maximize effect of errorsMaximize effect of errors

– No static boundariesNo static boundaries

– Even distribution of stripes of width 1 and 2Even distribution of stripes of width 1 and 2

Page 23: Triangulation Scanner Design Options

ImplementationImplementation

• Pipeline:Pipeline:

• DLP projector illuminates scene @ 60 DLP projector illuminates scene @ 60 Hz.Hz.

• Synchronized NTSC camera captures Synchronized NTSC camera captures videovideo

• Pipeline returns range images @ 60 Hz.Pipeline returns range images @ 60 Hz.

ProjectProjectCodeCode

ProjectProjectCodeCode

CaptureCaptureImagesImagesCaptureCaptureImagesImages

FindFindBoundariesBoundaries

FindFindBoundariesBoundaries

MatchMatchBoundariesBoundaries

MatchMatchBoundariesBoundaries DecodeDecodeDecodeDecode ComputeCompute

RangeRangeComputeCompute

RangeRange

Page 24: Triangulation Scanner Design Options

ResultsResults

VideoVideoframesframes

StripeStripeboundariesboundaries

unknowunknownnknownknownghostsghosts

Page 25: Triangulation Scanner Design Options

More Options: Shadow ScanningMore Options: Shadow Scanning

• Variant of single-stripe triangulationVariant of single-stripe triangulation

• Use a simple lamp, stick to create a Use a simple lamp, stick to create a shadowshadow

[Bouguet][Bouguet]

Page 26: Triangulation Scanner Design Options

More Options: Active StereoMore Options: Active Stereo

• Benefit: only camera/camera Benefit: only camera/camera calibration,calibration,not camera/projectornot camera/projector

• Projection possibilities:Projection possibilities:– Random textureRandom texture

– Single stripeSingle stripe

– Others (space-time codes?) Others (space-time codes?) [Davis][Davis]