[TASE & ISMAR'18] A Fast and Flexible Projector-Camera Calibration System
A fast and flexible projector-camera calibration system that is single-shot-per-pose and deals with imperfect planarity of the calibration target.
Highlights:
For more info please refer to our journal paper and conference paper.
calibApp.mlapp
to start the App.ProCamCalib.exe
.calibApp.mlapp
(or ProCamCalib.exe
) to start the App.Projector Control
panel dropdown, then click Preview
on the right of the dropdown to preview the projected structured light pattern.Camera Control
panel, click Preview
button to start camera review, make sure the white board is in both the camera's and the projector's FOV, i.e, the color grid covers the entire white board and the camera has a full view of the white board.Projector Brightness
slider and camera parameters using the sliders in Camera Control
panel. Make sure the color grid is not underexposed or overexposed.lightGrid[i].png
and colorGrid[i].png
, where i
is the ith position, e.g., colorGrid01.png
is the color grid image at the 1st position. Although at least three poses are sufficient we highly recommend taking more, refer to Bouguet for a good example.Calibration
tab on top and select the sets you want to use for calibration, then type the printed checkerboard square size in the text box below Calibrate
button. Finally click Calibrate
button.Calibration
tab and load a calibration yml file by clicking Load Calibration
, then select a set in the Images
list and click Reconstruct
.Existing Mask
(saved under data folder) or draw your own object mask.Use Edges
toggles color grid edge reconstruction.Below are results from our conference paper and can be reproduced in ismar18 branch. For the latest results, please refer to our journal paper and the results can be reproduced in tase20 branch.
Reprojection error:
Method | Camera | Projector | Stereo |
---|---|---|---|
Moreno & Taubin | 0.12356 | 1.5949 | 1.1311 |
Global homography | 0.12356 | 5.7868 | 4.0928 |
Proposed w/o BA | 0.41692 | 0.7105 | 0.5825 |
Proposed | 0.34976 | 0.6352 | 0.5127 |
3D alignment error:
After we calibrate the camera-projector pair, we reconstruct a point cloud using 2D structured light point pairs and calibration data. To calculate reconstruction accuracy, we also capture the ground truth point cloud using an Intel RealSense F200 RGBD camera. The point cloud 3D alignment error (Euclidean distance) between the reconstructed point cloud and the ground truth point cloud are given by:
Method | Min | Max | Mean | Median | Std. |
---|---|---|---|---|---|
Moreno & Taubin | 0.088551 | 55.194 | 8.4722 | 7.0756 | 5.9264 |
Global homography | 0.016244 | 73.173 | 11.877 | 11.94 | 9.9919 |
Proposed w/o BA | 0.046634 | 48.834 | 6.7798 | 6.8835 | 4.1002 |
Proposed | 0.057853 | 50.807 | 5.5959 | 4.5881 | 4.7023 |
The per-point 3D alignment error can be viewed in pseudocolor:
The project folder is organized as follows:
├─+Calibration calibration package directory
├─+ImgProc image processing package directory
├─+Reconstruct 3d reconstruction package directory
├─data directory for data
│ ├─calibration-04-01-19_16-02-01 directory for real data, contains checkerboard/structured light images and RealSense reconstructed ply files.
│ │ ├─matlabCorners extracted checkerboard corners by MATLAB's detectCheckerboardPoints and warped corners by the global homography
│ │ └─results calibration results generated by the four methods mention in the paper with real data
│ └─simulation directory for simulation (synthetic) data
│ └─results calibration results generated by the four methods mention in the paper with synthetic data
├─doc directory for documentation
└─README.md this file
Please cite these papers in your publications if it helps your research:
@article{huang2020flexible,
title={A Fast and Flexible Projector-Camera Calibration System},
author={Huang, Bingyao and Tang, Ying and Ozdemir, Samed and Ling, Haibin},
journal={IEEE Transactions on Automation Science and Engineering},
year={2020},
doi = {10.1109/TASE.2020.2994223}
}
@inproceedings{huang2018single,
title={A Single-shot-per-pose Camera-Projector Calibration System For Imperfect Planar Targets},
author={Huang, Bingyao and Ozdemir, Samed and Tang, Ying and Liao, Chunyuan and Ling, Haibin},
booktitle={2018 IEEE International Symposium on Mixed and Augmented Reality Adjunct (ISMAR-Adjunct)},
pages={15--20},
year={2018},
organization={IEEE}
}
@inproceedings{huang2014fast,
title={Fast 3D reconstruction using one-shot spatial structured light},
author={Huang, Bingyao and Tang, Ying},
booktitle={2014 IEEE International Conference on Systems, Man, and Cybernetics (SMC)},
pages={531--536},
year={2014},
organization={IEEE}
}
This software is freely available for non-profit non-commercial use, and may be redistributed under the conditions in license.