README.md

March 12, 2025 ยท View on GitHub

Mamba-YOLO-World

Mamba-YOLO-World: Marrying YOLO-World with Mamba for Open-Vocabulary Detection

Haoxuan Wang, Qingdong He, Jinlong Peng, Hao Yang, Mingmin Chi, Yabiao Wang

arXiv

โœจ News

๐ŸŽ‰ accepted by ICASSP 2025 (Oral)

2024-10-30: ๐Ÿค— We provide the Model Weights and Visualization Results on HuggingFace.

2024-09-24: ๐Ÿš€ We provide all the Model Weights for community.

2024-09-14: ๐Ÿ’Ž We provide the Mamba-YOLO-World source code for community.

2024-09-12: We provide the Visualization Results of ZERO-SHOT Inference on LVIS generated by Mamba-YOLO-World and YOLO-World for comparison.

Introduction

This repo contains the PyTorch implementation, pre-trained weights, and pre-training/fine-tuning code for Mamba-YOLO-World.

  • We present Mamba-YOLO-World, a novel YOLO-based OVD model employing the proposed MambaFusion-PAN as its neck architecture.

  • We introduce a State Space Model-based feature fusion mechanism consisting of a Parallel-Guided Selective Scan algorithm and a Serial-Guided Selective Scan algorithm, with O(N+1) complexity and globally guided receptive fields.

  • Experiments demonstrate that our model outperforms the original YOLO-World while maintaining comparable parameters and FLOPs. Additionally, it surpasses existing state-of-the-art OVD methods with fewer parameters and FLOPs.

๐Ÿ“ท Visualization Results

Model Zoo

Zero-shot Evaluation on LVIS-minival dataset

modelPre-train DataAPminiAPrAPcAPfweights on Quarkweights on HuggingFace
Mamba-YOLO-World-SO365+GoldG27.719.527.029.9https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-MO365+GoldG32.827.031.934.8https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-LO365+GoldG35.029.334.236.8https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main

Zero-shot Evaluation on COCO dataset

modelPre-train DataAPAP50AP75weights on Quarkweights on HuggingFace
Mamba-YOLO-World-SO365+GoldG38.052.941.0https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-MO365+GoldG43.258.846.6https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-LO365+GoldG45.461.349.4https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main

Fine-tuning Evaluation on COCO dataset

modelPre-train DataAPAP50AP75weights on Quarkweights on HuggingFace
Mamba-YOLO-World-SO365+GoldG46.462.550.5https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-MO365+GoldG51.468.256.1https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main
Mamba-YOLO-World-LO365+GoldG54.171.159.0https://pan.quark.cn/s/dce0710ffcechttps://huggingface.co/Xuan-World/Mamba-YOLO-World/tree/main

Getting started

1. Installation

Mamba-YOLO-World is developed based on torch==2.0.0,mamba-ssm==2.1.0, triton==2.1.0,supervision==0.20.0, mmcv==2.0.1, mmyolo==0.6.0 and mmdetection==3.3.0.

You need to link the mmyolo under third_party directory.

2. Preparing Data

We provide the details about the pre-training data in docs/data.

Evaluation

./tools/dist_test.sh configs/mamba2_yolo_world_s.py  CHECKPOINT_FILEPATH  num_gpus_per_node
./tools/dist_test.sh configs/mamba2_yolo_world_m.py  CHECKPOINT_FILEPATH  num_gpus_per_node
./tools/dist_test.sh configs/mamba2_yolo_world_l.py  CHECKPOINT_FILEPATH  num_gpus_per_node

Pre-training

./tools/dist_train.sh configs/mamba2_yolo_world_s.py  num_gpus_per_node  --amp
./tools/dist_train.sh configs/mamba2_yolo_world_m.py  num_gpus_per_node  --amp
./tools/dist_train.sh configs/mamba2_yolo_world_l.py  num_gpus_per_node  --amp

Fine-tuning

./tools/dist_train.sh configs/mamba2_yolo_world_s_mask-refine_finetune_coco.py  num_gpus_per_node --amp 
./tools/dist_train.sh configs/mamba2_yolo_world_m_mask-refine_finetune_coco.py  num_gpus_per_node --amp 
./tools/dist_train.sh configs/mamba2_yolo_world_l_mask-refine_finetune_coco.py  num_gpus_per_node --amp 

Demo

  • image_demo.py: inference with images or a directory of images
  • video_demo.py: inference on videos.

Acknowledgement

We sincerely thank mmyolo, mmdetection, YOLO-World, Mamba and VMamba for providing their wonderful code to the community!

Citation

@inproceedings{wang2025mamba,
  title={Mamba-YOLO-World: Marrying YOLO-World with Mamba for Open-Vocabulary Detection},
  author={Wang, Haoxuan and He, Qingdong and Peng, Jinlong and Yang, Hao and Chi, Mingmin and Wang, Yabiao},
  booktitle={ICASSP 2025-2025 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
  pages={1--5},
  year={2025},
  organization={IEEE}
}