Glossary¶
Quick reference for domain-specific terms used in AquaCal.
Auxiliary camera : Camera excluded from joint optimization (Stages 2-4) and registered post-hoc against fixed board poses and water_z. Used for cameras with poor intrinsic calibration or different viewing geometry that would degrade the primary solution.
Board pose : Rigid transformation (rotation + translation) defining the position and orientation of the calibration board in world coordinates for a single frame. Optimized in Stage 3.
Bundle adjustment : Simultaneous optimization of multiple camera poses and 3D point positions (or board poses) to minimize reprojection error. AquaCal uses refractive bundle adjustment in Stage 3.
Camera frame : Coordinate system with origin at camera optical center. OpenCV convention: +X right, +Y down, +Z forward (optical axis).
ChArUco board : Calibration target combining a checkerboard pattern with ArUco markers. Provides robust corner detection and unique corner identification. “ChArUco” = Checkerboard + ArUco.
Extrinsics : Camera pose parameters defining the transformation from world coordinates to camera coordinates. Consists of rotation matrix R (3×3) and translation vector t (3×1).
Interface : The water surface (air-water boundary) where light refraction occurs. Modeled as a plane with normal vector and refractive indices on both sides.
Interface normal : Unit vector pointing from water toward air, typically [0, 0, -1] in world frame. Defines the orientation of the water surface.
Intrinsics : Camera-specific parameters independent of pose: intrinsic matrix K (focal lengths and principal point) and distortion coefficients. Calibrated in Stage 1.
Pose graph : Graph structure where nodes represent camera-frame observations and edges connect observations of the same board pose. Used in Stage 2 for extrinsic initialization via BFS traversal.
Reference camera : The first camera in your configuration, which defines the world coordinate origin (R = I, t = 0). All other camera poses are expressed relative to this camera.
Refractive index : Ratio of light speed in vacuum to light speed in a medium. AquaCal uses n_air (1.0) and n_water (typically 1.333 for fresh water at 20°C).
Refractive projection : Process of projecting a 3D world point to 2D pixel coordinates while accounting for light bending at the water surface. Uses Snell’s law and ray tracing.
Reprojection error : Distance (in pixels) between an observed 2D corner and its predicted location from 3D position via camera projection. Minimized during calibration.
Rodrigues vector : Compact 3-parameter rotation representation: axis direction encodes rotation axis, magnitude encodes rotation angle in radians. Equivalent to axis-angle representation.
Snell’s law : Physical law governing light refraction at an interface: n₁ sin(θ₁) = n₂ sin(θ₂), where n is refractive index and θ is angle from surface normal.
Validation set : Subset of calibration frames held out during optimization and used only for quality assessment. Prevents overfitting and provides unbiased error estimates.
water_z : Z-coordinate of the water surface in world frame, in meters. Shared across all cameras after Stage 3 optimization. Replaces the older term “interface_distance” (which was misleading).
World frame : Global coordinate system with origin at the reference camera’s optical center. AquaCal convention: +X right, +Y forward, +Z down (into water). Units: meters.
See Also¶
Coordinate Conventions — Detailed explanation of coordinate frames and transforms
Refractive Geometry — How refraction and ray tracing work
Optimizer Pipeline — The four calibration stages