Projector Calibration Presentation
Projector Calibration Presentation
Projector Calibration Presentation
October 2012
Overview
Geometric calibration
Z’
• Projector-Camera extrinsics:
Kproj Y
X’ Rotation and translation:
Y’
R,T R,T
cols
Triangulation 3
Pointclouds from several
viewpoints can be merged into a
single one and used to build a 3D
… … model
rows
3
Data acquisition 1 Decode 2 Mesh 4
Camera calibration: well-known problem
Pinhole model + radial distortion How do we find correspondences?
0 0 1 X
x K L( X ; k1 , k2 , k3 , k4 ) y
x
X: 3D point x1=[x,y]T
x2
x2 K L( R2 X T2 ; k1 , k2 , k3 , k4 )
If we have enough X↔x point x3 x3 K L( R3 X T3 ; k1 , k2 , k3 , k4 )
correspondences we can solve for …
all the unknowns
Images from different viewpoints
4
Projector calibration: ?
fx s cx
K proj 0 fy cy x K proj L( X ; k1 , k2 , k3 , k4 )
0 0 1
Features:
Simple to perform:
- no special equipment required
- reuse existing components
Accurate:
- there are no constrains for the mathematical model used to describe the projector
- we use the full pinhole model with radial distortion (as for cameras)
Robust:
- can handle small decoding errors
7
Proposed method: acquisition
Traditional camera calibration
• requires a planar checkerboard (easy to make with a printer)
• capture pictures of the checkerboard from several viewpoints
… … …
8
Proposed method: decoding
9 (*) Y. Xu and D. G. Aliaga, “Robust pixel classification for 3D modeling with structured light”
Proposed method: projector calibration
1) Each camera pixel is associated to a projector row and column, or set to UNCERTAIN
2) The map is not bijective: many camera pixels corresponds to the same projector pixel
𝑞1 = 𝐻1 ∙ 𝑝1 𝐻1
𝑞1
𝑝1
𝑞2 = 𝐻2 ∙ 𝑝2
…
𝑞𝑛 = 𝐻𝑛 ∙ 𝑝𝑛
projected image Local Homographies captured image
x' H x
System extrinsics
Once projector and camera intrinsics are known we calibrate the extrinsics (R and T)
parameters as is done for camera-camera systems
Using the previous correspondences, x↔ x’, we fix the coordinate system at the
camera and we solve for R and T:
~
x1 L1 ( Kcam
1
x1; k1 , k2 , k3 , k4 ) x'1 K proj L( R ~
x1 T ; k '1 , k '2 , k '3 , k '4 )
x’
x ~
x2 L1 ( Kcam
1
x2 ; k1 , k2 , k3 , k4 ) x'2 K proj L( R ~
x2 T ; k '1 , k '2 , k '3 , k '4 )
~
x3 L1 ( Kcam
1
x3 ; k1 , k2 , k3 , k4 ) x'3 K proj L( R ~
x3 T ; k '1 , k '2 , k '3 , k '4 )
R, T … …
13
Calibration software
Software
The proposed calibration method can be
implemented fully automatic:
- The user provides a folder with all the images
- Press “calibrate” and the software
automatically extracts the checkerboard
corners, decode the structured-light pattern,
and calibrates the system
Algorithm
1. Detect checkerboard corner locations for each plane orientation
2. Estimate global and direct light components
3. Decode structured-light patterns
4. Compute a local homography for each checkerboard corner
5. Translate corner locations into projector coordinates using local homographies
6. Calibrate camera intrinsics using image corner locations
7. Calibrate projector intrinsics using projector corner locations
8. Fix projector and camera intrinsics and calibrate system extrinsic parameters
9. Optionally, all the parameters, intrinsic and extrinsic, can be optimized together
14
Results
Comparison with existing software: Paper checkerboard used to find plane equation
procamcalib
Projector-Camera Calibration Toolbox
http://code.google.com/p/procamcalib/
15
Results
Example of projector lens distortion
Distortion coefficients
k1 k2 k3 k4
-0.0888 0.3365 -0.0126 -0.0023
16
Results
Error distribution on a scanned 3D plane model:
It works
No special setup or materials required
Very similar to standard stereo camera calibration
Reuse existing software components
Camera calibration software
Structured-light projection, capture, and decoding software
Local homographies effectively handle projector lens distortion
Adding projector distortion model improves calibration
accuracy
Well-calibrated structured-light systems have a precision
comparable to some laser scanners
18
Gray vs. binary codes
Binary Gray
19
Direct/Global light components
L L L bL
Ld Lg 2 Lˆ max I i Lˆ min I i
1 b 1 b2 0i K 0i K
Ld m UNCERTAIN
L L p p ON
d g
Ld Lg p p OFF
p Ld p Lg OFF
p Lg p Ld ON
otherwise UNCERTAIN
20
Triangulation
1u1 R1 X T1
X
2u2 R2 X T2
In homogeneous coordinates:
uˆ1 R1 uˆ1T1
uˆ R X 0
2 2 uˆ2T2
21