[ACM MM 2025] UIS-Mamba: Exploring Mamba for Underwater Instance Segmentation via Dynamic Tree Scan and Hidden State Weaken
Runmin Cong1, Zongji Yu1, Hao Fang1†, Haoyan Sun1, Sam Kwong2
† Corresponding author
1 School of Control Science and Engineering, Shandong University
2 School of Data Science, Lingnan University
Underwater Instance Segmentation (UIS) is critical for underwater complex scene detection, but faces challenges like color distortion, blurred boundaries, and complex backgrounds. We propose UIS-Mamba—the first Mamba-based underwater instance segmentation model—equipped with two core modules: Dynamic Tree Scan (DTS) and Hidden State Weaken (HSW). UIS-Mamba achieves state-of-the-art (SOTA) performance on UIIS and USIS10K datasets while keeping parameters and computational complexity low.
| Method | Backbone | Params | mAP | AP₅₀ | AP₇₅ |
|---|---|---|---|---|---|
| WaterMask R-CNN | ResNet-50 | 54M | 26.4 | 43.6 | 28.8 |
| UIS-Mamba-T | UIS-Mamba-T | 56M | 29.4 | 46.7 | 31.3 |
| WaterMask R-CNN | ResNet-101 | 67M | 27.2 | 43.7 | 29.3 |
| UIS-Mamba-S | UIS-Mamba-S | 76M | 30.4 | 48.6 | 33.2 |
| USIS-SAM | ViT-H | 700M | 29.4 | 45.0 | 32.3 |
| UIS-Mamba-B | UIS-Mamba-B | 115M | 31.2 | 49.1 | 34.5 |
| Method | Backbone | Params | Class-Agnostic mAP | Multi-Class mAP |
|---|---|---|---|---|
| WaterMask R-CNN | ResNet-50 | 54M | 58.3 | 37.7 |
| UIS-Mamba-T | UIS-Mamba-T | 56M | 62.2 | 42.1 |
| WaterMask R-CNN | ResNet-101 | 67M | 59.0 | 38.7 |
| UIS-Mamba-S | UIS-Mamba-S | 76M | 63.1 | 44.5 |
| USIS-SAM | ViT-H | 701M | 59.7 | 43.1 |
| UIS-Mamba-B | UIS-Mamba-B | 115M | 63.8 | 46.2 |
- Python 3.9+
- PyTorch 1.13.1+cu117 or higher
- MMDetection (for detection/segmentation heads)
# Create conda environment
conda create -n uis-mamba python=3.9
conda activate uis-mamba
# Install PyTorch (CUDA 11.7)
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
# Install other dependencies
pip install -r requirements.txt
# Install TreeScan Modules
cd third-party/TreeScan
pip install -v -e .
Download the two benchmark datasets and organize them as follows:
data/
├── UIIS/
│ ├── train/
│ │ ├── images/
│ │ └── annotations/
│ └── val/
│ ├── images/
│ └── annotations/
└── USIS10K/
├── train/
├── val/
└── test/
- UIIS Dataset: Official Link
- USIS10K Dataset: Official Link
Pre-trained weights for UIS-Mamba variants (initialized with GrootV ImageNet-1K pre-trained weights) are available for download: Official Link
Run training scripts for UIIS (instance segmentation) or USIS10K (salient instance segmentation):
# Train UIS-Mamba on UIIS/USIS10K (1 GPU)
python tools/train.py --config configs/vssm1/mask_rcnn_vssm_fpn_coco_tiny_ms_3x.py --work-dir you_dir_to_save_logs_and_modelsEvaluate pre-trained models on validation/test sets:
# Evaluate on UIIS/USIS10K val set
python tools/test.py --config configs/vssm1/mask_rcnn_vssm_fpn_coco_tiny_ms_3x.py model_checkpoint_path --eval segmPre-trained weights for UIS-Mamba variants are available for download:
| Model | Backbone | Dataset | mAP | Params | Download Link |
|---|---|---|---|---|---|
| UIS-Mamba-T | UIS-Mamba-T | UIIS | 29.4 | 56M | ckpt |
| UIS-Mamba-S | UIS-Mamba-S | UIIS | 30.4 | 76M | ckpt |
| UIS-Mamba-B | UIS-Mamba-B | UIIS | 31.2 | 115M | ckpt |
| UIS-Mamba-T | UIS-Mamba-T | USIS10K | 42.1 | 56M | ckpt |
| UIS-Mamba-S | UIS-Mamba-S | USIS10K | 44.5 | 76M | ckpt |
| UIS-Mamba-B | UIS-Mamba-B | USIS10K | 46.2 | 115M | ckpt |
If you use UIS-Mamba in your research, please cite our paper:
@inproceedings{cong2025uis,
title={UIS-Mamba: Exploring Mamba for Underwater Instance Segmentation via Dynamic Tree Scan and Hidden State Weaken},
author={Cong, Runmin and Yu, Zongji and Fang, Hao and Sun, Haoyan and Kwong, Sam},
booktitle={Proceedings of the 33rd ACM International Conference on Multimedia},
pages={343--352},
year={2025}
}Code is built upon MMDetection and GrootV.
The code is released under the MIT License.
