Structured Light for 3D Scanning
Implementation Details
Douglas Lanman
EN 292-34: 3D Photography
May 15, 2007
1
Gray Code Structured Lighting
Point Grey Flea2
(15 Hz @ 1024 x 768)
Mitsubishi XD300U
(50-85 Hz @ 1024 x 768)
3D Reconstruction using Structured Light [Inokuchi 1984]
Recover 3D depth for each pixel using ray-plane intersection
Determine correspondence between camera pixels and projector planes by
projecting a temporally-multiplexed binary image sequence
Each image is a bit-plane of the Gray code for each projector row/column
Structured Light for 3D Scanning References: [1,2] 2
Gray Code Structured Lighting
Binary Image Sequence
Each image is a bit-plane of the binary code for each projector row/column
Minimum of 10 images to encode 1024 columns or 768 rows
In practice, 20 images are used to encode 1024 columns or 768 rows
Projector/camera(s) must be roughly synchronized
Structured Light for 3D Scanning References: [1,2] 3
Gray Code Structured Lighting
Gray Code Image Sequence
Bin2Gray(B,G)
Each image is a bit-plane of the Gray
code for each projector row/column 1 G←B
Requires same number of images as 2 for i ← n-1 downto 0
a binary image sequence, but has 3 G[i] ← B[i+1] xor B[i]
better performance in practice
Structured Light for 3D Scanning References: [1,2] 4
Gray Code Structured Lighting
Recovered Rows Recovered Columns
3D Reconstruction using Structured Light [Inokuchi 1984]
Our implementation uses a total of 42 images
(2 to measure dynamic range, 20 to encode rows, 20 to encode columns)
Individual bits assigned by detecting if bit-plane (or its inverse) is brighter
Decoding algorithm: Gray code Æ binary code Æ integer row/column index
Structured Light for 3D Scanning References: [1,2] 5
Overview of Projector-Camera Calibration
2
2
4
7
1
3
3
1
6
5
2
1
1
2
4
3
5
6
2
2
4
1
3
Estimated Camera Lens Distortion
Camera Calibration Procedure
Uses the Camera Calibration Toolbox for Matlab by J.-Y. Bouguet
Normalized Ray Distorted Ray (4th-order radial + tangential) Predicted Image-plane Projection
Structured Light for 3D Scanning References: [4,5,6] 6
Overview of Projector-Camera Calibration
4.5 4 3.5 .5
3 3 3.5 44
2.5 2.5
3 2 2 3
2.5 1 .5 1. 5
2
1 1 2
1. 5
5 1.
1
0.5 0.5
1
0.5
0.5
Estimated Projector Lens Distortion
Projector Calibration Procedure
Consider projector as an inverse camera (i.e., maps intensities to 3D rays)
Observe a calibration board with a set of fidicials in known locations
Use fidicials to recover calibration plane in camera coordinate system
Project a checkerboard on calibration board and detect corners
Apply ray-plane intersection to recover 3D position for each projected corner
Use Camera Calibration Toolbox to recover intrinsic/extrinsic projector
calibration using 2D→3D correspondences with 4th-order radial distortion
Structured Light for 3D Scanning References: [4,5,6] 7
Overview of Projector-Camera Calibration
Zc2 Xc2
Zc1
Yc (mm)
Zp Oc2
0 Oc1 1500
Xc1 Op Xp
200
Yp Yc2 1000
400 Yc1
Zc (mm)
0 500
500
Xc (mm) 1000 0
Projector-Camera Calibration Results
Implemented complete toolbox for projector-camera calibration
Sufficient accuracy for structured lighting applications
Future version will incorporate final global bundle adjustment
Structured Light for 3D Scanning References: [4,5,6] 8
Gray Code Structured Lighting: Results
Structured Light for 3D Scanning 9
References
3D Reconstruction using Structured Light
1. J. Salvi, J. Pages, and J. Batlle. Pattern Codification Strategies in Structured Light Systems.
Pattern Recognition, April 2004.
2. S. Inokuchi, K. Sato, and F. Matsuda. Range Imaging System for 3D Object Recognition.
Proceedings of the International Conference on Pattern Recognition, 1984.
Projector and Camera Calibration Methods
3. R. Legarda-Sáenz, T. Bothe, and W. P. Jüptner. Accurate Procedure for the Calibration of a
Structured Light System. Optical Engineering, 2004.
4. R. Raskar and P. Beardsley. A Self-correcting Projector. CVPR 2001.
5. S. Zhang and P. S. Huang. Novel Method for Structured Light System Calibration. Optical
Engineering, 2006.
6. J.-Y. Bouguet. Complete Camera Calibration Toolbox for Matlab.
http://www.vision.caltech.edu/bouguetj/calib_doc.
Visual Hull: Silhouette-based 3D Reconstruction
7. A. Laurentini. The Visual Hull Concept for Silhouette-based Image Understanding. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 1994.
Structured Light for 3D Scanning 10