Code: Pinax Underwater Camera Model

The pinax camera model provides calibration and refraction correction for underwater cameras with flat-pane interfaces, i.e., in housings with simple flat windows. The model is very easy and convenient to use in real world applications while yielding very accurate results. The main advantage is that the calibration of the underwater camera can be done in air, i.e., there is no need for handling calibration patters in a pool or in the open sea. Note in this context that it is also shown in [1] that the worst you can do is to calibrate in a pool and than go into the sea as the salinity of the water has a strong effect on the calibration.

As a little bit of technical background: The correction is derived from an analysis of the axial camera model for underwater cameras, which is among others computationally hard to tackle. It is shown in [1] how realistic constraints on the distance of the camera to the window can be exploited, which leads to an approach dubbed Pinax Model as it combines aspects of a virtual pinhole model with the projection function from the axial camera model. It allows the computation of a lookup-table for very fast refraction correction of the flat-pane with high accuracy. The model takes the refraction indexes of water into account, especially with respect to salinity, and it is therefore sufficient to calibrate the underwater camera only once in air. It is shown in [1] by real world experiments with several underwater cameras in different salt and sweet water conditions that the proposed process outperforms standard methods. Among others, it is shown how the presented method leads to accurate results with a single in-air calibration and even just estimated salinity values.

Code and instructions for pinax calibration can be found under the following Github link: https://github.com/tomluc/Pinax-camera-model/.

The pinax camera model was developed within the context of the EU-project “Effective Dexterous ROV Operations in Presence of Communications Latencies (DexROV)” where it was used among others for the calibration of a deep-sea ready, intelligent stereo-camera system for onboard machine perception [2][3].

References

[1] T. Luczynski, M. Pfingsthorn, and A. Birk, “The Pinax-Model for Accurate and Efficient Refraction Correction of Underwater Cameras in Flat-Pane Housings,” Ocean Engineering, vol. 133, pp. 9-22, 2017. https://doi.org/10.1016/j.oceaneng.2017.01.029 [Open Access]

[2] A. Birk, T. Doernbach, C. A. Mueller, T. Luczynski, A. G. Chavez, D. Köhntopp, A. Kupcsik, S. Calinon, A. K. Tanwani, G. Antonelli, P. d. Lillo, E. Simetti, G. Casalino, G. Indiveri, L. Ostuni, A. Turetta, A. Caffaz, P. Weiss, T. Gobert, B. Chemisky, J. Gancet, T. Siedel, S. Govindaraj, X. Martinez, and P. Letier, “Dexterous Underwater Manipulation from Onshore Locations: Streamlining Efficiencies for Remotely Operated Underwater Vehicles,” IEEE Robotics and Automation Magazine (RAM), vol. 25, pp. 24-33, 2018. https://doi.org/10.1109/MRA.2018.2869523 [Preprint]

[3] T. Luczynski, P. Luczynski, LukasPehle, M. Wirsum, and A. Birk, “Model based design of a stereo vision system for intelligent deep-sea operations,” Measurement, vol. 144, pp. 298-310, 2019. https://doi.org/10.1016/j.measurement.2019.05.004 [Preprint]