Hybrid Single and Dual Pattern Structured Light Illumination
Transcript of Hybrid Single and Dual Pattern Structured Light Illumination
University of Kentucky University of Kentucky
UKnowledge UKnowledge
Theses and Dissertations--Electrical and Computer Engineering Electrical and Computer Engineering
2015
Hybrid Single and Dual Pattern Structured Light Illumination Hybrid Single and Dual Pattern Structured Light Illumination
Minghao Wang University of Kentucky, [email protected]
Right click to open a feedback form in a new tab to let us know how this document benefits you. Right click to open a feedback form in a new tab to let us know how this document benefits you.
Recommended Citation Recommended Citation Wang, Minghao, "Hybrid Single and Dual Pattern Structured Light Illumination" (2015). Theses and Dissertations--Electrical and Computer Engineering. 74. https://uknowledge.uky.edu/ece_etds/74
This Doctoral Dissertation is brought to you for free and open access by the Electrical and Computer Engineering at UKnowledge. It has been accepted for inclusion in Theses and Dissertations--Electrical and Computer Engineering by an authorized administrator of UKnowledge. For more information, please contact [email protected].
STUDENT AGREEMENT: STUDENT AGREEMENT:
I represent that my thesis or dissertation and abstract are my original work. Proper attribution
has been given to all outside sources. I understand that I am solely responsible for obtaining
any needed copyright permissions. I have obtained needed written permission statement(s)
from the owner(s) of each third-party copyrighted matter to be included in my work, allowing
electronic distribution (if such use is not permitted by the fair use doctrine) which will be
submitted to UKnowledge as Additional File.
I hereby grant to The University of Kentucky and its agents the irrevocable, non-exclusive, and
royalty-free license to archive and make accessible my work in whole or in part in all forms of
media, now or hereafter known. I agree that the document mentioned above may be made
available immediately for worldwide access unless an embargo applies.
I retain all other ownership rights to the copyright of my work. I also retain the right to use in
future works (such as articles or books) all or part of my work. I understand that I am free to
register the copyright to my work.
REVIEW, APPROVAL AND ACCEPTANCE REVIEW, APPROVAL AND ACCEPTANCE
The document mentioned above has been reviewed and accepted by the student’s advisor, on
behalf of the advisory committee, and by the Director of Graduate Studies (DGS), on behalf of
the program; we verify that this is the final, approved version of the student’s thesis including all
changes required by the advisory committee. The undersigned agree to abide by the statements
above.
Minghao Wang, Student
Dr. Laurence Hassebrook, Major Professor
Dr. Caicheng Lu, Director of Graduate Studies
Minghao Wang
Advisor: Dr. Laurence Hassebrook,
Electrical and Computer Engineering Department
Copyright © Minghao Wang 2015
HYBRID SINGLE AND DUAL PATTERN STRUCTURED
LIGHT ILLUMINATION
DISSERTATION
By
A dissertation submitted in partial fulfillment of the requirements for the degree of
Doctor of Philosophy in the College of Engineering at the University of Kentucky
Abstract of Dissertation
Structured Light Illumination is a widely used 3D shape measurement technique in non-contact surface scanning. Multi-pattern based Structured Light Illumination methods reconstruct 3-D surface with high accuracy, but are sensitive to object motion during the pattern projection and the speed of scanning process is relatively long. To reduce this sensitivity, single pattern techniques are developed to achieve a high speed scanning process, such as Composite Pattern (CP) and Modified Composite Pattern (MCP) technique. However, most of single patter techniques have a significant banding artifact and sacrifice the accuracy. We focus on developing SLI techniques can achieve both high speed, high accuracy and have the tolerance to the relative motion. We first present a novel Two-Pattern Full Lateral Resolution (2PFLR) SLI method utilizing an MCP pattern for non-ambiguous phase followed by a single sinusoidal pattern for high accuracy. The surface phase modulates the single sinusoidal pattern which is demodulated using a Quadrature demodulation technique and then unwrapped by the MCP phase result. A single sinusoidal pattern reconstruction inherently has banding error. To effective de-band the surface, we propose Projector Space De-banding algorithm (PSDb). We use projector space because the band error is aligned with the projector coordinates allowing more accurate estimation of the banding error. 2PFLR system only allows the relative motion within the FOV of the scanner, to extend the application of the SLI, we present the research on Relative Motion 3-D scanner which utilize a single pattern technique. The pattern in RM3D system is designed based on MCP but has white space area to capture the surface texture, and a constellation correlation filter method is used to estimate the scanner's trajectory and then align the 3-D surface reconstructed by each frame to a point cloud of the whole object surface.
KEYWORDS: Structured Light Illumination, Computer Vision, 3-D Depth Measuring
HYBRID SINGLE AND DUAL PATTERN STRUCTURED LIGHT ILLUMINATION
Minghao Wang
05/20/2015
Student’s Signature
Date
05/20/2015
Caicheng Lu
Laurence Hassebrook
HYBRID SINGLE AND DUAL PATTERN STRUCTURED LIGHT ILLUMINATION
By
Minghao Wang
Director of Dissertation
Director of Graduate Studies
Date
Acknowledgement
I would like to thank my academic advisor, Dr.Laurence Hassebrook, for the opportunity
he gave me to pursue my degree in the field of 3D measuring, and all the guidance and
help I’ve received from him all through these years. This thesis would be impossible
without his extensive knowledge and innovative ideas in this field.
Special thanks should be accorded to Charles Casey for providing technical assistance. I
would also like to thank Dr. Ruigang Yang, Dr. Kevin Donohue and Dr. Lau for serving
as committee members, and for the insightful guidance I’ve received from them.
Last but not least, I would like to express my deepest gratitude to my parents, for the
endless love and support I have always been with since I was born.
III
Table of Contents
Acknowledgement III
List of Figures VI
List of Tables X
Chapter 1 Introduction and Historical Perspectus 1
1.1 Introduction 1
1.2 Historical Prospectus 3
1.3 Contribution 7
Chapter 2 Background 11
2.1 Structure Light Illumination 11
2.2 Classical Phase Measuring Profilometry (PMP) Method 13
2.3 Composite Pattern Technique 16
2.4 Microsoft Kinect 3-D Sensor 18
Chapter 3 Two-Pattern Full Lateral Resolution SLI Depth Measuring 20
3.1 Modified Composite Pattern (MCP) 20
3.2 2PFLR system setup 22
3.3 Non-ambiguous Pattern analysis 24
3.4 Quadrature Phase Pattern Analysis 34
3.5 Experiments Results 41
3.6Summary 49
Chapter 4 Projector Space De-banding Algorithm 51
4.1 Introduction to Projector Space De-banding Algorithm 51
4.2 Mathematical Model of Projector Space De-banding Algorithm (PSDb) 53
4.3 Notations for Mathematical Model of De-Banding Algorithm 68
IV
4.4 Experimental Results of PSDb Algorithm 71
4.5 Depth Modulation Transfer Function Performance Characterization for SLI
system 74
4.6 Summary 79
Chapter 5 Relative Motion 3-D Scanner (RM3D) 81
5.1 Introduction to Relative Motion 3-D Scanning System 82
5.2Relative Motion 3-D Pattern Analysis 86
5.3 3-D Surface Alignment Based on Estimated Transformation Matrix 103
5.4 Post Processing to Decrease the Accumulate Error 105
5.5 Experimental Results of 3-D Motion Scanner 106
5.6 Summary 108
Chapter 6 Conclusion and Future Research 110
6.1 Conclusion 110
6.2 Future Research 112
References 113
VITA 125
V
List of Figures
Figure 2.1 (Left) SLI geometry and (Right) stripe pattern on a sphere from Guan. et al [6]
........................................................................................................................................... 11
Figure 2.2 Geometry of SLI to reconstruct 3D surface from [1] ...................................... 12
Figure 2.3 An object projected with a sinusoidal pattern ................................................. 13
Figure 2.4 (left) phase calculated by using k=1, and (right) phase calculated by using
k=16 .................................................................................................................................. 14
Figure 2.5Composite Pattern technique [6] ...................................................................... 16
Figure 2.6 Fourier Transform of Composite Pattern Image [6] ........................................ 17
Figure 2.7 Block diagram of demodulate Composite Pattern [6] ..................................... 18
Figure 2.8 A Picture of Kinect .......................................................................................... 18
Figure 2.9 Pattern from Kinect (Images are from flickr.com) .......................................... 19
Figure 2.10 Captured reflected image from Kinect (left), Reconstructed Depth Map
(right). (Images are from Wikipedia.org/wiki/Kinect) ..................................................... 19
Figure 3.1 A MCP pattern [10] ......................................................................................... 22
Figure 3.2 The two patterns used in Two-Pattern System ................................................ 23
Figure 3.3 Two-Pattern System block diagram ................................................................ 24
Figure 3.4 Pre-Filter the image. Original Image (left), filtered image (right) .................. 27
Figure 3.5 Snake Detection Process. Captured Image (left), detected snakes image (right)
........................................................................................................................................... 28
Figure 3.6 Detected Snake Peaks image (negative image) ............................................... 29
Figure 3.7 The snake before filtering (left), the snake after filtering (right) .................... 30
VI
Figure 3.8 Algorithm of Modified Composite Pattern processing ................................... 33
Figure 3.9 Sy image (left), linear interpolated phase image (right) ................................... 34
Figure 3.10 Quadrature Phase Demodulator ..................................................................... 36
Figure 3.11 Wrapped Phase Image ................................................................................... 38
Figure 3.12 Object Bolder in black(left), masked out ROI image(right).......................... 38
Figure 3.13 One column signal of both phase images, Green in wrapped phase image,
Blue is the baseline unwrapped phase image .................................................................... 39
Figure 3.14 Unwrapped phase and baseline phase ........................................................... 40
Figure 3.15 Unwrapped Quadrature Processing Phase Image .......................................... 41
Figure 3.16 Two-Pattern Full Lateral Resolution Scanner Structure ............................... 42
Figure 3.17 Calibration Target [94] .................................................................................. 43
Figure 3.18 Automatically detect the rings’ centers (left), Phase Image with detected
center in green (right)........................................................................................................ 44
Figure 3.19 3D surface reconstructed only use MCP ....................................................... 45
Figure 3.20 Surface after Trend-filtering .......................................................................... 46
Figure 3.21 3D surface with color texture ........................................................................ 46
Figure 3.22 3D reconstruction by using Quadrature Phase Processing ............................ 47
Figure 3.23 QP reconstructed surface after trend filter ..................................................... 48
Figure 3.24 Colored 3D surface ........................................................................................ 49
Figure 4.1 Mapping a camera space image (left) to a projector space image (right). ...... 54
Figure 4.2 Projector Space differential of the phase image with interpolation ................ 56
VII
Figure 4.3 Estimate Expectation of differential phase image ........................................... 57
Figure 4.4Estimated Expectation of Phase Value ............................................................ 58
Figure 4.5Diffirential wrapped phase image in camera space .......................................... 60
Figure 4.6 Branch Cuts image in projector space ............................................................ 62
Figure 4.7Zoomed in branch cuts image........................................................................... 63
Figure 4.8 Image indicates the rows have branch cuts in projector space ........................ 64
Figure 4.9 Interpolated reference phase ramp ................................................................... 65
Figure 4.10 Estimated Banding Error ............................................................................... 66
Figure 4.11 De-band Phase Image .................................................................................... 67
Figure 4.12 A Baseline Flat Board to test thePSDbAlgorithm ......................................... 71
Figure 4.13 Reconstructed 3-D surface, front view (left) and rotated view (right) .......... 72
Figure 4.14 Side view of the reconstructed 3-D surface of the flat board: Surface with
Banding error (left), De-Band Result (Right) ................................................................... 72
Figure 4.15 Human Face Scan. Left One is with texture, right one is metallic 3D surface
........................................................................................................................................... 73
Figure 4.16 Set of Sinusoidal Grid in the Experiment(left), scanner settings (right) ....... 76
Figure 4.17 Sinusoidal Grid on the rotation stage, rotate the grid counter-clock-wisely
from 90 degree (gird is vertical, top left), 60 degree (top right), 30 degree (bottom left) to
0 degree (grid is horizontal, bottom right). ....................................................................... 77
Figure 4.18 DMTF for 90 degree to 0 degree ................................................................... 78
Figure 5.1 Relative Motion 3-D Scanning system, folded for portal able ........................ 83
Figure 5.2 Relative Motion 3-D Scanner, Folded (left) and infolded for operation (right)
VIII
........................................................................................................................................... 84
Figure 5.3 Optical Pattern for Relative Motion Scanning system .................................... 86
Figure 5.4 Original Image under test (left), result after PSR peak detection process (right)
........................................................................................................................................... 88
Figure 5.5 Snake Matrix Sy for Relative Motion 3-D pattern ........................................... 90
Figure 5.6RM3D scan of test surface (left), PSR detection result(right) ......................... 91
Figure 5.7 4-Connected Neighborhood............................................................................. 91
Figure 5.8 Snakes Peaks Detection result after snake growing ........................................ 93
Figure 5.9 Partitions (white areas) for Constellation Correlation ..................................... 95
Figure 5.10(a) Number 3 partition in current frame; (b) Number 3 Partition in previous
frame; (c) Correlation results with shifting the peak to the middle of the image ............. 96
Figure 5.11 Exponential MSD of 14 Partitions ................................................................ 98
Figure 5.12 Geometry of estimation of 3-D transformation matrix ................................ 102
Figure 5.13Block Diagram for Snake Tracking and Constellation Correlation for
Transformation Matrix Estimation algorithm ................................................................. 103
Figure 5.14 Recovered Phase Image for the nine snakes, depth information for only nine
snakes .............................................................................................................................. 104
Figure 5.15 Point Cloud for 3-D reconstruction of all aligned patches, side view (left),
frontal view (right) .......................................................................................................... 104
Figure 5.16 Experimental setup ...................................................................................... 107
Figure 5.17 Front view of scanned object surface (left), side view of scanned object
(right) .............................................................................................................................. 108
IX
List of Tables
Table 3-1 Phase Code (PC), Snake Code (SC) and Gray code (GC) ............................... 26
Table 3-2 The weights for matched filters used in our research ....................................... 31
Table 4-1 Notations for Math Model of PSDB ................................................................. 68
Table 4-2 Comparison between Different De-Banding techniques .................................. 74
Table 4-3 Depth measurement performance characterization for MCP only ................... 79
Table 4-4 Depth measurement performance characterization for 2PFLR ........................ 79
X
Chapter 1 Introduction and Historical Perspectus
In this chapter, we first introduce our research in section 1.1 which describes our
motivation for doing the research in relative motion SLI area, and briefly introduces the
methods used and techniques we developed. Section 1.2 is a historical prospectus of the
related researches. Both passive and active computer vision techniques are reviewed, and
the previous de-banding algorithms are also briefly described. Section 1.3 lists our
contributions to the research areas of SLI and the details of our contribution are
illustrated in the following chapters.
1.1 Introduction
Non-ambiguous depth accuracy and high speed data acquisition are the most important
aspects of a 3-D capture technique. Ambiguous depth is a significant problem in many
high speed approaches [1]. High accuracy ensures the quality of the 3D model
reconstructed and many methods achieve high accuracy under certain environmental and
scene. However, while most of the high accuracy techniques like Structured Light
Illumination (SLI) produce very dense 3D points cloud, they require the object to be
stationary for several seconds [11]-[13]. This limits SLI applications compared with some
other methods such as Stereo Vision and Structure from Motion which allow the relative
motion between the object and the scanner. Our group’s research focuses on solving the
problems in SLI method to allow for the relative motion between the target object or
scene and the scanning system. Given the "relative motion" problem, we address two
research aspects of that problem: (1) Relative Motion within Field of View (FOV) of a
scan and (2) Relative Motion across a scene larger than the FOV.
The first direction of our research is a SLI scanner algorithm that allows the relative
motion within the Field of View (FOV) of the Scanner. To achieve this goal, we need to
address the scan time issue, which is that most of SLI methods require projecting a series
of patterns temporally onto an object in order to capture its 3D surface. Our group
inspired by the composite filter theory and communication theory has developed methods
1
to spatially modulate several patterns into one pattern. In this way the 3D model can be
reconstructed by using a single pattern. This single pattern system gives the SLI
technique ability to capture the 3D motion of the object limited only by the capture speed
of the camera. However, the spatial modulation decreases the spatial resolution of the
reconstruction results. Low spatial resolution makes the SLI technique less appealing. So
a trade-off decision is made between the spatial resolution and the number of the patterns
used (less patterns means less sensitivity to 3D motion). Previous research on fast PMP
3D scanning requires at least 3 patterns whereas the spatial modulation method only
requires 1 pattern [57]-[61]. Based on previous research we have developed a two-pattern
method which achieves both non-ambiguous and high spatial resolution. The two-pattern
method is a synergistic combination of a non-ambiguous pattern and a sinusoidal pattern.
The first pattern is a Modified Composite Pattern (MCP) which is a non-ambiguous
pattern but the 3D result has low lateral resolution along the phase direction. The second
pattern is a sinusoidal pattern with same spatial frequency with MCP, and this 2nd pattern
is ambiguous but with quadrature demodulation achieves high spatial resolution. In
another level of synergistism the ambiguous pattern is used to locate the non-ambiguous
pattern features. So we do not just use a non-ambiguous pattern to unwrap the second, but
we make use of an almost symbiotic relationship between the two patterns.
The second direction of our research is to study a SLI method that allows the relative
motion beyond the Field of View of the scanner. This requires the scanner to be portable
and not tethered to a computer, analogous to a commercial camera which captures 2D
imagery. We refer to this as a “3D” camera which outputs the 3D model of the scene
instead of a photograph. Our study of a 3D motion scanner is a good application of this
idea. Inspired by the idea of finding correspondence between two parallax images in
Stereo Vision, we designed a pattern which utilizes both the spatial modulation method of
SLI and the correspondence matching method to reconstruct the 3D of a scanned surface.
Unlike the classical SLI pattern which is just a series of sinusoidal pattern or the MCP
which modulated the pattern, this motion scanning pattern only has a few lines of snakes
that cover just part of the FOV and rest of the FOV is left open for correspondence
matching. With three snakes groups we achieve the accurate 3D depth information. And
2
with the blank area in the pattern, we capture the texture of the surface which offers us
the information for correspondence between the images captured by the scanner since
there are a large overlapping areas. Many algorithms have been developed to reconstruct
3-D shape using images with overlapping area [65]-[68]. By utilizing a constellation
correlation filter which dramatically increases the efficiency and accuracy of the
correlation. We then match the sparse 3D points cloud and merge them into one dense 3D
surface. By moving the scanner across the scene, we achieve the goal to scan a large
object by using a portable hand held scanner.
1.2 Historical Prospectus
Over the decades 3D optical metrology industry has required higher speed and higher
accuracy 3D surface measurement and reconstruction technology for the application in
many fields [19]. These include process control and yield management in manufacturing,
surveillance system, privacy protection and security, and medical imaging area [16].
Numerous 3D reconstruction and measurement methods have been developed in
Computer Vision area such as Stereo Vision, Time of Flight (ToF), Structure from
Motion (SfM), Unstructured Lumingraph, and Structure Light Illumination (SLI). All of
the depth estimation methods can be further divided into two categories: Passive method
and Active Method [100]. In this section, we briefly describe the methods which are
related to our research historically.
1.2.1 Passive Methods
Passive methods utilize the images taken from one or two cameras without interference
with the object. That is, only cameras are used in these methods and most of these
techniques are developed based on the multi-view geometry as illustrated in [101]. Based
on the principle of multi-view triangulation, a point’s 3D position can be reconstructed by
intersection the lines of sight of the corresponding pixels in multiple images [101]. Two
of the most important methods, Structure from Motion and Stereo Vision, belong to this
class.
Stereo Vision. The idea of the Stereo Vision has evolved from mimicking the human
3
eyes. In a classical Stereo Vision method, the configurations of the camera are known by
using the calibration method. And the correspondence of the pixels in multi-view images
is computed to reconstruct a dense 3D surface [33]. However, the accuracy of Stereo
Vision highly depends on the image-to-image correspondence which is complicated and
usually fails for scenes with little texture or non-Lambertian [100]. Due to the
computation complexity, dynamic programming framework is often necessary [40].
Structure from Motion. Unlike the Stereo Vision techniques, SfM does not require
known configurations for the camera [99]. And given an image sequence with estimated
correspondences of the feature points, the SfM is able to reconstruct both the camera
trajectory and the 3D surface of the object. In [101], the pipe line of SfM is described.
However, the correspondences across the image sequence are established for a few image
feature points, so the reconstruction of the SfM usually has very sparse 3D points.
1.2.2 Active Methods
Active methods actively project the radiance or patterns onto the object and then the
depth is estimated based on the captured reflected images. Among these methods, SLI
technology provides the highest accuracy in reconstruction 3D surface [90]-[93]. The
idea of SLI is to project a pre-designed pattern, which is usually a stripe pattern or grid
pattern, onto an object [17] [32]. Then, a camera captures the reflected pattern which is
laterally distorted by the 3D surface, and based on the triangulation geometry of the 3D
scanning system, the 3D depth information is calculated [7].
Multi-pattern SLI. Classical high accuracy SLI technology uses multi-pattern projection
technique. It is widely researched to achieve a high accuracy 3D reconstruction and a
high quality phase must to be recovered [35-39] [47]. So to reduce the phase error is of
great significance, which is the reason for requiring projection of multiple sinusoidal
patterns onto the object as in classical SLI methods. High reliability in identification of
light patterns with minimum assumptions about the nature of the surface are achieved by
time multiplexing, i.e. by sequentially projecting several patterns on the object. Kak, et
al. proposed the gray level encoding time multiplexing pattern which is a binary-encoded
SLI in 1980’s [1]. Later on, Kak, et al. proposed assigning a binary code word to each 4
projected stripe of a series of multiple stripe projections, where associated code word
determines the presence of any given stripe [2]. This encoding method did achieve the
non-ambiguous range sensing [14] [15] [44] [91] [93]. However it is limited by the
device’s lateral resolution, because the resolution is dependent on each identified stripes.
Phase Measuring Profilometry (PMP). Another widely used time multiplexing
technique is known as Phase Measuring Profilometry (PMP) [3] [25], which uses a series
of sinusoidal patterns across the surface of the object. In this way the patterns modulate
each pixel with a unique phase value. However, the single frequency PMP technique’s
accuracy and depth ambiguity is dependent on the frequency of the sinusoidal pattern.
That is, a high frequency PMP technique maintains a high depth resolution but led to
depth ambiguity, where as a low frequency results in noisy non-ambiguity reconstructed
surface. To avoid the difficulties caused by single frequency, a multi-frequency PMP has
been adopted in many applications [23]. Multi-frequency PMP techniques use low
frequency for the non-ambiguity and high frequency pattern for the high depth resolution,
and achieve a better result than the single frequency PMP. But the tradeoff of the multi-
pattern PMP is it requires the object to be remain motionless for all the patterns which
leads to a long scanning process [61]. To improve the performance, high speed projection
and capture systems have been developed. Liu et al. proposed a high speed SLI PMP
system which achieves 120 frames per second acquisition, processing, and display 3D
point cloud [24], however their system only utilized 3 patterns which decreased the
accuracy of the 3D reconstruction result. In addition to this, low numbers of patterns are
susceptible to banding artifacts.
Color-multiplexing SLI. To reach the goal of high speed that allows the relative motion
between scanner and object [90], single pattern Structure Light Illumination technique
have been developed by using different spatial modulation methods or pattern design [5]
[11]. A single pattern SLI approach is to use Color-multiplexing. Color-multiplexing
combines the individual patterns of multi-pattern SLI techniques into several color
channels, then processing them by decoding each channel’s image. For instance, one can
easily combine three patterns from PMP technique into a color image’s R, G, and B
channel. Then after capture of the color image, those three patterns are acquired from the 5
3 channels. However, this technique’s accuracy is limited by the channels that can be
used and the color of the scanned object [17], which can cause both ambiguous, noisey
and low depth resolution.
Composite Pattern. The Composite Pattern technique was developed by Guan, et al. [6]
[94] modulates patterns from a time multiplexed method, such as the PMP method, into
one single pattern by using several known spatial carrier frequencies [63]. This idea
comes from communication theory and signal modulation [67] [81], but unlike the Color-
multiplexing technique which combines the PMP patterns in the three color channels, all
the PMP patterns in the Composite Pattern technique are the same "color" spectrum. So,
by using demodulating procedure, all the PMP patterns are separated and processed for
depth. CP method based SLI system achieves a very high speed 3D data acquisition with
satisfactory accuracy [62]-[64]. However, the lateral resolution of CP is low, and when
this technique is applied to human scanning [88], the Human skin’s Spatial Modulation
Transfer Function’s (SMTF) attenuation of spatial frequencies components introduces
errors in depth measurement [83] [84].
Modified Composite Pattern. To solve the SMTF problems of Composite Pattern,
instead of modulating PMP patterns, Pratibha [9] utilized binary Gray Code patterns in
the modulation procedure. Casey, et al. improved lateral resolution of the gray code
Composite Pattern by introducing a new pattern named Modified Composite Pattern
(MCP) [10] [55] [95]. MCP is a pattern encoded along the orthogonal axis of the image,
and each encoded stripes are encoded following the Gray Code sequence introduce by
Pratibha. The biggest achievements of MCP technique are that it not only maintains the
advantage of Composite Pattern but is also insensitive to skin SMTF, and has increased
lateral resolution [8] [95]-[98].
Pseudorandom Noise Pattern SLI. Instead of projecting the sinusoidal wave patterns
onto the object, pseudorandom noise pattern SLI techniques utilize the generated
pseudorandom noise as the projection pattern [102]. By using the similar correspondence
estimating techniques utilized in Stereo Vision, the correspondence of each pixel is
established between the captured reflected image with a reference image. The advantage
6
of this technique is by projecting the random noise to the object surface, the features
points for correspondence are actively “projected” to object surface and do not have
banding artifacts. The noise is utilized to establish a dense correspondence estimation
map and then used to estimate the depth. However, in order to efficiently process the
reflected image, dynamic programming is required as illustrated in [102], which increases
the complexity of the algorithm dramatically.
1.2.3 De-banding Algorithm and Gamma Distortion Correction for SLI
As mentioned before, while the single pattern techniques make high speed 3D scanning
possible, the banding error in the phase is a significant problem. For reducing banding
error, the state-of-art research direction is to calibrate the nonlinear response of the
system and then compensate for the error actively or passively. The active method
modifies the projected pattern such as the non-sinusoidal fringe model proposed by
Wang, and Zhu, etal. [25], in this way the error is suppressed by the pattern itself. The
passive method is to compensate the phase banding error using post-processing method
after capturing the image [26] [27]. Most of the passive methods focus on the gamma
calibration and defocusing algorithms.
1.3 Contribution
Our research contribution for high speed relative motion SLI systems include: 1)
Improved Post-processing technique for MCP; 2) Two Pattern Full Lateral Resolution
techniques (2PFLR) with quadrature post-processing; 3) The Projector Space De-banding
Algorithm (PSDb); 4) Performance Characterization for SLI system using Depth
Modulation Transfer Function (DMTF); 5) Relative Motion 3D scanning system for
relative motion beyond FOV.
Our first contribution is the improved processing technique for MCP. Based on Casey’s
work on MCP, we developed an improved processing algorithm by utilizing the Matched
Filter Bank. The original processing technique proposed by Casey uses the 2-D Fourier
Transform to detect and demodulate the snakes, but the results in the frequency space
have significant noise which reduces the demodulation performance. And Casey’s
7
detection algorithm is sensitive to the surface discontinuity. Our processing algorithm
reduces these problems by using 1-D Matched Filter Bank.
To solve the problem of detection the modulated snakes in MCP and increase the
resolution and accuracy of the MCP technique, the 2PFLR system is developed. This
2PFLR is our second contribution. By adding another high frequency sinusoidal pattern,
the problem of detecting the modulated snakes in MCP is reduced by identifying the
snakes in the second sinusoidal pattern which improves the snake detection with high
SNR. Also, we introduce a novel Quadrature Phase processing technique which processes
the sinusoidal pattern efficiently and effectively to get the full lateral resolution wrapped
phase image. This 2PFLR system is a significant contribution to SLI research. There is a
trade-off between the high speed and high accuracy of the SLI system. To achieve high
speed, single pattern SLI techniques are good solutions. However, single pattern
techniques sacrifice the accuracy of the system. Instead of focusing on improving the
performance of the single pattern technique such as CP and MCP, we develop this
2PFLR system. The first MCP is used to reconstruct the coarse non-ambiguous surface
and the second sinusoidal pattern is used to get the high resolution but ambiguous depth.
We combine these two results together to achieve both non-ambiguous and high
resolution at the same time. Although we added another pattern into the single pattern
MCP system, this system is still considered as a high speed acquisition algorithm because
it allows the relative motion between the scanner and the object during the scanning
process, as long as the motion of the object between the projection the first and second
pattern is less than half of a spatial wavelength along the phase direction. Our
contribution in 2PFLR system opens a new direction of the research for high speed and
high accuracy SLI depth measuring system, i.e. we can combine the advantage of the
single pattern technique with the multi-pattern technique.
Our third contribution is the Projector Space De-banding algorithm (PSDb). Due to the
gamma distortion of the projected sinusoidal pattern and the quantization error in the
hardware, the 3-D surface reconstructed by SLI techniques usually has significant
banding distortion. This banding distortion corrupts the final results and decreases the
accuracy of the depth measuring system. Unlike the widely used Gamma model for 8
compensating the banding distortion, our PSDb does not need to pre-calibrate the
banding distortion for each system and can be actively applied to any 3-D model
reconstructed by SLI technique. We assume the banding distortion is a 1-D signal along
the phase direction, and we estimate the banding distortion in Projector space then correct
it in the camera space. The reason to map the phase image to projector space is the phase
value in the camera space is proportional to the row index in the projector space, so the
curved snakes in camera space are straight in projector space. So, each column (along the
phase direction) is a stochastic signal associated with banding distortion. We apply the
stochastic signal processing techniques to estimate the 1-D banding distortion and then
suppress it in camera space.
The next contribution is the performance characterization of the SLI system. Although
SLI is a widely research topic since 1990, there is not a standard performance
characterization for any SLI systems. Inspired by the Modulation Transfer Function, we
introduce a model of Depth Modulation Transfer Function (DMTF) performance
characterization for SLI depth measuring system. By using several sinusoidal grids with
different spatial frequencies and a rotation stage, we can characterize performance for
any SLI systems. By using this performance characterization system, both the accuracy
and the precision of the SLI system can be measured. The accuracy is measured by the
reconstructed 3-D sinusoidal surface’s peak to peak value, and the precision of the system
is measured by the DMTF value as a function of spatial depth frequencies. Moreover, the
rotation stage gives the ability to measure the performance of the SLI system for
directions.
The last contribution is Relative Motion 3-D (RM3D) scanning system. This system
allows the motion of the object beyond the FOV of the scanner. We design a new single
pattern technique especially for the RM3D system, and this pattern is designed based on
MCP. The non-ambiguous single pattern technique used in RM3D makes the system
tolerant to the motion of the object or the scanner, however, only this technique alone
cannot reconstruct a whole 3-D surface. Since the 3-D surface reconstructed by the SLI is
relative to the scanner, we do not have the absolute 3-D coordinates for the 3-D surface.
So we apply and adapt a Correlation Constellation Filter method to align the images 9
captured by the camera and use this method to estimate the camera position for each
frame in the image sequence. Compared with other camera tracking techniques in the
Computer Vision area, our method is presently limited to in-plane rotation and x, y
translation. However, the contribution to RM3D gives a clear direction for achieving
additional affine distortion including out-plane rotation, scale and depth translation.
10
Chapter 2 Background
The background related to our research is introduced briefly. Since our research mainly
focuses on SLI technology, we first describe the fundamental idea, system and process of
SLI method in section 2.1. Phase Measuring Profilometry method is a classical SLI
technique that offers the one of the best 3D reconstruction results which is non-
ambiguous and high accuracy. Also many other SLI techniques are inspired by classical
PMP method, so we introduced PMP method in section 2.2. In section 2.3, Composite
Pattern (CP) method is introduced as background for our research on single and double
SLI depth measuring methods.
2.1 Structure Light Illumination
Structured Light Illumination (SLI) is a well-known 3D measuring method which is used
in acquiring the depth information of a surface by measuring the deformation in the light
pattern projected onto the surface. Compared with many other 3D reconstruction methods
in computer vision area, SLI offers one of most accurate 3D depth measuring results
which is used for many application including finger print scanning, industrial
measurement, human computer interface and special effets.
Figure 2.1 (Left) SLI geometry and (Right) stripe pattern on a sphere from Guan. et al [6]
Fig. 2.1 shows the classical SLI technology. An SLI system always consists of two parts:
one is a camera and the other part is a projector, and the geometry of the system is shown
11
in Fig. 2.1 left to make sure the camera and projector are setup at relative angle for
triangulation. And Fig. 2.1 right shows a classical sinusoidal pattern that is projected onto
an object showing the lateral distortion caused by depth variation of a sphere.
Since the sinusoidal pattern is curved by the object surface, we reconstruct the 3D depth
of the surface by calculating the phase shift of the pattern. As shown in Fig. 2.2, we need
to calculate the depth of surface at point A by using SLI. The depth at A is h to the
reference plane. By using simple geometry of similar triangles, the depth at point A is
calculated:
ℎ = 𝐵𝐵𝐵𝐵∙𝐿𝐿𝑑𝑑+𝐵𝐵𝐵𝐵
(2.1)
L and d in the system are constant parameters which are determined by the calibration
procedure. And the BC is determined by the phase difference of the sinusoidal pattern:
𝐵𝐵𝐵𝐵 = 𝛽𝛽(𝜑𝜑𝐵𝐵 − 𝜑𝜑𝐵𝐵) (2.2)
Where 𝛽𝛽 is also a constant parameter which is calibrated in the calibration process, and
𝜑𝜑𝐵𝐵 and 𝜑𝜑𝐵𝐵 are the unwrapped phase value at point C and point B.
Figure 2.2 Geometry of SLI to reconstruct 3D surface from [1]
12
Because the depth value is determined by the unwrapped value calculated at point B and
point C, so the accuracy of the depth value depends on the accuracy of the phase value
and the unwrapping algorithm.
2.2 Classical Phase Measuring Profilometry (PMP) Method
Phase Measuring Profilometry is a well know and widely used method in SLI research,
since it offers the highly accurate 3D reconstruction by using multiple projected patterns.
The accuracy of the 3D reconstruction is directly related to the number of patterns and
the pattern spatial frequency. The sampling rate is equal to N times the number of the
pixels per frame of a high resolution image, where N is the number of phase steps used in
an N-step PMP algorithm [3].
When using PMP technique, we still use the classical SLI system setup as shown in Fig.
2.2, and the patterns that needed to be projected are a series of sinusoidal patterns with
different spatial frequency and then phase shift the patterns N steps. Fig. 2.3 shows an
object which is projected with one of the sinusoidal pattern and captured with the camera.
Figure 2.3 An object projected with a sinusoidal pattern
The basic idea of PMP is to use those captured image sequence to estimate the phase
13
shifting due to the depth distortion. For the image shown in Fig. 2.3, it can be expressed
as
𝐼𝐼𝑘𝑘(𝑥𝑥,𝑦𝑦) = 𝐴𝐴(𝑥𝑥,𝑦𝑦) + 𝐵𝐵(𝑥𝑥,𝑦𝑦)cos [𝜑𝜑𝑘𝑘(𝑥𝑥,𝑦𝑦)] (2.3)
where𝐴𝐴(𝑥𝑥, 𝑦𝑦) is the ambient light intensity, and 𝐵𝐵(𝑥𝑥,𝑦𝑦)/𝐴𝐴(𝑥𝑥, 𝑦𝑦) is the fringe contrast.
The phase function 𝜑𝜑(𝑥𝑥,𝑦𝑦) contains the information for the 3D depth value at (𝑥𝑥,𝑦𝑦)
point as mentioned before. For the general N-shift with kc frequency PMP method, to
calculate phase function, we use the following equation:
𝜑𝜑𝑘𝑘(𝑥𝑥,𝑦𝑦) = arctan [(∑ 𝐼𝐼𝑘𝑘𝑐𝑐,𝑛𝑛(𝑥𝑥, 𝑦𝑦)sin (2𝜋𝜋𝑛𝑛/𝑁𝑁)𝑁𝑁𝑛𝑛=1 )/(∑ 𝐼𝐼𝑘𝑘𝑐𝑐,𝑛𝑛(𝑥𝑥,𝑦𝑦)cos (2𝜋𝜋𝑛𝑛/𝑁𝑁)𝑁𝑁
𝑛𝑛=1 )(2.4)
where𝐼𝐼𝑘𝑘𝑐𝑐,𝑛𝑛(𝑥𝑥,𝑦𝑦) is the captured image with kspatial frequency pattern projected on the
object, and N is the total number of phase shifted patterns. Note that if the spatial
frequency kc is greater than 1, then the phase calculated by using the equation is wrapped
into the range of its principal values as shown in Fig. 2.4 right.
Figure 2.4 (left) phase calculated by using k=1, and (right) phase calculated by using k=16
Fig. 2.4 shows the two different phase images calculated based on two different spatial
frequencies. Left phase image is calculated by N phase shifting of a sinusoidal pattern
withspatial frequency equals to 1, and right phase image is calculated by a sinusoidal
pattern with spatial frequency of kc=16. The difference between phase images calculated
by different spatial frequencies is the low spatial frequency phase image (Fig. 2.4 left)
provides the phase with non-ambiguity but high noise, whereas the high frequency phase
14
image provides low noise but ambiguous phase. we can obtain both non-ambiguity and
low noise by unwrapping the high spatial frequency phase image with the low spatial
frequency phase image. In this way, a high accuracy non-ambiguity phase image will be
acquired.
The fundamental idea of unwrapping algorithm in PMP method is to utilize k=1 phase
image as a reference to unwrap the other phase images. We first need to normalize the
high spatial frequency image by dividing the phase value by the pattern spatial frequency
k, for example, for the phase image shown in Fig. 2.4 (right), we need to divide it by 16
in order to normalize it. Then the second step is to obtain the integer number of the phase
unwrapping cycles that are at or below the desired value such that
𝜆𝜆(𝑥𝑥,𝑦𝑦) = 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓(𝑘𝑘𝜑𝜑1(𝑥𝑥,𝑦𝑦) − 𝜑𝜑𝑘𝑘𝑐𝑐(𝑥𝑥,𝑦𝑦)/2𝜋𝜋) (2.5)
where kc is the spatial frequency of the phase image that need to be unwrapped, and 𝜑𝜑1 is
the reference phase.
Then, the difference between the reference phase or baseline phase and the unwrapping
phase is calculated as
𝑓𝑓(𝑥𝑥,𝑦𝑦) = (𝑘𝑘𝜑𝜑1(𝑥𝑥,𝑦𝑦) − 𝜑𝜑𝑘𝑘𝑐𝑐(𝑥𝑥,𝑦𝑦) − 2𝜋𝜋𝜆𝜆(𝑥𝑥,𝑦𝑦))/2𝜋𝜋 (2.6)
The final adjustment of the unwrapping cycles are done by using the remainder 𝑓𝑓(𝑥𝑥,𝑦𝑦),
𝜆𝜆𝑢𝑢(𝑥𝑥,𝑦𝑦) = � 𝜆𝜆(𝑥𝑥,𝑦𝑦) + 1,𝑓𝑓𝑓𝑓𝑓𝑓 𝑓𝑓(𝑥𝑥, 𝑦𝑦) > 0.5
𝜆𝜆(𝑥𝑥, 𝑦𝑦) − 1,𝑓𝑓𝑓𝑓𝑓𝑓 𝑓𝑓(𝑥𝑥,𝑦𝑦) < −0.5 (2.7)
After calculating the phase unwrapping cycles, we obtain the unwrapped phase by
𝜑𝜑𝑘𝑘𝑐𝑐,𝑢𝑢𝑛𝑛𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑑𝑑(𝑥𝑥,𝑦𝑦) = �2𝜋𝜋𝜆𝜆𝑢𝑢(𝑥𝑥,𝑦𝑦) + 𝜑𝜑𝑘𝑘(𝑥𝑥,𝑦𝑦)� (2.8)
After we unwrap the high spatial frequency phase, we get a high accuracy phase map
without wrapping which we utilize it direction to get the depth by using Eq. (2.1) and Eq.
(2.2). And also we note that the accuracy of the depth directly related to the accuracy of
the phase image.
15
2.3 Composite Pattern Technique
Composite Pattern method is proposed by Guan, etal. And the details about this technique
are described in [6]. The purpose of the technique is to create a single pattern SLI
technique which reconstructs non-ambiguous 3D surface and can be used in real-time
high speed 3D data acquisition system. The basic idea of the Composite Pattern (CP) is to
use the modulation theory to modulate the PMP patterns into one pattern, the details of
the theory and similar ideas are described in [75]-[82], and then demodulate the captured
reflected image into the separate distorted pattern.
Figure 2.5Composite Pattern technique [6]
Fig. 2.5 shows the pipeline of creating a Composite Pattern by modulating four PMP
patterns. We have four carrier patterns which are sinusoidal patterns in orthogonal
direction, each with a different spatial frequency. Each PMP pattern is multiply by a
carrier pattern and they are added together to yield a single Composite Pattern.
The PMP patterns in Fig. 2.5 are expressed as
𝐼𝐼𝑛𝑛𝑢𝑢 = 𝑐𝑐 + cos (2𝜋𝜋𝑓𝑓𝜑𝜑𝑦𝑦𝑢𝑢 − 2𝜋𝜋𝑛𝑛/𝑁𝑁) (2.10)
where c is a constant that offset the pattern’s intensity to above 0. Then the Amplitude
modulation is expressed as
𝐼𝐼𝑢𝑢 = 𝐴𝐴𝑢𝑢 + 𝐵𝐵𝑢𝑢 ∑ 𝐼𝐼𝑛𝑛𝑢𝑢cos (2𝜋𝜋𝑓𝑓𝑛𝑛
𝑢𝑢𝑥𝑥𝑢𝑢)𝑁𝑁𝑛𝑛=1 (2.11)
16
where𝑓𝑓𝑛𝑛𝑢𝑢 is the nth carrier frequency, and 𝐴𝐴𝑢𝑢, 𝐵𝐵𝑢𝑢 are calculated as:
𝐴𝐴𝑢𝑢 = 𝐼𝐼𝑚𝑚𝑚𝑚𝑛𝑛 − 𝐵𝐵𝑢𝑢 ∙ min {∑ 𝐼𝐼𝑛𝑛𝑢𝑢cos (2𝜋𝜋𝑓𝑓𝑛𝑛
𝑢𝑢𝑥𝑥𝑢𝑢)𝑁𝑁𝑛𝑛=1 } (2.12)
𝐵𝐵𝑢𝑢 =(𝐼𝐼𝑚𝑚𝑢𝑢𝑚𝑚 − 𝐼𝐼𝑚𝑚𝑚𝑚𝑛𝑛)
(max�∑ 𝐼𝐼𝑛𝑛𝑢𝑢 cos�2𝜋𝜋𝑓𝑓𝑛𝑛
𝑢𝑢𝑥𝑥𝑢𝑢�𝑁𝑁𝑛𝑛=1 �} − min {∑ 𝐼𝐼𝑛𝑛
𝑢𝑢 cos�2𝜋𝜋𝑓𝑓𝑛𝑛𝑢𝑢𝑥𝑥𝑢𝑢�𝑁𝑁
𝑛𝑛=1 }) (2.13)
where𝐼𝐼𝑚𝑚𝑢𝑢𝑚𝑚 and 𝐼𝐼𝑚𝑚𝑚𝑚𝑛𝑛 are maximum and minimum pixel intensity in the pattern image. The
equations of 𝐴𝐴𝑢𝑢 and 𝐵𝐵𝑢𝑢 ensure the intensity range of the composite pattern falls into the
interval[𝐼𝐼𝑚𝑚𝑚𝑚𝑛𝑛, 𝐼𝐼𝑚𝑚𝑢𝑢𝑚𝑚].
After capturing the reflected image of composite pattern, we need to demodulate it, so the
PMP patterns are retrieved and are used to reconstruct the 3D surface by using classical
PMP techniques. To demodulate the Composite Pattern image, band pass filters are used
to identify the response of each carrier frequency and then demodulate each PMP pattern.
As shown in Fig. 2.6, the Fourier transform of the Composite Pattern image has four
isolated peaks which represent four modulated patterns, and then four band pass filters
are applied to isolate each of the modulated patterns.
Figure 2.6 Fourier Transform of Composite Pattern Image [6]
17
Figure 2.7 Block diagram of demodulate Composite Pattern [6]
Fig. 2.7 shows the process of Composite Pattern demodulation. After passing through the
band pass filters, a classical AM demodulating method is utilized to extract the PMP
patterns.
2.4 Microsoft Kinect 3-D Sensor
Microsoft introduced its first generation 3-D sensor Kinect for gaming platform
XBOX360 in 2010, and from that time on, Kinect became a widely used 3-D sensor
especially for 3-D motion sensing.
Figure 2.8 A Picture of Kinect
Fig. 2.8 shows a picture of the Kinect. Kinect consists of 3 components for depth sensing:
a RGB camera for texture, a near infrared camera and a near infrared projector. So the
technology utilized in the first generation of Kinect is the infrared SLI. However, unlike
projecting the sinusoidal wave in our research, Kinect’s projector omits the
pseudorandom noise pattern as shown in Fig. 2.9.
18
Figure 2.9 Pattern from Kinect (Images are from flickr.com)
As briefly introduced in Chapter 1, pseudorandom noise pattern is a single pattern SLI
technique which is able to estimate the depth by using 1 captured image. In this way,
Kinect has the ability to sense the 3-D motion in real time. A depth map reconstructed
from Kinect is shown in Fig. 2.10.
Figure 2.10 Captured reflected image from Kinect (left), Reconstructed Depth Map (right). (Images are from Wikipedia.org/wiki/Kinect)
Compared with other single pattern technologies such as CP and MCP, the biggest
advantage of pseudorandom noise pattern is the reconstructed 3-D surface does not have
a significant banding artifact which is caused by gamma distortion of the projected
sinusoidal pattern. And by using a well-designed dynamic programming framework, the
accuracy of the depth map can be improved. However, the limitation of this technique is
the resolution of reconstructed surface is not as high as CP or MCP .
19
Chapter 3 Two-Pattern Full Lateral Resolution SLI Depth Measuring
The chapter describes our first research direction which focuses on the study of a high-
speed Structure Light Illumination system that allows the relative motion between the 3D
scanner and the object within the Field of View of the scanner [28].
Part of the Two-Pattern technique is based on a single pattern SLI method that proposed
by Casey et al. [10], named the Modified Composite Pattern (MCP) method. In section
3.1, we briefly describe the MCP technique and its restriction as a single pattern SLI
technique. By adding a new high frequency sinusoidal pattern as the second pattern, we
introduce a novel two-pattern SLI system [28]. In section 3.2, we introduce the overall
system design and the pattern design, and briefly describe the system setup and the 3D
reconstruction process. The two patterns have individual functions as well as interactive
processing between them. The primary function of the first pattern is to allow
reconstruction of the 3D surface without ambiguity, so in section 3.3, we describe non-
ambiguous pattern analysis method and processing technique. The second pattern is a
high frequency sinusoidal pattern for full lateral resolution 3D reconstruction. We
introduce a novel quadrature phase processing technique to process the second pattern. In
section 3.4, the quadrature phase pattern analysis method is presented. In section 3.5, the
experiments results are presented and a Depth Matched Transfer Function (DMTF)
performance characterization method is described. Section 3.6 is the summary of the two-
pattern full lateral resolution SLI depth measuring method.
3.1 Modified Composite Pattern (MCP)
As mentioned in the Background Chapter 2, the Composite Pattern (CP) technique is a
single pattern technique which is proposed to create a high-speed 3D depth measuring
system. However, a problem with using CP became apparent which was the skin spatial
frequency response was not flat and therefore corrupted the weighting of the individual
patterns [10]. In this case, the 3-D reconstruction result is highly banded or distorted.
MCP was proposed by Casey, etal. [10] based on the fundamental idea of Composite
Pattern.To solve the problem with the skin spatial response; a binary encoding method
20
was introduced where a binary Gray code structured light pattern allows 3D
reconstruction insensitive to variation in spatial frequency.The uniquely encoded binary
value always corresponds to a point in the projector space, which means the depth of this
point can be calculate. The values collected during the sequence create a binary number
identified as the point’s Gray code value. The Gray code form of CP, and especially
MCP SLI allows a single frame equivalent of these multiple projections.
In a MCP which uses Gray Code encoding, a single modulated "snake" will be associated
with a specific Gray code value, where snake means the stripe in the SLI pattern. This
novel design places an un-modulated snake between every two Gray code snakes. Using
Composite Pattern analysis and processing techniques each modulated snakeis able to be
identified, but in addition to this, each un-modulated snake can be used for 3D
reconstruction as well, since any un-modulated snakelocatedbetween two sequential Gray
code snakes is uniquely identifiable. The presence of un-modulated stripes effectively
doubles the amount of useful information in a Modified Composite Pattern. A typical
MCP is shown in Fig. 3.1.
The mathematical expression of a MCP will be illustrated in next section. For the MCP in
Fig. 3.1, we use four different frequencies to do the horizontal modulation. The spatial
frequencies are 40, 80, 120 and 160 cycles per FOV. Each of the horizontally modulated
snakes are demodulated after captured, and the demodulated snake gives us the
information of the phase value of the sinusoidal pattern in the phase direction, since the
phase value for each modulated snake is calibrated during the calibration procedure.
Also, the un-modulated snakes which are located between the modulated snakes are
identified after the modulated snakes are demodulated. The un-modulated snakes' phase
values are also identified from calibration. After the phase value is identified for each
snake (modulated or un-modulated), we form a phase image which has the phase value
for each of the snakes, then linear interpolation for each column is utilized to calculate
the phase valuebetween the two adjacent snakes. As a result, a phase image is obtained,
and is able to unwrap the phase obtained from the second pattern.
21
Figure 3.1 A MCP pattern [10]
3.2 2PFLR system setup
This section describes the Two-Pattern full lateral resolution depth measuring system
setup. As stated in the introduction Chapter 1, the Two-Pattern system is composed of a
Modified Composite Pattern and a high frequency sinusoidal pattern (sinusoidal wave
variation along the phase direction) and are sequentially projected onto the object surface.
Since only two patterns are used, the projection time is intensively reduced compared
with classical PMP method which needs to project at least 3 patterns and phase shifting N
steps. In this way, like the single pattern technique, we allow the relative motion between
the scanner and object within the Field of View of the scanner. And the speed of relative
motion depends on the projection rate. Furthermore, since the final phase image is the
unwrapped 2nd pattern phase, the Two-Pattern technique is tolerant of motion between the
2 pattern projection as long as the motion distortion does not exceed the spatial
wavelength of the 2nd pattern. In the Two-Pattern system, the MCP pattern is used for
non-ambiguity and the high frequency sinusoidal wave pattern is used to achieve full
22
lateral resolution in depth.
Figure 3.2 The two patterns used in Two-Pattern System
Fig. 3.2 left shows an MCP with 15 horizontal modulated snakes (stripes in the horizontal
direction). And Fig. 3.2 right shows the sinusoidal pattern with twice the spatial
frequency, along the phase direction (y direction of the image), as the MCP. The system
setup is a traditional SLI system that consists of a projector and a camera, and set to
satisfy the triangulation principle. The system block diagram is shown in Fig. 3.3.
As shown in Fig. 3.3, in the Two-Pattern full lateral resolution SLI depth measuring
system, we project the Modified Composite Pattern onto the object surface first and
captured the reflected image by the camera, and then the sinusoidal pattern is projected
and captured. After the two reflected images are acquired, they are processed into a non-
ambiguous phase which is then used to reconstruct the 3D surface. The analysis
algorithm and processing procedure will be discussed in the following sections.
23
Figure 3.3 Two-Pattern System block diagram
3.3 Non-ambiguous Pattern analysis
We discuss the MCP analysis algorithm which is utilized to reconstruct a non-ambiguous
3D surface approximation. The final result of the Two-Pattern system high depends on
the accuracy and non-ambiguity of the depth measuring results from MCP. In Casey's
[10] proposed MCP processing method, the 2D Fourier Transform and Band-Pass
filtering is used to demodulate the MCP. The accuracy of the demodulation relies on the
filtering performance and requires identification of each frequency component. We 24
introduce a new MCP analysis algorithm that utilizes the 2nd sinusoidal pattern to
improve snake detection.
MCP is a pattern encoded both along the phase and orthogonal dimensions. Casey, et al.
thoroughly describes the details of MCP design in reference [10]. A MCP has two kinds
of snakes. One is un-modulated “white” snakes; the other is horizontally modulated
snakes. The Amplitude-Modulation (AM) modulated snakes are a weighted combination
of different sinusoidal waves with different spatial frequencies. The weight is based on a
gray code. The phase image is non-ambiguous at each of the modulated snakes. A MCP
in Fig. 3.2 left is defined as
𝐼𝐼(𝑥𝑥,𝑦𝑦) = ��∑ 12𝐺𝐺𝑚𝑚(𝑥𝑥, 𝑦𝑦) ∙ (𝑐𝑐𝑓𝑓𝑐𝑐(2𝜋𝜋𝑓𝑓𝑚𝑚𝑥𝑥) + 1)𝑁𝑁
𝑚𝑚=1 � ∙ 𝑆𝑆(𝑥𝑥,𝑦𝑦) + 𝑊𝑊(𝑥𝑥,𝑦𝑦)� ∙ 𝐴𝐴𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥,𝑦𝑦) (3.1)
where
𝐴𝐴𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥,𝑦𝑦) = 𝑎𝑎(𝑥𝑥,𝑦𝑦) + 𝑏𝑏(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦), (3.2)
𝑆𝑆(𝑥𝑥,𝑦𝑦) = ∑ 𝑓𝑓𝑟𝑟𝑐𝑐𝑟𝑟 �𝑦𝑦−2𝑚𝑚𝑚𝑚𝑐𝑐𝑚𝑚𝑐𝑐
�𝑁𝑁𝑠𝑠𝑚𝑚=1 , (3.3)
and
𝑊𝑊(𝑥𝑥,𝑦𝑦) = ∑ 𝑓𝑓𝑟𝑟𝑐𝑐𝑟𝑟 �𝑦𝑦−(2𝑚𝑚+1)𝑚𝑚𝑐𝑐𝑚𝑚𝑐𝑐
�𝑁𝑁𝑠𝑠𝑚𝑚=1 . (3.4)
The result, I(x,y), is the Modified Composite Pattern image, and i is the index number of
Gray Code modulated snakes from 1 to N. Gi is the ith binary Gray code pattern. The ith
modulation carrier frequency is fi, S is the rectangular stripe mask function which
modifies the Composite Pattern, and W is the rectangular function defining the un-
modulated stripes [17]. The multiplication operation used here is Hadamardelement-wise
matrix multiplication [22], and𝑇𝑇𝑐𝑐 = 1/𝑓𝑓𝑐𝑐 .
The number of carrier frequencies can be varied based on the spatial frequency of the
sinusoidal wave along the phase direction. In our Two-Pattern system, four carrier spatial
frequencies are used, since there are total 32 snakes in the pattern. As shown in Table 3-
1the MCP uses 4 orthogonal frequencies so the maximum number of modulated snakes
25
are 24 -1= 15 where {0, 0, 0, 0} pattern is not included. These modulated snakes are
identified by a snake code number and a phase code as shown in Table 3-1.
Table 3-1 Phase Code (PC), Snake Code (SC) and Gray code (GC)
PC SC GC
{ f4, f3, f2, f1 }
PC SC GC
{ f4, f3, f2, f1 }
0 0 N/A 8 12 1100
1 1 0001 9 13 1101
2 3 0011 10 15 1111
3 2 0010 11 14 1110
4 6 0110 12 10 1010
5 7 0111 13 11 1011
6 5 0101 14 9 1001
7 4 0100 15 8 1000
The Phase code (PC) of a snake in the table is the snake number, since each snake is
indexed along the phase direction from the top of the image to the bottom, so the
modulated snake on the top most of the image is number as 1 and the other are numbered
accordingly. The Gray Code (GC) of a snake indicates which carrier frequencies are used
to modify the current snake, for example, if the Gray Code of a modulated snake is 1011,
then this snake is horizontally modulated by three carrier frequencies: f4,f2, and f1, since {
f4, f3, f2, f1 } represents the Gray Code of the snake. And Snake Code (SC) is the decimal
representation of the Gray Code.
3.3.1 Peak Isolation
MCPimage analysis and processing begins with a single image of an object illuminated
by the projected MCP i.e. pattern 1. The first step is isolation of the stripe peaks. To get a
better result, a 1-D filter is used to pre-filter the captured image along the phase direction.
The 1-D filter is a moving average filter on the phase direction, and it is one column wide
26
and the height of the filter corresponds to half of the vertical period of the snakes. This
filter will blur the image slightly in the phase direction without affecting the details in the
orthogonal direction. In this way, it will improve detection of the modulated snakes in the
next step. As shown in Fig. 3.4, the left image is the original captured image, and the
right one is the image after filtering. We can see the eyebrow part is suppressed in the
filtered image.
Figure 3.4 Pre-Filter the image. Original Image (left), filtered image (right)
To isolate the peaks of the snakes of the MCP, the high frequency sinusoidal pattern is
utilized. The second pattern has the same spatial frequency along the phase direction as
the MCP image, so the snake peak locations are exactly the same. To get the peak
location along phase direction of 2nd pattern, a threshold 𝑇𝑇𝑠𝑠 is set to detect the snake
region of the 2nd pattern. A snake isolation mask is defined by Eq. (3.5).
𝐵𝐵𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦) = �0, 𝐼𝐼2(𝑥𝑥,𝑦𝑦) < 𝑇𝑇𝑠𝑠1, 𝐼𝐼2(𝑥𝑥,𝑦𝑦) ≥ 𝑇𝑇𝑠𝑠
, (3.5)
Where 𝐵𝐵𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦) the binarized peak region is image, and 𝐼𝐼2(𝑥𝑥,𝑦𝑦) is the reflected
sinusoidal pattern image.
27
Figure 3.5 Snake Detection Process. Captured Image (left), detected snakes image (right)
As shown in Fig. 3.5 right, the detected snakes regions are in white. Since we don’t use
negative snakes in the Modified Composite Pattern, we only need to detect the “positive
snakes” which are ether horizontally modulated or not.
Furthermore, we define the very center of the region of each isolated snake along the
phase direction in 𝐵𝐵𝑢𝑢𝑢𝑢 as the peak location image𝐵𝐵𝑢𝑢𝑢𝑢𝑢𝑢𝑘𝑘 . 𝐵𝐵𝑢𝑢𝑢𝑢𝑢𝑢𝑘𝑘is used as an indicator
image to isolate the peak pixels in the MCP image as
𝑃𝑃(𝑥𝑥,𝑦𝑦) = 𝐵𝐵𝑢𝑢𝑢𝑢𝑢𝑢𝑘𝑘(x, y) ∙ 𝐼𝐼2(𝑥𝑥, 𝑦𝑦) (3.6)
whereP is the peaks location and The multiplication operation used in Eq. (3.6) is the
Hadamardelement-wise matrix multiplication. Fig. 3.6 shows the result image of peak
isolation, although in the Fig. 3.6 the peaks lines seem discontinued, it is caused by the
MATLAB display function down-sampling process.
In our peak isolation algorithm, instead of identifying the peak location directly in
Modified Composite Pattern image, we utilize the 2nd pattern to help isolation. This is a
big advantage of using a 2nd pattern compared with single pattern technique that just
using MCP to isolate the peaks of each snakes, since the snakes are modulated
horizontally which corrupts the results of the binarization of the image, and other image
segmentation algorithms also have a hard time to identify the peaks.
28
Figure 3.6 Detected Snake Peaks image (negative image)
After the peaks locations are identified, each snake’s peak pixel intensity in 𝑃𝑃 is mapped
to a sequence in matrix Y defined as
𝒀𝒀 ≡ 𝑀𝑀𝑎𝑎𝑟𝑟𝑓𝑓𝑀𝑀𝑥𝑥 𝑓𝑓𝑓𝑓 𝑆𝑆𝑟𝑟𝑆𝑆𝑆𝑆𝑟𝑟𝑛𝑛𝑐𝑐𝑟𝑟𝑐𝑐 𝑓𝑓𝑓𝑓 𝑟𝑟𝑎𝑎𝑐𝑐ℎ 𝑐𝑐𝑛𝑛𝑎𝑎𝑘𝑘𝑟𝑟′𝑐𝑐 𝑝𝑝𝑟𝑟𝑎𝑎𝑘𝑘 𝑀𝑀𝑛𝑛𝑟𝑟𝑟𝑟𝑛𝑛𝑐𝑐𝑀𝑀𝑟𝑟𝑦𝑦 , and in matrix form
𝒀𝒀such that
𝒀𝒀 = �
𝒚𝒚𝟏𝟏𝒚𝒚𝟐𝟐⋮
𝒚𝒚𝑴𝑴𝒔𝒔
� (3.7)
where 𝑀𝑀𝑆𝑆 ≡ Number of detected snakes , 𝑁𝑁𝑆𝑆 ≡ Maximum length of the snakes , and
𝒚𝒚𝒊𝒊 ≡ 1 by 𝑁𝑁𝑠𝑠 vector.
29
In this way, we store each detected snakes’ peaks into a row of matrix Y as shown in Eq.
(3.7). The reason to create a matrix Y is that demodulating a 1D Amplitude Modulated
signal is much easier than demodulating a 2D AM image. We also apply a 1-D low-pass
filter to each of the 1-D snakes’ peaks to filter out some high frequency noise, as shown
in Fig. 3.7.
Figure 3.7 The snake before filtering (left), the snake after filtering (right)
3.3.2 Modified Composite Pattern Demodulation by Using Matched Filter Bank
The second step is the MCP demodulation. A Matched Filter bank method is used to
identify each snake. There are 4 frequency components in each snake so we need to use
15 matched filters. Each frequency component has Ns length, and according to the
Surface Modulation Transfer Function (SMTF), the higher frequencies may be
suppressed in the captured image, so the matched filter is formed from a selected subset
of weighted cosine waves defined by
𝑐𝑐1(𝑛𝑛) = 𝛼𝛼1 ∙ 𝑐𝑐𝑓𝑓𝑐𝑐 �2𝜋𝜋 𝑘𝑘1𝑁𝑁𝑠𝑠𝑛𝑛� (3.8a)
𝑐𝑐2(𝑛𝑛) = 𝛼𝛼2 ∙ 𝑐𝑐𝑓𝑓𝑐𝑐 �2𝜋𝜋 𝑘𝑘2𝑁𝑁𝑠𝑠𝑛𝑛� (3.8b)
𝑐𝑐3(𝑛𝑛) = 𝛼𝛼3 ∙ 𝑐𝑐𝑓𝑓𝑐𝑐 �2𝜋𝜋 𝑘𝑘3𝑁𝑁𝑠𝑠𝑛𝑛� (3.8c)
30
𝑐𝑐4(𝑛𝑛) = 𝛼𝛼4 ∙ 𝑐𝑐𝑓𝑓𝑐𝑐 �2𝜋𝜋 𝑘𝑘4𝑁𝑁𝑠𝑠𝑛𝑛� (3.8d)
The weights are set by experience to compensate for the frequency attenuation. A
set of weights use for this study is in the Table 3-2.
Table 3-2 The weights for matched filters used in our research
𝛼𝛼1 𝛼𝛼2 𝛼𝛼3 𝛼𝛼4
value 1.2 1.2 0.45 0.15
A matrix of 15 matched filters is given by Eq. (3.9), where H is a 15 by Ns matrix.
𝑯𝑯 =
⎣⎢⎢⎢⎡
𝑐𝑐1(𝑛𝑛) ,𝑤𝑤ℎ𝑟𝑟𝑛𝑛 𝑆𝑆𝐵𝐵 = 1 𝑐𝑐1(𝑛𝑛) + 𝑐𝑐2(𝑛𝑛),𝑤𝑤ℎ𝑟𝑟𝑛𝑛𝑆𝑆𝐵𝐵 = 3𝑐𝑐2(𝑛𝑛) ,𝑤𝑤ℎ𝑟𝑟𝑛𝑛𝑆𝑆𝐵𝐵 = 2
:𝑐𝑐1(𝑛𝑛) + 𝑐𝑐2(𝑛𝑛) + 𝑐𝑐3(𝑛𝑛) + 𝑐𝑐4(𝑛𝑛),𝑤𝑤ℎ𝑟𝑟𝑛𝑛 𝑆𝑆𝐵𝐵 = 15⎦
⎥⎥⎥⎤
(3.9)
To simplify the representation, we refer each row of H as a vector 𝒉𝒉𝒊𝒊 :
𝑯𝑯 =
⎣⎢⎢⎢⎢⎡𝒉𝒉𝟏𝟏𝒉𝒉𝟐𝟐⋮𝒉𝒉𝒊𝒊:
𝒉𝒉𝟏𝟏𝟏𝟏⎦⎥⎥⎥⎥⎤
(3.10)
Then, we utilize the prebuilt Matched Filter Bank to demodulate the extracted 1-D
snakes’ peaks which are stored in matrix Y as expressed in Eq. (3.7).The matched filter
correlation is implemented by:
𝒆𝒆𝒊𝒊,𝒋𝒋 = 𝒚𝒚𝒊𝒊 ∗ 𝒉𝒉𝒋𝒋∗(−𝑛𝑛) (3.11)
where superscript ∗denotes conjugation and operator ∗denotes convolution. After the
Discrete Fourier Transform (DFT) of both sides of Eq. (3.11), we get
𝐷𝐷𝐷𝐷𝑇𝑇[𝒆𝒆𝒊𝒊,𝒋𝒋] = 𝐷𝐷𝐷𝐷𝑇𝑇[𝒚𝒚𝒊𝒊] ∙ 𝐷𝐷𝐷𝐷𝑇𝑇[𝒉𝒉𝒋𝒋∗(−𝑛𝑛)] (3.12)
which can be rewritten as 31
𝒆𝒆�𝒊𝒊,𝒋𝒋(𝒇𝒇) = 𝒚𝒚𝒊𝒊� (𝒇𝒇) ∙ 𝒉𝒉𝒋𝒋�∗(𝑓𝑓) (3.13)
where ^ denotes the DFT form of the signal. In matrix form this yields
𝑬𝑬� = 𝒀𝒀� ∙ 𝑯𝑯�𝑻𝑻 =
⎣⎢⎢⎢⎡𝒆𝒆�𝟏𝟏,𝟏𝟏(𝒇𝒇) 𝒆𝒆�𝟏𝟏,𝟐𝟐(𝒇𝒇) ⋯ 𝒆𝒆�𝟏𝟏,𝟏𝟏𝟏𝟏(𝒇𝒇)𝒆𝒆�𝟐𝟐,𝟏𝟏(𝒇𝒇) ⋮ ⋮ ⋮
⋮ 𝒆𝒆�𝒊𝒊,𝒋𝒋(𝒇𝒇) ⋮ ⋮𝒆𝒆�𝑴𝑴𝒔𝒔,𝟏𝟏(𝒇𝒇) ⋯ ⋯ 𝒆𝒆�𝑴𝑴𝒔𝒔,𝟏𝟏𝟏𝟏(𝒇𝒇)⎦
⎥⎥⎥⎤
𝑴𝑴𝒔𝒔×(𝟏𝟏𝟏𝟏∙𝑵𝑵𝒔𝒔)
(3.14)
After the matched filter correlation, the maximum correlation peaks and the indices are
found and represented by
𝑪𝑪 = 𝑎𝑎𝑓𝑓𝑟𝑟𝑟𝑟𝑎𝑎𝑥𝑥𝑗𝑗 𝑓𝑓𝑓𝑓𝑢𝑢 𝑢𝑢𝑢𝑢𝑐𝑐ℎ 𝑢𝑢𝑓𝑓𝑢𝑢 �𝐷𝐷𝐷𝐷𝑇𝑇−𝟏𝟏�𝑬𝑬���
= 𝑎𝑎𝑓𝑓𝑟𝑟𝑟𝑟𝑎𝑎𝑥𝑥𝑗𝑗 𝑓𝑓𝑓𝑓𝑢𝑢 𝑢𝑢𝑢𝑢𝑐𝑐ℎ 𝑢𝑢𝑓𝑓𝑢𝑢(𝑬𝑬) =
⎣⎢⎢⎢⎢⎡𝒄𝒄𝟏𝟏𝒄𝒄𝟐𝟐⋮𝒄𝒄𝒊𝒊:
𝒄𝒄𝑴𝑴𝒔𝒔⎦⎥⎥⎥⎥⎤
𝑃𝑃𝑠𝑠×1
(3.15)
where𝒄𝒄𝒊𝒊 = 𝑗𝑗indicates that for the ith snake, the maximum correlation is with the jth code.
If the maximum value for ith row in 𝑬𝑬 is below a threshold TE, then this snake is
considered as an un-modulated snake, and 𝒄𝒄𝒊𝒊 = 0to eliminate that snake from the set of
modulated snakes.
Fig. 3.8 summarizes the algorithm of non-ambiguity pattern analysis process. We first
read in the captured MCP image and pre-filter it with a 1D moving average filter and then
we identify the snake region by binarizing the second sinusoidal pattern. The 1D snakes
peaks are extracted from the snake peak image and these 1D snake peaks are used for
demodulation. For demodulation procedure, we first pre-build a Matched Filter Bank
which consists of 15 matched filters, and then correlate the Matched Filter Bank with the
1D snake peaks to demodulate each snake and get the Snake Code back.
32
Figure 3.8 Algorithm of Modified Composite Pattern processing
3.3.3 Phase Image Reconstruction by Using Demodulated Snakes
After the demodulation process, based on the calibration results for each snakes in the
MCP image, we reconstruct the Sy matrix as shown in Fig. 3.9 left. This format is named
as MAT5, and the details of MAT5 are described in [9]. The Sy image indicates the depth
for each snake peak, so in order to get phase image for the whole surface that covered by
the MCP, we need to do 1-D linear interpolation along the phase direction between each
two adjacent snakes. Fig. 3.9 right shows the final phase image (depth image) that is used
for un-wrapping the second pattern phase. Also, from Fig. 3.9, we know that the phase
image generated by MCP is non-ambiguous, since each snakes’ Snake Code is different,
which indicates the absolute phase value of the snake, and the phase value is obtained
from calibration procedure. The phase value between the snakes is calculated by utilizing
the linear interpolation, so the phase value is not wrapped, which means the phase image
is not ambiguous.
33
Figure 3.9 Sy image (left), linear interpolated phase image (right)
3.4 Quadrature Phase Pattern Analysis
In section 3.3, we discussed the method of processing non-ambiguous MCP data based
on a Matched Filter Bank technique. However, the phase resolution of that processing is
limited to the snake’s width or period in the phase direction. In this section, we process
the second pattern using a Quadrature Phase (QP) processing technique to achieve full
lateral resolution.
Quadrature processing yields a wrapped phase image from a single captured pattern
image. By using the non-ambiguous phase of modulated snakes that we already acquired
in section 3.3, we un-wrap the wrapped phase image to achieve both high lateral
resolution and non-ambiguous surface depth.
Section 3.4.1 illustrates the mathematical model for quadrature processing, and
thoroughly discusses the details of this technique. Section 3.4.2 provides an explanation
of unwrapping algorithm, and its implementation.
3.4.1 Mathematical model of Quadrature Processing (QP)
As we described in section 3.3, the mathematical representation of MCP is defined in Eq.
34
(3.1). To simplify the representation, we represent the Gray Code modulation as
𝐺𝐺(𝑥𝑥,𝑦𝑦) = �∑ 12𝐺𝐺𝑚𝑚(𝑥𝑥, 𝑦𝑦) ∙ (cos(2𝜋𝜋𝑓𝑓𝑚𝑚𝑥𝑥) + 1)𝑁𝑁
𝑚𝑚=1 � (3.16)
The captured distorted MCP pattern in camera coordinate is:
𝐼𝐼(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = �𝐺𝐺�(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)�̃�𝑆(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) + 𝑊𝑊� (𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)� ∙ 𝐴𝐴𝑃𝑃𝑃𝑃𝑃𝑃� (𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) (3.17)
Then by substituting 𝐴𝐴𝑃𝑃𝑃𝑃𝑃𝑃� (𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) by Eq. (3.2), the Eq. (3.17) is rewritten as Eq. (3.18a)
𝐼𝐼(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = 𝑀𝑀(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) ∙ 𝑎𝑎(𝑥𝑥,𝑦𝑦) + 𝑀𝑀(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) ∙ 𝑏𝑏(𝑥𝑥,𝑦𝑦) cos�2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦𝑐𝑐 + 𝜃𝜃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐, 𝑧𝑧)� (3.18𝑎𝑎)
where 𝑀𝑀(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) is:
𝑀𝑀(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = [𝐺𝐺(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)𝑆𝑆(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) + 𝑊𝑊(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)] (3.18b)
the Eq. (3.18a) is rewritten as
𝐼𝐼(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = 𝑎𝑎�𝑃𝑃𝐵𝐵𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) + 𝑏𝑏�𝑃𝑃𝐵𝐵𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) cos�2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦𝑐𝑐 + 𝜃𝜃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐 , 𝑧𝑧)� (3.19)
Also, The reflected 2nd pattern intensity in camera space {x, y} is
𝐼𝐼2(𝑥𝑥,𝑦𝑦) = 𝑎𝑎�(𝑥𝑥, 𝑦𝑦) + 𝑏𝑏�(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐�2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦 + 𝜃𝜃(𝑥𝑥, 𝑦𝑦, 𝑧𝑧𝑢𝑢)� (3.20)
where𝑎𝑎�(𝑥𝑥,𝑦𝑦)is the reflected ambient plus projected light dc intensity times the surface
albedo in the direction of the camera. The term 𝑏𝑏�(𝑥𝑥,𝑦𝑦)is only the cosine contribution to
the reflected light intensity, also multiplied by the surface albedo in the direction of the
camera. All terms are also attenuated by the surface gradient. The phase term is a
function of the camera coordinate and zw is a world coordinate.
From Eq. (3.19) and Eq. (3.20), we know that both patterns have the similar
mathematical form, which can be used for Quadrature Processing, the reason we
introduce the 2nd pattern for Quadrature Processing is that the phase generated by the 2nd
pattern has much less noise and is not corrupted by the horizontal modulation.
35
Figure 3.10 Quadrature Phase Demodulator
The Quadrature Processing procedure is shown in the Fig. 3.10. The first step is to
generate an in-phase function𝑟𝑟𝐼𝐼(𝑥𝑥,𝑦𝑦), and quadrature function𝑟𝑟𝑄𝑄(𝑥𝑥,𝑦𝑦), by multiplying
the cosine image, cos(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦) and sine image, sin(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦)) with reflected image 𝐼𝐼2(𝑥𝑥,𝑦𝑦).
The reference frequency fc is chosen to be the frequency of the captured image reflected
off a flat calibration surface.
So, the in-phase component 𝑟𝑟𝐼𝐼(𝑥𝑥, 𝑦𝑦) and the quadrature component 𝑟𝑟𝑄𝑄(𝑥𝑥,𝑦𝑦) are
𝑟𝑟𝐼𝐼(𝑥𝑥,𝑦𝑦) = �𝑎𝑎�(𝑥𝑥,𝑦𝑦) + 𝑏𝑏�(𝑥𝑥, 𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐�2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦 + 𝜃𝜃(𝑥𝑥,𝑦𝑦)�� ∙ 𝑐𝑐𝑓𝑓𝑐𝑐(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦), (3.21)
and
𝑟𝑟𝑄𝑄(𝑥𝑥,𝑦𝑦) = �𝑎𝑎�(𝑥𝑥, 𝑦𝑦) + 𝑏𝑏�(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐�2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦 + 𝜃𝜃(𝑥𝑥, 𝑦𝑦)�� ∙ 𝑐𝑐𝑀𝑀𝑛𝑛(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦), (3.22)
respectively. Using trigonometric identities with Eq. (3.21) and (3.22) yields
𝑟𝑟𝐼𝐼(𝑥𝑥,𝑦𝑦) = 𝑎𝑎�(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦) +𝑏𝑏�(𝑥𝑥,𝑦𝑦)
2𝑐𝑐𝑓𝑓𝑐𝑐�𝜃𝜃(𝑥𝑥, 𝑦𝑦)�
+ 𝑏𝑏�(𝑥𝑥,𝑦𝑦)
2𝑐𝑐𝑓𝑓𝑐𝑐�4𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦 + 𝜃𝜃(𝑥𝑥,𝑦𝑦)� (3.23)
and
36
𝑟𝑟𝑄𝑄(𝑥𝑥,𝑦𝑦) = 𝑎𝑎�(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑀𝑀𝑛𝑛(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦) −𝑏𝑏�(𝑥𝑥,𝑦𝑦)
2𝑐𝑐𝑀𝑀𝑛𝑛�𝜃𝜃(𝑥𝑥,𝑦𝑦)�
+ 𝑏𝑏�(𝑥𝑥, 𝑦𝑦)
2𝑐𝑐𝑀𝑀𝑛𝑛�4𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦 + 𝜃𝜃(𝑥𝑥,𝑦𝑦)� (3.24)
The filters in Fig. 3.10 are a 1-Dimensional and only applied along the phase dimension
y. We use two filters; one is a band pass filter HBPF with center frequency at fc and
bandwidth smaller than2fc, the other is a low pass filter HLPF with cut frequency atfL ≤
fc. Both gI and gQ will be filtered to yield four filtered images as output. As shown in
Fig. 3.10, the outputs images are rBI(x, y) and rLI(x, y), which come from by filtering the
gI, rBQ(x, y) and rLQ(x, y) which come from by filtering the gQ.
𝑓𝑓𝐵𝐵𝐼𝐼(𝑥𝑥, 𝑦𝑦) = 𝑎𝑎�(𝑥𝑥,𝑦𝑦) 𝑐𝑐𝑓𝑓𝑐𝑐(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦) (3.25a)
𝑓𝑓𝐿𝐿𝐼𝐼(𝑥𝑥,𝑦𝑦) = 𝑏𝑏�(𝑚𝑚,𝑦𝑦)2
𝑐𝑐𝑓𝑓𝑐𝑐�𝜃𝜃(𝑥𝑥,𝑦𝑦)� (3.25b)
𝑓𝑓𝐵𝐵𝑄𝑄(𝑥𝑥,𝑦𝑦) = 𝑎𝑎�(𝑥𝑥, 𝑦𝑦) 𝑐𝑐𝑀𝑀𝑛𝑛(2𝜋𝜋𝑓𝑓𝑐𝑐𝑦𝑦) (3.25c)
𝑓𝑓𝐿𝐿𝑄𝑄(𝑥𝑥,𝑦𝑦) = −𝑏𝑏�(𝑚𝑚,𝑦𝑦)2
𝑐𝑐𝑀𝑀𝑛𝑛�𝜃𝜃(𝑥𝑥,𝑦𝑦)� (3.25d)
The high frequency components in Eq. (3.23) and Eq. (3.29) are filtered out. By using the
four outputs in Eq. (3.25), the average intensity,𝑎𝑎�(𝑥𝑥,𝑦𝑦), intensity modulation, 𝑏𝑏�(𝑥𝑥,𝑦𝑦) and
phase, 𝜃𝜃(𝑥𝑥,𝑦𝑦) can be calculated by
𝑎𝑎�(𝑥𝑥,𝑦𝑦) = �𝑓𝑓𝐵𝐵𝐼𝐼(𝑥𝑥,𝑦𝑦)2 + 𝑓𝑓𝐵𝐵𝑄𝑄(𝑥𝑥,𝑦𝑦)2 (3.26a)
𝑏𝑏�(𝑥𝑥,𝑦𝑦) = 4�𝑓𝑓𝐿𝐿𝐼𝐼(𝑥𝑥,𝑦𝑦)2 + 𝑓𝑓𝐿𝐿𝑄𝑄(𝑥𝑥, 𝑦𝑦)2 (3.26b)
𝜃𝜃(𝑥𝑥,𝑦𝑦) = 𝑎𝑎𝑓𝑓𝑐𝑐𝑟𝑟𝑎𝑎𝑛𝑛 �− 𝑢𝑢𝐿𝐿𝐿𝐿(𝑚𝑚,𝑦𝑦)𝑢𝑢𝐿𝐿𝐿𝐿(𝑚𝑚,𝑦𝑦)� (3.26c)
However, the phase image is wrapped, as shown in Fig. 3.11, so we need to use the MCP
phase image as a baseline phase image to unwrap the 𝜃𝜃(𝑥𝑥,𝑦𝑦).
37
Figure 3.11 Wrapped Phase Image
3.4.2 Quadrature Processing Phase Unwrapping
The first step to unwrap the phase is to mask out the noise outside object border, since we
only need the phase image for the object scanned. So we set our Region of Interest (ROI)
to the object, mask out all the other noise. As shown in Fig. 3.12 left, the border of the
object is in black.
Figure 3.12 Object Bolder in black(left), masked out ROI image(right)
From Section 3.4.1, we get the average image, indicator image, and the phase image from 38
the quadrature processing, and to get the ROI of the phase image, we utilize the indicator
image. A threshold Tb is set to binarize the intensity modulation image into an indicator
image, which is
𝑏𝑏�(𝑥𝑥,𝑦𝑦) = �1, 𝑏𝑏�(𝑥𝑥,𝑦𝑦) ≥ 𝑇𝑇𝑏𝑏0, 𝑏𝑏�(𝑥𝑥,𝑦𝑦) < 𝑇𝑇𝑏𝑏
(3.27)
Then, by multiplying the phase image by the binarized indicator image, we mask out the
phase noise, such that
𝜃𝜃(𝑥𝑥,𝑦𝑦) = 𝜃𝜃(𝑥𝑥, 𝑦𝑦) ∙ 𝑏𝑏�(𝑥𝑥,𝑦𝑦) (3.28)
The masked phase image boundary is shown in Fig. 3.12 right.
With noise removed, our unwrapping algorithm works robustly on the wrapped phase in
Fig. 3.12 right. The basic idea of the unwrapping algorithm is to scale the wrapped phase
to follow the trend of the Modified Composite Pattern phase we got from the first pattern.
If we take a cross section (i.e., a single column) of both phase images, one is wrapped
and the other is unwrapped baseline MCP phase image [86] [87], as shown in Fig. 3.13.
Figure 3.13 One column signal of both phase images, Green in wrapped phase image, Blue is the baseline unwrapped phase image
In preparation to unwrap the phase, 𝜃𝜃(𝑥𝑥,𝑦𝑦), we normalize it by dividing by its pattern
spatial frequency of 𝑘𝑘𝑐𝑐 = 29. The two normalized signals have same gradient. The first
step is to obtain the integer number of phase unwrapping wavelengths (unwrapping
39
cycles) that are at or below the desired value such that
𝜆𝜆(𝑥𝑥,𝑦𝑦) = 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 �𝑘𝑘𝑐𝑐𝜑𝜑0(𝑚𝑚,𝑦𝑦)−𝜑𝜑1(𝑚𝑚,𝑦𝑦)2𝜋𝜋
� (3.29)
where𝜑𝜑0(𝑥𝑥,𝑦𝑦) is the baseline unwrapped phase image, 𝜑𝜑1(𝑥𝑥, 𝑦𝑦) is the wrapped phase
image, and 𝑘𝑘𝑐𝑐 is the 𝜑𝜑1(𝑥𝑥,𝑦𝑦) pattern spatial frequency. Then we need to scale the
𝜑𝜑1(𝑥𝑥, 𝑦𝑦) to baseline phase. So, in units of cycles, the difference between baseline phase
and unwrapping cycle is calculated as
𝑓𝑓(𝑥𝑥,𝑦𝑦) = 𝑘𝑘𝑐𝑐𝜑𝜑0(𝑚𝑚,𝑦𝑦)−𝜑𝜑1(𝑚𝑚,𝑦𝑦)−2𝜋𝜋𝜋𝜋(𝑚𝑚,𝑦𝑦)2𝜋𝜋
(3.30)
A final adjustment of +/- 1 unwrapping cycle is determined by evaluating the remainder
such that
𝜆𝜆𝑢𝑢(𝑥𝑥,𝑦𝑦) = � 𝜆𝜆(𝑥𝑥,𝑦𝑦) + 1, for 𝑓𝑓(𝑥𝑥, 𝑦𝑦) > 0.5
𝜆𝜆(𝑥𝑥, 𝑦𝑦) − 1, for 𝑓𝑓(𝑥𝑥,𝑦𝑦) < −0.5 (3.31)
The phase image is unwrapping by
𝜑𝜑𝑢𝑢(𝑥𝑥,𝑦𝑦) = 2𝜋𝜋𝜋𝜋𝑢𝑢(𝑚𝑚,𝑦𝑦)+𝜑𝜑1(𝑚𝑚,𝑦𝑦)𝑘𝑘𝑐𝑐
(3.32)
Figure 3.14 Unwrapped phase and baseline phase
Fig. 3.14 displays a column of the unwrapped quadrature phase plotted with baseline
MCP phase. The unwrapped phase follows the baseline phase very closely. However, the
unwrapped quadrature phase has much more high frequency components which represent
40
the details of the surface. And, the quadrature phase is full lateral resolution. The final
unwrapped phase image is shown in fig. 3.15.
Figure 3.15 Unwrapped Quadrature Processing Phase Image
With the phase image shown in Fig. 3.15, we reconstruct the full lateral resolution 3D
surface directly.
3.5 Experiments Results
The previous sections describe and discuss the research of Two-pattern Full Lateral
Resolution (2PFLR) SLI depth measuring system, and in section 3.4 and section 3.5
explicitly illustrates the details of the analysis of the non-ambiguous pattern, which is
Modified Composite Pattern, and analysis of Quadrature Phase Pattern, which is utilized
for full lateral resolution 3-D reconstruction. In this section, we present the experiments
results of our Two-pattern system.
In section 3.5.1, we demonstrate the Experiment setup for Two-Pattern Full Lateral
Resolution SLI depth measuring system. Then, in section3.5.2 we first present the 3D
reconstruction results of using Modified Composite Pattern only. In section 3.5.3, we
demonstrate our Two-pattern system's 3D surface reconstruction result and compared
with other single pattern technique such as MCP or Composite Pattern.
41
3.5.1 Experiment Setup for Two-Pattern Full Lateral Resolution SLI System
The system apparatus for 2PFLR system is described. The Two-Pattern 3D scanner setup
is based on the classical SLI scanner as shown in Fig. 3.16.
This system is a classic SLI system set up with a camera and a projector in triangulation
geometry. A high definition camera is used here to capture the projected pattern. We use
a Canon EOS-7D high definition camera with resolution 5184 x 3456 and a ViewSonic
PJ260D digital projector with resolution 1024*768.
The distance between the camera and the projector is 14 inches, and the object is 24
inches away from the projector lens.
Figure 3.16 Two-Pattern Full Lateral Resolution Scanner Structure
To calibrate this system, we follow the calibration method by using a roof grid with circle
features as shown in Fig. 3.17. Unlike some other classical calibration target such as
Checker Board [85], this roof grid makes the calibration procedures for Structure Light 42
Illumination system to be based on one scan [29]-[31]. The calibration points are the
known centers of all the circles on the calibration grid [34]. The angle of the roof is 90
degree. Here, the Z axis is pointing into the Fig. 3.17. The second step is to generate the
phase image of the calibration grid by using our Two-Pattern Structure Light Illumination
System. Then, in our calibration software, we read in the calibration target’s captured
image and automatically detect the center of each circle, and obtain the phase value
associated with each center, as shown in Fig. 3.18. The green square around the ring
means this ring is automatically identified, and the cross in the square points out the
center of the ring. The automatic ring center detection algorithm is proposed by
Hassebrook.
Figure 3.17 Calibration Target [94]
43
Figure 3.18 Automatically detect the rings’ centers (left), Phase Image with detected center in green (right)
Each circle’s center’s world coordinates are known, and in this way, with the phase value
of each center, the system parameters are calculated. The intrinsic and extrinsic
parameters of the camera are calculated based on perspective transformation.
3.5.2 Modified Composite Pattern 3D reconstruction
As described in section 3.5.2, the 3D surface is reconstructed directly using the phase
image generated by MCP as shown in Fig. 3.9. The reconstructed 3D surface by using
single Modified Composite Pattern is shown in Fig. 3. 19.
44
Figure 3.19 3D surface reconstructed only use MCP
We see in Fig. 3.19 the surface is not full lateral resolution since the phase image
generated by Modified Composite Pattern is interpolated between adjacent snake peaks.
If we are only going to use the MCP for 3-D reconstruction, then a trend filter is applied
to smooth the sharp peaks on the 3D surface as shown in Fig. 3.20. The trend filter is a
low pass filter, so the surface loses some high frequency details.
45
Figure 3.20 Surface after Trend-filtering
Figure 3.21 3D surface with color texture
46
Fig. 3.21 shows the final result with color texture mapping to it. Note that, even after
some post processing procedure including trend filtering, there are still some obvious
defects in the 3D surface such as the nose area.
3.5.3 Two-Pattern Full Lateral Resolution 3D reconstruction result
As demonstrated in section 3.5.2, reconstruction using only Modified Composite Pattern
technique is not able to reach the full lateral resolution, and this is also the problem that
all the other single pattern techniques have. As described in section 3.4, the Quadrature
Phase processing of the 2nd high frequency sinusoidal pattern provides the phase image
without interpolation.
Figure 3.22 3D reconstruction by using Quadrature Phase Processing
Fig. 3.22 shows 3D reconstruction result by using Two-Pattern Full Lateral Resolution
SLI system. The phase image used in reconstruction is shown in Fig. 3.15. As shown in
Fig. 3.22, the 3D surface has a lot of banding artifact across the surface; we call this 47
“banding error” which is caused by the projected sinusoidal pattern. Banding error is a
common issue of Structure Light Illumination techniques, especially in single pattern
technique. We discuss the banding issue and propose a solution in the next chapter.
However, compared with Fig. 3.22 with Fig. 3.19, we can easily see that the surface from
Two-Pattern Full Lateral Resolution system has much higher resolution and much more
details than the surface only using MCP. We just need to suppress the banding error.
Figure 3.23 QP reconstructed surface after trend filter
Fig. 3.23 displays the Quadrature Phase reconstructed surface after trend filtering
procedure as we did for MCP reconstructed surface. However, the banding error on the
surface is not suppressed by filtering technique. The final result with color texture
mapping is shown in Fig. 3.24.
48
Figure 3.24 Colored 3D surface
3.6Summary
This chapter we thoroughly define on Two-Pattern Full Lateral Resolution Structure
Light Illumination depth measuring system. The full lateral resolution 3D surface result is
able to be reconstructed by utilizing only two patterns by using our system. This is of
great significance since we allow the relative motion between the scanner and the object
within the FOV of the scanner just as other single pattern techniques,
In our system, two patterns are used to reconstruct the 3D surface. The first pattern is a
Modified Composite Pattern, and this MCP is utilized as a non-ambiguous pattern, which
means the 3D results reconstruct by this pattern is non-ambiguous. But MCP only is not
able to provide the 3D result with full lateral resolution, only a coarse 3D surface. The
second pattern is a high frequency sinusoidal pattern that is utilized as an ambiguous but
full lateral resolution pattern. To process the sinusoidal pattern, we proposed a novel 49
Quadrature Phase processing method which effectively and efficiently processes the
pattern and generates the ambiguous phase image. Then, a baseline un-wrapping method
is needed to un-wrap the phase image; this method is much more robust compared with
Goldstein un-wrapping method.
However, the reconstruction 3D surface is still corrupted by the banding error which is a
noise caused by the projected sinusoidal pattern. We introduce methods to reduce this
problem in next chapter.
50
Chapter 4 Projector Space De-banding Algorithm
We know that the accuracy of the 3D reconstruction results of the Structure Light
Illumination system highly rely on the accuracy of the phase image, because the 3D
surface is directly reconstructed by using the phase image. If there is banding noise or
distortion in the phase image, the final 3D depth measurement will be corrupted. From
many experiments, we know thatSLI techniques are prone to banding error. As shown in
Fig. 3.26, the Quadrature Phase Processing of the sinusoidal wave pattern has significant
banding error. The de-banding of3Dis aresearch topic. As described in the introduction,
utilizing more patterns does reduce and suppress harmonics, and in this way, reduce
banding artifact. However, these multi-pattern methods sacrifice the time efficiency of
3D scanning system and are in conflict with our research purpose to develop a high speed
3D scanning system that allows the relative motion between the target surface and
scanner.
Some de-banding methods use the de-focusing of the projected pattern to create a more
ideal sinusoidal pattern. However, de-focused the projector has very limited measurement
range. The majority state-of-art de-banding methods estimate the banding error and
compensate distortion for it. However, to estimate the banding error is not easy since the
projected pattern is curved by the object’s surface. We propose a novel Projector Space
De-banding algorithm to de-band the surface effectively and efficiently.
The following sections in this chapter are organized as follows: section 4.1 briefly
describes our de-banding algorithm. Section 4.2 illustrates the mathematical model of the
de-banding algorithm. Section 4.3 summarizes all the notations and mathematical
representation used in the section 4.2 and put them into a table. Section 4.4 demonstrates
the de-banded 3D surface and compared with other techniques. Section 4.5 describes a
performance characterization method for any SLI system. Section 4.6 is the summary of
the whole chapter.
4.1 Introduction to Projector Space De-banding Algorithm
As mentioned above, our research on de-banding is based on the main-sequence banding 51
error correction research, which focuses on eliminating the banding error in the
calibration procedure and compensates for the distortion in the scanning procedure.
However, most of the techniques focus on estimation of the nonlinear gamma distortion
and try to eliminate the error by using gamma correction. Several algorithms are
developed to estimate the gamma coefficients. However, as mentioned by Guo[12], the
gamma distortion in a Structure Light System is not a simple single-parameter gamma
function. And quantization error in both camera and projector need to be modeled. These
problems limit the effectiveness of the gamma correction algorithms.
As we know, the multi-pattern PMP has the ability to suppress the banding distortion, so
the fundamental idea of Projector Space De-banding algorithm is instead of estimating
the model banding error directly from one pattern; we utilize our Two-Pattern Full
Lateral Resolution SLI system to estimate the mapping from camera space to projector
space prior to de-banding. Furthermore, the Modified Composite Pattern yield an
interpolated surface between peaks where the peak snakes do not contain banding but do
accurately measure the wave length boundaries of the second pattern, as displayed in Fig.
3.19. Note that the strip defect in Fig. 3.19 is caused by linear interpolation in the phase
image. So the basic idea of our algorithm is to use the 1st pattern’s recovered phase image
to estimate the banding error in the 2nd sinusoidal pattern’s recovered phase image. Then
compensate it in the final phase image.
However, how to estimate the banding error in the 2nd pattern's recovered phase image is
the biggest problem that has to be solved. Most passive de-banding methods estimate the
banding error during the calibration process and utilize the calibrated banding error to
compensate for all future scans. The problem is that the banding error is related to surface
depth variation and albedo variation. These banding artifact are difficult to reduce
because the phase is distorted by the surface depth and as such, the banding error is
difficult to estimate.
We propose post-processing each scan to reduce banding. To avoid the problems with
surface interference we introduce a novel Projector Space de-banding algorithm, which
instead of estimating the banding error directly in the camera space, we map the
52
recovered both phase image from 1st and 2nd patterns to the projector space, then
estimate the banding error. The advantage of mapping the phase image to the projector
space is all the snakes are aligned straight along the horizontal direction, so the 1-D
banding error is strictly along the phase direction. This simplified the estimation of the
banding error. We use a stochastic signal processing method for the banding error
estimation which will be illustrated in the following sections.
4.2 Mathematical Model of Projector Space De-banding Algorithm (PSDb)
The mathematical model Projector Space De-banding algorithm is defined and
demonstrated for better understanding the algorithm. Our Projector Space De-banding
algorithm is an automated banding error correction algorithm using mapping of the
captured image to projector space to align the bands to the projector rows and thereby
simplify and improve the banding error estimation.
4.2.1 Mapping to Projector Space
The first step is to map the phase images recovered by the Modified Composite Pattern
and the 2nd sinusoidal pattern to the projector space. Given the unwrapped phase image,
𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥, 𝑦𝑦) and the wrapped phase image, 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦), the 𝑌𝑌𝑢𝑢𝑐𝑐 and 𝑌𝑌𝑢𝑢𝑐𝑐 elements are between
0 to 2π radians. We now assume the number of rows in the Projector Space (PS) is 𝑀𝑀𝑢𝑢, so
the mapping scale factor between radians and projector row is
𝛼𝛼𝑃𝑃𝑆𝑆 = 𝑃𝑃𝑝𝑝−12𝜋𝜋
(4.1)
Banding geometry corresponds to the projector space geometry. By mapping data from
camera space(𝑥𝑥, 𝑦𝑦) to partial projector space (𝑥𝑥,𝑦𝑦𝑢𝑢𝑢𝑢) the depth distortion of the reflected
banding is removed and all bands are aligned with the projector rows. We keep thexp
coordinate of the projector space image as the coordinate of the phase image in camera
space, such that 𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦𝑢𝑢) is the phase image in projector space. The 𝑦𝑦𝑢𝑢𝑢𝑢 is the y
coordinate in projector space, it is calculated as
𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦) = 𝛼𝛼𝑃𝑃𝑆𝑆 ∙ 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦), (4.2)
53
𝑦𝑦𝑢𝑢 = round �𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦)�, (4.3)
The value in the image 𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥, 𝑦𝑦) is the 𝑦𝑦𝑢𝑢 coordinate for each point in unwrapped phase
image 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦). Now, the mapping function is denoted as 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{∙}.
Fig. 4.1 shows an example of mapping a camera space image to projector space. We can
see that although the snakes are distorted by the surface in the camera space image,
however, when we map it to projector space, all the snakes are aligned from left to right
in the projector space. Note that we have some holes (black dots) in the projector space
image. This is because the mapping between camera space and projector space is subject
to spatial quantization resulting in “pin hole”.
Figure 4.1 Mapping a camera space image (left) to a projector space image (right).
Fig. 4.1 shows a demonstration of thePSDb mapping. In projector space, we only map the
MCP phase result.
4.2.2 Calculate the Differential of the Banding Error
We treat the banding error as a 1D signal, and the surface albedo variation as a noise
54
signal added to the banding we are trying to estimate. So to estimate and recover the
banding error along the phase direction in the projector space image we formulate the
problem as a standard additive noise problem. Also mentioned in the algorithm
introduction, we utilize the Modified Composite Pattern recovered phase image to map
the baseline phase image to projector space. However, this phase image contains a linear
ramp that is recovered by mapping the differential phase images to the projector space.
The differential of the phase image in projector space is approximated as a difference
equation such that
𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥, 𝑦𝑦) − 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥, 𝑦𝑦 − 1)}, (4.4)
where𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦) is the unwrapped phase image from 2nd pattern.
Note that the phase image now has banding error, so the phase image could be
represented as the summation of the ideal phase,𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦), and the banding error image,
𝜃𝜃(𝑥𝑥,𝑦𝑦) such that
𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� = 𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦) + 𝜃𝜃𝑢𝑢(𝑥𝑥,𝑦𝑦), (4.5)
So, 𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢𝑢𝑢� is rewritten as
𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢� = ∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥, 𝑦𝑦𝑢𝑢� + ∆𝜃𝜃𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢�, (4.6)
where,
𝛥𝛥𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥, 𝑦𝑦) − 𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥,𝑦𝑦 − 1), (4.7)
𝛥𝛥𝜃𝜃𝑢𝑢�𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝜃𝜃𝑢𝑢(𝑥𝑥,𝑦𝑦) − 𝜃𝜃𝑢𝑢(𝑥𝑥, 𝑦𝑦 − 1) }, (4.8)
In Eq. (4.5) to Eq. (4.7) we represent the banding error as a 2-D image𝜃𝜃(𝑥𝑥,𝑦𝑦). As
illustrate above, we treat the banding error as a 1-D signal. So each column (along the
phase direction) in the 2-D banding error image 𝜃𝜃(𝑥𝑥,𝑦𝑦) is a banding error signal. In Eq.
(4.7), after mapping, although the mapped result is still a 2-D image, we represent it as a
1-D signal since all the columns in the banding error image are the same 1-D banding
55
error signal, which means we assume 𝛥𝛥𝜃𝜃𝑢𝑢�𝑦𝑦𝑢𝑢� is only a function of projector row
coordinate yp.
As shown in Fig. 4.1, the pin holes in the projector space image cause problems in
banding error estimation, since those black holes are like adding more noise into the
projector space image. In our research, we use linear interpolation to fill in the holes in
projector space image. The 1-D linear interpolation method is utilized along the phase
direction to interpolate the projector space image. Fig. 4.2 shows the final result of the
differential of the phase image mapped in the projector space with holes interpolated.
Figure 4.2 Projector Space differential of the phase image with interpolation
As we can see from Fig. 4.2 of the differential of phase image, the DC component is
removed.
56
We assume the object surface is complicated and each column of𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢� can be
modeled as an ergodic random process with mean,µ𝑢𝑢(𝑦𝑦𝑢𝑢). So the expected value is
calculated for each row as
µ∆�𝑦𝑦𝑢𝑢� = 𝐸𝐸�∆𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢�|𝑦𝑦𝑢𝑢� ≈1𝑁𝑁𝑥𝑥∑ 𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥𝑛𝑛,𝑦𝑦𝑢𝑢�𝑁𝑁𝑥𝑥𝑛𝑛=1 , (4.9)
Where µ∆�𝑦𝑦𝑢𝑢� is a 1-D vector sequence containing the expected value of each row of
the 𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢� and𝑁𝑁𝑚𝑚 is the number of columns of 𝛥𝛥𝑌𝑌𝑢𝑢𝑐𝑐�𝑥𝑥,𝑦𝑦𝑢𝑢�.
Fig. 4.3 shows the estimate expectation of differential phase image, which is µ∆�𝑦𝑦𝑢𝑢� in
Eq. (4.9). Note that from row 2500 to 2700, there is a phase jump in the phase image,
which results in a sharp drop in the differential of phase image.
Figure 4.3 Estimate Expectation of differential phase image
From Fig. 4.3, we know that the high frequency component is caused by banding error
and the low frequency component is the result of the differential of the phase ramp. Since 57
in Fig. 3.13, the baseline phase ramp is a low frequency signal. The expectation of
differential phase image also supports our assumption that the banding error is a 1-D
signal along the phase direction in the projector space, otherwise µ∆�𝑦𝑦𝑢𝑢� in Fig. 4.3 will
be corrupted by the averaging operation in the Eq. (4.9), since we have nearly 3000
columns with banding error in the phase image.
Then, µ∆�𝑦𝑦𝑢𝑢� is numerically integrated to get 𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼(𝑦𝑦𝑢𝑢) which contains the expected value
of the actual phase 𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� and the banding error 𝜃𝜃𝑢𝑢(𝑦𝑦𝑢𝑢) such that
𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� = ∑ µ∆(𝑟𝑟) = 𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� + 𝜃𝜃𝑢𝑢�𝑦𝑦𝑢𝑢�𝑦𝑦𝑝𝑝𝑚𝑚=1 , (4.10)
Figure 4.4Estimated Expectation of Phase Value
The result of Eq. (4.10) is shown in Fig. 4.4. The phase banding error is difficult to
observe along with the phase ramp, so that is why we use differential for the phase image.
58
4.2.3 Estimate Banding Error
In section 4.2.2, we estimate the expectation of the phase with banding error, and in this
section we need to recover the banding error from it. From Eq. (4.10) we know that, the
way to estimate the banding error is to subtract the actual phase ramp (ideal phase ramp
without noise and banding error) from the estimated expectation. The actual phase ramp
𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� is between 0 to 2π radians, so we need to estimate it and subtract it from the
𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� to get the banding error.
To approximately calculate the actual phase ramp𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢�, we proposed to utilize the
branch cut locations in the wrapped phase image recovered by Quadrature Phase
Processing technique to fit a line between each branch cut point locations to estimate the
actual phase. Also, since we have phase ramp from Modified Composite Pattern, we
combine the two results together to get a better estimation.
We first illustrate the reason to use branch cuts points as baseline points for estimating
the actual phase ramp. As shown in Fig. 3.11, the phase image is wrapped after
Quadrature Phase Processing, which means the phase value along the phase direction is
cyclic from 0 to 2π radians, and the period of the cycle corresponds to the period of the
sinusoidal pattern. So, there are phase jumps between each two cycles that the phase
value drops from 2π radians to 0 sharply. We call the phase jump in the wrapped phase
image as branch cut.
Because the banding error is caused by the deterministic distortion of the digital projected
sinusoidal pattern, so for each cycle of the sinusoidal pattern, the banding error is the
same, which means banding error is cyclic with period of the highest frequency
unwrapped phase result. In this way, the banding error ideally is the same within each of
two branch cuts. So after unwrapping process, we are able to use the branch cut locations
in the wrapped phase to fit a line between each of two of the branch cuts locations to
approximate the actual phase ramp 𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� . The estimated 𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� through line
fitting is composed by several line segments, and between each two branch cuts
locations, the phase is a linear ramp.
59
To get the branch cut points, we use the wrapped phase image shown Fig. 3.11, and
calculate the differential along the phase image of the wrapped phase image. The reason
to do differential along the phase image is to detect the phase jump.
𝛥𝛥𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦) − 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦 − 1)}, (4.11)
As illustrated in Eq. (4.11), 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦) is the wrapped phase image in camera space, and
the differential along the phase direction (y direction of the image) is calculated and then
map to projector space through the same mapping factor 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{∙} . The result
differentiated wrapped phase image 𝛥𝛥𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� is shown in Fig. 4.5.
Figure 4.5Diffirential wrapped phase image in camera space
Fig. 4.5 clearly shows the branch cuts locations in the image, highlighted in black. Then,
60
we identify those branch cuts by using a threshold 𝑇𝑇𝐵𝐵𝐵𝐵 as in
𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥,𝑦𝑦𝑢𝑢� = �1,𝛥𝛥𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝐵𝐵𝐵𝐵0,𝛥𝛥𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥,𝑦𝑦𝑢𝑢� < 𝑇𝑇𝐵𝐵𝐵𝐵
, (4.12)
where 𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥,𝑦𝑦𝑢𝑢� is a 2-D branch cut image which is an binary image that stores the
branch cuts locations. In the 𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥, 𝑦𝑦𝑢𝑢�, the branch cuts locations have value 1 and all the
other has value 0. An example of 2-D branch cut image is shown in Fig. 4.6. Note that, in
Fig. 4.6, most of the noise in Fig. 4.5 is filtered out through the threshold 𝑇𝑇𝐵𝐵𝐵𝐵. In our
research to filter out the noise robustly and keep the correct branch cuts locations, we use
value 1.8𝜋𝜋 for threshold 𝑇𝑇𝐵𝐵𝐵𝐵. This value is acquired by trial and error experiments.
61
Figure 4.6 Branch Cuts image in projector space
Although using 𝑇𝑇𝐵𝐵𝐵𝐵 as a global threshold can reject most of white noise in the branch cuts
image 𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥,𝑦𝑦𝑢𝑢�, however, due to the snakes' distortion in the camera space image and
the non-bijection mapping factor 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{∙}, one horizontal branch cut is not a straight
line locates in one row in the branch cuts image. As shown in Fig. 4.7 when we zoom in
the branch cuts image, we see the branch cut is not strictly horizontal along the x
direction.
62
Figure 4.7Zoomed in branch cuts image
So in order to estimate the branch cut locations, we utilize a histogram to estimate the
branch cut locations for the 1-D phase ramp with banding error 𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� in Eq. (4.10).
We count the number of branch cuts points (number of ones) for each row of 𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢�
to get a 1D histogram vector as represented by
𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� = Histogram �𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥,𝑦𝑦𝑢𝑢��, (4.13)
where𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� is the 1-D histogramalong the phase direction of 𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥,𝑦𝑦𝑢𝑢�. Then another
threshold 𝑇𝑇𝑢𝑢 is set to decide the branch cuts points along the phase direction.The final
result of branch cuts detection in projector space is shown in Fig. 4.8. In Fig. 4.8, the row
which has a blue line means this row has a branch cut in it.
After we detect all the branch cuts in projector space, we need to store the phase value at
the branch cuts locations for the interpolation, as expressed in Eq. (4.14).
𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢� = �𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢�, for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢0, for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� < 𝑇𝑇𝑢𝑢
, (4.14)
63
Figure 4.8 Image indicates the rows have branch cuts in projector space
In Eq. (4.14), the 𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢� is a 1-D vector with length same as the number of rows in the
phase image. So in 𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢�, only the branch cut locations have phase value, other points
are zero. For efficiently, we use a vector that only stores the phase value of the branch
cuts points as represented by
𝑌𝑌𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) = 𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢�for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢, (4.15)
The vector element 𝑌𝑌𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) contains only values of phase at branch cuts locations,
BCBC Mn ,,2,1 = . Where BCM is the number of branch cuts. Also, we need another vector
stores the row index for the branch cuts locations as expressed in by
𝑦𝑦𝑢𝑢,𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) = 𝑦𝑦𝑢𝑢 for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢, (4.16)
64
where 𝑦𝑦𝑢𝑢,𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) is the projector space row index only at BC locations.We use
𝑦𝑦𝑢𝑢,𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) and 𝑌𝑌𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) to fit line segments between every two adjacent branch
points such that the interpolation values are
𝑎𝑎𝑦𝑦(𝑛𝑛) = 𝑌𝑌𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵(𝑛𝑛+1)− 𝑌𝑌𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵(𝑛𝑛)
𝑦𝑦𝑝𝑝,𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵(𝑛𝑛+1)−𝑦𝑦𝑝𝑝,𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵(𝑛𝑛), (4.17)
𝑏𝑏𝑦𝑦(𝑛𝑛) = 𝑌𝑌𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛)− 𝑎𝑎𝑦𝑦(𝑛𝑛) ∙ 𝑦𝑦𝑢𝑢,𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛) (4.18)
where𝑎𝑎𝑦𝑦(𝑛𝑛) is the slope for the nth line segment, and 𝑏𝑏𝑦𝑦(𝑛𝑛) is the intercept. The
interpolated phase acts as a reference phase
𝑌𝑌𝑢𝑢𝑢𝑢𝑓𝑓(𝑛𝑛) = 𝑎𝑎𝑦𝑦(𝑛𝑛)𝑦𝑦𝑢𝑢 + 𝑏𝑏𝑦𝑦(𝑛𝑛) (4.19)
Figure 4.9 Interpolated reference phase ramp
Fig. 4.9 shows the result of interpolation. This reference phase ramp 𝑌𝑌𝑢𝑢𝑢𝑢𝑓𝑓(𝑛𝑛) is the
estimation of the actual phase ramp in Eq. (4.10). And compared with Fig. 4.4, we can
65
see the estimated phase ramp is a good approximation to the actual phase ramp without
banding error.
Based on Eq. (4.10) and Eq. (4.19), the banding error is estimated as the following
equations:
𝜃𝜃�𝑦𝑦𝑢𝑢� = 𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� − 𝑌𝑌𝑢𝑢𝑢𝑢𝑓𝑓�𝑦𝑦𝑢𝑢� = 𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� − �𝑎𝑎𝑦𝑦𝑛𝑛 ∙ 𝑦𝑦𝑢𝑢 + 𝑏𝑏𝑦𝑦𝑛𝑛�,
𝑓𝑓𝑓𝑓𝑓𝑓 𝑥𝑥𝑛𝑛 ≤ 𝑦𝑦𝑢𝑢 < 𝑥𝑥𝑛𝑛+1 (4.20)
where the 𝜃𝜃�𝑦𝑦𝑢𝑢� is the 1-D estimated banding error.
Figure 4.10 Estimated Banding Error
Fig. 4.10 shows the estimated banding error𝜃𝜃�𝑦𝑦𝑢𝑢� . Note that the big jump at the
beginning and end of the banding error vector is caused by the phase jump between the
background and the object surface’s phase, so the real banding error lies in the middle
part of the plot in Fig. 4.10. From Fig. 4.10 we know that the range of the banding error,
66
that is the peak to peak phase value, is within ±0.02 radiance.
The final step is to correct the phase image based on estimated banding error. The
procedure is map each point in 𝑌𝑌𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) to projector space to check the banding error of
that point such as 𝜃𝜃�𝑦𝑦𝑢𝑢�, then we subtract the banding error out for this given point as
𝑌𝑌𝑢𝑢𝑐𝑐,𝐷𝐷(𝑥𝑥,𝑦𝑦) = 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥,𝑦𝑦) − 𝜃𝜃�𝑦𝑦𝑢𝑢�, (4.21)
The de-band phase image is shown in Fig. 4.11. Although we cannot see much difference
in the phase image compared with the previous phase image with the banding error, but
the 3D reconstructed result has significantly less banding error which will be
demonstrated in the following sections.
Figure 4.11 De-band Phase Image
67
4.3 Notations for Mathematical Model of De-Banding Algorithm
We summarize all the equations and notation used in the previous sections for a better
understanding of our mathematical model of De-Banding algorithm. We separate all the
equations into three categories: (1) Camera Space Notations and processing equations;
(2) Projector Space Notations, Equations and processing techniques; (3) 1-D Banding
Error estimation statistics.
Table 4-1 Notations for Math Model of PSDB
Notation Meaning
CAMERA SPACE
{𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐} Camera Space Coordinates
𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) wrapped phase image in Camera Space
𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) unwrapped phase image in Camera Space
𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) Phase Image without banding error
𝜃𝜃𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) banding error in camera space
𝑌𝑌𝑢𝑢𝑐𝑐,𝐷𝐷(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) De-banded phase image in camera space
PROJECTOR SPACE
�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� Partial Projector Space Coordinates
𝑀𝑀𝑢𝑢 Number of rows in projector space
𝛼𝛼𝑃𝑃𝑆𝑆 scale factor between radians and projector
row
𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = 𝛼𝛼𝑃𝑃𝑆𝑆 × 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) Fractional projector row coordinate
68
matrix
𝑦𝑦𝑢𝑢 = round �𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)� Integer projector row value
𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢) Wrapped phase image in projector space
𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� = 𝑦𝑦𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) Unwrapped phase image in projector
space
PROJECTOR SPACE DIFFERENTIALS
∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)
− 𝑌𝑌𝑢𝑢𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐 − 1)}
Phase difference image without banding
error
∆𝜃𝜃𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝜃𝜃𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)
− 𝜃𝜃𝑢𝑢(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐 − 1)}
Phase Banding Error Difference image
∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� = ∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� + ∆𝜃𝜃𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� Phase difference image including band
error
∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� = 𝑀𝑀𝐴𝐴𝑃𝑃𝑐𝑐𝑢𝑢{𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)
− 𝑌𝑌𝑢𝑢𝑐𝑐(𝑥𝑥𝑐𝑐, 𝑦𝑦𝑐𝑐 − 1)}
Wrapped Phase difference image
𝑇𝑇𝐵𝐵𝐵𝐵 Threshold set to detect Branch Cuts
points
𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢� Binary Branch Cut Indicator Image
1-D BANDING STATISTICS
µ∆�𝑦𝑦𝑢𝑢� = 𝐸𝐸�∆𝑌𝑌𝑢𝑢𝑢𝑢�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢�|𝑦𝑦𝑢𝑢� Average Phase Difference image
69
𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� Average phase ramp
𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� actual phase ramp needs to be estimated
𝜃𝜃𝑢𝑢�𝑦𝑦𝑢𝑢� = 𝜃𝜃𝑢𝑢�𝑥𝑥𝑐𝑐, 𝑦𝑦𝑢𝑢� Banding phase error is not a function of xc
𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� = � µ∆(𝑟𝑟)
𝑦𝑦𝑝𝑝
𝑚𝑚=1
= 𝑌𝑌𝑢𝑢𝑢𝑢,𝑢𝑢�𝑦𝑦𝑢𝑢� + 𝜃𝜃𝑢𝑢�𝑦𝑦𝑢𝑢�
Numerical integration of Average Phase
Difference
𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� = Histogram �𝐵𝐵𝐵𝐵𝐵𝐵�𝑥𝑥𝑐𝑐,𝑦𝑦𝑢𝑢�� Histogram of Binary Branch Cut
Indicator Image
𝑇𝑇𝑢𝑢 Threshold set to decide valid branch cuts
𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢� = �𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢�for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢
0 for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� < 𝑇𝑇𝑢𝑢
Values of Average Phase at BC locations
𝑌𝑌𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) = 𝑌𝑌𝐵𝐵𝐵𝐵𝐼𝐼�𝑦𝑦𝑢𝑢�for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢 Values of Average Phase only at BC
locations, nBC=1,2, ..MBC
MBC Number of branch cuts
𝑦𝑦𝑢𝑢,𝐵𝐵𝐵𝐵𝑓𝑓𝑛𝑛𝐵𝐵𝑦𝑦(𝑛𝑛𝐵𝐵𝐵𝐵) = 𝑦𝑦𝑢𝑢for𝐻𝐻𝐵𝐵𝐵𝐵�𝑦𝑦𝑢𝑢� ≥ 𝑇𝑇𝑢𝑢 Projector space row indices only at BC
locations
( )( ) ( )( )( ) ( )( )nYnY
nynyna
BConlyBConly
BConlypBConlypy −+
−+=
11 ,,
Slope between BCs n and n+1
where n=1,2,…( MBC -1)
( ) ( ) ( ) ( )nynanYnb BConlypyBConlyy ,−= Intercept between BCs n and n+1
𝑌𝑌𝑢𝑢𝑢𝑢𝑓𝑓(𝑛𝑛) = 𝑎𝑎𝑦𝑦(𝑛𝑛)𝑦𝑦𝑢𝑢 + 𝑏𝑏𝑦𝑦(𝑛𝑛) Reference angle between BCs
𝜃𝜃�𝑦𝑦𝑢𝑢� = 𝑌𝑌𝑢𝑢𝑢𝑢,𝐼𝐼�𝑦𝑦𝑢𝑢� − 𝑌𝑌𝑢𝑢𝑢𝑢𝑓𝑓�𝑦𝑦𝑢𝑢� Estimated banding error projector space
70
4.4 Experimental Results of PSDb Algorithm
We present the experimental results of the PSDb algorithm. We still use the same system
set-up as Two-Pattern Full Lateral Resolution SLI system as shown in Fig. 3.16. Note
that although we use our Two-Pattern system to do the experiments, the PSDb algorithm
is applicable to the phase image recovered by any SLI System.
A baseline object for testing the PSDb algorithm is a flat surface as shown in Fig. 4.12.
The flat board in Fig. 4.12 is a piece of flat wood with 18cm by 18 cm size.
Figure 4.12 A Baseline Flat Board to test thePSDbAlgorithm
The 3-D reconstructed surface is shown in Fig. 4.13. The rotated view in Fig. 4.13 right
demonstrates the banding error on the 3-D surface. To demonstrate the banding, in Fig.
4.14 left, the side view of the reconstructed 3-D surface of the flat board is displayed
where the flat board 3-D reconstruction has a significant banding error. The measured
average peak to peak value of the banding error is 2.058mm.
We apply the PSDb algorithm to de-band the recovered phase image from Quadrature
Phase Processing method. The result of PSDb is shown in Fig. 4.14 right.
71
Figure 4.13 Reconstructed 3-D surface, front view (left) and rotated view (right)
Figure 4.14 Side view of the reconstructed 3-D surface of the flat board: Surface with Banding error (left), De-Band Result (Right)
72
From the comparison of the surface with banding with the De-Banded result in Fig. 4.14,
we can see the huge improvement in the 3-D surface reconstruction with the De-Banding
algorithm. The measured average peak to peak value of the banding error is 0.07mm,
which is 30 times less banding error.
Second experimented result is shown in Fig. 4.15, where a human face 3-D scanned by
the Two-Pattern SLI system with our PSDb algorithm applied. The original surface with
banding distortion is shown Fig. 3.22.
Figure 4.15 Human Face Scan. Left One is with texture, right one is metallic 3D surface
The improvement about banding error attenuation in human face scanexperimentis 23×
better. As we know, for human face 3-D surface reconstruction, the nose area and the
eyebrow area are both very hard to reconstruct accurately due to the albedo and depth
jumps. In our PSDb algorithm we need to estimate the ergodic mean, so the big phase
jump around the nose area affects the expectation value of the differentiated phase. These
factors deteriorate the performance of PSDb algorithm for complicate surface
reconstruction.
73
The table below lists the comparison between our algorithm and some other De-banding
methods.
Table 4-2 Comparison between Different De-Banding techniques
De-Banding Method Improvement Require Pre-Calibration for
Banding Error of Scanning
System?
’s Gamma Model for
Gamma Calibration
33× Yes
Active Gamma Correction
Model
12.6× No
Projector Space De-
Banding Method
23× (Complicated Surface)
30×(Smooth Surface)
No
Compared with gamma correction type banding error correction algorithms in table 4-1,
the PSDb is better than active gamma correction and comparable to Kai's gamma model.
However, the PSDb does not require a pre-calibration. For other active De-banding
algorithm, such as active gamma correction model proposed by Zhang, etal, our
algorithm’s performance is much better and is able to handle the complicate surface de-
banding tasks, which is a significant improvement in active de-banding technology. It
should also be noted that the PSDb is a post-processing algorithm so it can be used in
conjunction with pre-calibration algorithm for additional performance.
4.5 Depth Modulation Transfer Function Performance Characterization for SLI
system
After the development of our Two-pattern Full Lateral Resolution SLI depth measuring
system and Projector Space De-Banding algorithm, we proposed a performance
characterization method for performance measurement of SLI system. There are
numerous techniques of 3-D reconstruction or depth measuring based on SLI system,
however, there is not a very standard performance testing or characterization for SLI
system. So in this section, we proposed a method for SLI system performance testing 74
based on the concept of the Matched Transfer Function (MTF).
The performance of the two-pattern method is demonstrated and quantified by
performance measurements. For a SLI sensor, the lateral units of an SLI scan are in world
coordinates {xw, yw, zw} in units of millimeters. We calculate the Matched Transfer
Function in terms of “Depth”, which is called DMTF here. Analogy to the CTF of a 2D
grayscale intensity image, we use depth here in place of intensity to calculate the DMTF,
which shows the performance of the 3D SLI scanner [20].
4.5.1 Background of DMTF and Rotation Stage Experiment
The original MTF math model for a 2D image is based on the modulation index as
𝑀𝑀𝑓𝑓𝑀𝑀𝑆𝑆𝑓𝑓𝑎𝑎𝑟𝑟𝑀𝑀𝑓𝑓𝑛𝑛𝐼𝐼𝑛𝑛𝑀𝑀𝑟𝑟𝑥𝑥 = 𝑚𝑚𝑢𝑢𝑚𝑚−𝑚𝑚𝑚𝑚𝑛𝑛𝑚𝑚𝑢𝑢𝑚𝑚+𝑚𝑚𝑚𝑚𝑛𝑛
(4.22)
Where max the maximum value of the intensity and min is the minimum value of the
intensity. So, MTF is calculated by computing the ratio between other frequency’s
Modulation Index and the DC component’s Modulation Index. However, depth does not
work in this way since the DC component of depth is not a constant value and it
converges to the average height of the surface which is preset. Thus, definition of the
performance measures that is independent of surface cross-section is needed. As
presented by Hassebrook [23], representing a surface cross-section as a set of Fourier
Components allows to access the different components separately in order to obtain
DMTF measures. In this section, we use 6 sinusoidal wave grids as Fourier Components
to compute the DMTF for the two-pattern scanner. Then, we measure the average Peak to
Peak value in the 3D reconstructed surface, and divided by the real Peak to Peak value to
get the modulation index value, and then normalize them to plot DMTF.
Based on the idea of the DMTF and Fourier Transform, we want to test the DMTF
response of the 3D scanner on several directions. So we rotate the sinusoidal grid on x-y
plane to get different DMTF corresponding to different angles.
4.5.2 Experiments Set up and Results
Fig. 4.16 shows the set of the sinusoidal grids (totally 6 grids) used in the experiments,
75
with spatial frequency from 0.0203 cy/mm to 0.32 cy/mm and peak to peak value from
10 mm to 1 mm. A rotation stage is set up to rotate the grid in x-y plane, so the average
depth (z value) of the grid is not changed. Fig. 4.17demonstrates how the rotation stage
works. We mount a sinusoidal grid from the set onto the rotation stage, then we counter-
clock-wise rotate the grid on the stage on the x-y plane from the 90 degree, which means
the grid is vertical (the wave length direction of the grid is parallel to the x axis), to 0
degree. We record 4 positions of the grid on 90 degree, 60 degree, 30 degree and 0
degree.
The scanner apparatus is described in Chapter 3 section 2. A high-end with high
definition camera is used here to capture the projected pattern. The system uses a Canon
EOS-7D high definition camera with resolution 5184 x 3456 and a ViewSonic PJ260D
digital projector with resolution 1024 x 768. The scanner is shown in Fig. 10 right.
The distance between the camera and the projector is 14 inches, and the object is 24
inches away from the projector lens.
Figure 4.16 Set of Sinusoidal Grid in the Experiment(left), scanner settings (right)
76
Figure 4.17 Sinusoidal Grid on the rotation stage, rotate the grid counter-clock-wisely from 90 degree (gird is vertical, top left), 60 degree (top right), 30 degree (bottom left) to 0 degree (grid is horizontal, bottom right).
The Sinusoidal Grid Rotation-Stage experiment procedure is described below:
(1) Fix the rotation-stage to a certain angle, such as 90 degree.
(2) Mount every grid onto the stage, and use the scanner and the software to reconstruct
the 3D surface of the grid then calculate the peak to peak value of the sinusoidal surface.
(3) Use the peak to peak values for each grid to calculate the DMTF for each angle and
each frequency. 77
(4)Continue to rotate the stage. Repeat step 1, 2 and 3.
The result of the DMTF is shown in Fig. 4.18. Each point on the DMTF represents a ratio
between peak to peak value of reconstructed 3D surface and peak to peak value of real
grid at certain sinusoidal grid frequency (cy/mm).
As shown in Fig. 4.18, it shows our system achieves wide bandwidth performance when
the rotation angle is 90 degree and 60 degree. Note that the peak to peak value of real
grid is only 1 mm. Moreover, when the sine wave on the grid surface becomes parallel to
the projected pattern, which is considered as a difficult task for SLI method, the system
still performs well at lower frequency. We see a drop of performance from low frequency
to high frequency and from 90 degree angle to 0 degree angle, which is our expectation
of the performance of our scanner. The drop of the performance is caused by two aspects:
1) the spatial frequency of the board exceeds the spatial frequency of the projected
sinusoidal pattern, this will cause the ambiguity problem; 2) the PSDb algorithm suppress
the high frequency component along the phase direction.
Figure 4.18 DMTF for 90 degree to 0 degree
78
Table 4-3 Depth measurement performance characterization for MCP only
Depth Frequency ft
(cy/mm)
Zp-p,t (mm) 90 Degree Zp-p,mcp
(mm)
0 Degree Zp-p,mcp
(mm)
0.020=1/49.3 10 8.8 8.59
0.027=1/37.5 7.5 6.13 6.57
0.080=1/12.5 5.5 4.03 3.83
0.160=1/6.25 3 1.91 1.28
0.320=1/3.125 2 1.06 0.05
The sinusoidal target frequency ft (cy/mm) as an inverse of spatial wavelength (mm/cy),
accurate target peak-to-peak variation zp-p,t (mm), and MCP rendered peak-to-peak
values, zp-p,MCP (mm), are shown in Table 4-2. The zp-p,MCP measurements were performed
with the sinusoidal targets orientated both 90 degree and 0 degree. [10]
Table 4-4 Depth measurement performance characterization for 2PFLR
Depth Frequency ft
(cy/mm)
Zp-p,t (mm) 90 Degree error (Zp-
p,2PFLR - Zp-p,t )/ Zp-p,t
0 Degree error (Zp-
p,2PFLR - Zp-p,t )/ Zp-p,t
0.020=1/49.3 10 7.80% 14.00%
0.027=1/37.5 7.5 10.38% 19.63%
0.080=1/12.5 5.5 27.20% 29.60%
0.160=1/6.25 3 38.33% 91.33%
0.320=1/3.125 2 49.70% 96.00%
Table 4-3 demonstrates the error measurement for 2PFLR using the developed
performance characterization system.
4.6 Summary
In this chapter we illustrate our PSDb algorithm for Structured Light Illumination system.
Our de-banding algorithm is based on the fundamental idea of estimation of the banding
error in projector space. By mapping the phase image to projector space, all the snakes in
the image are straight, which means for any one row in the image, the banding error stays
the same for each column. In this way, we treat each column of phase image in projector
space as a 1-D stochastic signal and by the stochastic processing described in section 4.2,
79
we are able to estimate the 1-D banding error. We propose a novel method to estimate the
actual phase ramp without banding error based on the interpolation between each two
branch cuts points. The branch cuts points are detect directly from the wrapped phase
image or in our Two-Pattern Full Lateral Resolution SLI depth measuring system, the
snakes’ peaks detected in Modified Composite Pattern is able to be utilized to do branch
cuts location estimation. Then, after we estimate the actual phase ramp, we is able to
calculate the banding error by subtract the actual phase ramp out from the 1-D phase
ramp with the banding error. We then correct each point in the phase image in the camera
space based on this estimated 1-D banding error. Our de-banding algorithm is able to de-
band the 3D reconstruction of any of the Structured Light Illumination system without
pre-calibrate the banding error for the system. Also, the de-banding performance of our
algorithm results in a with 30× improvement, and it has better performance than active
gamma correction method and has performance comparable with sophistic gamma
calibration models.
80
Chapter 5 Relative Motion 3-D Scanner (RM3D)
In Chapter 3, we discussed our research on 2PFLR SLI depth Measuring system to solve
the problem of relative motion within the field of view of the scanner. We extend our
research to solve the problem of relative motion beyond the FOV of the scanner. The goal
of the research in this chapter is to extend the SLI system to scan surface of object larger
than the FOV by moving the scanner across the object to capture a series of non-
ambiguous single pattern scans. Then by correspondence analysis, combine the
overlapping images to achieve both non-ambiguous and high lateral resolution scan,
larger than the scanner FOV.
For any SLI system, a limitation of its application is the FOV of the scanning system.
This is caused by the structure of SLI system itself, since we need to project at least one
pattern to object surface, the object needs to be inside the FOV of both camera and
projector during the scanning procedure. Further limitation to FOV is the lateral
resolution of the scanner. The scanner must be close enough to the object surface to
achieve desired lateral resolution which has the tradeoff of limiting the FOV. Limited by
the effective distance, the FOV of a scanner is not enough to cover many large scale
objects. This raises the need for the 3-D scanner that is able to scan the object by
allowing the relative motion between the scanner and the object. We call this scanner as
Relative Motion 3-D scanner (RM3D). The additional methodology to achieve our goal is
the correspondence analysis between overlapping scans.
We present the following sections to illustrate our research on RM3D scanner. In section
5.1, an introduction briefly describes RM3D scanning system. Section 5.2 describes the
processing techniques for analysis the pattern used in Relative Motion 3-D scanner.
Section 5.3 illustrates the 3-D surface alignment techniques which are used for generated
the completed 3-D surface for a large scale object. Section 5.4 describes our post-
processing method to decrease the accumulate error for the 3D surface alignment.
Experimental results of the Relative Motion 3-D scanner are demonstrated in Section 5.5.
And Section 5.6 is the summary for the whole chapter.
81
5.1 Introduction to Relative Motion 3-D Scanning System
There are numerous techniques in Computer Vision area that are able to reconstruct the
3-D surface or scene without the restriction of the relative position of the scanner and
object, such as Structure from Motion (SfM) and high speed SLI techniques [70]-[74].
However, the result from SfM method is just a point cloud and the 3D points
reconstructed are very sparse compared with SLI method [89]. In RM3D scanning system
research, we introduce a scanning system based on the single pattern Structured Light
Illumination system. The advantage of using single pattern SLI system is that the motion
of the scanner will not affect the 3-D reconstruction procedure as long as the camera
captured the reflected pattern image without blurring. Moreover, many single pattern SLI
techniques can reach a satisfactory accuracy using the MCP technique.
Our fundamental idea of developing Relative Motion 3-D scanning system is to utilize a
non-ambiguous single pattern SLI system to scan across the surface and capture a
sequence of reflected overlapping images. Then, the surface is reconstructed by using
each new image with the correspondence alignment of all processed images to obtain the
completed 3-D surface. Some of the previous work using the same idea is presented in
[41] – [45]. However, from the mathematical model of SLI technique, we know that the
3-D model reconstructed by using SLI technique is in a coordinate space relative to the
scanner.We also know that the camera will change the position during the scan so we
need to estimate the scanner's trajectory to increase the accuracy of the reconstruction.
5.1.1 System Setup for Relative Motion 3-D Scanner
In order to solve the problem of estimating the camera motion, we introduce a new
pattern based on MCP technique with a novel constellation correlation filter pattern
analysis method.
82
Figure 5.1 Relative Motion 3-D Scanning system, folded for portal able
Fig. 5.1 and Fig. 5.2 show the prototype of the RM3D scanning system. The scanner is
about 40cm high and less than 10 pounds in weight. The mechanical design makes the
scanner portable and easy to use in the field or underwater. Fig. 5.2 displays the portable
and operation configuration of the RM3D scanner. From Fig. 5.2 right we can see that
our RM3D scanning system is built as a classical Structure Light Illumination system
which consists of a projector and a camera forming triangulation geometry. A go pro
camera with 1024 by 768resolution and a LED flash light illumination source with a
pattern slide cover on the aperture works as a projector. Without mounting a digital
projector onto the scanner, our system is much more portable by removing the power
cable for the projector and very easy to configure. Also, we can easily change the pattern
that needs to be projected onto the object by replacing the 35mm slide.
83
Figure 5.2 Relative Motion 3-D Scanner, Folded (left) and infolded for operation (right)
5.1.2 Patten Design
Because we need to translate the scanner to scan the large object surfaces, it is inevitable
that the operator will introduce motion of the camera. The projection pattern is designed
to address this issue. We introduce a single pattern technique based on the MCP to solve
the problem of estimating the camera position and alignment. We assume the object
surface is static and only the camera is moving. Fig.5.3 shows the pattern used in Relative
Motion 3-D scanner. There are a total of 9 snakes in the pattern in three groups. In each
group there is a center snake that is modulated and on both side of that snake there is on
un-modulated snake. The modulated snakes yield non-ambiguous cross section. The two
un-modulated snakes are used to improve the cross section accuracy.
This RM3D pattern has two main differences from previous SLI. The first difference is
that instead of using sinusoidal pattern or grid pattern that covers the whole area of
captured image, the pattern for RM3D scanner only has a few of sinusoidal cycles with
84
three modulated snakes. In this way, there are large areas of “white space” in the pattern,
The advantage of this design is the reflected surface in the white space region is used for
correspondence without the disturbance of the snakes.
The second difference is that orthogonally modulated snakes are introduced to this
pattern inspired by MCP. As we stated in Chapter 2, the modulated snakes yield non-
ambiguous results, and the un-modulated snakes which are on both sides of the
modulated snake help to locate and identify it. Also, unlike MCP, the modulated snakes
in the RM3D pattern are not following the Gray Code order, so we don’t use the Matched
Filter Bank technique as illustrated in Chapter 3. In this way, the process time of
analyzing the pattern is much faster than process the MCP.
The RM3D pattern is shown in Fig. 5.3. The number of the snakes in the pattern affects
the accuracy and the area of 3-D surface reconstructed by each frame captured by the
camera, and the area of the white space between snake groups affects the accuracy of
alignment of all the reconstructed 3-D patches. So there is a tradeoff between the
accuracy of the 3-D reconstruction and the accuracy of the correspondence alignment
between patterns. We reach a balance between the number of the snakes and the area of
white space. From Fig. 5.3, the snake wavelength correspond to a total 22 cycles along
the phase direction, and there are 9 snakes which are about 10.5 cycles. So the area of the
snakes are about half of the image total area, and the other half is white space.
85
Figure 5.3 Optical Pattern for Relative Motion Scanning system
5.2Relative Motion 3-D Pattern Analysis
The analysis and processing techniques for the RM3D pattern are illustrated. Although
the RM3D pattern design is based on the MCP, we modify the pattern analysis technique
described in Chapter 3, since only single pattern is used in RM3D scanning system, and a
sequence of images captured by the scanner must be processed. In order to process the
sequence of images efficiently, we introduce a pipeline process for analyzing the RM3D
pattern. There are two processes in the pipeline which are discussed in the following
sections, the first process is the snake detection and tracking for each frame, and the
second part is the camera motion estimation based on a proposed Constellation
Correlation Filter technique.
5.2.1 Snake Detection and Tracking
Similar to the MCP analysis techniques described in Chapter 3, for RM3D pattern
analysis, the modulated snakes in the pattern need to be detected first, then after 86
demodulating, the phase value of each modulated snake are recovered by using the
calibration parameters.
A 1-D Peak to Side-lobe Ratio (PSR) technique is proposed to isolate the snakes and
identify the snakes’ peaks. The 1D-PSR is defined as a 1-D space domain moving filter,
for a given pixel in the image A, 𝑃𝑃1 = 𝑨𝑨(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) , where (𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) is its coordinate in
camera space. The two neighborhood pixels along the phase direction are 𝑃𝑃0 =
𝑨𝑨(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐 − 𝜏𝜏)and 𝑃𝑃2 = 𝑨𝑨(𝑥𝑥𝑐𝑐, 𝑦𝑦𝑐𝑐 + 𝜏𝜏) , where τ is a given integer constant which is a
estimation of the width of a snake. So the 1-D PSR is defined as
𝑃𝑃𝑆𝑆𝑃𝑃𝜏𝜏(𝑃𝑃1) ≡ 𝑃𝑃1max(𝑃𝑃0,𝑃𝑃2) (5.1)
Eq. (5.1) yields the PSR value for a given pixel in the image. We know that the 1-D PSR
model is a peak point evaluation function which compared the intensity value of potential
peak points with its side-lope for a given peak width 𝜏𝜏. Higher PSR value for a given
pixel means this pixel is more likely being a peak value along the phase direction.
However, using a fixed 𝜏𝜏value is not able to offer a satisfactory performance the width of
the snakes vary across the surface. To optimize the result of PSR, in each calculation of
PSR we loop to find the best τ to maximize the PSR value:
𝜏𝜏(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = 𝑎𝑎𝑓𝑓𝑟𝑟𝑟𝑟𝑎𝑎𝑥𝑥𝜏𝜏𝑚𝑚𝑚𝑚𝐵𝐵≤𝜏𝜏≤𝜏𝜏𝑚𝑚𝑚𝑚𝑥𝑥�𝑃𝑃𝑆𝑆𝑃𝑃𝜏𝜏�𝐴𝐴(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)�� (5.2)
where𝜏𝜏𝑚𝑚𝑚𝑚𝑛𝑛 and 𝜏𝜏𝑚𝑚𝑢𝑢𝑚𝑚 are the two bounds for 𝜏𝜏 , and their value is decided during the
calibration procedure. By using the algorithm based on Eq. (5.2), we increase the
robustness of peak detection. The relationship is represented as
𝑨𝑨𝑃𝑃𝑆𝑆𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) = 𝑃𝑃1(𝑚𝑚𝑐𝑐,𝑦𝑦𝑐𝑐)max(𝑃𝑃0,𝑃𝑃2) (5.3)
where 𝑨𝑨𝑃𝑃𝑆𝑆𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) is the PSR image which is then binaried as 𝑩𝑩𝑃𝑃𝑆𝑆𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) =
𝐵𝐵𝑀𝑀𝑛𝑛𝑎𝑎𝑓𝑓𝑦𝑦{𝑨𝑨𝑃𝑃𝑆𝑆𝑃𝑃(𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐)| �1,𝑤𝑤𝑀𝑀𝑟𝑟ℎ 𝑝𝑝 > 𝑇𝑇0,𝑤𝑤𝑀𝑀𝑟𝑟ℎ 𝑝𝑝 < 𝑇𝑇} (5.4)
87
whereT is a threshold set by experiment. In this research threshold is set to 1.18. An
example of 1-D PSR peak isolation is shown in Fig. 5.4.
Figure 5.4 Original Image under test (left), result after PSR peak detection process (right)
As shown in Fig. 5.4, the PSR technique detects the snake regions effectively and
efficiently. After generating the binarized PSR image 𝑩𝑩𝑃𝑃𝑆𝑆𝑃𝑃, we define the very center of
the region of each isolated snake along the phase direction in 𝑩𝑩𝑃𝑃𝑆𝑆𝑃𝑃 as the peak location as
the same as in Chapter 3 for pattern analysis. Then we store the peaks location in the
matrix 𝒀𝒀as represented in Eq. (3.7), and using the Matched Filters Bank to demodulate
the snakes as the same procedures illustrated in Chapter 3.
After demodulating the snakes in the matrix𝒀𝒀, the phase values for each snake are
assigned based on the calibration file. We then save the detection result in a data structure
called Snake4 Volume (𝑆𝑆4𝑉𝑉) which consists of four snakes’ matrices: Sp, Sy, Si, and Sz.
𝑆𝑆4𝑉𝑉 = [𝑺𝑺𝑢𝑢,𝑺𝑺𝑦𝑦,𝑺𝑺𝑚𝑚 ,𝑺𝑺𝑧𝑧] (5.5)
The definition for the four 𝑀𝑀𝑆𝑆 × 𝑁𝑁 matrices is expressed in Eq. (5.6) (a) to (d).
𝑺𝑺𝑢𝑢 ≡ 𝑟𝑟𝑎𝑎𝑟𝑟𝑓𝑓𝑀𝑀𝑥𝑥 𝑓𝑓𝑓𝑓 𝑟𝑟ℎ𝑟𝑟 𝑝𝑝𝑟𝑟𝑎𝑎𝑘𝑘 𝑀𝑀𝑛𝑛𝑟𝑟𝑟𝑟𝑛𝑛𝑐𝑐𝑟𝑟𝑦𝑦 𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟𝑎𝑎𝑐𝑐ℎ 𝑐𝑐𝑛𝑛𝑎𝑎𝑘𝑘𝑟𝑟
𝑺𝑺𝑢𝑢(𝑥𝑥𝑐𝑐,𝑟𝑟) = 𝒀𝒀(𝑥𝑥𝑐𝑐,𝑟𝑟) (5.6a)
𝑺𝑺𝑦𝑦 ≡ 𝑟𝑟𝑎𝑎𝑟𝑟𝑓𝑓𝑀𝑀𝑥𝑥 𝑓𝑓𝑓𝑓 𝑟𝑟ℎ𝑟𝑟 𝑦𝑦 𝑐𝑐𝑓𝑓𝑓𝑓𝑓𝑓𝑀𝑀𝑀𝑀𝑛𝑛𝑎𝑎𝑟𝑟𝑟𝑟 𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟𝑎𝑎𝑐𝑐ℎ 𝑐𝑐𝑛𝑛𝑎𝑎𝑘𝑘𝑟𝑟
𝑺𝑺𝑦𝑦(𝑥𝑥𝑐𝑐,𝑟𝑟) = 𝑦𝑦𝑐𝑐 (5.6b)
88
𝑺𝑺𝑚𝑚 ≡ 𝑟𝑟𝑎𝑎𝑟𝑟𝑓𝑓𝑀𝑀𝑥𝑥 𝑓𝑓𝑓𝑓 𝑟𝑟ℎ𝑟𝑟 𝑀𝑀𝑛𝑛𝑀𝑀𝑀𝑀𝑐𝑐𝑎𝑎𝑟𝑟𝑓𝑓𝑓𝑓 𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟𝑎𝑎𝑐𝑐ℎ 𝑐𝑐𝑛𝑛𝑎𝑎𝑘𝑘𝑟𝑟
𝑺𝑺𝑚𝑚(𝑥𝑥𝑐𝑐,𝑟𝑟) = �1, 𝑓𝑓𝑓𝑓𝑓𝑓 𝒀𝒀(𝑥𝑥𝑐𝑐,𝑟𝑟) > 00, 𝑓𝑓𝑓𝑓𝑓𝑓 𝒀𝒀(𝑥𝑥𝑐𝑐,𝑟𝑟) = 0 (5.6c)
𝑺𝑺𝑧𝑧 ≡ 𝑟𝑟𝑎𝑎𝑟𝑟𝑓𝑓𝑀𝑀𝑥𝑥 𝑓𝑓𝑓𝑓 𝑟𝑟ℎ𝑟𝑟 𝑧𝑧 𝑐𝑐𝑓𝑓𝑓𝑓𝑓𝑓𝑀𝑀𝑀𝑀𝑛𝑛𝑎𝑎𝑟𝑟𝑟𝑟 𝑀𝑀𝑛𝑛 3𝐷𝐷 𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟𝑎𝑎𝑐𝑐ℎ 𝑐𝑐𝑛𝑛𝑎𝑎𝑘𝑘𝑟𝑟 (5.6d)
Where matrix𝒀𝒀 is defined in Eq. (3.7), (𝑥𝑥𝑐𝑐,𝑦𝑦𝑐𝑐) is the coordinate for snakes’ peak
locations in camera space image, and 𝑟𝑟 indices are the snake’s index number. So for the
four snakes matrices, the size is 𝑀𝑀𝑆𝑆 height and 𝑁𝑁 width, where 𝑀𝑀𝑆𝑆 ≡
Number of detected snakes, and𝑁𝑁 ≡ width of original Image 𝑨𝑨, and 𝑟𝑟 ∈ [1,𝑀𝑀𝑆𝑆].
The reason to store the detected snakes in𝑆𝑆4𝑉𝑉 data structure is to reduce the space
complexity of the algorithm. Because there are only 9 snakes in the RM3D pattern, i.e.
𝑀𝑀𝑆𝑆 = 9, so the total space request for 𝑆𝑆4𝑉𝑉 structure is 3 × 9 × 𝑁𝑁 = 27𝑁𝑁. The total space
required to store the PSR image in our research is 768N, where 768 is the width of the
captured image. Thus, we reduce the space costs about 28 times.
89
Figure 5.5 Snake Matrix Sy for Relative Motion 3-D pattern
Fig. 5.5 shows the 𝑺𝑺𝑦𝑦 matrix after the PSR peak detection for the RM3D pattern analysis.
The nine snakes are detected and stored in the matrix following the order of the snake
number. The snake index number has a correspondence with the camera y coordinate as
shown in Fig. 5.5.
After detecting the 9 snakes in the RM3D pattern for the first captured frame and storing
the information in the 𝑆𝑆4𝑉𝑉 data structure, one patch of the 3-D surface is reconstructed
through reconstruction technique for Modified Composite Pattern described in Chapter 3.
However, the 1-D PSR method used in snake detection is not as robust as the snake peak
isolation method used in Two-Pattern SLI system, due to the variation of light conditions
and the modulated snakes as shown in Fig. 5.6.
90
Figure 5.6RM3D scan of test surface (left), PSR detection result(right)
Fig. 5.6 right displays the 1-D PSR detection result for a captured frame from Relative
Motion 3-D scan. In the resulting PSR image, some sections of the snakes are not
detected, and the detection rate for the modulated snakes are not as high as expected due
to the light condition. So the snake growing technique is utilized to post process the
detected snakes’ peaks after PSR process.
Figure 5.7 4-Connected Neighborhood
Like the snake growing algorithm used in Casey’s work, we connect or “grow” from left
to right, and since mathematically the 4-connected neighborhood are defined as the 4
pixels around the center pixel indicated by the black spots in Fig. 5.7, there is no need to
grow from right to left. The pixel in red is the pixel under analysis.
A two pass 4-connected neighborhood checking method is used to find 4-connected
component, one pass to record equivalences and assign temporary labels and the second
to replace each temporary label by the label of its equivalence class [21].
91
Connectivity checks are carried out by checking the labels of pixels that are top right, top
center to the center, top left and left of the current pixel. Conditions to check:
1. Does the pixel to the left have the same value?
1. Yes - We are in the same region. Assign the same label to the current pixel
2. No - Check next condition
2. Do the pixels to the top and left of the current pixel have the same value but not
the same label?
1. Yes - We know that the top and left pixels belong to the same region and
must be merged. Assign the current pixel the minimum of the top and left
labels, and record their equivalence relationship
2. No - Check next condition
3. Does the pixel to the left have a different value and the one to the top the same
value?
1. Yes - Assign the label of the top pixel to the current pixel
2. No - Check next condition
4. Do the pixel's top and left neighbors have different pixel values?
1. Yes - Create a new label ID and assign it to the current pixel
92
Figure 5.8 Snakes Peaks Detection result after snake growing
The final result of snake detection is shown in Fig. 5.8. The white lines which lie on the
pattern are the snake's peaks detected and grown by the algorithm.
After growing the snakes in the first frame, we don’t have to re-run the snake growing
algorithm for every frame in our system. A tracking algorithm across frames to track
snakes. The fundamental idea of the snake tracking algorithm is that the snakes’ position
in the captured images will not change much from frame to frame. This idea based on the
assumption that the relative motion between the scanner and the object during the
scanning procedure is smooth in translation and in-plane rotation and there is no extreme
out-planes rotation of the scanner. Without extreme out-plane rotation, the capture image
always has the pattern lies on similar location as the previous captured image. Based on
this idea and assumption, the snake tracking algorithm:
(1) For a given ith frame (not the first one), utilize the 1-D PSR detection method to
detect the Snake Peaks.
(2) Read in previous frame’s 𝑆𝑆4𝑉𝑉, and generate the snake peak image based on 𝑆𝑆4𝑉𝑉.
(3) For each detect peak point (𝑥𝑥𝑚𝑚,𝑦𝑦𝑚𝑚) in ith frame, compare with the all the peak points 93
with the same x coordinate in i-1frame (𝑥𝑥𝑚𝑚−1,𝑛𝑛,𝑦𝑦𝑚𝑚−1,𝑛𝑛). If�𝑦𝑦𝑚𝑚−1,𝑛𝑛 − 𝑦𝑦𝑚𝑚� < 𝑇𝑇𝑠𝑠, given 𝑥𝑥𝑚𝑚 =
𝑥𝑥𝑚𝑚−1,𝑛𝑛, where n is the snake number for the snakes’ peak points in i-1th frame and 𝑇𝑇𝑠𝑠 is a
pre-defined threshold for the snake tracking process. Then this peak point (𝑥𝑥𝑚𝑚, 𝑦𝑦𝑚𝑚)
belongs to the snake with snake number n, and labels this point as valid snake peak points.
(4) Store all the labeled peak points into a new 𝑆𝑆4𝑉𝑉data structure for current frame.
(5) Continue to next frame.
In our research the threshold is set to 𝑇𝑇𝑠𝑠 = 4, which means there is at most 4 pixel
differences between the current frame’s snake peaks and the previous frame’s.
5.2.2 Camera Position Estimation by using Constellation Correlation Filters
The RM3D pattern has white space is between the number 3 and number 4 snakes, and
number 6 and number 7 snakes, the white space area is able to be located by using the
𝑆𝑆4𝑉𝑉 data structure. We assume the scanning speed of the scanner allows for a large
overlap area between two consecutive frames in the captured frame sequence. So, we are
able to align the frames based on the captured surface texture within the white space.
Based on the alignment of the frames, the fundamental idea of the camera position
estimation is to calculate the 2-D transformation including translation and rotation
between each two consecutive frames, then secondly, the 3-D surface information is
reconstructed [53] [56].
It is well known that image correlation technique based on composite filters [48]-[51] is
an efficient, effective and robust method to match two similar signals. So, correlation
technique is widely used in many pattern recognition and image processing applications.
In our research, the correlation method is also utilized to align the surfaces between the
two captured frames. However, if we directly correlate the two consecutive frames, the
results are corrupted by noise and spatial distortion. To get a more accurate and robust
result, we use a Constellation Correlation Filters method.
As shown in Fig. 5.9, we partitioned the captured surface into several partitions within
the white space. We refer to that partitions as constellations and the alignment algorithm
94
correlates the constellation partitions between two consecutive frames. 14 partitions
(marked as white squares) are utilized which are displayed in Fig. 5.9.
Figure 5.9 Partitions (white areas) for Constellation Correlation
The mathematical model of correlating the constellations is illustrated as follows. For two
consecutive frames 𝐴𝐴𝑚𝑚 and 𝐴𝐴𝑚𝑚+1 in the captured sequence, the partition is represented as:
𝑆𝑆𝑚𝑚,𝑗𝑗 ≡ 𝑗𝑗 𝑟𝑟ℎ 𝑝𝑝𝑎𝑎𝑓𝑓𝑟𝑟𝑀𝑀𝑓𝑓𝑛𝑛 𝑀𝑀𝑛𝑛 𝑟𝑟ℎ𝑟𝑟 𝑀𝑀 𝑟𝑟ℎ 𝑓𝑓𝑓𝑓𝑎𝑎𝑟𝑟 (5.7)
Then, the correlation result for each corresponded partition is expressed in Eq. (5.8).
𝐵𝐵𝑗𝑗𝑚𝑚,𝑚𝑚+1 = 𝑆𝑆𝑚𝑚,𝑗𝑗 ∗ 𝑆𝑆𝑚𝑚+1,𝑗𝑗 (5.8)
where the 𝐵𝐵𝑗𝑗𝑚𝑚,𝑚𝑚+1 is the correlation result between the jth partition of i and i+1 frames, and
∗ denotes the correlation.
95
(a) (b)
(c)
Figure 5.10(a) Number 3 partition in current frame; (b) Number 3 Partition in previous frame; (c) Correlation results with shifting the peak to the middle of the image
An example of two partitions and their correlation result is shown in Fig. 5.10. In Fig.
5.10(c), the peak of the correlation provides the information of the translation to align the
two partitions. The translation is stored in a matrix 𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 as expressed in Eq. (5.9).
𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 = �
𝑥𝑥𝑡𝑡𝑦𝑦𝑡𝑡� (5.9)
96
where 𝑥𝑥𝑡𝑡 stands for the translation in x direction and 𝑦𝑦𝑡𝑡 stands for the translation in y
direction.
However, not all the correlation results of the partitions are accurate, so a Mean Square
Displacement (MSD) checking process is proposed to eliminate the wrong correlation
results. The partitions in the ith frame is translated by using the matrix 𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 at first:
𝑆𝑆𝑇𝑇𝑚𝑚,𝑗𝑗(𝑥𝑥,𝑦𝑦) = 𝑆𝑆𝑚𝑚,𝑗𝑗(𝑥𝑥 + 𝑥𝑥𝑡𝑡,𝑦𝑦 + 𝑦𝑦𝑡𝑡) (5.10)
where 𝑆𝑆𝑇𝑇𝑚𝑚,𝑗𝑗 is the translated jth partition in frame i.
We calculate the Mean Square Displacement for jth partition 𝐸𝐸𝑗𝑗 as
𝐸𝐸𝑗𝑗 =∑ ∑ �𝑆𝑆𝑚𝑚𝑚𝑚,𝑗𝑗(𝑚𝑚,𝑛𝑛)−𝑆𝑆𝑚𝑚+1,𝑗𝑗(𝑚𝑚,𝑛𝑛)�
2𝑁𝑁𝑠𝑠𝐵𝐵=1
𝑀𝑀𝑠𝑠𝑚𝑚=1
𝑃𝑃𝑠𝑠𝑁𝑁𝑠𝑠 (5.11)
whereMsandNs are the width and height of the partition. A threshold 𝑇𝑇𝐸𝐸 is set to check if
the 𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 is a valid translation.
𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 = �
𝑉𝑉𝑎𝑎𝑓𝑓𝑀𝑀𝑀𝑀, 𝑓𝑓𝑓𝑓𝑓𝑓 𝐸𝐸𝑗𝑗 < 𝑇𝑇𝐸𝐸𝑁𝑁𝑓𝑓𝑟𝑟 𝑣𝑣𝑎𝑎𝑓𝑓𝑀𝑀𝑀𝑀, 𝑓𝑓𝑓𝑓𝑓𝑓 𝐸𝐸𝑗𝑗 ≥ 𝑇𝑇𝐸𝐸
(5.12)
In Eq. (5.12) , we utilize the calculated MSD of each pair of partitions to label the
translation matrix 𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 . The invalid translations are eliminated and only valid
translations are used. Fig. 5.11 plots the exponential MSD for the 14 partition pairs.
97
Figure 5.11 Exponential MSD of 14 Partitions
In Fig 5.11, we display the exponential MSD as
𝐸𝐸𝑥𝑥𝑝𝑝𝑀𝑀𝑆𝑆𝐷𝐷𝑗𝑗 = 𝑟𝑟−𝐸𝐸𝑗𝑗 (5.13)
where 𝐸𝐸𝑗𝑗 is the MSD in Eq. (5.12). We use 𝐸𝐸𝑥𝑥𝑝𝑝𝑀𝑀𝑆𝑆𝐷𝐷𝑗𝑗 because low 𝐸𝐸𝑗𝑗 approaches 1 and
high 𝐸𝐸𝑗𝑗 approaches 0.
Based on the valid correlation results which are expressed as translation matrices, the 2-D
transformation matrix is able to be calculated. We express the 2-D coordinate in
homogenous coordinate, so the 2-D transformation matrix is a 3 by 3 matrix, and
accordingly the 3-D transformation matrix is a 4 × 4 matrix. The 2-D transformation
matrix satisfies the Eq. (5.14) below.
�𝑥𝑥0,𝑡𝑡𝑦𝑦0,𝑡𝑡𝑟𝑟� = 𝑻𝑻2𝐷𝐷 �
𝑥𝑥0𝑦𝑦01� (5.14)
98
where 𝑻𝑻2𝐷𝐷 is the 3 × 3 2-D transformation matrix, (𝑥𝑥0,𝑦𝑦0)is the original 2-D coordinates,
and the transformed coordinates are
�𝑥𝑥1𝑦𝑦1� = �
𝑚𝑚0,𝑡𝑡𝑡𝑡𝑦𝑦0,𝑡𝑡𝑡𝑡
� (5.15)
where the (𝑥𝑥1,𝑦𝑦1) are the transformed 2-D coordinates. From Eq. (5.14) we know that in
order to calculate the 2-D transformation matrix 𝑻𝑻2𝐷𝐷, the two homogenous coordinates
are needed. And then, the transformation matrix is calculated as Eq. (5.16).
𝑽𝑽0𝑻𝑻2𝐷𝐷 = 𝑽𝑽𝑡𝑡(5.16)
where
𝑽𝑽𝑡𝑡 = �𝑥𝑥0,𝑡𝑡𝑦𝑦0,𝑡𝑡𝑟𝑟� (5.17a)
𝑽𝑽0 = �𝑥𝑥0𝑦𝑦01� (5.17b)
From the results of the correlation for two consecutive frames 𝐴𝐴𝑚𝑚 and 𝐴𝐴𝑚𝑚+1 in the
captured sequence which are illustrated in above, the two vectors 𝑽𝑽0 and 𝑽𝑽𝑡𝑡are able to be
generated. Since (𝑥𝑥0,𝑦𝑦0) is the 2-D coordinates before the transformation, all the
coordinates lie in the valid partitions 𝑆𝑆𝑚𝑚,𝑗𝑗(𝑥𝑥, 𝑦𝑦) in 𝐴𝐴𝑚𝑚 are allowed to be utilized in the
coordinate vector 𝑽𝑽0 . To get the vector 𝑽𝑽𝑡𝑡 , we use the correlation result 𝐵𝐵𝑇𝑇𝑗𝑗𝑚𝑚,𝑚𝑚+1 to
translate the coordinates in valid partitions 𝑆𝑆𝑚𝑚,𝑗𝑗(𝑥𝑥,𝑦𝑦) to get the coordinates (𝑥𝑥0,𝑡𝑡,𝑦𝑦0,𝑡𝑡)as
illustrated in Eq. (5.18).
�𝑥𝑥0,𝑡𝑡𝑦𝑦0,𝑡𝑡
� = �𝑥𝑥0𝑦𝑦0� + 𝐵𝐵𝑇𝑇𝑗𝑗
𝑚𝑚,𝑚𝑚+1 = �𝑥𝑥0 + 𝑥𝑥𝑡𝑡𝑦𝑦0 + 𝑦𝑦𝑡𝑡
� (5.18)
However, there are at least 14 partitions and the size of the partitions are 64 by 64 in our
research, so we have total 64 × 64 × 14 = 57344 sample points that can be used as 𝑽𝑽0.
In order to get an accurate estimation of the 2-D transformation matrix, the more points
are required to be used in the calculation process. This results in a typical least square 99
problem, so the classical least square method is chosen to utilize more points to improve
the estimation of 𝑻𝑻2𝐷𝐷. The least square representation is expressed in Eq. (5.19a).
𝑻𝑻2𝐷𝐷 ∙ 𝑴𝑴0 = 𝑴𝑴𝑡𝑡(5.19a)
where 𝑴𝑴𝑡𝑡 and 𝑴𝑴0 are the matrices composed by the homogenous coordinates vectors as
represented in
𝑴𝑴0 = [𝑽𝑽01 ⋯ 𝑽𝑽0𝑛𝑛] (5.19b)
𝑴𝑴𝑡𝑡 = [𝑽𝑽𝑡𝑡1 ⋯ 𝑽𝑽𝑡𝑡𝑛𝑛] (5.19c)
In order to calculate the 2-D transformation matrix, we need to calculate the pseudo-
inverse of the matrix 𝑴𝑴0. A widely used pseudo inverse calculation method is Moore-
Penrose pseudo inverse method, which is expressed in Eq. (5.20).
𝑻𝑻2𝐷𝐷 = 𝑴𝑴𝑡𝑡𝑴𝑴0𝑚𝑚(𝑴𝑴0𝑴𝑴0
𝑚𝑚)−𝟏𝟏(5.20)
where 𝑴𝑴0𝑚𝑚 is the transpose of the marix𝑴𝑴0.
The 2-D transformation between two consecutive frames is estimated from the
constellation and has the parameters as
𝑻𝑻2𝐷𝐷 = �𝑐𝑐𝑓𝑓𝑐𝑐𝜃𝜃 𝑐𝑐𝑀𝑀𝑛𝑛𝜃𝜃 𝑟𝑟𝑚𝑚−𝑐𝑐𝑀𝑀𝑛𝑛𝜃𝜃 𝑐𝑐𝑓𝑓𝑐𝑐𝜃𝜃 𝑟𝑟𝑦𝑦
0 0 1� (5.21)
where𝜃𝜃 denotes the clock-wise rotation angle, 𝑟𝑟𝑚𝑚 and 𝑟𝑟𝑦𝑦 are the translation in x and y
directions, respectively.
The camera is moving in 3-D coordinates, so the estimation of 𝑻𝑻2𝐷𝐷 is not enough to
determine the 3-D of the camera. However, if we make some assumptions, the 3-D
transformation matrix 𝑻𝑻3𝐷𝐷 can be approximated by using the 3-D cross section
information.
In the prototype RM3D Scanner, we assume there is no significant movement along the z
direction, and we assume no out of plane rotation. Under these assumptions, the
100
translation in z in 𝑻𝑻3𝐷𝐷 is zero, and there is only in-plane rotation relate to z axis.
𝑻𝑻3𝐷𝐷isexpressed as
𝑻𝑻3𝐷𝐷 = �
𝑐𝑐𝑓𝑓𝑐𝑐𝜃𝜃 𝑐𝑐𝑀𝑀𝑛𝑛𝜃𝜃 0 𝑟𝑟𝑚𝑚′−𝑐𝑐𝑀𝑀𝑛𝑛𝜃𝜃 𝑐𝑐𝑓𝑓𝑐𝑐𝜃𝜃 0 𝑟𝑟𝑦𝑦′
0 0 1 𝑟𝑟𝑧𝑧′0 0 0 1
� (5.22)
where𝜃𝜃 is the clock-wise rotation angle, and 𝑟𝑟𝑚𝑚′ , 𝑟𝑟𝑦𝑦′ , and 𝑟𝑟𝑧𝑧′ are the translation along x, y
and z directions, respectively and 𝑟𝑟𝑧𝑧′ is almost 0.
The 𝜃𝜃 is estimated in Eq. (5.21), so the 3-D rotation is estimated in Eq. (5.22). Our goal
is to estimate 𝑟𝑟𝑚𝑚′ , 𝑟𝑟𝑦𝑦′ , and 𝑟𝑟𝑧𝑧′ based on 2-D translation 𝑟𝑟𝑚𝑚 and 𝑟𝑟𝑦𝑦 . In our research, we
proposed a method to solve this problem based on the calibration based on the
assumption that there is not a big depth jump between two consecutive frames. Fig. 5.12
demonstrates the geometry of estimation of 𝑟𝑟𝑚𝑚′ and 𝑟𝑟𝑦𝑦′ .
As shown in Fig. 5.12, O is the optical center of the camera. During the calibration
process, we calibrate for a translation in 𝑟𝑟𝑚𝑚 and its corresponding translation in 3-D at
depth 𝑀𝑀1, which is 𝑟𝑟𝑚𝑚,𝑑𝑑1′ . The relationship is expressed as
𝑟𝑟𝑚𝑚,𝑑𝑑1′ = 𝑑𝑑1
𝑓𝑓𝑟𝑟𝑚𝑚 (5.23)
And for𝑟𝑟𝑦𝑦′ , we have the same relationship and same calculation procedures.
101
Figure 5.12 Geometry of estimation of 3-D transformation matrix
As described in section 5.2.1, after we demodulated the snakes, we are able to get the
depth of the snakes. So in Eq. (5.25), depth d1 is known, and f is calibrated during the
calibration process. In this way the 3-D translation 𝑟𝑟𝑚𝑚,𝑑𝑑1′ at d1 depth is calculated. Also for
the 3-D translation at y direction 𝑟𝑟𝑦𝑦′ , we have the same process. Then, the 3-D
transformation matrix 𝑻𝑻3𝐷𝐷 is recovered. Fig. 5.13 summarizes the pattern analysis
algorithm.
102
Figure 5.13Block Diagram for Snake Tracking and Constellation Correlation for Transformation Matrix Estimation algorithm
5.3 3-D Surface Alignment Based on Estimated Transformation Matrix
Based on the results from section 5.2, in this section we illustrate the technique and
process of aligning the 3-D patches into a big large scale 3-D surface.
The fundamental idea is to use each frames' detected snakes which are stored in the 𝑆𝑆4𝑉𝑉
data structure to reconstruct a 3-D patch for the frame, then use the estimated 3-D
transformation matrix to align the 3-D patches for each frame into a larger point cloud
representing the surface. Fig. 5.14 displays the recovered phase image of the nine snakes
103
for one frame. Based on this phase image, we are able to directly reconstruct the 3-D
surface which are captured in this frame by using the MCP 3-D reconstruction technique.
Figure 5.14 Recovered Phase Image for the nine snakes, depth information for only nine snakes
We use the 3-D transformation matrix between each two frames which is 𝑇𝑇3𝐷𝐷𝑚𝑚,𝑚𝑚+1 , to
transform the reconstructed 3-D coordinates. Fig. 5.15 shows the point cloud of
transformation result.
Figure 5.15 Point Cloud for 3-D reconstruction of all aligned patches, side view (left), frontal view (right)
104
5.4 Post Processing to Decrease the Accumulate Error
We know that the transformation matrix 𝑻𝑻3𝐷𝐷 is calculated based on the correlation
between two consecutive frames, however, this technique will have the accumulate error.
In this section, we describe the post processing method for decrease the accumulate error
for the aligned 3-D reconstruction.
Our goal is to decrease the accumulated error and correct the 𝑻𝑻3𝐷𝐷 between each two
consecutive frames. Since the 3-D transformation matrix 𝑻𝑻3𝐷𝐷 is calculated based on the
transformation matrix 𝑻𝑻2𝐷𝐷, we decide to correct 𝑻𝑻2𝐷𝐷directly then re-calculate 𝑻𝑻3𝐷𝐷. The
basic idea of decreasing the accumulate error is to re-calculate the 𝑻𝑻2𝐷𝐷𝑛𝑛−1,𝑛𝑛 based on not
just on an adjacent frame but a series of frames more distant in displacement. That is, the
two frames are separated by k frames in time, let 𝑻𝑻2𝐷𝐷𝑛𝑛−1,𝑛𝑛 be the transformation matrix
between the n-1th frame and nth frame, and kdenotes the distance between two frames.
Firstly, in order to effectively decrease the accumulate error, we varies the k from 2 to a
fixed upper-bound K as expressed as follows:
𝑘𝑘 ∈ [2,𝐾𝐾] (5.24)
Then, we re-calculate the 2-D transformation matrix between nth frame and n-kth frame,
which is expressed as
𝑻𝑻2𝐷𝐷𝑛𝑛−𝑘𝑘,𝑛𝑛 = ∏ 𝑻𝑻2𝐷𝐷
𝑛𝑛−𝑚𝑚,𝑛𝑛−(𝑚𝑚−1)𝑘𝑘𝑚𝑚=0 (5.25)
Then, by using the 2-D transformation matrix 𝑻𝑻2𝐷𝐷𝑛𝑛−𝑘𝑘,𝑛𝑛, we align the n-kth frame and nth
frame. Since we have accumulated error, the two frames are not perfectly aligned.
Then, we follow the procedures described in section 5.2 to use the constellation
correlation filters to calculate a 2-D transformation matrix 𝑻𝑻𝐵𝐵 which is a correction
matrix. This 𝑻𝑻𝐵𝐵 corrected the matrix 𝑻𝑻2𝐷𝐷𝑛𝑛−𝑘𝑘,𝑛𝑛 to achieve improved alignment as
𝑻𝑻2𝐷𝐷,𝐵𝐵𝑛𝑛−𝑘𝑘,𝑛𝑛 = 𝑻𝑻𝐵𝐵𝑻𝑻2𝐷𝐷
𝑛𝑛−𝑘𝑘,𝑛𝑛 (5.26)
where𝑻𝑻2𝐷𝐷,𝐵𝐵𝑛𝑛−𝑘𝑘,𝑛𝑛 is the corrected 2-D transformation matrix with decreases accumulated error.
105
Then, we calculate the corrected 2-D transformation as
𝑻𝑻𝑘𝑘𝑛𝑛−1,𝑛𝑛 = 𝑻𝑻2𝐷𝐷,𝐵𝐵
𝑛𝑛−𝑘𝑘,𝑛𝑛 ∙ ∏ (𝑻𝑻2𝐷𝐷𝑛𝑛−𝑚𝑚,𝑛𝑛−(𝑚𝑚−1))−1𝑘𝑘−1
𝑚𝑚=1 (5.27)
where 𝑻𝑻𝑘𝑘𝑛𝑛−1,𝑛𝑛 is the corrected 2-D transformation matrix for 𝑻𝑻2𝐷𝐷
𝑛𝑛−1,𝑛𝑛 based on the
correlation between n-k and n frame. The final step is to average all the calculated 𝑻𝑻𝑘𝑘𝑛𝑛−1,𝑛𝑛
for each k to get a 2-D transformation matrix with decreased accumulated error.
𝑻𝑻2𝐷𝐷,𝐷𝐷𝐷𝐷𝐸𝐸𝑛𝑛−1,𝑛𝑛 = 1
𝐾𝐾−1∑ 𝑻𝑻𝑘𝑘
𝑛𝑛−1,𝑛𝑛𝐾𝐾𝑘𝑘=2 (5.28)
We refer 𝑻𝑻2𝐷𝐷,𝐷𝐷𝐷𝐷𝐸𝐸𝑛𝑛−1,𝑛𝑛 as reduced accumulated error (RAE). Then we repeat the process for all
the transformation matrices to decrease the accumulate error.
The algorithm for decreasing the accumulated error is summarized as follows:
for nth frame in the captured frames:
for k from 2 to K:
calculate 𝑻𝑻2𝐷𝐷𝑛𝑛−𝑘𝑘,𝑛𝑛;
transform frame 𝐴𝐴𝑛𝑛 to align with frame 𝐴𝐴𝑛𝑛−𝑘𝑘 by using 𝑻𝑻2𝐷𝐷𝑛𝑛−𝑘𝑘,𝑛𝑛;
calculate the correction transformation matrix 𝑻𝑻𝐵𝐵;
use𝑻𝑻𝐵𝐵 to correct 2-D transformation matrix 𝑻𝑻2𝐷𝐷,𝐵𝐵𝑛𝑛−𝑘𝑘,𝑛𝑛, the result is 𝑻𝑻2𝐷𝐷,𝐵𝐵
𝑛𝑛−𝑘𝑘,𝑛𝑛;
calculate the corrected 2-D transformation matrix 𝑻𝑻𝑘𝑘𝑛𝑛−1,𝑛𝑛;
end
average𝑻𝑻𝑘𝑘𝑛𝑛−1,𝑛𝑛to get 𝑻𝑻2𝐷𝐷,𝐷𝐷𝐷𝐷𝐸𝐸
𝑛𝑛−1,𝑛𝑛 ;
end
5.5 Experimental Results of 3-D Motion Scanner
The experiment setup is shown in Fig. 5.16,we mounted the scanner on to a trailin order 106
to ensure there is no out-plane rotation. The object is surface is shown in Fig. 5.17. We
put a towel onto an artifact to create a large scale object surface.
Figure 5.16 Experimental setup
107
Figure 5.17 Front view of scanned object surface (left), side view of scanned object (right)
Fig. 5.18 displays the result of points cloud of the scanned object surface. We can see the
points cloud is not as dense as traditional SLI scan. However, the actual shape of the
object surface is reconstructed. And further research needed to achieve a higher accuracy
of the reconstruction.
5.6 Summary
In this chapter the Relative Motion 3-D Scanning system is discussed and illustrated.
Unlike the classical SLI depth measuring system, our system focus on developing a 3-D
scanner allows the relative motion beyond the Field of View of scanner. In our research,
we designed a new pattern especially for the Relative Motion 3-D scanning system, and
this pattern is designed based on the MCP technique. Not only the 3-D depth information
is able to be retrieved by the 9 snakes in the pattern, but also we can use the captured
surface texture to do the alignment. A constellation correlation filters technique is
developed to align the frames in the captured image sequences. By utilizing this 108
technique, the 2-D transformation matrix between two consecutive frames is estimated
robustly. Furthermore, the 3-D transformation matrix for the estimation of camera
position is estimated by using the 2-D transformation matrix. In this way, the points cloud
for the large scale object surface is recovered by aligning the 3-D patches reconstructed
from each frame through the 3-D transformation matrix. The final step is to decrease the
accumulated error to achieve a better reconstruction. A post processing technique is
developed.
109
Chapter 6 Conclusion and Future Research
We summarize our present and the future research in section 6.1 and 6.2 respectively.
Section 6.1 summarizes all the work in our present research for2PFLR SLI andRM3D
SLI depth measuring, and section 6.2 provides the direction for future research based on
the results of our current research.
6.1 Conclusion
Our research focuses on developing high speed and high accuracy SLI depth measuring
system which can be applied to solve many problems in Computer Vision and 3-D data
acquisition area. SLI technique is widely researched and already being used in many
industrial 3-D scanners due to its high accuracy and non-ambiguity reconstruction.
However, in order to achieve a high accuracy result, most of the SLI techniques rely on
multi-pattern SLI techniques which are sensitive to continuous relative motion between
the scanning system and the object surface. Multi-pattern method suffer from banding
distortion and require lower velocities of the object and have tolerance toward depth
ambiguity. This raises the need for developing high speed 3-D scanning systems with
reduced sensitivity to the relative motion between the scanner and the object.
Based on the fundamental idea of the single pattern SLI technique, our first research
direction is to study a high speed SLI system that allows the relative motion within the
FOV of the scanner. We introduce Two-pattern Full Lateral Resolution (2PFLR) SLI
depth measuring system. At first analysis, this seems to share the same sensitivity to
motion between patterns but in fact we have separated functionality of the two patterns to
allow continuous motion, certainly more than 3 patterns PMP technique. Single pattern
SLI system, such as Composite Pattern (CP), Modified Composite Pattern, and de-bruijn
modulated Pattern are not able to achieve a high accuracy result. To solve this problem
and inspired by the non-ambiguous MCP technique, we introduce the2PFLR SLI system.
By including a second high frequency sinusoidal pattern, we not only achieve the full
lateral resolution which in turn leads to a high accuracy 3-D reconstruction, but also
reduce the number of the patterns utilized to two. Since there are only two patterns in our
110
2PFLR, the system is comparable to the single pattern technique in the term of the speed.
And the most significant feature is our 2PFLR system allows the relative motion between
the scanner and the object as long as the object stays in the FOV of the scanner. In our
2PFLR system, the first pattern is a MCP associated with an improved processing
technique based on Casey's work, and the second pattern is a high frequency sinusoidal
pattern. The MCP is utilized to achieve non-ambiguous 3-D reconstruction. The 2nd
pattern is used to achieve full lateral resolution with a novel Quadrature Processing
technique.
Although our 2PFLR SLI system achieves the goal of high scanning speed, the 3-D
reconstruction has a significant banding distortion. The banding distortion is an issue in
the SLI techniques due to the gamma distortion of the projected sinusoidal wave,
interference by surface contrast, and quantization error of the hardware system. The
banding artifact corrupts the 3-D surface and affects the accuracy of the depth
measurement. To reduce the banding error, we introduce a Projector Space De-banding
(PSDb) algorithm which is applicable to most SLI systems. Our PSDb algorithm is based
on the estimation of the banding error in projector space, and actively suppresses it in
camera space.
The second research direction is to allow the relative motion beyond the FOV the
scanner. The goal of this research is to develop a portable SLI scanning system for large
scale object 3-D reconstruction. We introduce a single pattern SLI system combined with
image correspondence alignment to achieve surface scan areas beyond the scanner FOV.
We design a new single pattern based on MCP technique that has open areas for image
correspondence. To achieve robust correspondence that allows for irregular scanner
trajectory, a Constellation Correlation Filter method is developed to track the camera by
estimating the 3-D transformation matrix sequence of the camera. We use a two pass
approach to increase the accuracy of the alignment across several frames to reduce
accumulated error. By using the 3-D transformation matrix sequence, all the image
frames are aligned to a single point cloud of the entire surface.
111
6.2 Future Research
For the 2PFLR SLI depth measuring system, the accuracy depends on the frequency of
the 2nd sinusoidal pattern, however this spatial frequency is limited by the first MCP, so
the future research may try other types of non-ambiguous single pattern for non-
ambiguous phase recovery. For the RM3D scanner research, the scanning system needs
estimation of out plane rotation to allow more robust images in uncontrolled environment.
The future research may include testing other Computer Vision technologies and
algorithms to improve the camera tracking problem and combine with the SLI techniques
to achieve a more robust and portable 3-D scanning system.
112
References
[1] H. S. Yang, K. L. Boyer, and A. C. Kak, "Range data extraction and interpretation by
structured light," in Proc. 1st IEEE Conference Artificial Intelligence. Applications, Dec.
1984, pp. 199-205.
[2] K. L. Boyer, and A. C. Kak, “ Color-Encoded Structured Light for Rapid Active
Ranging”, IEEE Transactions on Pattern Analysis and Machine Intelligence, VOL,
PAMI-9, NO.1, January 1987
[3] V. Srinivasan, H. C. Liu, and M. Halioua, “ Automated Phase-measruingProfilometry
of 3D Diffuse Objects”, Applied Optics, Vol 23, Issue 18, 1884
[4] Mitsuo Takeda, and Kazuhhiro Mutoh, “Fourier Transform Profilometry for the
Automatic Measurement of 3D Object Shapes”, Applied Optics, Vol. 22, No. 24,
Decemeber, 1983
[5] Dalit Capspi, Nahum Kiryati, and Joseph Shamir, “Range Imaging With Adaptive
Color Structured Light”, IEEE Transactions on Pattern Analysis and Machine
Intelligence, Vol. 20, NO. 5, May, 1998
[6] C. Guan, L. G. Hassebrook, and D. L. Lau, “Composite Structured Light Pattern for
Three-Dimensional Video”, Optics Express, Vol. 11, No. 5, March 2003
[7] G. Schmaltz of Schmaltz Brothers Laboratories, “A method for presenting the profile
curves of rough surfaces”, Naturwiss 18, 315–316 (1932).
[8] Chun Guan, Laurence G. Hassebrook, Daniel L. Lau, Veeraganesh G. Yalla, and
Charles J. Casey, “Improved Composite-Pattern Structured Light Profilometry by Means
of Post processing”, Optical Engineering, Vol. 47, No. 9, September, 2008.
[9] Pratibha Gupta, “Gray Code Composite Pattern Structured Light Illumniation”,
Master Thesis, University of Kentucky, 2007.
[10] Charles Casey, Laurence G. Hassebrook, Minghao Wang, “Depth Matched Transfer
113
Function of the Modified Composite Pattern Structured Light Illumination Method”,
high-speed 3D optical metrology and applications, Optical Engineering, 2014
[11] Li Zhang, Brian Curless, and Steven M. Seitz, “Rapid Shape Acquisition Using
Color Structured Light and Multi-pass Dynamic Programming”, IEEE 1st International
Symposium on 3D Data Processing Visualization and Transmission, 2002
[12] Paul M. Griffin, Lakshmi S. Narasimhan and Soung R. Yee, “Gerneration of
Uniquely Encoded Light Patterns for Ranged Data Acquisition”, Pattern Recognition,
Vol. 25, No. 6, 1992.
[13] Jielin Li, Laurence G. Hassebrook, and Chun Guan, "Optimized two-frequency
phase-measuring profilometry light-sensor temporal-noise sensitivity,"J. Opt. Soc. Am. A,
20(1), 2003.
[14] H. Morita, K. Yajima, S. Sakata, Reconstruction of surfaces of 3-d objects by m-
array pattern projection method, in: IEEE International Conference on Computer Vision,
1988, pp. 468–473.
[15] O. Hall-Holt and S. Rusinkiewicz, “Stripe Boundary Codes for Real-Time
Structured-Light Range Scanning of Moving Objects,” Proc. Int'l Conf. Computer Vision,
pp. 359-366, 2001.
[16] C. J. Casey, L.G. Hassebrook and D. L. Lau, “Structured Light Illumination
Methods for Continuous Motion Hand and Face-Computer Interaction,” Human-
Computer Interaction, New Developments, International Journal of Advanced Robotic
System, edited by KikuoAsai, published by In-Teh, Croation branch of I-Tech Education
and Publishing KG, Vienna, Austria, pp 297-308, (copyright 2008) ISBN 978-953-7619-
14-5.
114
[17] Jaihui Pan, Peisen S. Huang, and Fu-Pen Chiang, “Color-phase shifting technique
for threedimensional shape measurement,” Optical Engineering -- January 2006 --
Volume 45, Issue 1, 013602
[18] M. Maruyama and S. Abe, “Range sensing by projecting multiple slits with random
cuts,” IEEE Trans. Pattern.Anal. Mach. Intell.15, 647–651 (1993).
[19] Ryusuke Sagawa, Ryo Furukawa, and Hiroshi Kawasake, “ Dense 3D
Reconstruction from High Fram-Rage Video Using a Static Grid Pattern”, Submitted to
IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013.
[20] C. Radhakrishna Rao, “Wiley Series in Probability and Mathematical Statistics”,
Chapter 1, Section 1b, John Wiley & Sons, Inc. 1965
[21] H. Samet and M. Tamminen (1988)."Efficient Component Labeling of Images of
Arbitrary Dimension Represented by Linear Bintrees".IEEE Transactions on Pattern
Analysis and Machine Intelligence, 1988.
[22] Dennis C. Ghiglia, and Mark D. Pritt, “Two-Dimensional Phase Unwrapping –
Theory, Algorithms, and Software”, Chapter 4, section 4.2, John Wiley & Sons, Inc.
1998
[23] H. Zhao, W. Chen, and Y. Tan, “Phase-unwrapping Algorithm for the Measurement
of Three-dimensional Object Shapes”, Applied Optics, 33, 4497-4500 (1994).
[24] Daniel L. Lau, Kai Liu, and Laurence Hassebrook, “Real-time three-dimensional
shape measurement of moving objects without edge errors by time-synchronized
structured illumination”, Optics Letters, Vol. 35, No. 14, July 15, 2010.
[25] Xu Zhang, Limin Zhu, Youfu Li, and DaweiTu, “Generic non-sinusoidal fringe
model and gamma calibration in phase measuring profilometry”, Opt. Soc. Am. A, Vol.
29, No. 6, June 2012.
[26]B. Pan, Q. kemao, L. Huang, and A. Asundi, “Phase error analysis and compensation 115
for non-sinusoidal waveforms in phase-shifting digital fringe projection profilometry”,
Opt. Lett. 34(4), 2906-2914, 2009.
[27] K. Liu, Y. Wang, D. L. Lau, Q. Hao, and L. G. Hassebrook, “Gamma model and its
analysis for the phase measuring profilometry”, Opt. Lett. 35(2), 1992-1994, 2010.
[28] Minghao Wang, Laurence G. Hassebrook, “A novel two-pattern full lateral
resolution structured light illumination method”, Optical Pattern Recognition XXV
conference, SPIE Defense + Security, May 14, 2014
[29] De Piero, F. and M. Trivedi, “3D Computer Vision using Structured Light: Design,
Calibration, and Implementation Issues”, Advanced in Computers, 43, pp. 243-278, 1996
[30] E. Trucco and A. Veri, “Introductory Techniques for 3-D Computer Vision”,
Prentice Hall, 1998
[31] J. Weng, P. Cohen, and M. Herniou, “Camera Calibration with distortion models and
accuracy evaluation”, IEEE Trans. Pattern Analysis Machine Intel., 14: 965-980, 1992
[32] Faugeras, “Three Dimensional Computer Vision: a geometric approach”,
Cambridge, Mass: MIT Press, 1993
[33] Yongchang Wang, Kai Liu, Qi Hao, Xianwang Wang, D.L. Lau and L.G.
Hassebrook, “Robust Active Stereo Vision Using Kullback-Leibler Divergence,” IEEE
PAMI, Vol. 34, no. 3, pp. 548-563, March 2012.
[34] Jie-lin Li, “Camera Calibration and Noise Analysis Structured Light Illumination
Active Range Finders” (2000). University of Kentucky Master’s Theses.
[35] Y. Wang, K. Liu, Q. Hao, D. L. Lau, and L. G. Hassebrook, “Period coded phase
shifting strategy for real-time 3-D structured light illumination acquisition and
reconstruction," IEEE Trans. Image Proc., vol. 20, no. 11, pp. 3001-3013, Nov. 2011.
[36] Charles Casey, L.G. Hassebrook, Eli Crane and Aaron Davidson, “Multi-Feature
Distortion-Insensitive Constellation Detection,” Applied Optics, Vol. 50, No. 12, pp 1650-
1659, April (2011). 116
[37] Yongchang Wang, L.G. Hassebrook and D.L. Lau, “Data Acquisition and
Processing of 3-D Fingerprints,” IEEE Transactions on Information Forensics &
Security, Vol. 5, No. 4, pp 750-760, December (2010).
[38] K. Liu, Y. Wang, D. L. Lau, Q. Hao, and L. G. Hassebrook, “A maximum SNR
pattern strategy for phase shifting methods in structured light illumination," J. Opt. Soc.
Am. A, vol. 27, no. 9, pp. 1962-1971, Sept. 2010.
[39] Kai Liu, Yongchang Wang, Daniel L. Lau, Qi Hao and L. G. Hassebrook, “Dual-
frequency pattern scheme for high-speed 3-D shape measurement,” Optics Express, Vol.
18(5), pp. 5229-5244, March 2010.
[40] Y. Ohta and T. Kanade, “Stereo by intra- and inner-scanline search using dynamic
programming”, IEEE Transactions on Pattern Analysis and Machine Intelligence,
PAMI7(2):139-154, March 1985.
[41] Wei Su and L. G. Hassebrook, “Pose and position tracking with Super Image Vector
Inner Products” Applied Optics, Vol. 45, No. 31, pp 8083-8091 (November 2006).
[42] Jie-lin Li, L.G. Hassebrook and Chun Guan, “Optimized Two-Frequency Phase-
Measuring-Profilometry Light-Sensor Temporal-Noise Sensitivity,” JOSA A, 20(1), 106-
115, (2003).
[43] W. J. Chimitt and L.G. Hassebrook, “Scene reconstruction from partially
overlapping images with use of composite filters,” JOSA A, 16(9), 2124-2135, September
(1999).
[44] R. C. Daley and L. G. Hassebrook, "Channel capacity model of binary encoded
structured light-stripe illumination," Applied Optics, 37(17), 3689-3696, June (1998).
[45] M. Wang, J. Evans, L. G. Hassebrook and C. Knapp, "A Multi-Stage, Optimal
Active Contour," IEEE Transactions on Image Processing , 5(11), 1586-1591,
(November 1996).[46] M. Rahmati and L. G. Hassebrook, "Intensity- and Distortion-
Invariant Pattern Recognition with Complex Linear Morphology," Pattern Recognition,
27(4), 549-568, (April 1994). 117
[47] L. G. Hassebrook, Subramanian and P. Pai, "Optimized Three-Dimensional
Recovery From Two-Dimensional Images by Means of Sine Wave Structured Light
Illumination," Optical Engineering, 33(1), 219-229, (January 1994).
[48] L. G. Hassebrook, M. Rahmati and B.V.K. Vijaya Kumar, "Hybrid Composite Filter
Banks for Distortion-Invariant Optical Pattern Recognition," Optical Engineering, 31,
923-933, (May 1992).
[49] L. G. Hassebrook, B.V.K. Vijaya Kumar and L. Hostetler, "Linear Phase Coefficient
Composite Filter Banks for Distortion-Invariant Optical Pattern Recognition," Optical
Engineering, 29, 1033-1043, (Sept. 1990).
[50] B.V.K. Vijaya Kumar and L. G. Hassebrook, "Performance Measures for
Correlation Filters," Applied Optics, 29, 2997-3006, (July 1990).
[51] B.V.K. Vijaya Kumar, Z. Bahri and L. G. Hassebrook, "Correlation Filters for
Distortion-Invariant Pattern Recognition," Journal of the Institute of Electronics and
Telecommunications Engineer, 35(2), 105-113, (1989).
[52] L. G. Hassebrook, Minghao Wang, Raymond C. Daley, “Performance
characterization of structured light based fingerprint scanner,” invited paper to be
submitted to SPIE International Symposium on Defense and Security + Sensing,
Biometric and Surveillance Technology for Human and Activity Identification,
Baltimore, Vol. 8712, 871205-(pp. 1-11) May 2013.
[53] V. Yalla, L. G. Hassebrook, R. Daley, C. Boles and M. Troy, “Full-hand 3D non-
contact scanner using sub-window-based structured light-illumination technique,” Proc.
SPIE 8371, Sensing Technologies for Global Health, Military Medicine, Disaster
Response, and Environmental Monitoring II; and Biometric Technology for Human
Identification IX, 837110 (May 1, 2012).
[55] Charles Casey and L.G. Hassebrook, “Automated modified composite pattern single
image depth acquisition,” Three-Dimensional Imaging, Visualization, and Display 2011.
SPIE Defense and Security Symposium, edited by Bahram Javidi, Jung-Young Son,
118
Orlando, Florida, Vol. 8043, (May 2011).
[56] V. Yalla, R. Daley, C. Boles, L. Hassebrook, K. Fleming and M. Troy, “High
Quality 3D Fingerprint Acquisition Using Novel Sub-window Based Structured Light
Illumination Approach,” SPIE Optics and Photonics for Information Processing IV,
edited by Abdul A. S. Awwal, Khan M. Iftekharuddin and Scott C. Burkhart, San Diego,
CA, Vol. 7797, 77970R, pp 1-10 (August 2010).
[57] E. R. Crane, L.G. Hassebrook, C.T. Begley, W. F. Lundby and C. J. Casey,
“Methodology and Technology for Rapid Three-Dimensional Scanning of In Situ
Archaeological Materials in Remote Areas,” “Fusion of Cultures,” F.J. Melero, P. Cano,
and J. Revelles (eds), Granada; pp 51-54, ISBN: 978-84-693-0772-4 (April 2010).
[58] Wei Su, Laurence G. Hassebrook and Siddarth Hariharan, " Facial Feature Tracking
with the Super Image Vector Inner Product," Automatic Target Recognition XVII, SPIE
Defense and Security Symposium, edited by Firooz A. Sadjadi, Orlando, Florida. Vol.
6555, (April 2007).
[59] Yongchang Wang, Kai Liu, Qi Hao, Daniel Lau, and Laurence G. Hassebrook,
“Multicamera Phase Measuring Profilometry For Accurate Depth Measurement,” Sensors
and Systems for Space Applications, SPIE Defense and Security Symposium, edited by
Richard T. Howard; Robert D. Richards, Orlando, Florida. Vol. 6555, pp 655509-1 to
6555509-12, (April 2007).
[60] Wei Su, L.G. Hassebrook and D. L. Lau, "Active Pattern Projection for Increasing
Range of Pulsed Range Sensors," Edited by Peter Tchoryk, Jr. and Brian Holz, SPIE
Defense and Security, Spaceborne Sensors II, Orlando, Florida, Vol. 5798-18, (March 28,
2005).
[61] Veera Ganesh Yalla and L.G. Hassebrook, "Very-High Resolution 3D Surface
Scanning using Multi-Frequency Phase Measuring Profilometry," Edited by Peter
Tchoryk, Jr. and Brian Holz, SPIE Defense and Security, Spaceborne Sensors II,
Orlando, Florida, Vol. 5798-09, pp 44-53 (2005).
119
[62] Chun Guan, L.G. Hassebrook and D. L. Lau, "Composite Pattern Structured Light
Projection for Human Computer Interaction in Space," Edited by Peter Tchoryk, Jr. and
Brian Holz, SPIE Defense and Security, Spaceborne Sensors II, Orlando, Florida, Vol.
5798-05, (March 28, 2005).
[63] Chun Guan, L.G. Hassebrook and Daniel Lau, "Optical Processing of Composite
Pattern Structured Light Projection for High Speed Depth Measurement," Edited by
Bahram Javidi and Demetri Psaltis, SPIE Symposium on Optical Science and Technology,
Optical Information Systems II , Denver, Colorado, Vol. 5557-5, (August 2004).
[64] Chun Guan, L.G. Hassebrook and Daniel L. Lau, "Real-Time 3-D Data Acquisition
for Augmented Reality Man and Machine Interfacing," Edited by N. L. Faust and W. E.
Roper, SPIE Proceedings on Geo-Spatial and Temporal Image and Data Exploitation III,
Vol. 5097, pp 40-47, (April 2003).
[65] L. G. Hassebrook, William J. Chimitt, Jr., and Jielin Li, " Registration of Partially
Overlapping Images Using Composite Filters," Edited by D.P. Casasent and T.H. Chao,
SPIE Proceedings on Optical Pattern Recognition XI, (April 2000).
[66] William J. Chimitt and L. G. Hassebrook, "Automatic scene reconstruction from
partially overlapping images using on line filter design," Edited by D.P. Casasent and
T.H. Chao, SPIE Proceedings, 3386-22, 171-181, (April 1998).
[67] L. G. Hassebrook, Ray C. Daley and William Chimitt, "Application of
Communication Theory to High Speed Structured Light Illumination," Edited by Harding
and Svetkoff, SPIE Proceedings, 3204(15), 102-113 (October 1997).
[68] L.G. Hassebrook, M. Rahmati, R.C. Daley and M.E. Lhamon, "Complex Linear
Morphology for Intensity- and Distortion-Invariant Pattern Recogntion," SPIE
Proceedings, 2237(4), 27-39, (April 1994).
[69] Robert Sitnik, “Four-dimensional measurement by a single-frame structured light
method”, Applied Optics, Vol. 48, No. 18, 20 June 2009.
[70] Thibaut Weise, Bastian Leibe and Luc Van Gool, “Fast 3D Scanning with 120
Automatic Motion Compensation”, 1-4244-1180-7/07, IEEE.
[71] Evan Lally, Jianmin Gong, and Anbo Wang, “Method of Multiple References for 3D
imaging with Fourier Transform Interferometry”, Optics Express, Vol. 18, No. 17,
August 2010.
[72] Sai Siva gorthi, Gannavarpu Rajshekhar, and Pramod Rastogi, “Investigation to
realize a computationally efficient implementation of the high order instantaneous-
moments-based fringe analysis method”, Optical Engineering, Vol. 49, No. 6, June, 2010.
[73] Martin Schaffer, Marcus Grosse, and Richard Kowarschik, “High-speed pattern
projection for three-dimensional shape measurement using laser speckles”, Applied
Optics, Vol. 49, No. 18, June 2010.
[74] Martin Schaffer, Marcus Grosse, Bastian Harendt, and Richard Kowarschik,
“Coherent two-beam interference fringe projection for high speed three-dimensional
shape measurements”, Applied Optics, Vol. 52, No. 11, April 2013.
[75] Marcus Grosse, Martin Schaffer, Bastian Harendt, and Richard Kowarschik, “Fast
data acquisition for three-dimensional shape measurement using fixed-pattern projection
and temporal coding”, Optical Engineering, Vol. 50, No. 10, October, 2011.
[76] Yajun Wang, Song Zhang, “Superfast multifrequency phase-shifting technique with
optimal pulse width modulation”, Optic Express, Vol. 19, No. 6, March 2011.
[77] Thomas T. Lu, and Tien-Hsin Chao, “A high-resolution and high-speed 3D imaging
system and its application on ATR”, SPIE Symposium on Defense and Security, Optical
Pattern Recognition XVII, 2006.
[78] Deokhwa Hong, Hyunki Lee, Min Young Im, Hyungsuck Cho, and Jeon II Moon,
“Sensor fusion of phase measuring profilometry and stereo vision for three-dimensional
inspection of electronic components assembled on printed circuit boards”, Applied
Optics, Vol. 48, No. 21, July 2009.
[79] Katherine Miller, “Communication Theory: Perspectives, Process, and Contexts”,
121
ISBN: 978-0072937947.
[80] Keller K and Ackerman J, “Real-time structured light depth extraction”, SPIE
Photonics Wet-Electronic Imaging, 3158, pp. 11-19, 2000.
[81] J. Proakis and M. Salehi, “Communication Systems Engineering”, 2nd Edition,
Prentice Hall, 2002.
[82] R. Kolluri, “Provably Good Moving Least Squares”, Proc. Of the 2005 ACM-SLAM
Symposium on Discrete Algorithms, 1008-1018, Vancouver, Canada, January 2005.
[83] T. Weyrich, M. Pauly, R. Keiser, S. Heinzle, S. Scandella and M. Gross,
“Postprocessing of 3D Scanned Surface Data”, Proc. Of the Eurographics Symposium on
Point-Based Graphics, 2004.
[84] L. W. Couch II, “Digital and Analog Communication System”, Seventh Edition,
Prentice Hall, 2001.
[85] V. Yalla, Wei Su, and L.G. Hassebrook, “Multi-spot projection, tracking and
calibration”, Optical Pattern Recognition XIV, SPIE’s Aerosense 2003, Vol. 5106-26,
2003.
[86] L. G. Hassebrook, and Daniel L. Lau, “Lock and Hold Structured Light
Illumination”, recommended for Patent Application, University of Kentucky Intellectural
Property Development CASE 1428, University of Kentucky, August, 2006.
[87] K. Itoh, “Analysis of the phase unwrapping algorithm”, Applied Optics, 21 2470,
1982.
[88] N. G. Durdle, J. Tayyoor and V. J. Raso, “An improved structured light technique
for surface reconstruction of the human trunk”, IEEE Canadian Conference on Electrical
and Computer Engineering, 2, 874-877, 1998.
[89] T. Strand, “Three-Dimensional Sensing for Machine Vision”, Optical Engineering,
24, 33-40, 1985.
122
[90] S. Zhang, “Recent progresses on real-time 3-D shape measurement using digital
fringe projection techniques,” Opt. Laser Eng., 48(2), 149-158 (2010)
[91] S. Zhang, “High-resolution 3-D profilometry with binary phase-shifting methods,”
Appl. Opt., 50(12) 1753-1757 (2011).
[92] Yang Wang, M Gupta, S Zhang, S Wang, X Gu, D Smaras, P Huang, “High
resolution tracking of non-rigid motion of densely sampled 3D data using harmonic
maps”, International Journal of Computer Vision, Vol. 76, No. 3, pp 283-300, 2008.
[93] L. Ekstrand and S. Zhang, “3-D profilometry with nearly focused binary phase-
shifting methods,” Opt. Lett. 36(23) 4518-4520 (2011).
[94] Guan Chun, “Composite pattern for single frame 3D acquisition”, University of
Kentucky Doctoral Dissertation.
[95] Charles Casey, “Enhancement to the Modified Composite Pattern method of
Structured Light 3D capture” (2011), University of Kentucky Doctoral Dissertation. Page
226.
[96] Eli Crane, “Rotate and Hold and Scan (RAHAS): Structured Light Illumination in
the Rio Platano Biosphere, Honduras” (2011) University of Kentucky Master’s Thesis.
Page 119.
[97] Pethe, Akshay, "Super resolution 3d scanning using spatial light modulator and band
correction" (2008). University of Kentucky Master's Theses. Page 550.
[98] Cavaturu, Raja Kalyan Ram, "Motion Correction Structured Light using Pattern
Interleaving Technique" (2008). University of Kentucky Master's Theses. Page 551.
[99] D. Nister. Automatic Dense Reconstruction from Uncalibrated Video Sequences.
PhD Thesis, Royal Institute of Technology KTH, Stockholm, Sweden, ISBN 91-
7283-053-0, 2001.
[100] Liang Wang, “Novel Dense Stereo Algorithms for High-quality Depth Estimation 123
from Images” (2011). University of Kentucky Doctoral Dissertation.
[101] R. Hartley and A. Zisserman, “Multiple View Geometry in Computer Vision”,
Cambridge University Press, ISBN: 0521623049, 2000.
[102] Pierre Payeur and Danick Desjardins, “Structured light stereoscopic imaging with
dynamic pseudo-random noise patterns”, Image analysis and recognition, Vol. 5627, pp
687-699, 2009.
124
VITA
Minghao Wang received his B.S in Electrical Engineering from Beihang University in
2011. Since then Minghao has pursued a Ph.D in Electrical and Computer Engineering at
University of Kentucky. His research interests include Structured Light Illumination,
Computer Vision, Image Processing, and Digital Signal Processing.
125