Camera Calibration and 3D Particle Tracking Toolbox for MATLAB®

M. Himpel, himpel@physik.uni-greifswald.de

Prelude

This toolbox has been developed to determine the motion of an ensemble of particles in a dusty plasma from stereoscopic camera image sequences. This toolbox can be used to calibrate a N-camera system and to capture and reconstruct the trajectories of the captured particles. I tried to make stand-alone modules for each of the following steps:

  1. N-camera calibration
    • marker detection
    • compute intrinsic and extrinsic camera parameters
  2. 2D particle position detection
    • GUI-based detection preview
    • sobel-filtering available
  3. Disparity-based calibration refinement
  4. Correspondence analysis to find 3D-positions
  5. Multiset triangulation to exclude "ghost"-particles
  6. Trajectory linking

Modules 3 to 6 are generally intended to work for a N-camera system. However, there may be some residuals from former restrictions to 3 or 4 cameras.

Any feedback to the author will be welcome. As the toolbox still is under development, it is possible to include further features/changes/bugfixes when reported. See documentation for details.

In the newer versions (from Dec. 2018), a so called iterative reconstruction algorithm is implemented. The documentation will be updated accordingly.

Disclaimer

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.


You should have received a copy of the GNU General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.


List of Changes

2016-10-14 initial upload, example not working yet, lots of documentation to do
2016-11-01 reviewed entry scripts, example not working yet
2016-12-21 2d-detection revised for use with N-cameras.
2017-01-17 correspondence-scripts revised, EXAMPLE updated (still not user friendly from scratch)
2017-03-02 issues with rgb/graymap images resolved, disparity-algorithm improved
2017-12-11 Shake-the-box algorithm introduced!! Example_STB available!
2018-06-19 Major updates. Examples not running so far...
2018-09-11 Shake-the-box example is finally working!
2020-04-16 Mostly cosmetics and minor bug-fixes

References

This toolbox relies in some parts on existing toolboxes that are available on the web. The calibration part is mainly a connection between the marker recognition functionality from the toolbox of C. Wengert [1] and the "Multiple-Camera Calibration Toolbox" from Bo Li [2]. Both of them are using parts of the "Stereo-Toolbox" from Jean-Yves Bouget [3].

The 2D-detection uses functions from John C. Crocker, David G. Grier and Eric R. Dufresne. [4]

The disparity-based calibration refinement is an implementation of the algorithm given in the paper "Volume self-calibration for 3D particle image velocimetry" by B. Wieneke [5].

The multiset-triangulation is an implementation of the algorithm given in the paper "Multiset Triangulation 3D PTV and its Performance Compared to Tomographic PIV" by Y.K. Akhmetbekov [6].

The trajectory linking is a (very) enhanced MATLAB-Example that comes with its "computer-vision system" toolbox.

The Shake-the-box algorithm is a MATLAB implementation of the algorithm given in [7].

[1] https://github.com/christianwengert/calib_toolbox_addon

[2] https://sites.google.com/site/prclibo/toolbox

[3] https://www.vision.caltech.edu/bouguetj/calib_doc

[4] J. C. Crocker and D. G. Grier, "Methods of digital video microscopy for colloidal studies," Journal of Colloid and Interface Science179, 298-310 (1996)

[5] B. Wieneke, "Volume self-calibration for 3D particle image velocimetry", Exp Fluids, 45 (2008)

[6] Y.K. Akhmetbekov et al., "Multiset Triangulation 3D PTV and its Performance Compared to Tomographic PIV", 9th INT SYMP on PARTICLE IMAGE VELOCIMETRY, Japan (2011)

[7] Schanz, D., Gesemann, S. & Schröder, A. Exp Fluids (2016) 57: 70. https://doi.org/10.1007/s00348-016-2157-1

Camera-Calibration and 3D Particle Tracking Toolbox for MATLAB®

...coming soon...

Camera-Calibration and 3D-Particle Tracking Toolbox for MATLAB®

...coming soon...