A Benchmark and Cross-Domain Strategy for 3D Reconstruction Across Air and Underwater Domains Under Varying Illumination
BALTIC is a controlled benchmark for evaluating 3D reconstruction methods across air and underwater environments under varying illumination. It is designed to study how domain shifts such as scattering, absorption, and lighting degradation affect reconstruction quality and trajectory accuracy.
The benchmark follows a standard reconstruction-to-evaluation pipeline:
E*_xyz_q.txt)E*_tf.txt)This unified pipeline ensures consistent and reproducible evaluation across all sequences and methods.
Total size: 56 GB
BALTIC/
├── E1/
│ ├── images/
The BALTIC dataset (E1–E13) is publicly available on Hugging Face . We recommend programmatic download to ensure full reproducibility and correct folder structure.
pip install huggingface_hub
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="Michele1996/BALTIC",
repo_type="dataset",
local_dir="BALTIC",
local_dir_use_symlinks=False
)
This will download the full dataset while preserving the original sequence structure (E1–E13).
Full dataset size: ~56 GB
We provide a lightweight evaluation toolkit for assessing 3D reconstruction quality and trajectory accuracy on the BALTIC dataset. The devkit operates on COLMAP reconstructions and ground-truth tracking data, enabling consistent and reproducible evaluation across all sequences.
git clone https://github.com/Michele1996/baltic-project-page.git cd baltic-project-page # 1. Run COLMAP reconstruction externally (not included) # 2. Geometry evaluation (Chamfer, roughness, NN spacing) python chamfer.py # 3. Trajectory alignment + metrics (ATE, RPE) python alignment.py
The evaluation pipeline computes geometric metrics (Chamfer Distance, surface roughness, nearest-neighbor spacing) and trajectory metrics (Absolute Trajectory Error, Relative Pose Error) after Umeyama alignment.
Each sequence contains reconstructed and ground-truth trajectories stored as text files.
Reconstructed trajectory format:
qw qx qy qz x y z
Quaternion (qw, qx, qy, qz) represents camera orientation, and (x, y, z) represents camera position in 3D space.
Ground-truth trajectory format:
timestamp frame | Translation: x=..., y=..., z=... | Rotation: x=..., y=..., z=..., w=...
Each entry contains a timestamped rigid transformation. Only the translation component is used for trajectory evaluation, while rotation is provided for completeness.
E*_xyz_q.txt)E*_tf.txt)BALTIC is designed to evaluate the robustness of 3D reconstruction methods under strong domain shifts between air and underwater environments.
All methods are evaluated using a common COLMAP-based reconstruction pipeline followed by geometric and trajectory analysis.
Example COLMAP reconstructions across air and underwater conditions. Air sequences produce dense and globally consistent point clouds, while underwater scenes exhibit reduced density and fragmentation due to scattering and absorption effects.
All results can be reproduced using standard COLMAP reconstruction followed by the provided evaluation toolkit.
chamfer.pyalignment.pyThe full dataset and evaluation scripts are publicly available for reproducibility.
@misc{grimaldi2026balticbenchmarkcrossdomainstrategy,
title={BALTIC: A Benchmark and Cross-Domain Strategy for 3D Reconstruction Across Air and Underwater Domains Under Varying Illumination},
author={Michele Grimaldi and David Nakath and Oscar Pizarro and Jonatan Scharff Willners and Ignacio Carlucho and Yvan R. Petillot},
year={2026},
eprint={2604.19133},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.19133},
}
Michele Grimaldi – michelegrmld@gmail.com