SlideShare a Scribd company logo
Visual Perception
Lecture 5
Pattern Projection Techniques
Joaquim Salvi
Universitat de Girona
2
Lecture 5: Pattern Projection Techniques
Contents
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
3
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
4
Lecture 5: Pattern Projection Techniques
INTERPRETATION
KNOWLEDGE
BASE
DATA
BASE
Interpretation
Level
SCENE
DESCRIPTIONFUSION TRACKING
SHAPE
IDENTIFICATION
LOCALIZATIONSCENE
ANALYSIS
SEGMENTATION
SHAPE
ACQUISITION
FEATURE
EXTRACTION
MOVEMENT
DETECTION
TEXTURE
ANALYSIS
IMAGE
RESTORATION
EDGE
RESTORATION
Description
Level
Image Processing
High Level
FILTERING
EDGE
THINNING
EDGE
DETECTION
COLOUR
COMPENSATION
THRESHOLDING
GRADIENTS
RE-HISTOGRAMATION
A/D
COLOUR
SEPARATION
SENSOR
Image Acquisition
Level
Image Processing
Low Level
5.1 Passive vs active stereo
The
Challenge
of
Computer
Vision
5
Lecture 5: Pattern Projection Techniques
Shape acquisition
techniques
Contact
Non-destructive Destructive
Jointed arms
Slicing
Non-contact
Reflective Transmissive
Non-optical
Optical
...
Microwave radar Sonar
Passive
Active
Stereo Shading Silhouettes TextureMotion
Shape from X Interferometry
(Coded)
Structured
light
Moire Holography
Source: Brian Curless
5.1 Passive vs active stereo
Shape
Acquisition
Techniques
6
Lecture 5: Pattern Projection Techniques
• Correspondence problem
• geometric constraints 
search along epipolar lines
• 3D reconstruction of
matched pairs by
triangulation
5.1 Passive vs active stereo
Passive Stereo
7
Lecture 5: Pattern Projection Techniques
Arrange correspondence points
• Ordered Projections
• Projections bad order
Occlusions
• Points without homologue
e
e’
I’
C
C’
p
q
p’ q’
Q
P
l l’
I
3D Object
Inverse order
e
e’
I
C
C’
p
q
p’ q’
l l’
P
Q
I’
3D Objects
Direct order
e
e’
I’
I
C
C’
p ?
q
p’ q’
l l’
P
Q
3D Object
Surface occlusion Point without homologue
5.1 Passive vs active stereo
Passive Stereo
8
Lecture 5: Pattern Projection Techniques
Y
Z
X
I
M
f
m
I’
m’
X’
Y’
Z’
f’
O
O’
C C’
Zw
Xw
Yw
Captured Image Captured Image
• We need at least two cameras.
• A 3D object point has three
unknown co-ordinates.
• Each 2D image point gives two
equations.
• Only a single component of the
second point is needed.
5.1 Passive vs active stereo
Passive Stereo
9
Lecture 5: Pattern Projection Techniques
• One of the cameras is
replaced by a light emitter
• Correspondence problem
is solved by searching the
pattern in the camera
image (pattern decoding)
5.1 Passive vs active stereo
Active Stereo
10
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
11
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
12
Lecture 5: Pattern Projection Techniques
5.2 Coded structured light
• The correspondence problem is reduced :
• The matching between the projected pattern and the captured
one can be uniquely solved codifying the pattern.
– Stripe patterns :
• No scanning.
• Correspondence problem among
slits.
– Grid, multiple dots :
• No scanning.
• Correspondence problem among
all the imaged features (points, dots,
segments,…).
– Single dot :
• No correspondence problem.
• Scanning both axis.
– Single slit :
• No correspondence problem.
• Scanning the axis orthogonal
to the slit.
13
Lecture 5: Pattern Projection Techniques
• A pattern is encoded when after projecting it onto a surface, a set of regions
of the observed projection can be easily matched with the original pattern.
Example: pattern with two-encoded-columns
• The process of matching an image region with its corresponding pattern
region is known as pattern decoding  similar to searching correspondences
• Decoding a projected pattern allows a large set of correspondences to be
easily found thanks to the a priori knowledge of the light pattern
Pixels in red and yellow
are directly matched
with the pattern columns
Codification using
colors
Object
scene
5.2 Coded structured light
14
Lecture 5: Pattern Projection Techniques
• Two ways of encoding the correspondences: single axis and two axes
codification  it determines how the triangulation is calculated
• Decoding the pattern means locating points in the camera image whose
corresponding point in the projector pattern is a priori known
Two-axes encoding
Triangulation by
line-to-plane
intersection
Triangulation by
line-to-line
intersection
Single-axis encoding
Encoded Axis
5.2 Coded structured light
15
Lecture 5: Pattern Projection Techniques
AXIS CODIFICATION
• Single Axis
- Row-coded patterns
- Column-coded patterns
• Both Axes
• Static Scenes
- Projection of a set of patterns.
• Moving Scenes
- Projection of a unique pattern.
SCENE APPLICABILITY
CODING STRATEGY
• Periodical
- The codification of the tokens
is repeated periodically.
• Absolute
- Each token is uniquely encoded
• Binary
• Grey Levels
• Colour
PIXEL DEPTH
5.2 Coded structured light
16
Lecture 5: Pattern Projection Techniques
Binary codes
Posdamer et al., Inokuchi et al.,
Minou et al., Trobina, Valkenburg
and McIvor, Skocaj and Leonardis,
Rocchin et al., …
n-ary codes
Caspi et al., Horn and Kiryati,
Osawa et al.,…
Gray code + Phase
shifting
Bergmann, Sansoni et al., Wiora,
Gühring, …
TIME-
MULTIPLEXING
Hybrid methods
K. Sato, Hall-Holt and
Rusinkiewicz, Wang et al., …
Non-formal
codification
Maruyama and Abe, Durdle et al.,
Ito and Ishii, Boyer and Kak, Chen
et al., …
De Bruijn sequences
Hügli and Maître, Monks et al.,
Vuylsteke and Oosterlinck, Salvi et
al. Lavoi et al., Zhang et al., …
SPATIAL
CODIFICATION
M-arrays
Morita et al., Petriu et al., Kiyasu
et al., Spoelder et al., Griffin and
Yee, Davies and Nixon, Morano et
al., …
Grey levels
Carrihill and Hummel, Chazan and
Kiryati, Hung, ...DIRECT
CODIFICATION Colour
Tajima and Iwakawa, Smutny and
Pajdla, Geng, Wust and Capson, T.
Sato, …
5.2 Coded structured light
17
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
18
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
19
Lecture 5: Pattern Projection Techniques
TIME-
MULTIPLEXING
Binary codes
Posdamer et al., Inokuchi et al.,
Minou et al., Trobina, Valkenburg
and McIvor, Skocaj and Leonardis,
Rocchin et al., …
n-ary codes
Caspi et al., Horn and Kiryati,
Osawa et al.,…
Gray code + Phase
shifting
Bergmann, Sansoni et al., Wiora,
Gühring, …
Hybrid methods
K. Sato, Hall-Holt and
Rusinkiewicz, Wang et al., …
SPATIAL
CODIFICATION
Non-formal
codification
Maruyama and Abe, Durdle et al.,
Ito and Ishii, Boyer and Kak, Chen
et al., …
De Bruijn sequences
Hügli and Maître, Monks et al.,
Vuylsteke and Oosterlinck, Salvi et
al. Lavoi et al., Zhang et al., …
M-arrays
Morita et al., Petriu et al., Kiyasu
et al., Spoelder et al., Griffin and
Yee, Davies and Nixon, Morano et
al., …
DIRECT
CODIFICATION
Grey levels
Carrihill and Hummel, Chazan and
Kiryati, Hung, ...
Colour
Tajima and Iwakawa, Smutny and
Pajdla, Geng, Wust and Capson, T.
Sato, …
5.3 Classification: Time multiplexing
20
Lecture 5: Pattern Projection Techniques
• The time-multiplexing paradigm consists
in projecting a series of light patterns so
that every encoded point is identified with
the sequence of intensities that receives
• The most common structure of the
patterns is a sequence of stripes
increasing its length by the time 
single-axis encoding
• Advantages:
– high resolution  a lot of 3D points
– High accuracy (order of m)
– Robustness against colorful objects
(using binary patterns)
• Drawbacks:
– Static objects only
– Large number of patterns  High
computing time
Pattern 1
Pattern 2
Pattern 3
Projected
over time
Example: 3 binary-
encoded patterns which
allows the measuring
surface to be divided in
8 sub-regions
5.3 Time multiplexing
21
Lecture 5: Pattern Projection Techniques
5.3 Time-multiplexing: Binary codes (I)
Pattern 1
Pattern 2
Pattern 3
Projected
over time
• Every encoded point is
identified by the sequence
of intensities that receives
• n patterns must be
projected in order to encode
2n stripes
Example: 7 binary
patterns proposed by
Posdamer & Altschuler
…
Codeword of this píxel: 1010010  identifies
the corresponding pattern stripe
22
Lecture 5: Pattern Projection Techniques
Posdamer et al.   
Inokuchi et al.   
Minou et al.   
Trobina   
Valkenburg and McIvor   
Skocaj and Leonardis   
Binary codes
Rocchini et al.   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
• Coding redundancy: every edge between adjacent stripes can be decoded
by the sequence at its left or at its right
5.3 Time-multiplexing: Binary codes (II)
23
Lecture 5: Pattern Projection Techniques
Using a 4-ary code, 3 patterns
are used to encode 64 stripes
(Horn & Kiryati)
• n-ary codes reduce the number of patterns by increasing the number of
projected intensities (grey levels/colours)  increases the basis of the code
• The number of patterns, the number of grey levels or colours and the number
of encoded stripes are strongly related  fixing two of these parameters the
reamaining one is obtained
Using a binary code, 6
patterns are necessary
to encode 64 stripes
5.3 Time-multiplexing: N-ary codes (I)
24
Lecture 5: Pattern Projection Techniques
Caspi et al. √ √ √
Horn and Kiryati √ √ √N-ary codes
Osawa et al. √ √ √
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
• n-ary codes reduce the number of patterns by increasing the number of
projected intensities (grey levels/colours)
5.3 Time-multiplexing: N-ary codes (II)
25
Lecture 5: Pattern Projection Techniques
5.3 Time-multiplexing: Gray code+Phase shifting (I)
Gühring’s line-shift
technique
• A sequence of binary patterns
(Gray encoded) are projected in
order to divide the object in regions
• An additional periodical pattern is
projected
• The periodical pattern is projected
several times by shifting it in one
direction in order to increase the
resolution of the system  similar to a
laser scanner
Example: three
binary patterns
divide the object in
8 regions
Without the binary
patterns we would
not be able to
distinguish among
all the projected
slits
Every slit always
falls in the same
region
26
Lecture 5: Pattern Projection Techniques
Bergmann   
Sansoni et al.   
Wiora   
Gray Code + Phase
Shift
Gühring   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
• A periodical pattern is shifted and projected several times in order to increase
the resolution of the measurements
• The Gray encoded patterns permit to differentiate among all the periods of the
shifted pattern
5.3 Time-multiplexing: Gray code+Phase shifting (II)
27
Lecture 5: Pattern Projection Techniques
• In order to decode an illuminated point it is necessary to observe not only the
sequence of intensities received by such a point but also the intensities of few
(normally 2) adjacent points
• The number of projected patterns reduces thanks to the spatial information that is
taken into account
Hall-Holt and
Rusinkiewicz
technique:
4 patterns with 111
binary stripes
Edges encoding: 4x2
bits (every adjacent
stripe is a bit)
1
1
1
1
1
0
0
0 Pattern 1
Pattern 2
Pattern 3
Pattern 4
Edge codeword:
10110101
5.3 Time-multiplexing: Hybrid methods (I)
28
Lecture 5: Pattern Projection Techniques
K. Sato   
Hall-Holt and Rusinkiewicz   Hybrid methods
Wang et al.   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.3 Time-multiplexing: Hybrid methods (II)
29
Lecture 5: Pattern Projection Techniques
Spatial
codification
De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array)
Time-
multiplexing
Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits)
Gühring
5.3 Time-multiplexing: Results
30
Lecture 5: Pattern Projection Techniques
Types of techniques
 
Time-multiplexing
• Highest resolution
• High accuracy
• Easy implementation
• Large number of patterns
• Only motionless objects
Spatial codification
• A unique pattern is
required
• Can measure moving
objects
• Lower resolution than time-
multiplexing
• More complex decoding stage
• Occlusions problem
Direct codification
• High resolution
• Few patterns
• Very sensitive to image noise 
cameras with large depth-per-pixel
required
• Sensitive to limited bandwith of
LCD projectors  special projector
devices are usually required
• Only motionless objects
5.3 Time-multiplexing: Conclusions
31
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
32
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
33
Lecture 5: Pattern Projection Techniques
TIME-
MULTIPLEXING
Binary codes
Posdamer et al., Inokuchi et al.,
Minou et al., Trobina, Valkenburg
and McIvor, Skocaj and Leonardis,
Rocchin et al., …
n-ary codes
Caspi et al., Horn and Kiryati,
Osawa et al.,…
Gray code + Phase
shifting
Bergmann, Sansoni et al., Wiora,
Gühring, …
Hybrid methods
K. Sato, Hall-Holt and
Rusinkiewicz, Wang et al., …
SPATIAL
CODIFICATION
Non-formal
codification
Maruyama and Abe, Durdle et al.,
Ito and Ishii, Boyer and Kak, Chen
et al., …
De Bruijn sequences
Hügli and Maître, Monks et al.,
Vuylsteke and Oosterlinck, Salvi et
al. Lavoi et al., Zhang et al., …
M-arrays
Morita et al., Petriu et al., Kiyasu
et al., Spoelder et al., Griffin and
Yee, Davies and Nixon, Morano et
al., …
DIRECT
CODIFICATION
Grey levels
Carrihill and Hummel, Chazan and
Kiryati, Hung, ...
Colour
Tajima and Iwakawa, Smutny and
Pajdla, Geng, Wust and Capson, T.
Sato, …
5.4 Spatial Codification
34
Lecture 5: Pattern Projection Techniques
• Spatial codification paradigm encodes a set of points with the information contained in a
neighborhood (called window) around them
• The codification is condensed in a unique pattern instead of multiplexing it along time
• The size of the neighborhood (window size) is proportional to the number of encoded
points and inversely proportional to the number of used colors
• The aim of these techniques is to obtain a one-shot measurement system  moving
objects can be measured
• Advantages:
• Moving objects supported
• Possibility to condense the codification
into a unique pattern
• Drawbacks:
• Discontinuities on the object surface can
produce erroneous window decoding
(occlusions problem)
• The higher the number of used colours,
the more difficult to correctly identify
them when measuring non-neutral
coloured surfaces
5.4 Spatial Codification
35
Lecture 5: Pattern Projection Techniques
• The first group of techniques that appeared used codification schemes with no
mathematical formulation.
• Drawbacks:
- the codification is not optimal and often produces ambiguities since
different regions of the pattern are identical
-the structure of the pattern is too complex for a good image processing
Maruyama and Abe 
complex structure
based on slits
containing random cuts
Durdle et al.  periodic pattern
5.4 Spatial Codification: Non-formal codification (I)
36
Lecture 5: Pattern Projection Techniques
Maruyama and Abe   
Durdle et al.   
Ito and Ishii   
Boyer and Kak   
Non-formal
codification
Chen et al.   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.4 Spatial Codification: Non-formal codification (II)
37
Lecture 5: Pattern Projection Techniques
• Formulation:
Given P={1,2,...,p} set of colours.
• We want to determine S={s1,s2,...sn} sequence of coloured slits.
Node: {ijk} 
Number of nodes: p3 nodes.
Transition {ijk}  {rst}  j = r, k = s
• The problem is reduced to obtain the path which visits all the nodes of the
graph only once (a simple variation of the Salesman’s problem).
– Backtracking based solution.
– Deterministic and optimally solved by Griffin.
• A De Bruijn sequence (or pseudorrandom sequence) of order m over an alphabet of n
symbols is a circular string of length nm that contains every substring of length m exactly once
(in this case the windows are unidimensional).
1000010111101001
m=4 (window size)
n=2 (alphabet symbols)
m = 3 (window size)
n = p (alphabet symbols)
3
pVR
5.4 Spatial Codification: De Bruijn sequences (I)
38
Lecture 5: Pattern Projection Techniques
Path: (111),(112),(122),(222),(221),(212),(121),(211).
Slit colour sequence:111,2,2,2,1,2,1,1 Maximum 10 slits.
‘1’  Red
‘2’  Green
111
112
121
212
122
211
221
222
m = 3
n = 2
82
2
33
2 

pVR
p
Example:
5.4 Spatial Codification: De Bruijn sequences (II)
39
Lecture 5: Pattern Projection Techniques
• The De Bruijn sequences are used to define coloured slit patterns (single axis codification) or
grid patterns (double axis codification)
• In order to decode a certain slit it is only necessary to identify one of the windows in which
it belongs to
Zhang et al.: 125 slits encoded
with a De Bruijn sequence of 5
colors and window size of 3 slits
Salvi et al.: grid of 2929 where a De Bruijn
sequence of 3 colors and window size of 3 slits
is used to encode the vertical and horizontal
slits
5.4 Spatial Codification: De Bruijn sequences (III)
40
Lecture 5: Pattern Projection Techniques
Hügli and Maître   
Monks et al.   
Salvi et al.   
Lavoie et al.   
De Bruijn sequences
Zhang et al.   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.4 Spatial Codification: De Bruijn sequences (IV)
41
Lecture 5: Pattern Projection Techniques
• An m-array is the bidimensional extension of a De Bruijn sequence. Every
window of wh units appears only once. The window size is related with the size
of the m-array and the number of symbols used
0 0 1 0 1 0
0 1 0 1 1 0
1 1 0 0 1 1
0 0 1 0 1 0
Morano et al. M-array
represented with an
array of coloured dots
Example: binary m-
array of size 46
and window size of
22
M-array proposed by
Vuylsteke et al.
Represented with
shape primitives
5.4 Spatial Codification: M-arrays (I)
42
Lecture 5: Pattern Projection Techniques
Morita et al.   
Petriu et al.   
Vuylsteke and Oosterlinck   
Kiyasu et al.   
Spoelder et al.   
Griffin and Yee    
Davies and Nixon   
M-arrays
Morano et al.    
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.4 Spatial Codification: M-arrays (II)
43
Lecture 5: Pattern Projection Techniques
Time-
multiplexing
Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits)
Spatial
codification
De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array)
GühringDe Bruijn
5.4 Spatial Codification: Results
44
Lecture 5: Pattern Projection Techniques
Types of techniques
 
Time-multiplexing
• Highest resolution
• High accuracy
• Easy implementation
• Large number of patterns
• Only motionless objects
Spatial codification
• A unique pattern is
required
• Can measure moving
objects
• Lower resolution than time-
multiplexing
• More complex decoding stage
• Occlusions problem
Direct codification
• High resolution
• Few patterns
• Very sensitive to image noise 
cameras with large depth-per-pixel
required
• Sensitive to limited bandwith of
LCD projectors  special projector
devices are usually required
• Only motionless objects
5.4 Spatial Codification: Results
45
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
46
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
47
Lecture 5: Pattern Projection Techniques
TIME-
MULTIPLEXING
Binary codes
Posdamer et al., Inokuchi et al.,
Minou et al., Trobina, Valkenburg
and McIvor, Skocaj and Leonardis,
Rocchin et al., …
n-ary codes
Caspi et al., Horn and Kiryati,
Osawa et al.,…
Gray code + Phase
shifting
Bergmann, Sansoni et al., Wiora,
Gühring, …
Hybrid methods
K. Sato, Hall-Holt and
Rusinkiewicz, Wang et al., …
SPATIAL
CODIFICATION
Non-formal
codification
Maruyama and Abe, Durdle et al.,
Ito and Ishii, Boyer and Kak, Chen
et al., …
De Bruijn sequences
Hügli and Maître, Monks et al.,
Vuylsteke and Oosterlinck, Salvi et
al. Lavoi et al., Zhang et al., …
M-arrays
Morita et al., Petriu et al., Kiyasu
et al., Spoelder et al., Griffin and
Yee, Davies and Nixon, Morano et
al., …
DIRECT
CODIFICATION
Grey levels
Carrihill and Hummel, Chazan and
Kiryati, Hung, ...
Colour
Tajima and Iwakawa, Smutny and
Pajdla, Geng, Wust and Capson, T.
Sato, …
5.5 Direct Codification
48
Lecture 5: Pattern Projection Techniques
• Every encoded pixel is identified by its own intensity/colour
• Since the codification is usually condensed in a unique pattern, the spectrum of
intensities/colours used is very large
• Additional reference patterns must be projected in order to differentiate among all the
projected intensities/colours:
• Ambient lighting (black pattern)
• Full illuminated (white pattern)
• …
• Advantages:
– Reduced number of patterns
– High resolution can be teorically achieved (all points are coded)
• Drawbacks:
– Very noisy in front of reflective properties of the objects, non-linearities in
the camera spectral response and projector spectrum  non-standard
light emitters are required in order to project single wave-lengths
– Low accuracy (order of 1 mm)
5.5 Direct Codification
49
Lecture 5: Pattern Projection Techniques
• Every encoded point of the pattern is identified by its intensity level
Carrihill and Hummel
Intensity Ratio Sensor: fade
from black to white
Requirements to
obtain high
resolution
Every slit is identified by its own intensity
• Every slit must be projected using a single wave-length
• Cameras with large depth-per-pixel (about 11 bits) must
be used in order to differentiate all the projected intensities
5.5 Direct Codification: Grey levels (I)
50
Lecture 5: Pattern Projection Techniques
Carrihill and Hummel   
Chazan and Kiryati   Grey levels
Hung   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.5 Direct Codification: Grey levels (II)
51
Lecture 5: Pattern Projection Techniques
• Every encoded point of the pattern is identified by its colour
Tajima and
Iwakawa rainbow
pattern
(the rainbow is
generated with a
source of white light
passing through a
crystal prism)
T. Sato patterns capable of
cancelling the object colour
by projecting three shifted
patterns
(it can be implemented with an
LCD projector if few colours are
projected  drawback: the
pattern becomes periodic in
order to maintain a good
resolution)
5.5 Direct Codification: Colour (I)
52
Lecture 5: Pattern Projection Techniques
Tajima and Iwakawa   
Smutny and Pajdla   
Geng   
Wust and Capson   
Colour
T. Sato   
Static
Scene applicability
Moving
Binary
Grey levelsPixel depth
Colour
Periodical
Coding strategy
Absolute
5.5 Direct Codification: Colour (II)
53
Lecture 5: Pattern Projection TechniquesLecture 5: Pattern Projection Techniques
Time-
multiplexing
Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits)
Spatial
codification
De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array)
Direct
codification
Sato (64 slits)
5.5 Direct Codification: Results
54
Lecture 5: Pattern Projection Techniques
Types of techniques
 
Time-multiplexing
• Highest resolution
• High accuracy
• Easy implementation
• Large number of patterns
• Only motionless objects
Spatial codification
• A unique pattern is
required
• Can measure moving
objects
• Lower resolution than time-
multiplexing
• More complex decoding stage
• Occlusions problem
Direct codification
• High resolution
• Few patterns
• Very sensitive to image noise 
cameras with large depth-per-pixel
required
• Sensitive to limited bandwith of
LCD projectors  special projector
devices are usually required
• Only motionless objects
5.5 Direct Codification: Conclusions
55
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
56
Lecture 5: Pattern Projection Techniques
5. Pattern Projection Techniques
5.1 Passive vs active stereo
5.2 Coded structured light
5.3 Classification: Time multiplexing
5.4 Classification: Spatial codification
5.5 Classification: Direct codification
5.6 Optimising De Bruijn patterns
5.7 Implementation of a De Bruijn pattern
Contents
57
Lecture 5: Pattern Projection Techniques
Guidelines
Requirements Best technique
• High accuracy
• Highest resolution
• Static objects
• No matter the number of
patterns
Phase shift + Gray code 
Gühring’s line-shift technique
• High accuracy
• High resolution
• Static objects
• Minimum number of patterns
N-ary pattern  Horn & Kiryati
Caspi et al.
• High accuracy
• Good resolution
• Moving objects
Optimised Bruijn pattern 
Salvi and Pagés.
58
Lecture 5: Pattern Projection Techniques
Presentation outline
2.- An Optimised one-shot technique
– Typical one-shot patterns
– Optimal pattern
– A new coding strategy
– Implementation design
– Experimental results
– Conclusions
59
Lecture 5: Pattern Projection Techniques
Typical one-shot patterns
Stripe pattern Grid pattern
De Bruijn codification
M-array codification
Array of dots
Array of shape
primitives
Multi-slit pattern
Checkerboard
pattern
Image by Li Zhang
60
Lecture 5: Pattern Projection Techniques
Best one-shot patterns
De Bruijn
patterns
Stripe
patterns
High resolution and good accuracy
Multi-slit
patterns
High accuracy and good resolution
Grid patterns Low resolution
M-array
patterns
Array of dots
Low resolution and inaccurate sub-pixel
localisation of the dots
Shape
primitives
Low accuracy and difficult sub-pixel
localisation of shape primitives
Checkerboard Low resolution
61
Lecture 5: Pattern Projection Techniques
Optimising De Bruijn patterns: interesting features
Optimisation Advantages
Maximising resolution
Larger number of correspondences in
a single shot
Maximising accuracy Better quality in the 3D reconstruction
Minimising the window
size
More robustness against
discontinuities in the object surface
Minimising the number
of colours
More robustness against non-neutral
coloured objects and noise
62
Lecture 5: Pattern Projection Techniques
Optimisation: maximising resolution
Stripe patterns: achieve maximum
resolution since they are formed by
adjacent bands of pixels.
Multi-slit patterns: the maximum resolution
is not achieved since black gaps are
introduced between the slits
Ideal pattern: the one which downsamples the projector
resolution so that all the projected pixels are perceived in the
camera image  in fact only columns or rows must be identified
in order to triangulate 3D points.
63
Lecture 5: Pattern Projection Techniques
Optimisation: maximising accuracy
Ideal pattern: multi-slit patterns allow intensity peaks to be
detected with precise sub-pixel accuracy
Multi-slit pattern Stripe pattern
Edge detection between
stripes: need to find edges in
the three RGB channels 
the location of the edges
does not coincide
Figure by Jens Gühring
RGB channels
intensity profile
of a row of the
image
64
Lecture 5: Pattern Projection Techniques
Optimisation: minimising the window
size and the number of colours
Maximising Minimising
Number
of
colours
• Larger resolution
• Smaller distance in the Hue
space  more difficult colour
identification
• Smaller resolution
• Larger distance in the Hue
space  Easier colour
identification
Window
size
• Larger resolution
• Danger to violate the local
smoothness assumption
• Smaller resolution
• More robustness against
surface discontinuities
If both the number of colours and the window
size are minimised the resolution decreases
65
Lecture 5: Pattern Projection Techniques
Optimising De Bruijn patterns: summary
Optimisation Best pattern
Maximising resolution Stripe pattern
Maximising accuracy Multi-slit pattern
Minimising the window
size and the number of
colours preserving a
good resolution
Stripe pattern + multi-slit pattern
66
Lecture 5: Pattern Projection Techniques
A new hybrid pattern
intensity
Horizontal scanline
Combination of the
advantages of stripe patterns
and multi-slit patterns
Stripe pattern in the RGB
space
Multi-slit pattern in the
Luminance channelintensity
Horizontal scanline
intensity
Horizontal
scanline
Projected luminance profile
Perceived luminance profile
67
Lecture 5: Pattern Projection Techniques
The new coding strategy
Given n different values
of Hue and a window
size of length m
A pattern with 2nm stripes is defined
with a square Luminance profile with
alternating full-illuminated and half-
illuminated stripes
The pattern is divided in n periods
so that all the full-illuminated stripes
of every period share the same Hue
The half-illuminated stripes of every
period are coloured according to a
De Bruijn sequence of order m-1
and the same n Hue values
Example:
n=4, m=3
128 stripes
32 stripes32 stripes
16 coded stripes 16 coded stripes…
…
68
Lecture 5: Pattern Projection Techniques
The new coding strategy
S={0010203112132233}
0=red; 1=green; 2=cyan; 3=blue
69
Lecture 5: Pattern Projection Techniques
Implementation design of the coded
structured light technique
Colour
selection and
calibration
Colours
AM, Am
Geometric
calibration
K1, Pc, Pp
RGB channel
alignment
calibration
gHr, gHb
Peak
compensation
calibration
offsets
RGB
alignment
Image
rectification
Peak
detection
Peak
decoding
Peak
compensation
Colour
rectification
3D
reconstruction
Offline
processes
Online
processes
Radial
distortion
removal
Most of the processes of
this schema are valid for
any one-shot technique
based on colour
structured light
70
Lecture 5: Pattern Projection Techniques
Offline processing: RGB channel
misalignment calibration
The grid cross-points coordinates are
located with sub-pixel accuracy in each RGB
channel.
Two homographies gHr and gHb are
calculated in order to reduce the
misalignment between the red and the blue
channel with respect to the green.
RGB image
red channel
green channel
blue channel
red grid
green grid
blue grid
It should be
a white grid
Homographies
71
Lecture 5: Pattern Projection Techniques
Offiline processing: geometric calibration
- Camera: Pinhole + Radial lens distortion
- Projector: like a reverse camera
72
Lecture 5: Pattern Projection Techniques
Offline processing: colour selection (I)
Example:
selection of
n=3 colours
Hue
1) Select n
equi-spaced
Hue levels
2) Project the n Hue values with different Luminance values and
interpolate their response curve.
Each RGB channel has different sensitivity  the intensity perceived is
in function of the projected Hue
3) Given the maximum and
minimum levels of luminances that
we want to perceive  the
corresponding projecting
luminances for every Hue can be
chosedemitted Luminance
perceivedLuminance
73
Lecture 5: Pattern Projection Techniques
Offline processing: colour selection (II)
The projector-camera system introduces a strong colour
cross-talk which makes colour identification difficult.
The cross-talk can be reduced with a calibration procedure:
• a pure red, green and blue patterns are projected over a colour-
neutral panel.
• a linear mapping is calculated between the colour instructions
and the perceived ones  a cross-talk matrix is obtained
• this matrix approximates the behaviour of the projector-camera
system  This matrix will be used online to reduce the cross-talk.
The highest cross-talk exists between the green and the red channel
74
Lecture 5: Pattern Projection Techniques
Offline processing: peak compensation calibration
Every peak of luminosity is affected by the colours of the surrounding
stripes  the detected peak position is affected by an offset
Peak compensation calibration: the pattern containing both full and half-
illuminated stripes is projected and then the pattern only containing the
full-illuminated stripes is also projected
Maxima peak
sub-pixel position
-
offsets
The same process is made
with the minima peaks
Maxima peak
sub-pixel position
75
Lecture 5: Pattern Projection Techniques
Online processing
Colours
AM, Am
K1, Pc, Pp
gHr, gHb offsets
RGB
alignment
Image
rectification
Peak
detection
Peak
decoding
Peak
compensation
Colour
rectification
3D
reconstruction
Online
processes
Radial
distortion
removal
Stripes location: binarised 2nd
derivative of the luminance channel
Radial
distortion
removal
RGB
alignment
Image
rectification
Peak
detection
Peak
decoding
Colour
rectification
Peak decoding
1  number of period
De Bruijn: 00102031121322330
Position of the stripe inside the period
Sub-pixel location of each positive and negative
luminance peak: Blais and Rioux detector
Colour rectification by using the inverse
of the calibrated cross-talk matrix
Peak
compensation
3D
reconstruction
76
Lecture 5: Pattern Projection Techniques
Experimental results (I)
77
Lecture 5: Pattern Projection Techniques
Experimental results (II)
78
Lecture 5: Pattern Projection Techniques
Conclusions
• A new coding strategy for one-shot patterns has been
presented.
• The new pattern combines the high resolution of stripe-
patterns and the high accuracy of multi-slit patterns.
• A pattern with 2nm stripes is achieved with only n levels of Hue
and a window property equal to m. (ex. 2*43 = 128 stripes)
• Given the same parameters, stripe-patterns encoded with
classical De Bruijn sequences have a resolution of nm (ex.
43 = 64 stripes)
• The resolution has been doubled.
• The pattern has a sinusoidal profile in the luminance channel
so that maximum and minimum peaks can be accurately
detected with classical peak detectors.
n = Number of colours (4),
m = Window size (3)
79
Lecture 5: Pattern Projection Techniques
Published Material
Journals
– J. Pagés, J. Salvi, J. Forest. Optimised De Bruijn patterns for one-shot shape
acquisition. Image and Vision Computing. 23(8), pp 707-720, August 2005.
– J. Salvi, J. Pagés, J. Batlle. Pattern Codification Strategies in Structured Light Systems.
Pattern Recognition 37(4), pp 827-849, April 2004.
– J. Batlle, E. Mouaddib and J. Salvi. A Survey: Recent Progress in Coded Structured
Light as a Technique to Solve the Correspondence Problem. Pattern Recogniton 31(7),
pp 963-982, July 1998.
– J. Salvi, J. Batlle and E. Mouaddib. A Robust-Coded Pattern Projection for Dynamic 3D
Scene Measurement. Pattern Recognition Letters 19, pp 1055-1065, September 1998.
Recent Conferences
– J. Pagès, J. Salvi and J. Forest. Optimised De Bruijn Patterns for One-Shot Shape
Acquisition. IEEE Int. Conf. on Pattern Recognition, ICPR 2004, Cambridge, Great
Britain, 2004.
– J. Pagès, J. Salvi and C. Matabosch. Implementation of a robust coded structured light
technique for dynamic 3D measurements. IEEE Int. Conf. on Image Processing, ICIP
2003, Barcelona, Spain, Septembre 2003.
– J. Pagès, J. Salvi, R. García and C. Matabosch. Overview of coded light projection
techniques for automatic 3D profiling. IEEE Int. Conf. on Robotics and Automation,
ICRA 2003, Taipei, Taiwan, May 2003.
More Information: http://eia.udg.es/~qsalvi/

More Related Content

What's hot

Real time pedestrian detection, tracking, and distance estimation
Real time pedestrian detection, tracking, and distance estimationReal time pedestrian detection, tracking, and distance estimation
Real time pedestrian detection, tracking, and distance estimation
omid Asudeh
 
Techniques in Deep Learning
Techniques in Deep LearningTechniques in Deep Learning
Techniques in Deep Learning
Sourya Dey
 
Empirical Mode Decomposition
Empirical Mode DecompositionEmpirical Mode Decomposition
Empirical Mode Decomposition
Emine Can
 
Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)
Universitat Politècnica de Catalunya
 
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdfDigital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
ssuserbe3944
 
Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural Network
Richard Kuo
 
Michal Erel's SIFT presentation
Michal Erel's SIFT presentationMichal Erel's SIFT presentation
Michal Erel's SIFT presentation
wolf
 
Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)
khashayar Danesh Narooei
 
Bat algorithm explained. slides ppt pptx
Bat algorithm explained. slides ppt pptxBat algorithm explained. slides ppt pptx
Bat algorithm explained. slides ppt pptx
Mahdi Atawneh
 
The structure of agents
The structure of agentsThe structure of agents
The structure of agents
Anitha Purushothaman
 
Discrete cosine transform
Discrete cosine transform   Discrete cosine transform
Discrete cosine transform
Rashmi Karkra
 
SPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSINGSPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSING
muthu181188
 
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
Simplilearn
 
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
The motion estimation
The motion estimationThe motion estimation
The motion estimation
sakshij91
 
Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentation
MrsShwetaBanait1
 
Homomorphic filtering
Homomorphic filteringHomomorphic filtering
Homomorphic filtering
Gautam Saxena
 
Bird species classification based on their sound
Bird species classification based on their sound Bird species classification based on their sound
Bird species classification based on their sound
Partha Sarathi Kar
 
Edge Detection and Segmentation
Edge Detection and SegmentationEdge Detection and Segmentation
Edge Detection and Segmentation
A B Shinde
 
linear classification
linear classificationlinear classification
linear classification
nep_test_account
 

What's hot (20)

Real time pedestrian detection, tracking, and distance estimation
Real time pedestrian detection, tracking, and distance estimationReal time pedestrian detection, tracking, and distance estimation
Real time pedestrian detection, tracking, and distance estimation
 
Techniques in Deep Learning
Techniques in Deep LearningTechniques in Deep Learning
Techniques in Deep Learning
 
Empirical Mode Decomposition
Empirical Mode DecompositionEmpirical Mode Decomposition
Empirical Mode Decomposition
 
Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)
 
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdfDigital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
Digital Image Processing 3rd edition Rafael C. Gonzalez, Richard E. Woods.pdf
 
Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural Network
 
Michal Erel's SIFT presentation
Michal Erel's SIFT presentationMichal Erel's SIFT presentation
Michal Erel's SIFT presentation
 
Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)
 
Bat algorithm explained. slides ppt pptx
Bat algorithm explained. slides ppt pptxBat algorithm explained. slides ppt pptx
Bat algorithm explained. slides ppt pptx
 
The structure of agents
The structure of agentsThe structure of agents
The structure of agents
 
Discrete cosine transform
Discrete cosine transform   Discrete cosine transform
Discrete cosine transform
 
SPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSINGSPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSING
 
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
What Is Deep Learning? | Introduction to Deep Learning | Deep Learning Tutori...
 
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
Variational Autoencoders VAE - Santiago Pascual - UPC Barcelona 2018
 
The motion estimation
The motion estimationThe motion estimation
The motion estimation
 
Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentation
 
Homomorphic filtering
Homomorphic filteringHomomorphic filtering
Homomorphic filtering
 
Bird species classification based on their sound
Bird species classification based on their sound Bird species classification based on their sound
Bird species classification based on their sound
 
Edge Detection and Segmentation
Edge Detection and SegmentationEdge Detection and Segmentation
Edge Detection and Segmentation
 
linear classification
linear classificationlinear classification
linear classification
 

Similar to Lecture 5 Pattern Projection Techniques

lecture_16_jiajun.pdf
lecture_16_jiajun.pdflecture_16_jiajun.pdf
lecture_16_jiajun.pdf
Kuan-Tsae Huang
 
Online video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident networkOnline video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident network
NAVER Engineering
 
Digital Image Fundamentals
Digital Image FundamentalsDigital Image Fundamentals
Digital Image Fundamentals
Kalyan Acharjya
 
Fmatter
FmatterFmatter
Fmatter
jaymeecdiet
 
Multi-class Classification on Riemannian Manifolds for Video Surveillance
Multi-class Classification on Riemannian Manifolds for Video SurveillanceMulti-class Classification on Riemannian Manifolds for Video Surveillance
Multi-class Classification on Riemannian Manifolds for Video Surveillance
Diego Tosato
 
Non-Local Means and its Applications
Non-Local Means and its ApplicationsNon-Local Means and its Applications
Non-Local Means and its Applications
Manchor Ko
 
F045073136
F045073136F045073136
F045073136
IJERA Editor
 
Primal-Dual Coding to Probe Light Transport
Primal-Dual Coding to Probe Light TransportPrimal-Dual Coding to Probe Light Transport
Primal-Dual Coding to Probe Light Transport
Matthew O'Toole
 
Tracking emerges by colorizing videos
Tracking emerges by colorizing videosTracking emerges by colorizing videos
Tracking emerges by colorizing videos
Oh Yoojin
 
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
Universidad Politécnica de Madrid
 
Quarry Detection with GeoAI Tools on Infraestruturas de Portugal
Quarry Detection with GeoAI Tools on Infraestruturas de PortugalQuarry Detection with GeoAI Tools on Infraestruturas de Portugal
Quarry Detection with GeoAI Tools on Infraestruturas de Portugal
Fernando Gil
 
Perspective Multiscale Detection and Tracking of Persons
Perspective Multiscale Detection and Tracking of PersonsPerspective Multiscale Detection and Tracking of Persons
Perspective Multiscale Detection and Tracking of Persons
Marcos Nieto
 
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation FieldsCVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
Jun Saito
 
Long-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep LearningLong-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep Learning
Elaheh Rashedi
 
Moving object detection in complex scene
Moving object detection in complex sceneMoving object detection in complex scene
Moving object detection in complex scene
Kumar Mayank
 
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
thanhdowork
 
2019 cvpr paper overview by Ho Seong Lee
2019 cvpr paper overview by Ho Seong Lee2019 cvpr paper overview by Ho Seong Lee
2019 cvpr paper overview by Ho Seong Lee
Moazzem Hossain
 
2019 cvpr paper_overview
2019 cvpr paper_overview2019 cvpr paper_overview
2019 cvpr paper_overview
LEE HOSEONG
 
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Pirouz Nourian
 
TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
Motaz El-Saban
 

Similar to Lecture 5 Pattern Projection Techniques (20)

lecture_16_jiajun.pdf
lecture_16_jiajun.pdflecture_16_jiajun.pdf
lecture_16_jiajun.pdf
 
Online video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident networkOnline video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident network
 
Digital Image Fundamentals
Digital Image FundamentalsDigital Image Fundamentals
Digital Image Fundamentals
 
Fmatter
FmatterFmatter
Fmatter
 
Multi-class Classification on Riemannian Manifolds for Video Surveillance
Multi-class Classification on Riemannian Manifolds for Video SurveillanceMulti-class Classification on Riemannian Manifolds for Video Surveillance
Multi-class Classification on Riemannian Manifolds for Video Surveillance
 
Non-Local Means and its Applications
Non-Local Means and its ApplicationsNon-Local Means and its Applications
Non-Local Means and its Applications
 
F045073136
F045073136F045073136
F045073136
 
Primal-Dual Coding to Probe Light Transport
Primal-Dual Coding to Probe Light TransportPrimal-Dual Coding to Probe Light Transport
Primal-Dual Coding to Probe Light Transport
 
Tracking emerges by colorizing videos
Tracking emerges by colorizing videosTracking emerges by colorizing videos
Tracking emerges by colorizing videos
 
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
Insertion of Impairments in Test Video Sequences for Quality Assessment Based...
 
Quarry Detection with GeoAI Tools on Infraestruturas de Portugal
Quarry Detection with GeoAI Tools on Infraestruturas de PortugalQuarry Detection with GeoAI Tools on Infraestruturas de Portugal
Quarry Detection with GeoAI Tools on Infraestruturas de Portugal
 
Perspective Multiscale Detection and Tracking of Persons
Perspective Multiscale Detection and Tracking of PersonsPerspective Multiscale Detection and Tracking of Persons
Perspective Multiscale Detection and Tracking of Persons
 
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation FieldsCVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
CVPR 2012 Review Seminar - Multi-View Hair Capture using Orientation Fields
 
Long-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep LearningLong-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep Learning
 
Moving object detection in complex scene
Moving object detection in complex sceneMoving object detection in complex scene
Moving object detection in complex scene
 
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
[20240603_LabSeminar_Huy]TransMOT: Spatial-Temporal Graph Transformer for Mul...
 
2019 cvpr paper overview by Ho Seong Lee
2019 cvpr paper overview by Ho Seong Lee2019 cvpr paper overview by Ho Seong Lee
2019 cvpr paper overview by Ho Seong Lee
 
2019 cvpr paper_overview
2019 cvpr paper_overview2019 cvpr paper_overview
2019 cvpr paper_overview
 
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
 
TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
 

More from Joaquim Salvi

Presentació Politècnica UdG
Presentació Politècnica UdGPresentació Politècnica UdG
Presentació Politècnica UdG
Joaquim Salvi
 
Lecture 4 Reconstruction from Two Views
Lecture 4   Reconstruction from Two ViewsLecture 4   Reconstruction from Two Views
Lecture 4 Reconstruction from Two Views
Joaquim Salvi
 
Lecture 2 Camera Calibration
Lecture 2   Camera CalibrationLecture 2   Camera Calibration
Lecture 2 Camera Calibration
Joaquim Salvi
 
Lecture 1 Rigid Body Transformations
Lecture 1   Rigid Body TransformationsLecture 1   Rigid Body Transformations
Lecture 1 Rigid Body Transformations
Joaquim Salvi
 
Tema 6 Lògica Programable
Tema 6   Lògica ProgramableTema 6   Lògica Programable
Tema 6 Lògica Programable
Joaquim Salvi
 
Tema 5 Sistemes Seqüencials
Tema 5   Sistemes SeqüencialsTema 5   Sistemes Seqüencials
Tema 5 Sistemes Seqüencials
Joaquim Salvi
 
Tema 4 Sistemes Combinacionals
Tema 4   Sistemes CombinacionalsTema 4   Sistemes Combinacionals
Tema 4 Sistemes Combinacionals
Joaquim Salvi
 
Tema 3 Àlgebra de Boole
Tema 3   Àlgebra de BooleTema 3   Àlgebra de Boole
Tema 3 Àlgebra de Boole
Joaquim Salvi
 
Tema 2 Representació de la informació
Tema 2   Representació de la informacióTema 2   Representació de la informació
Tema 2 Representació de la informació
Joaquim Salvi
 
Tema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
Tema 1 Introducció a l'Estructura i a la Tecnologia de ComputadorsTema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
Tema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
Joaquim Salvi
 

More from Joaquim Salvi (10)

Presentació Politècnica UdG
Presentació Politècnica UdGPresentació Politècnica UdG
Presentació Politècnica UdG
 
Lecture 4 Reconstruction from Two Views
Lecture 4   Reconstruction from Two ViewsLecture 4   Reconstruction from Two Views
Lecture 4 Reconstruction from Two Views
 
Lecture 2 Camera Calibration
Lecture 2   Camera CalibrationLecture 2   Camera Calibration
Lecture 2 Camera Calibration
 
Lecture 1 Rigid Body Transformations
Lecture 1   Rigid Body TransformationsLecture 1   Rigid Body Transformations
Lecture 1 Rigid Body Transformations
 
Tema 6 Lògica Programable
Tema 6   Lògica ProgramableTema 6   Lògica Programable
Tema 6 Lògica Programable
 
Tema 5 Sistemes Seqüencials
Tema 5   Sistemes SeqüencialsTema 5   Sistemes Seqüencials
Tema 5 Sistemes Seqüencials
 
Tema 4 Sistemes Combinacionals
Tema 4   Sistemes CombinacionalsTema 4   Sistemes Combinacionals
Tema 4 Sistemes Combinacionals
 
Tema 3 Àlgebra de Boole
Tema 3   Àlgebra de BooleTema 3   Àlgebra de Boole
Tema 3 Àlgebra de Boole
 
Tema 2 Representació de la informació
Tema 2   Representació de la informacióTema 2   Representació de la informació
Tema 2 Representació de la informació
 
Tema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
Tema 1 Introducció a l'Estructura i a la Tecnologia de ComputadorsTema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
Tema 1 Introducció a l'Estructura i a la Tecnologia de Computadors
 

Recently uploaded

South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
S. Raj Kumar
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 

Recently uploaded (20)

South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 

Lecture 5 Pattern Projection Techniques

  • 1. Visual Perception Lecture 5 Pattern Projection Techniques Joaquim Salvi Universitat de Girona
  • 2. 2 Lecture 5: Pattern Projection Techniques Contents 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern
  • 3. 3 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 4. 4 Lecture 5: Pattern Projection Techniques INTERPRETATION KNOWLEDGE BASE DATA BASE Interpretation Level SCENE DESCRIPTIONFUSION TRACKING SHAPE IDENTIFICATION LOCALIZATIONSCENE ANALYSIS SEGMENTATION SHAPE ACQUISITION FEATURE EXTRACTION MOVEMENT DETECTION TEXTURE ANALYSIS IMAGE RESTORATION EDGE RESTORATION Description Level Image Processing High Level FILTERING EDGE THINNING EDGE DETECTION COLOUR COMPENSATION THRESHOLDING GRADIENTS RE-HISTOGRAMATION A/D COLOUR SEPARATION SENSOR Image Acquisition Level Image Processing Low Level 5.1 Passive vs active stereo The Challenge of Computer Vision
  • 5. 5 Lecture 5: Pattern Projection Techniques Shape acquisition techniques Contact Non-destructive Destructive Jointed arms Slicing Non-contact Reflective Transmissive Non-optical Optical ... Microwave radar Sonar Passive Active Stereo Shading Silhouettes TextureMotion Shape from X Interferometry (Coded) Structured light Moire Holography Source: Brian Curless 5.1 Passive vs active stereo Shape Acquisition Techniques
  • 6. 6 Lecture 5: Pattern Projection Techniques • Correspondence problem • geometric constraints  search along epipolar lines • 3D reconstruction of matched pairs by triangulation 5.1 Passive vs active stereo Passive Stereo
  • 7. 7 Lecture 5: Pattern Projection Techniques Arrange correspondence points • Ordered Projections • Projections bad order Occlusions • Points without homologue e e’ I’ C C’ p q p’ q’ Q P l l’ I 3D Object Inverse order e e’ I C C’ p q p’ q’ l l’ P Q I’ 3D Objects Direct order e e’ I’ I C C’ p ? q p’ q’ l l’ P Q 3D Object Surface occlusion Point without homologue 5.1 Passive vs active stereo Passive Stereo
  • 8. 8 Lecture 5: Pattern Projection Techniques Y Z X I M f m I’ m’ X’ Y’ Z’ f’ O O’ C C’ Zw Xw Yw Captured Image Captured Image • We need at least two cameras. • A 3D object point has three unknown co-ordinates. • Each 2D image point gives two equations. • Only a single component of the second point is needed. 5.1 Passive vs active stereo Passive Stereo
  • 9. 9 Lecture 5: Pattern Projection Techniques • One of the cameras is replaced by a light emitter • Correspondence problem is solved by searching the pattern in the camera image (pattern decoding) 5.1 Passive vs active stereo Active Stereo
  • 10. 10 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 11. 11 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 12. 12 Lecture 5: Pattern Projection Techniques 5.2 Coded structured light • The correspondence problem is reduced : • The matching between the projected pattern and the captured one can be uniquely solved codifying the pattern. – Stripe patterns : • No scanning. • Correspondence problem among slits. – Grid, multiple dots : • No scanning. • Correspondence problem among all the imaged features (points, dots, segments,…). – Single dot : • No correspondence problem. • Scanning both axis. – Single slit : • No correspondence problem. • Scanning the axis orthogonal to the slit.
  • 13. 13 Lecture 5: Pattern Projection Techniques • A pattern is encoded when after projecting it onto a surface, a set of regions of the observed projection can be easily matched with the original pattern. Example: pattern with two-encoded-columns • The process of matching an image region with its corresponding pattern region is known as pattern decoding  similar to searching correspondences • Decoding a projected pattern allows a large set of correspondences to be easily found thanks to the a priori knowledge of the light pattern Pixels in red and yellow are directly matched with the pattern columns Codification using colors Object scene 5.2 Coded structured light
  • 14. 14 Lecture 5: Pattern Projection Techniques • Two ways of encoding the correspondences: single axis and two axes codification  it determines how the triangulation is calculated • Decoding the pattern means locating points in the camera image whose corresponding point in the projector pattern is a priori known Two-axes encoding Triangulation by line-to-plane intersection Triangulation by line-to-line intersection Single-axis encoding Encoded Axis 5.2 Coded structured light
  • 15. 15 Lecture 5: Pattern Projection Techniques AXIS CODIFICATION • Single Axis - Row-coded patterns - Column-coded patterns • Both Axes • Static Scenes - Projection of a set of patterns. • Moving Scenes - Projection of a unique pattern. SCENE APPLICABILITY CODING STRATEGY • Periodical - The codification of the tokens is repeated periodically. • Absolute - Each token is uniquely encoded • Binary • Grey Levels • Colour PIXEL DEPTH 5.2 Coded structured light
  • 16. 16 Lecture 5: Pattern Projection Techniques Binary codes Posdamer et al., Inokuchi et al., Minou et al., Trobina, Valkenburg and McIvor, Skocaj and Leonardis, Rocchin et al., … n-ary codes Caspi et al., Horn and Kiryati, Osawa et al.,… Gray code + Phase shifting Bergmann, Sansoni et al., Wiora, Gühring, … TIME- MULTIPLEXING Hybrid methods K. Sato, Hall-Holt and Rusinkiewicz, Wang et al., … Non-formal codification Maruyama and Abe, Durdle et al., Ito and Ishii, Boyer and Kak, Chen et al., … De Bruijn sequences Hügli and Maître, Monks et al., Vuylsteke and Oosterlinck, Salvi et al. Lavoi et al., Zhang et al., … SPATIAL CODIFICATION M-arrays Morita et al., Petriu et al., Kiyasu et al., Spoelder et al., Griffin and Yee, Davies and Nixon, Morano et al., … Grey levels Carrihill and Hummel, Chazan and Kiryati, Hung, ...DIRECT CODIFICATION Colour Tajima and Iwakawa, Smutny and Pajdla, Geng, Wust and Capson, T. Sato, … 5.2 Coded structured light
  • 17. 17 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 18. 18 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 19. 19 Lecture 5: Pattern Projection Techniques TIME- MULTIPLEXING Binary codes Posdamer et al., Inokuchi et al., Minou et al., Trobina, Valkenburg and McIvor, Skocaj and Leonardis, Rocchin et al., … n-ary codes Caspi et al., Horn and Kiryati, Osawa et al.,… Gray code + Phase shifting Bergmann, Sansoni et al., Wiora, Gühring, … Hybrid methods K. Sato, Hall-Holt and Rusinkiewicz, Wang et al., … SPATIAL CODIFICATION Non-formal codification Maruyama and Abe, Durdle et al., Ito and Ishii, Boyer and Kak, Chen et al., … De Bruijn sequences Hügli and Maître, Monks et al., Vuylsteke and Oosterlinck, Salvi et al. Lavoi et al., Zhang et al., … M-arrays Morita et al., Petriu et al., Kiyasu et al., Spoelder et al., Griffin and Yee, Davies and Nixon, Morano et al., … DIRECT CODIFICATION Grey levels Carrihill and Hummel, Chazan and Kiryati, Hung, ... Colour Tajima and Iwakawa, Smutny and Pajdla, Geng, Wust and Capson, T. Sato, … 5.3 Classification: Time multiplexing
  • 20. 20 Lecture 5: Pattern Projection Techniques • The time-multiplexing paradigm consists in projecting a series of light patterns so that every encoded point is identified with the sequence of intensities that receives • The most common structure of the patterns is a sequence of stripes increasing its length by the time  single-axis encoding • Advantages: – high resolution  a lot of 3D points – High accuracy (order of m) – Robustness against colorful objects (using binary patterns) • Drawbacks: – Static objects only – Large number of patterns  High computing time Pattern 1 Pattern 2 Pattern 3 Projected over time Example: 3 binary- encoded patterns which allows the measuring surface to be divided in 8 sub-regions 5.3 Time multiplexing
  • 21. 21 Lecture 5: Pattern Projection Techniques 5.3 Time-multiplexing: Binary codes (I) Pattern 1 Pattern 2 Pattern 3 Projected over time • Every encoded point is identified by the sequence of intensities that receives • n patterns must be projected in order to encode 2n stripes Example: 7 binary patterns proposed by Posdamer & Altschuler … Codeword of this píxel: 1010010  identifies the corresponding pattern stripe
  • 22. 22 Lecture 5: Pattern Projection Techniques Posdamer et al.    Inokuchi et al.    Minou et al.    Trobina    Valkenburg and McIvor    Skocaj and Leonardis    Binary codes Rocchini et al.    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute • Coding redundancy: every edge between adjacent stripes can be decoded by the sequence at its left or at its right 5.3 Time-multiplexing: Binary codes (II)
  • 23. 23 Lecture 5: Pattern Projection Techniques Using a 4-ary code, 3 patterns are used to encode 64 stripes (Horn & Kiryati) • n-ary codes reduce the number of patterns by increasing the number of projected intensities (grey levels/colours)  increases the basis of the code • The number of patterns, the number of grey levels or colours and the number of encoded stripes are strongly related  fixing two of these parameters the reamaining one is obtained Using a binary code, 6 patterns are necessary to encode 64 stripes 5.3 Time-multiplexing: N-ary codes (I)
  • 24. 24 Lecture 5: Pattern Projection Techniques Caspi et al. √ √ √ Horn and Kiryati √ √ √N-ary codes Osawa et al. √ √ √ Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute • n-ary codes reduce the number of patterns by increasing the number of projected intensities (grey levels/colours) 5.3 Time-multiplexing: N-ary codes (II)
  • 25. 25 Lecture 5: Pattern Projection Techniques 5.3 Time-multiplexing: Gray code+Phase shifting (I) Gühring’s line-shift technique • A sequence of binary patterns (Gray encoded) are projected in order to divide the object in regions • An additional periodical pattern is projected • The periodical pattern is projected several times by shifting it in one direction in order to increase the resolution of the system  similar to a laser scanner Example: three binary patterns divide the object in 8 regions Without the binary patterns we would not be able to distinguish among all the projected slits Every slit always falls in the same region
  • 26. 26 Lecture 5: Pattern Projection Techniques Bergmann    Sansoni et al.    Wiora    Gray Code + Phase Shift Gühring    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute • A periodical pattern is shifted and projected several times in order to increase the resolution of the measurements • The Gray encoded patterns permit to differentiate among all the periods of the shifted pattern 5.3 Time-multiplexing: Gray code+Phase shifting (II)
  • 27. 27 Lecture 5: Pattern Projection Techniques • In order to decode an illuminated point it is necessary to observe not only the sequence of intensities received by such a point but also the intensities of few (normally 2) adjacent points • The number of projected patterns reduces thanks to the spatial information that is taken into account Hall-Holt and Rusinkiewicz technique: 4 patterns with 111 binary stripes Edges encoding: 4x2 bits (every adjacent stripe is a bit) 1 1 1 1 1 0 0 0 Pattern 1 Pattern 2 Pattern 3 Pattern 4 Edge codeword: 10110101 5.3 Time-multiplexing: Hybrid methods (I)
  • 28. 28 Lecture 5: Pattern Projection Techniques K. Sato    Hall-Holt and Rusinkiewicz   Hybrid methods Wang et al.    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.3 Time-multiplexing: Hybrid methods (II)
  • 29. 29 Lecture 5: Pattern Projection Techniques Spatial codification De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array) Time- multiplexing Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits) Gühring 5.3 Time-multiplexing: Results
  • 30. 30 Lecture 5: Pattern Projection Techniques Types of techniques   Time-multiplexing • Highest resolution • High accuracy • Easy implementation • Large number of patterns • Only motionless objects Spatial codification • A unique pattern is required • Can measure moving objects • Lower resolution than time- multiplexing • More complex decoding stage • Occlusions problem Direct codification • High resolution • Few patterns • Very sensitive to image noise  cameras with large depth-per-pixel required • Sensitive to limited bandwith of LCD projectors  special projector devices are usually required • Only motionless objects 5.3 Time-multiplexing: Conclusions
  • 31. 31 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 32. 32 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 33. 33 Lecture 5: Pattern Projection Techniques TIME- MULTIPLEXING Binary codes Posdamer et al., Inokuchi et al., Minou et al., Trobina, Valkenburg and McIvor, Skocaj and Leonardis, Rocchin et al., … n-ary codes Caspi et al., Horn and Kiryati, Osawa et al.,… Gray code + Phase shifting Bergmann, Sansoni et al., Wiora, Gühring, … Hybrid methods K. Sato, Hall-Holt and Rusinkiewicz, Wang et al., … SPATIAL CODIFICATION Non-formal codification Maruyama and Abe, Durdle et al., Ito and Ishii, Boyer and Kak, Chen et al., … De Bruijn sequences Hügli and Maître, Monks et al., Vuylsteke and Oosterlinck, Salvi et al. Lavoi et al., Zhang et al., … M-arrays Morita et al., Petriu et al., Kiyasu et al., Spoelder et al., Griffin and Yee, Davies and Nixon, Morano et al., … DIRECT CODIFICATION Grey levels Carrihill and Hummel, Chazan and Kiryati, Hung, ... Colour Tajima and Iwakawa, Smutny and Pajdla, Geng, Wust and Capson, T. Sato, … 5.4 Spatial Codification
  • 34. 34 Lecture 5: Pattern Projection Techniques • Spatial codification paradigm encodes a set of points with the information contained in a neighborhood (called window) around them • The codification is condensed in a unique pattern instead of multiplexing it along time • The size of the neighborhood (window size) is proportional to the number of encoded points and inversely proportional to the number of used colors • The aim of these techniques is to obtain a one-shot measurement system  moving objects can be measured • Advantages: • Moving objects supported • Possibility to condense the codification into a unique pattern • Drawbacks: • Discontinuities on the object surface can produce erroneous window decoding (occlusions problem) • The higher the number of used colours, the more difficult to correctly identify them when measuring non-neutral coloured surfaces 5.4 Spatial Codification
  • 35. 35 Lecture 5: Pattern Projection Techniques • The first group of techniques that appeared used codification schemes with no mathematical formulation. • Drawbacks: - the codification is not optimal and often produces ambiguities since different regions of the pattern are identical -the structure of the pattern is too complex for a good image processing Maruyama and Abe  complex structure based on slits containing random cuts Durdle et al.  periodic pattern 5.4 Spatial Codification: Non-formal codification (I)
  • 36. 36 Lecture 5: Pattern Projection Techniques Maruyama and Abe    Durdle et al.    Ito and Ishii    Boyer and Kak    Non-formal codification Chen et al.    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.4 Spatial Codification: Non-formal codification (II)
  • 37. 37 Lecture 5: Pattern Projection Techniques • Formulation: Given P={1,2,...,p} set of colours. • We want to determine S={s1,s2,...sn} sequence of coloured slits. Node: {ijk}  Number of nodes: p3 nodes. Transition {ijk}  {rst}  j = r, k = s • The problem is reduced to obtain the path which visits all the nodes of the graph only once (a simple variation of the Salesman’s problem). – Backtracking based solution. – Deterministic and optimally solved by Griffin. • A De Bruijn sequence (or pseudorrandom sequence) of order m over an alphabet of n symbols is a circular string of length nm that contains every substring of length m exactly once (in this case the windows are unidimensional). 1000010111101001 m=4 (window size) n=2 (alphabet symbols) m = 3 (window size) n = p (alphabet symbols) 3 pVR 5.4 Spatial Codification: De Bruijn sequences (I)
  • 38. 38 Lecture 5: Pattern Projection Techniques Path: (111),(112),(122),(222),(221),(212),(121),(211). Slit colour sequence:111,2,2,2,1,2,1,1 Maximum 10 slits. ‘1’  Red ‘2’  Green 111 112 121 212 122 211 221 222 m = 3 n = 2 82 2 33 2   pVR p Example: 5.4 Spatial Codification: De Bruijn sequences (II)
  • 39. 39 Lecture 5: Pattern Projection Techniques • The De Bruijn sequences are used to define coloured slit patterns (single axis codification) or grid patterns (double axis codification) • In order to decode a certain slit it is only necessary to identify one of the windows in which it belongs to Zhang et al.: 125 slits encoded with a De Bruijn sequence of 5 colors and window size of 3 slits Salvi et al.: grid of 2929 where a De Bruijn sequence of 3 colors and window size of 3 slits is used to encode the vertical and horizontal slits 5.4 Spatial Codification: De Bruijn sequences (III)
  • 40. 40 Lecture 5: Pattern Projection Techniques Hügli and Maître    Monks et al.    Salvi et al.    Lavoie et al.    De Bruijn sequences Zhang et al.    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.4 Spatial Codification: De Bruijn sequences (IV)
  • 41. 41 Lecture 5: Pattern Projection Techniques • An m-array is the bidimensional extension of a De Bruijn sequence. Every window of wh units appears only once. The window size is related with the size of the m-array and the number of symbols used 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 Morano et al. M-array represented with an array of coloured dots Example: binary m- array of size 46 and window size of 22 M-array proposed by Vuylsteke et al. Represented with shape primitives 5.4 Spatial Codification: M-arrays (I)
  • 42. 42 Lecture 5: Pattern Projection Techniques Morita et al.    Petriu et al.    Vuylsteke and Oosterlinck    Kiyasu et al.    Spoelder et al.    Griffin and Yee     Davies and Nixon    M-arrays Morano et al.     Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.4 Spatial Codification: M-arrays (II)
  • 43. 43 Lecture 5: Pattern Projection Techniques Time- multiplexing Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits) Spatial codification De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array) GühringDe Bruijn 5.4 Spatial Codification: Results
  • 44. 44 Lecture 5: Pattern Projection Techniques Types of techniques   Time-multiplexing • Highest resolution • High accuracy • Easy implementation • Large number of patterns • Only motionless objects Spatial codification • A unique pattern is required • Can measure moving objects • Lower resolution than time- multiplexing • More complex decoding stage • Occlusions problem Direct codification • High resolution • Few patterns • Very sensitive to image noise  cameras with large depth-per-pixel required • Sensitive to limited bandwith of LCD projectors  special projector devices are usually required • Only motionless objects 5.4 Spatial Codification: Results
  • 45. 45 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 46. 46 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 47. 47 Lecture 5: Pattern Projection Techniques TIME- MULTIPLEXING Binary codes Posdamer et al., Inokuchi et al., Minou et al., Trobina, Valkenburg and McIvor, Skocaj and Leonardis, Rocchin et al., … n-ary codes Caspi et al., Horn and Kiryati, Osawa et al.,… Gray code + Phase shifting Bergmann, Sansoni et al., Wiora, Gühring, … Hybrid methods K. Sato, Hall-Holt and Rusinkiewicz, Wang et al., … SPATIAL CODIFICATION Non-formal codification Maruyama and Abe, Durdle et al., Ito and Ishii, Boyer and Kak, Chen et al., … De Bruijn sequences Hügli and Maître, Monks et al., Vuylsteke and Oosterlinck, Salvi et al. Lavoi et al., Zhang et al., … M-arrays Morita et al., Petriu et al., Kiyasu et al., Spoelder et al., Griffin and Yee, Davies and Nixon, Morano et al., … DIRECT CODIFICATION Grey levels Carrihill and Hummel, Chazan and Kiryati, Hung, ... Colour Tajima and Iwakawa, Smutny and Pajdla, Geng, Wust and Capson, T. Sato, … 5.5 Direct Codification
  • 48. 48 Lecture 5: Pattern Projection Techniques • Every encoded pixel is identified by its own intensity/colour • Since the codification is usually condensed in a unique pattern, the spectrum of intensities/colours used is very large • Additional reference patterns must be projected in order to differentiate among all the projected intensities/colours: • Ambient lighting (black pattern) • Full illuminated (white pattern) • … • Advantages: – Reduced number of patterns – High resolution can be teorically achieved (all points are coded) • Drawbacks: – Very noisy in front of reflective properties of the objects, non-linearities in the camera spectral response and projector spectrum  non-standard light emitters are required in order to project single wave-lengths – Low accuracy (order of 1 mm) 5.5 Direct Codification
  • 49. 49 Lecture 5: Pattern Projection Techniques • Every encoded point of the pattern is identified by its intensity level Carrihill and Hummel Intensity Ratio Sensor: fade from black to white Requirements to obtain high resolution Every slit is identified by its own intensity • Every slit must be projected using a single wave-length • Cameras with large depth-per-pixel (about 11 bits) must be used in order to differentiate all the projected intensities 5.5 Direct Codification: Grey levels (I)
  • 50. 50 Lecture 5: Pattern Projection Techniques Carrihill and Hummel    Chazan and Kiryati   Grey levels Hung    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.5 Direct Codification: Grey levels (II)
  • 51. 51 Lecture 5: Pattern Projection Techniques • Every encoded point of the pattern is identified by its colour Tajima and Iwakawa rainbow pattern (the rainbow is generated with a source of white light passing through a crystal prism) T. Sato patterns capable of cancelling the object colour by projecting three shifted patterns (it can be implemented with an LCD projector if few colours are projected  drawback: the pattern becomes periodic in order to maintain a good resolution) 5.5 Direct Codification: Colour (I)
  • 52. 52 Lecture 5: Pattern Projection Techniques Tajima and Iwakawa    Smutny and Pajdla    Geng    Wust and Capson    Colour T. Sato    Static Scene applicability Moving Binary Grey levelsPixel depth Colour Periodical Coding strategy Absolute 5.5 Direct Codification: Colour (II)
  • 53. 53 Lecture 5: Pattern Projection TechniquesLecture 5: Pattern Projection Techniques Time- multiplexing Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits) Spatial codification De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array) Direct codification Sato (64 slits) 5.5 Direct Codification: Results
  • 54. 54 Lecture 5: Pattern Projection Techniques Types of techniques   Time-multiplexing • Highest resolution • High accuracy • Easy implementation • Large number of patterns • Only motionless objects Spatial codification • A unique pattern is required • Can measure moving objects • Lower resolution than time- multiplexing • More complex decoding stage • Occlusions problem Direct codification • High resolution • Few patterns • Very sensitive to image noise  cameras with large depth-per-pixel required • Sensitive to limited bandwith of LCD projectors  special projector devices are usually required • Only motionless objects 5.5 Direct Codification: Conclusions
  • 55. 55 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 56. 56 Lecture 5: Pattern Projection Techniques 5. Pattern Projection Techniques 5.1 Passive vs active stereo 5.2 Coded structured light 5.3 Classification: Time multiplexing 5.4 Classification: Spatial codification 5.5 Classification: Direct codification 5.6 Optimising De Bruijn patterns 5.7 Implementation of a De Bruijn pattern Contents
  • 57. 57 Lecture 5: Pattern Projection Techniques Guidelines Requirements Best technique • High accuracy • Highest resolution • Static objects • No matter the number of patterns Phase shift + Gray code  Gühring’s line-shift technique • High accuracy • High resolution • Static objects • Minimum number of patterns N-ary pattern  Horn & Kiryati Caspi et al. • High accuracy • Good resolution • Moving objects Optimised Bruijn pattern  Salvi and Pagés.
  • 58. 58 Lecture 5: Pattern Projection Techniques Presentation outline 2.- An Optimised one-shot technique – Typical one-shot patterns – Optimal pattern – A new coding strategy – Implementation design – Experimental results – Conclusions
  • 59. 59 Lecture 5: Pattern Projection Techniques Typical one-shot patterns Stripe pattern Grid pattern De Bruijn codification M-array codification Array of dots Array of shape primitives Multi-slit pattern Checkerboard pattern Image by Li Zhang
  • 60. 60 Lecture 5: Pattern Projection Techniques Best one-shot patterns De Bruijn patterns Stripe patterns High resolution and good accuracy Multi-slit patterns High accuracy and good resolution Grid patterns Low resolution M-array patterns Array of dots Low resolution and inaccurate sub-pixel localisation of the dots Shape primitives Low accuracy and difficult sub-pixel localisation of shape primitives Checkerboard Low resolution
  • 61. 61 Lecture 5: Pattern Projection Techniques Optimising De Bruijn patterns: interesting features Optimisation Advantages Maximising resolution Larger number of correspondences in a single shot Maximising accuracy Better quality in the 3D reconstruction Minimising the window size More robustness against discontinuities in the object surface Minimising the number of colours More robustness against non-neutral coloured objects and noise
  • 62. 62 Lecture 5: Pattern Projection Techniques Optimisation: maximising resolution Stripe patterns: achieve maximum resolution since they are formed by adjacent bands of pixels. Multi-slit patterns: the maximum resolution is not achieved since black gaps are introduced between the slits Ideal pattern: the one which downsamples the projector resolution so that all the projected pixels are perceived in the camera image  in fact only columns or rows must be identified in order to triangulate 3D points.
  • 63. 63 Lecture 5: Pattern Projection Techniques Optimisation: maximising accuracy Ideal pattern: multi-slit patterns allow intensity peaks to be detected with precise sub-pixel accuracy Multi-slit pattern Stripe pattern Edge detection between stripes: need to find edges in the three RGB channels  the location of the edges does not coincide Figure by Jens Gühring RGB channels intensity profile of a row of the image
  • 64. 64 Lecture 5: Pattern Projection Techniques Optimisation: minimising the window size and the number of colours Maximising Minimising Number of colours • Larger resolution • Smaller distance in the Hue space  more difficult colour identification • Smaller resolution • Larger distance in the Hue space  Easier colour identification Window size • Larger resolution • Danger to violate the local smoothness assumption • Smaller resolution • More robustness against surface discontinuities If both the number of colours and the window size are minimised the resolution decreases
  • 65. 65 Lecture 5: Pattern Projection Techniques Optimising De Bruijn patterns: summary Optimisation Best pattern Maximising resolution Stripe pattern Maximising accuracy Multi-slit pattern Minimising the window size and the number of colours preserving a good resolution Stripe pattern + multi-slit pattern
  • 66. 66 Lecture 5: Pattern Projection Techniques A new hybrid pattern intensity Horizontal scanline Combination of the advantages of stripe patterns and multi-slit patterns Stripe pattern in the RGB space Multi-slit pattern in the Luminance channelintensity Horizontal scanline intensity Horizontal scanline Projected luminance profile Perceived luminance profile
  • 67. 67 Lecture 5: Pattern Projection Techniques The new coding strategy Given n different values of Hue and a window size of length m A pattern with 2nm stripes is defined with a square Luminance profile with alternating full-illuminated and half- illuminated stripes The pattern is divided in n periods so that all the full-illuminated stripes of every period share the same Hue The half-illuminated stripes of every period are coloured according to a De Bruijn sequence of order m-1 and the same n Hue values Example: n=4, m=3 128 stripes 32 stripes32 stripes 16 coded stripes 16 coded stripes… …
  • 68. 68 Lecture 5: Pattern Projection Techniques The new coding strategy S={0010203112132233} 0=red; 1=green; 2=cyan; 3=blue
  • 69. 69 Lecture 5: Pattern Projection Techniques Implementation design of the coded structured light technique Colour selection and calibration Colours AM, Am Geometric calibration K1, Pc, Pp RGB channel alignment calibration gHr, gHb Peak compensation calibration offsets RGB alignment Image rectification Peak detection Peak decoding Peak compensation Colour rectification 3D reconstruction Offline processes Online processes Radial distortion removal Most of the processes of this schema are valid for any one-shot technique based on colour structured light
  • 70. 70 Lecture 5: Pattern Projection Techniques Offline processing: RGB channel misalignment calibration The grid cross-points coordinates are located with sub-pixel accuracy in each RGB channel. Two homographies gHr and gHb are calculated in order to reduce the misalignment between the red and the blue channel with respect to the green. RGB image red channel green channel blue channel red grid green grid blue grid It should be a white grid Homographies
  • 71. 71 Lecture 5: Pattern Projection Techniques Offiline processing: geometric calibration - Camera: Pinhole + Radial lens distortion - Projector: like a reverse camera
  • 72. 72 Lecture 5: Pattern Projection Techniques Offline processing: colour selection (I) Example: selection of n=3 colours Hue 1) Select n equi-spaced Hue levels 2) Project the n Hue values with different Luminance values and interpolate their response curve. Each RGB channel has different sensitivity  the intensity perceived is in function of the projected Hue 3) Given the maximum and minimum levels of luminances that we want to perceive  the corresponding projecting luminances for every Hue can be chosedemitted Luminance perceivedLuminance
  • 73. 73 Lecture 5: Pattern Projection Techniques Offline processing: colour selection (II) The projector-camera system introduces a strong colour cross-talk which makes colour identification difficult. The cross-talk can be reduced with a calibration procedure: • a pure red, green and blue patterns are projected over a colour- neutral panel. • a linear mapping is calculated between the colour instructions and the perceived ones  a cross-talk matrix is obtained • this matrix approximates the behaviour of the projector-camera system  This matrix will be used online to reduce the cross-talk. The highest cross-talk exists between the green and the red channel
  • 74. 74 Lecture 5: Pattern Projection Techniques Offline processing: peak compensation calibration Every peak of luminosity is affected by the colours of the surrounding stripes  the detected peak position is affected by an offset Peak compensation calibration: the pattern containing both full and half- illuminated stripes is projected and then the pattern only containing the full-illuminated stripes is also projected Maxima peak sub-pixel position - offsets The same process is made with the minima peaks Maxima peak sub-pixel position
  • 75. 75 Lecture 5: Pattern Projection Techniques Online processing Colours AM, Am K1, Pc, Pp gHr, gHb offsets RGB alignment Image rectification Peak detection Peak decoding Peak compensation Colour rectification 3D reconstruction Online processes Radial distortion removal Stripes location: binarised 2nd derivative of the luminance channel Radial distortion removal RGB alignment Image rectification Peak detection Peak decoding Colour rectification Peak decoding 1  number of period De Bruijn: 00102031121322330 Position of the stripe inside the period Sub-pixel location of each positive and negative luminance peak: Blais and Rioux detector Colour rectification by using the inverse of the calibrated cross-talk matrix Peak compensation 3D reconstruction
  • 76. 76 Lecture 5: Pattern Projection Techniques Experimental results (I)
  • 77. 77 Lecture 5: Pattern Projection Techniques Experimental results (II)
  • 78. 78 Lecture 5: Pattern Projection Techniques Conclusions • A new coding strategy for one-shot patterns has been presented. • The new pattern combines the high resolution of stripe- patterns and the high accuracy of multi-slit patterns. • A pattern with 2nm stripes is achieved with only n levels of Hue and a window property equal to m. (ex. 2*43 = 128 stripes) • Given the same parameters, stripe-patterns encoded with classical De Bruijn sequences have a resolution of nm (ex. 43 = 64 stripes) • The resolution has been doubled. • The pattern has a sinusoidal profile in the luminance channel so that maximum and minimum peaks can be accurately detected with classical peak detectors. n = Number of colours (4), m = Window size (3)
  • 79. 79 Lecture 5: Pattern Projection Techniques Published Material Journals – J. Pagés, J. Salvi, J. Forest. Optimised De Bruijn patterns for one-shot shape acquisition. Image and Vision Computing. 23(8), pp 707-720, August 2005. – J. Salvi, J. Pagés, J. Batlle. Pattern Codification Strategies in Structured Light Systems. Pattern Recognition 37(4), pp 827-849, April 2004. – J. Batlle, E. Mouaddib and J. Salvi. A Survey: Recent Progress in Coded Structured Light as a Technique to Solve the Correspondence Problem. Pattern Recogniton 31(7), pp 963-982, July 1998. – J. Salvi, J. Batlle and E. Mouaddib. A Robust-Coded Pattern Projection for Dynamic 3D Scene Measurement. Pattern Recognition Letters 19, pp 1055-1065, September 1998. Recent Conferences – J. Pagès, J. Salvi and J. Forest. Optimised De Bruijn Patterns for One-Shot Shape Acquisition. IEEE Int. Conf. on Pattern Recognition, ICPR 2004, Cambridge, Great Britain, 2004. – J. Pagès, J. Salvi and C. Matabosch. Implementation of a robust coded structured light technique for dynamic 3D measurements. IEEE Int. Conf. on Image Processing, ICIP 2003, Barcelona, Spain, Septembre 2003. – J. Pagès, J. Salvi, R. García and C. Matabosch. Overview of coded light projection techniques for automatic 3D profiling. IEEE Int. Conf. on Robotics and Automation, ICRA 2003, Taipei, Taiwan, May 2003. More Information: http://eia.udg.es/~qsalvi/