Signal Processing - May 2017 - 59

120 fps can be achieved for 3-D acquisition and reconstruction at 640 × 480 pixels. Still, the limited range of frequency
of fringe, especially for three patterns, limits the measurement accuracy.
To minimize the number of required images while retaining both the full amplitude and the high frequency of fringe,
Zhang et al. propose to use three speckle-embedded fringe patterns in which the pseudorandom speckle signal solves the phase
ambiguity [28]. This work is inspired by the speckle pattern used
in the Kinect, yet here the speckle signal is adapted for phase
unwrapping. The nth(n = 1, 2, 3) speckle-embedded fringe pattern can be described as

Intensity

2L

Max (P1, P2, P3)
P1

B

B

B

P2
Min (P1, P2, P3)

P3
-B

0

-B

Projector Y-Coordinate
(a)

P nE (x, y) = C + B E (x, y) Z (x, y) + A cos ` 2r fy + 2r n j . (6)
3
Compared to (1), the newly added second term consists of
two parts: Z ^ x, yh denotes the distribution of a pseudorandom
speckle signal similar to Figure 1, and B E (x, y) controls the
intensity of the speckle. Similar to previous period-coding
methods, this embedded speckle signal will not affect the
phase calculation.
Suppose the intensity dynamic range of the projected patterns is L-bit grayscale. Generally, the amplitude and the dc
offset of the fringe signal are set as A = C = 2 L -1 . To embed
the speckle signal without reducing the amplitude of fringe,
a straightforward solution is to assign B E (x, y) the largest
available intensity as
B E (x, y) = 2 L - max {Pn (x, y)},

(7)

n = 1, 2, 3

where Pn (n = 1, 2, 3) denotes the original sinusoidal fringe
patterns. However, little speckle signal can be embedded when
Pn (x, y) equals or gets very close to 2 L . Actually, as period
codes, the intensity of the speckle can be either positive or
negative. Therefore, a better strategy is to assign B E (x, y) as
B E (x, y) = )

E
E
E
2 L - B max
2 L - B max
$ B min
,
E
-B min
otherwise

(8)

where
E
E
B max
= max {Pn (x, y)}, B min
= min {Pn (x, y)}.
n = 1, 2, 3

n = 1, 2, 3

(9)

The 1-D illustration for speckle intensity decision is given
in Figure 3(a). As can be seen, the margin of intensity dynamic
range in three phase-shifted fringes is fully exploited in this
way. The three speckle-embedded fringe patterns are shown in
Figure 3(b). The positive speckle intensity corresponds to the
brighter dots, and the negative speckle intensity corresponds to
the darker dots on the fringe background.
The phase-unwrapping process follows the idea of patchbased image matching used in the Kinect. Since the disparity in (5) is an integer within [0, M - 1], at most M possible
disparities need to be checked for each wrapped phase. To
improve the robustness of phase unwrapping when highfrequency fringes are employed in pursuit of high accuracy,

(b)

FIGURE 3. (a) The speckle intensity decision; red regions indicate positive
values and green regions indicate negative values. (b) Three speckleembedded fringe patterns.

an efficient voting strategy is further proposed to recover
the absolute phase region by region instead of pixel by pixel.
Figure 4 shows the online 3-D reconstruction results of a
dynamic scene using this method, which demonstrates the
accuracy of phase shifting that can be achieved by using the
theoretical minimum number of images. Quantitatively, the
root-mean-square reconstruction error is submillimeter at a
distance of approximately 1 m. In other words, the measurement accuracy is an order of magnitude higher compared with
the Kinect. A potential drawback of this method is that phase
map segmentation is required, which may cause reliability
issues in case of complex scenes.
Table 1 lists the main features of the previously discussed
phase period coding methods. Compared with traditional
phase shifting using a large number of patterns, systems
based on these methods can all achieve real-time 3-D acquisition and reconstruction, making high-accuracy depth sensing possible in time-critical scenarios. However, even with
the minimum of three patterns, motion effects still pose challenges for developing commodity depth cameras based on
phase shifting. For example, if a 30-fps acquisition speed is
expected (which should be enough for general-purpose usage),
the projector and the camera need to be synchronized at 90
fps. Such high-speed hardware requirements would greatly
increase the system cost. It is worth mentioning that since the
phase relationship between any two consecutive patterns is

IEEE SIgnal ProcESSIng MagazInE

|

May 2017

|

59



Table of Contents for the Digital Edition of Signal Processing - May 2017

Signal Processing - May 2017 - Cover1
Signal Processing - May 2017 - Cover2
Signal Processing - May 2017 - 1
Signal Processing - May 2017 - 2
Signal Processing - May 2017 - 3
Signal Processing - May 2017 - 4
Signal Processing - May 2017 - 5
Signal Processing - May 2017 - 6
Signal Processing - May 2017 - 7
Signal Processing - May 2017 - 8
Signal Processing - May 2017 - 9
Signal Processing - May 2017 - 10
Signal Processing - May 2017 - 11
Signal Processing - May 2017 - 12
Signal Processing - May 2017 - 13
Signal Processing - May 2017 - 14
Signal Processing - May 2017 - 15
Signal Processing - May 2017 - 16
Signal Processing - May 2017 - 17
Signal Processing - May 2017 - 18
Signal Processing - May 2017 - 19
Signal Processing - May 2017 - 20
Signal Processing - May 2017 - 21
Signal Processing - May 2017 - 22
Signal Processing - May 2017 - 23
Signal Processing - May 2017 - 24
Signal Processing - May 2017 - 25
Signal Processing - May 2017 - 26
Signal Processing - May 2017 - 27
Signal Processing - May 2017 - 28
Signal Processing - May 2017 - 29
Signal Processing - May 2017 - 30
Signal Processing - May 2017 - 31
Signal Processing - May 2017 - 32
Signal Processing - May 2017 - 33
Signal Processing - May 2017 - 34
Signal Processing - May 2017 - 35
Signal Processing - May 2017 - 36
Signal Processing - May 2017 - 37
Signal Processing - May 2017 - 38
Signal Processing - May 2017 - 39
Signal Processing - May 2017 - 40
Signal Processing - May 2017 - 41
Signal Processing - May 2017 - 42
Signal Processing - May 2017 - 43
Signal Processing - May 2017 - 44
Signal Processing - May 2017 - 45
Signal Processing - May 2017 - 46
Signal Processing - May 2017 - 47
Signal Processing - May 2017 - 48
Signal Processing - May 2017 - 49
Signal Processing - May 2017 - 50
Signal Processing - May 2017 - 51
Signal Processing - May 2017 - 52
Signal Processing - May 2017 - 53
Signal Processing - May 2017 - 54
Signal Processing - May 2017 - 55
Signal Processing - May 2017 - 56
Signal Processing - May 2017 - 57
Signal Processing - May 2017 - 58
Signal Processing - May 2017 - 59
Signal Processing - May 2017 - 60
Signal Processing - May 2017 - 61
Signal Processing - May 2017 - 62
Signal Processing - May 2017 - 63
Signal Processing - May 2017 - 64
Signal Processing - May 2017 - 65
Signal Processing - May 2017 - 66
Signal Processing - May 2017 - 67
Signal Processing - May 2017 - 68
Signal Processing - May 2017 - 69
Signal Processing - May 2017 - 70
Signal Processing - May 2017 - 71
Signal Processing - May 2017 - 72
Signal Processing - May 2017 - 73
Signal Processing - May 2017 - 74
Signal Processing - May 2017 - 75
Signal Processing - May 2017 - 76
Signal Processing - May 2017 - 77
Signal Processing - May 2017 - 78
Signal Processing - May 2017 - 79
Signal Processing - May 2017 - 80
Signal Processing - May 2017 - 81
Signal Processing - May 2017 - 82
Signal Processing - May 2017 - 83
Signal Processing - May 2017 - 84
Signal Processing - May 2017 - 85
Signal Processing - May 2017 - 86
Signal Processing - May 2017 - 87
Signal Processing - May 2017 - 88
Signal Processing - May 2017 - 89
Signal Processing - May 2017 - 90
Signal Processing - May 2017 - 91
Signal Processing - May 2017 - 92
Signal Processing - May 2017 - 93
Signal Processing - May 2017 - 94
Signal Processing - May 2017 - 95
Signal Processing - May 2017 - 96
Signal Processing - May 2017 - 97
Signal Processing - May 2017 - 98
Signal Processing - May 2017 - 99
Signal Processing - May 2017 - 100
Signal Processing - May 2017 - 101
Signal Processing - May 2017 - 102
Signal Processing - May 2017 - 103
Signal Processing - May 2017 - 104
Signal Processing - May 2017 - 105
Signal Processing - May 2017 - 106
Signal Processing - May 2017 - 107
Signal Processing - May 2017 - 108
Signal Processing - May 2017 - 109
Signal Processing - May 2017 - 110
Signal Processing - May 2017 - 111
Signal Processing - May 2017 - 112
Signal Processing - May 2017 - Cover3
Signal Processing - May 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com