What is Refractive Calibration?¶
The Problem¶
Standard multi-camera calibration assumes cameras and targets occupy the same optical medium. For underwater scenarios, this assumption breaks down: cameras are in air, viewing targets underwater through a flat water surface. Light rays from underwater targets refract at the air-water interface following Snell’s law. Standard calibration methods ignore refraction, leading to systematic errors in 3D reconstruction.
What AquaCal Does¶
AquaCal jointly optimizes:
Camera extrinsics (position and orientation)
Water surface position
Calibration board poses
using refractive ray tracing to accurately model light paths through the interface. The calibration process uses standard ChArUco board observations but accounts for refraction during optimization.
Why It Matters¶
Without refractive modeling, underwater 3D reconstructions exhibit:
Biased depth estimates (targets appear shallower than actual position)
Systematic position errors increasing with distance from camera
Breaking of geometric constraints (parallel lines appear non-parallel)
AquaCal provides accurate calibration for research applications requiring precise underwater measurements: behavioral tracking, environmental monitoring, volumetric capture.
Learn More¶
For detailed explanations of theory and implementation:
Refractive Geometry — ray tracing through the water interface
Coordinate Conventions — world frame, camera frame, transforms
Optimizer Pipeline — bundle adjustment structure, parameters, and camera models
For practical usage:
CLI Reference — command-line tools and options
Troubleshooting — common issues and solutions
User Guide — complete theory and practical guides
API Reference — function and class documentation
Tutorials — interactive notebook examples