Multi-Camera Calibration Using Far-Range Dual-LED Wand and Near-Range Chessboard Fused in Bundle Adjustment
Abstract
:1. Introduction
2. Related Work
2.1. Calibration Using Planar Patterns
2.2. Calibration Using Spherical Markers
3. Calibration Method and Design of Tools
3.1. Ray Distance-Based (RDB) Triangulation
3.1.1. Ray Distance-Based (RDB) Formula
- is the 3D camera location associated with the observation ray;
- is the 3 by 3 identity matrix;
- is the 3D unit vector that represents the back-projected direction associated with the observation ray. This vector is calculated by
- Undistorting the 2D observation using OpenCV’s undistortPointsIter function with the normalized coordinate;
- Forming a 3D directional vector in the camera reference frame;
- Rotating the direction to the global reference frame using the current estimate of camera orientation;
- Normalizing the vector to obtain the unit vector ().
3.1.2. Definition of Ray Distance
3.2. Intrinsic Parameter Initialization
3.3. Extrinsic Calibration with a Dual-LED Wand
3.3.1. Wand Design
3.3.2. Wand-Waving Procedure and Recording
3.3.3. Static Noise Masking and 2D Marker Localization
- Find the smallest circle that can enclose the bright pixel cluster and extract the center of this circle.
- Calculate the 2D centroid (the average position) of all the bright pixels within the cluster with an equivalent weight.
3.3.4. Dynamic Noise Rejection
3.3.5. Extrinsic Initialization
3.3.6. Optimization with Bundle Adjustment
- Each camera (with index i) has 6 extrinsic parameters representing its pose with the translation and orientation of the global reference frame relative to the camera reference frame (orientation in axis-angle representation: ; translation: ) and 9 intrinsic parameters (focal length: , ; optical center: , ; distortion coefficients: , , , , and ). To simplify subsequent explanations, all 9 intrinsic parameters for camera i are written as .
- Each frame (with index j) contains the 3D positions of the green marker () and red marker ().
- Each camera previously took 30 or fewer images of the chessboard in different poses to initialize intrinsic calibration. Each image of the chessboard (with board index b) has 6 unknown chessboard pose parameters in its camera reference frame (board orientation in axis-angle representation: ; board translation: ).
- For a camera with index i at frame index j, 4 residual values are calculated. Two values are from the signed difference between the 2D projection from the green marker’s 3D position () and the observed 2D location (). The other two values are from the red marker. This can be formulated asThe function follows the standard OpenCV formulation of projecting 3D points to an image plane (using OpenCV’s projectPoints function). Note that for any observation that is flagged as noise according to Section 3.3.4 or when no observation available in a frame, the residue values associated with that projection are always zero throughout optimization.
- For each chessboard index (b), each corner (w) on the chessboard is projected to the image plane of the corresponding camera (i) for comparison with the observed corner in 2D () on camera i. This can be formulated as
- Round 1: The tangents of all and all (total of parameters) are set to 1.
- Round 2: The tangents of all and all (total of parameters) are set to 1.
- Round 3: The tangents of all and all (total of parameters) are set to 1.
- Round 4: The tangents of all and all (total of parameters) are set to 1.
- Round 5: The tangents of all and all (total of parameters) are set to 1.
- Round 6: The tangents of all and all (total of parameters) are set to 1.
- Round 7: The tangents of all (total of N parameters) are set to 1.
- Round 8: The tangents of all (total of N parameters) are set to 1.
- Round 9: The tangents of all (total of N parameters) are set to 1.
- Round 10: The tangents of all (total of N parameters) are set to 1.
- Round 11: The tangents of all (total of N parameters) are set to 1.
- Round 12: The tangents of all (total of N parameters) are set to 1.
- Round 13: The tangents of all (total of N parameters) are set to 1.
- Round 14: The tangents of all (total of N parameters) are set to 1.
- Round 15: The tangents of all (total of N parameters) are set to 1.
- Round 16: The tangents of all and all (total of parameters) are set to 1.
- Round 17: The tangents of all and all (total of parameters) are set to 1.
- Round 18: The tangents of all and all (total of parameters) are set to 1.
- Matrix , with size , is a block-diagonal matrix that contains N blocks of size 15 × 15.
- Matrix , with size , is also a block-diagonal matrix that contains blocks of size 3 × 3 and B blocks of size 6 × 6.
- Matrix , with size , is treated as a dense matrix.
- Vectors and have the same length of .
- Vectors and have the same length of .
3.3.7. Scale Correction Using Wand Length
3.3.8. Ground-Plane Detection by Floor Touching
3.3.9. Optional L Frame to Define the X and Y Axes
4. Evaluation Experiment
4.1. Space and Camera Setup
4.2. Marker-Based Motion Capture (Mocap) System
4.3. Calibration Method Assisted by Marker-Based Mocap
4.4. Anipose’s Calibration Method
4.5. Variants of Wand-Based Bundle Adjustment
- INIT: The common initialization state shared across all bundle adjustment variants. This state is benchmarked to observe the improvement from each optimization.
- FusedBA: Uses the optimization method proposed in Section 3.3.6 with a chessboard constraint. Each camera has 15 adjustable parameters (6 extrinsic and 9 intrinsic parameters).
- BAp15: Removes the chessboard-related parameters and residues from the optimization. Each camera has 15 adjustable parameters (6 extrinsic and 9 intrinsic parameters).
- BAp10: Same as BAp15, but each camera has 10 adjustable parameters. All 5 lens distortion parameters are locked to the initial state during bundle adjustment.
- BAp6: Same as BAp15, but each camera has 6 adjustable extrinsic parameters. All 9 intrinsic parameters are locked to the initial state during bundle adjustment.
- FusedBA+W and BAp15+W: Similar to FusedBA and BAp15, respectively, but a wand-length constraint is added to the optimization by inserting the difference between the intended wand length and the modeled wand length as a residue in every frame. This residue can be formulated as
4.6. Benchmarking Workflow
4.7. RDB vs. DLT Triangulation
4.8. Additional Restriction
4.9. Realistic Calibration Dataset
5. Results and Discussion
5.1. Accuracy and Consistency
5.2. Accuracy of Scale
5.3. Is RDB More Accurate than DLT Triangulation?
5.4. Computation Time
6. Limitation and Future Work
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Mitchelson, J.; Hilton, A. Wand-Based Multiple Camera Studio Calibration; Center vision, speech and signal process technical report; University of Surrey: Guildford, UK, 2003. [Google Scholar]
- Karashchuk, P.; Rupp, K.L.; Dickinson, E.S.; Walling-Bell, S.; Sanders, E.; Azim, E.; Brunton, B.W.; Tuthill, J.C. Anipose: A toolkit for robust markerless 3D pose estimation. Cell Rep. 2021, 36, 109730. [Google Scholar] [CrossRef] [PubMed]
- Zhang, Z. A flexible new technique for camera calibration. IEEE Trans. Pattern Anal. Mach. Intell. 2000, 22, 1330–1334. [Google Scholar] [CrossRef]
- Feng, M.; Jia, X.; Wang, J.; Feng, S.; Zheng, T. Global Calibration of Multi-Cameras Based on Refractive Projection and Ray Tracing. Sensors 2017, 17, 2494. [Google Scholar] [CrossRef] [PubMed]
- Marcon, M.; Sarti, A.; Tubaro, S. Multicamera rig calibration by double-sided thick checkerboard. IET Comput. Vis. 2017, 11, 448–454. [Google Scholar] [CrossRef]
- Gossard, T.; Ziegler, A.; Kolmar, L.; Tebbe, J.; Zell, A. eWand: A calibration framework for wide baseline frame-based and event-based camera systems. arXiv 2023, arXiv:2309.12685. [Google Scholar]
- Agrawal; Davis. Camera calibration using spheres: A semi-definite programming approach. In Proceedings of the Proceedings 9th IEEE International Conference on Computer Vision, Nice, France, 13–16 October 2003; pp. 782–789. [Google Scholar] [CrossRef]
- Tsai, R. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses. IEEE J. Robot. Autom. 1987, 3, 323–344. [Google Scholar] [CrossRef]
- Beardsley, P.; Murray, D.; Zisserman, A. Camera calibration using multiple images. In Proceedings of the European Conference on Computer Vision (ECCV), Santa Margherita Ligure, Italy, 19–22 May 1992; pp. 312–320. [Google Scholar] [CrossRef]
- Munaro, M.; Basso, F.; Menegatti, E. OpenPTrack: Open source multi-camera calibration and people tracking for RGB-D camera networks. Robot. Auton. Syst. 2016, 75, 525–538. [Google Scholar] [CrossRef]
- Garrido-Jurado, S.; Muñoz-Salinas, R.; Madrid-Cuevas, F.; Marín-Jiménez, M. Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognit. 2014, 47, 2280–2292. [Google Scholar] [CrossRef]
- Rameau, F.; Park, J.; Bailo, O.; Kweon, I.S. MC-Calib: A generic and robust calibration toolbox for multi-camera systems. Comput. Vis. Image Underst. 2022, 217, 103353. [Google Scholar] [CrossRef]
- Li, B.; Heng, L.; Koser, K.; Pollefeys, M. A multiple-camera system calibration toolbox using a feature descriptor-based calibration pattern. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan, 3–7 November 2013; pp. 1301–1307. [Google Scholar] [CrossRef]
- Baker, P.; Aloimonos, Y. Complete calibration of a multi-camera network. In Proceedings of the Proceedings IEEE Workshop on Omnidirectional Vision, Hilton Head, SC, USA, 12 June 2000; pp. 1–8. [Google Scholar] [CrossRef]
- Svoboda, T.; Martinec, D.; Pajdla, T. A Convenient Multicamera Self-Calibration for Virtual Environments. Presence Teleoperators Virtual Environ. 2005, 14, 407–422. [Google Scholar] [CrossRef]
- Maas, H.G. Image sequence based automatic multi-camera system calibration techniques. ISPRS J. Photogramm. Remote Sens. 1999, 54, 352–359. [Google Scholar] [CrossRef]
- Uematsu, Y.; Teshima, T.; Saito, H.; Honghua, C. D-Calib: Calibration Software for Multiple Cameras System. In Proceedings of the 14th International Conference on Image Analysis and Processing (ICIAP 2007), Modena, Italy, 10–14 September 2007; pp. 285–290. [Google Scholar] [CrossRef]
- Shin, K.Y.; Mun, J.H. A multi-camera calibration method using a 3-axis frame and wand. Int. J. Precis. Eng. Manuf. 2012, 13, 283–289. [Google Scholar] [CrossRef]
- Moon, J.; Shin, K.; Lee, S. New Calibration Method of Multi-View Camera for a Optical Motion Capture System. 2010. KR Patent 100951309B1, Filed 14 July 2008, Issued April 5th, 2010. Available online: https://patents.google.com/patent/KR100951309B1/en (accessed on 15 November 2024).
- Abdel-Aziz, Y. Photogrammetric Potential of Non Metric Cameras. Ph.D. Thesis, University of Illinois, Urbana-Champaign, Champaign, IL, USA, 1974. [Google Scholar]
- Hartley, R.; Zisserman, A. Structure Computation: Linear triangulation methods. In Multiple View Geometry in Computer Vision, 2nd ed.; Cambridge University Press: Cambridge, UK, 2004; pp. 312–313. [Google Scholar] [CrossRef]
- Szeliski, R. Computer Vision: Algorithms and Applications 2nd Edition. In Texts in Computer Science; Springer Cham: London, UK, 2022; Chapter: Structure from motion and SLAM: Triangulation; pp. 558–559. [Google Scholar] [CrossRef]
- Jatesiktat, P.; Lim, G.M.; Lim, W.S.; Ang, W.T. Anatomical-Marker-Driven 3D Markerless Human Motion Capture. J. Biomed. Health Inform. 2024, early access, 1–14. [Google Scholar] [CrossRef]
- Arun, K.S.; Huang, T.S.; Blostein, S.D. Least-Squares Fitting of Two 3-D Point Sets. IEEE Trans. Pattern Anal. Mach. Intell. 1987, PAMI-9, 698–700. [Google Scholar] [CrossRef] [PubMed]
- Forbes, K.; Voigt, A.; Bodika, N. An inexpensive, automatic and accurate camera calibration method. In Proceedings of the 13th Annual Symposium of the Pattern Recognition Association of South Africa, Langebaan, South Africa, 28–29 November 2002; pp. 1–6. [Google Scholar]
- Barreto, J.P.; Daniilidis, K. Wide area multiple camera calibration and estimation of radial distortion. In Proceedings of the 5th Workshop on Omnidirectional Vision, Camera Networks and Non-Classical Cameras, Prague, Czech Republic, 16 May 2004; pp. 5–16. [Google Scholar]
- Zaharescu, A.; Horaud, R.; Ronfard, R.; Lefort, L. Multiple Camera Calibration Using Robust Perspective Factorization. In Proceedings of the Third International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’06), Chapel Hill, NC, USA, 14–16 June 2006; pp. 504–511. [Google Scholar] [CrossRef]
- Muglikar, M.; Gehrig, M.; Gehrig, D.; Scaramuzza, D. How to Calibrate Your Event Camera. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), Nashville, TN, USA, 19–25 June 2021; pp. 1403–1409. [Google Scholar] [CrossRef]
Errors on Benchmark Record (mm) | Wand RMS Projection Error | ||
---|---|---|---|
Method | RDB | DLT | After Optimization (px) |
Anipose | 10.05912 ± 2.07237 | 10.67667 ± 2.77518 | N/A |
MocapAssisted | 1.35763 ± 0.00705 | 1.42898 ± 0.00808 | N/A |
INIT | 2.46065 ± 0.35063 | 2.54795 ± 0.33378 | 0.84400 ± 0.13966 |
BAp6 | 2.35667 ± 0.01020 | 2.46403 ± 0.01028 | 0.31793 ± 0.00447 |
BAp10 | 2.35667 ± 0.01020 | 2.46403 ± 0.01028 | 0.31793 ± 0.00447 |
BAp15 | 2.32816 ± 0.02848 | 2.39151 ± 0.02804 | 0.23108 ± 0.00419 |
BAp15+W | 2.33387 ± 0.03047 | 2.39213 ± 0.02938 | 0.23390 ± 0.00418 |
FusedBA | 2.14310 ± 0.01418 | 2.22776 ± 0.01427 | 0.26048 ± 0.00365 |
FusedBA+W | 2.14911 ± 0.01470 | 2.22979 ± 0.01464 | 0.26230 ± 0.00367 |
Scaling Factor (Mean ± SD) | ||
---|---|---|
Method | RDB | DLT |
Anipose | 0.995139 ± 0.001593 | 0.994237 ± 0.002577 |
Mocap-assisted | 1.000011 ± 0.000023 | 1.000022 ± 0.000025 |
INIT | 0.999571 ± 0.000338 | 0.999601 ± 0.000328 |
BAp6 | 1.000007 ± 0.000036 | 1.000018 ± 0.000026 |
BAp10 | 1.000007 ± 0.000036 | 1.000018 ± 0.000026 |
BAp15 | 0.999804 ± 0.000119 | 0.999845 ± 0.000130 |
BAp15+W | 0.999786 ± 0.000103 | 0.999821 ± 0.000117 |
FusedBA | 0.999967 ± 0.000071 | 0.999994 ± 0.000033 |
FusedBA+W | 0.999944 ± 0.000085 | 0.999972 ± 0.000065 |
Paired t-Test Results | ||
---|---|---|
Method | t-Statistic | p-Value |
Anipose | −4.11 | |
Mocap-assisted | −160.84 | |
INIT | −16.41 | |
BAp6 | −576.97 | |
BAp10 | −576.96 | |
BAp15 | −88.25 | |
BAp15+W | −96.75 | |
FusedBA | −222.79 | |
FusedBA+W | −214.40 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Jatesiktat, P.; Lim, G.M.; Ang, W.T. Multi-Camera Calibration Using Far-Range Dual-LED Wand and Near-Range Chessboard Fused in Bundle Adjustment. Sensors 2024, 24, 7416. https://doi.org/10.3390/s24237416
Jatesiktat P, Lim GM, Ang WT. Multi-Camera Calibration Using Far-Range Dual-LED Wand and Near-Range Chessboard Fused in Bundle Adjustment. Sensors. 2024; 24(23):7416. https://doi.org/10.3390/s24237416
Chicago/Turabian StyleJatesiktat, Prayook, Guan Ming Lim, and Wei Tech Ang. 2024. "Multi-Camera Calibration Using Far-Range Dual-LED Wand and Near-Range Chessboard Fused in Bundle Adjustment" Sensors 24, no. 23: 7416. https://doi.org/10.3390/s24237416
APA StyleJatesiktat, P., Lim, G. M., & Ang, W. T. (2024). Multi-Camera Calibration Using Far-Range Dual-LED Wand and Near-Range Chessboard Fused in Bundle Adjustment. Sensors, 24(23), 7416. https://doi.org/10.3390/s24237416