Neptune-X: Active X-to-Maritime Generation for Universal Maritime Object Detection
Yu Guo, Shengfeng He, Yuxu Lu, Haonan An, Yihang Tao, Huilin Zhu, Jingxian Liu, Yuguang Fang
Annual Conference on Neural Information Processing Systems
Spotlight Presentation, Acceptance Rate: 3.2% (688/21575)
Abstract: Maritime object detection is essential for navigation safety, surveillance, and autonomous operations, yet constrained by two key challenges: the scarcity of annotated maritime data and poor generalization across various maritime attributes (e.g., object category, viewpoint, location, and imaging environment). To address these challenges, we propose Neptune-X, a data-centric generative-selection framework that enhances training effectiveness by leveraging synthetic data generation with task-aware sample selection. From the generation perspective, we develop X-to-Maritime, a multi-modality-conditioned generative model that synthesizes diverse and realistic maritime scenes. A key component is the Bidirectional Object-Water Attention module, which captures boundary interactions between objects and their aquatic surroundings to improve visual fidelity. To further improve downstream tasking performance, we propose Attribute-correlated Active Sampling, which dynamically selects synthetic samples based on their task relevance. To support robust benchmarking, we construct the Maritime Generation Dataset, the first dataset tailored for generative maritime learning, encompassing a wide range of semantic conditions. Extensive experiments demonstrate that our approach sets a new benchmark in maritime scene synthesis, significantly improving detection accuracy, particularly in challenging and previously underrepresented settings.
- 2025.10.01: Dataset and checkpoint are released.
- 2025.09.27: Code is released.
- 2025.09.19: Neptune-X is accepted by NeurIPS2025.
- python 3.8.20
- cuda 11.7
# git clone this repository
git clone https://github.com/gy65896/Neptune-X.git
cd Neptune-X
# create new anaconda env
conda env create -f environment.yml
Please download our pre-trained models and put them in ./ckpts.
git clone https://huggingface.co/gy65896/Neptune-X
We provide two samples in ./sample for the quick inference:
python inference.py --json_path ./sample/1.json --fp16
Please download our MGD dataset:
git clone https://huggingface.co/datasets/gy65896/MGD
Modify the dataset path in ./configs/X2Mari.yaml and execute the following command:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 train.py --ckpt_out ckpt --name train --seed 123 --yaml_file ./configs/X2Mari.yaml --batch_size 4 --official_ckpt_name ./ckpt/sd1.5_finetuned.ckpt
python test.py --data_path ./MGD_test --out_path ./results_test --sd_ckpt ./ckpt/X2Mari.pth
@inproceedings{guo2025neptune-x,
title={Neptune-X: Active X-to-Maritime Generation for Universal Maritime Object Detection},
author={Guo, Yu and He, Shengfeng and Lu, Yuxu and An, Haonan and Tao, Yihang and Zhu, Huilin and Liu, Jingxian and Fang, Yuguang},
booktitle={Annual Conference on Neural Information Processing Systems},
year={2025}
}




