StereoAdapter-2: Globally Structure-Consistent Underwater Stereo Depth Estimation
Organizations: The University of Melbourne · Peking University · Australian Centre for Robotics
Abstract
Stereo depth estimation is fundamental to underwater robotic perception, yet suffers from severe domain shifts caused by wavelength-dependent light attenuation, scattering, and refraction. Recent approaches leverage monocular foundation models with GRU-based iterative refinement for underwater adaptation; however, the sequential gating and local convolutional kernels in GRUs necessitate multiple iterations for long-range disparity propagation, limiting performance in large-disparity and textureless underwater regions. In this paper, we propose StereoAdapter-2, which replaces the conventional ConvGRU updater with a novel ConvSS2D operator based on selective state space models. The proposed operator employs a four-directional scanning strategy that naturally aligns with epipolar geometry while capturing vertical structural consistency, enabling efficient long-range spatial propagation within a single update step at linear computational complexity. Furthermore, we construct UW-StereoDepth-80K, a large-scale synthetic underwater stereo dataset featuring diverse baselines, attenuation coefficients, and scattering parameters through a two-stage generative pipeline combining semantic-aware style transfer and geometry-consistent novel view synthesis. Combined with dynamic LoRA adaptation inherited from StereoAdapter, our framework achieves state-of-the-art zero-shot performance on underwater benchmarks with 17% improvement on TartanAir-UW and 7.2% improvment on SQUID, with real-world validation on the BlueROV2 platform demonstrates the robustness of our approach. Code: https://github.com/AIGeeksGroup/StereoAdapter-2. Website: https://aigeeksgroup.github.io/StereoAdapter-2.
Figures & tables
| Method | Training Set | Rel | SqRel | RMSE | Log RMSE | A1 | A2 | A3 |
| LEAStereo [ 11 ] | Scene Flow | 0.1099 | 1.3898 | 4.5610 | 0.2063 | 0.8929 | 0.9512 | 0.9761 |
| PSMNet [ 8 ] | Scene Flow | 0.0884 | 0.8699 | 3.9721 | 0.1804 | 0.9122 | 0.9627 | 0.9804 |
| AANet [ 68 ] | Scene Flow | 0.6096 | 8.3687 | 13.0542 | 0.9903 | 0.2598 | 0.3451 | 0.3888 |
| GwcNet [ 21 ] | Scene Flow | 0.1013 | 1.2965 | 4.1829 | 0.1855 | 0.9085 | 0.9612 | 0.9801 |
| ACVNet [ 65 ] | Scene Flow | 0.0970 | 1.1335 | 3.9985 | 0.1803 | 0.9063 | 0.9612 | 0.9813 |
| RAFT-Stereo [ 37 ] | Scene Flow | 0.0814 | 0.7342 | 4.0423 | 0.1703 | 0.9030 | 0.9612 | 0.9832 |
| Method | Training Set | Rel | SqRel | RMSE | Log RMSE | A1 | A2 | A3 |
| LEAStereo [ 11 ] | Scene Flow | 0.5574 | 3.9434 | 5.4659 | 0.4335 | 0.6512 | 0.8042 | 0.8869 |
| PSMNet [ 8 ] | Scene Flow | 0.5182 | 7.1404 | 4.9186 | 0.5902 | 0.7139 | 0.7999 | 0.8311 |
| AANet [ 68 ] | Scene Flow | 7.4801 | 314.1577 | 34.7612 | 1.8994 | 0.0602 | 0.1087 | 0.1570 |
| GwcNet [ 21 ] | Scene Flow | 0.2294 | 1.2275 | 3.0003 | 0.3799 | 0.7423 | 0.8517 | 0.9005 |
| ACVNet [ 65 ] | Scene Flow | 1.6030 | 65.6518 | 10.3828 | 0.7293 | 0.7019 | 0.7925 | 0.8321 |
| RAFT-Stereo [ 37 ] | Scene Flow | 0.0831 | 0.6946 | 1.9625 | 0.1441 | 0.9235 | 0.9634 | 0.9835 |
| Method | REL | SqRel | RMSE | Log RMSE | A1 |
| Stereo Anywhere [ 4 ] | 0.1218 | 1.0623 | 2.4682 | 0.1673 | 0.8541 |
| FoundationStereo [ 61 ] | 0.1304 | 0.6187 | 2.0893 | 0.1635 | 0.8812 |
| StereoAdapter [ 62 ] | 0.1163 | 0.6794 | 1.9285 | 0.1556 | 0.8694 |
| StereoAdapter-2 (Ours) | 0.1023 | 0.5843 | 1.7164 | 0.1354 | 0.9256 |
| DA3 Encoder | Mono Disp. Init. | Context Encoder | Update Module | REL | RMSE |
| ✓ | ConvGRU | 0.0516 | 2.82 | ||
| ✓ | ✓ | ConvGRU | 0.0482 | 2.64 | |
| ✓ | ✓ | ConvSS2D | 0.0449 | 2.46 | |
| ✓ | ConvSS2D | 0.0463 | 2.54 | ||
| ✓ | ✓ | ConvSS2D | 0.0440 | 2.40 |
| Batch Size | Learning Rate | Train Iters | REL | RMSE |
| 4 | 16 | 0.0461 | 2.53 | |
| 4 | 16 | 0.0489 | 2.68 | |
| 8 | 16 | 0.0453 | 2.47 | |
| 8 | 16 | 0.0476 | 2.59 | |
| 8 | 22 | 0.0440 | 2.40 |
| d_state | ssm_ratio | Params | FLOPs | TP. | REL | RMSE |
| (M) | (G) | (img/s) | ||||
| 1 | 1.0 | 20.40 | 843.33 | 5.26 | 0.0445 | 2.42 |
| 4 | 1.0 | 20.42 | 845.81 | 5.22 | 0.0440 | 2.40 |
| 16 | 1.0 | 20.47 | 855.72 | 4.71 | 0.0438 | 2.38 |
| 16 | 1.5 | 20.60 | 886.17 | 4.62 | 0.4430 | 2.43 |
| 16 | 2.0 | 20.73 | 916.62 | 4.26 | 0.4551 | 2.45 |
| Scanning Pattern | Params | FLOPs | TP. | REL | RMSE |
| (M) | (G) | (img/s) | |||
| Unidi-Scan | 20.47 | 855.72 | 4.87 | 0.0459 | 2.46 |
| Bidi-Scan | 20.47 | 855.72 | 4.86 | 0.0453 | 2.42 |
| Cross-Scan | 20.47 | 855.72 | 4.74 | 0.0440 | 2.40 |
| Method | Params (M) | On-board (ms) |
| FoundationStereo [ 61 ] | 375 | 1933 |
| Stereo Anywhere [ 4 ] | 347 | 1524 |
| MGStereo [ 5 ] | 347 | 1631 |
| StereoAdapter [ 62 ] | 202 | 1285 |
| StereoAdapter-2 (Ours) | 103 | 1102 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
Depth Estimation
Depth estimation infers scene distance from images and sensors, enabling 3D reconstruction, navigation, and spatial understanding.
See all 198 papers