Open-vocabulary detection (OVD) aims to detect objects beyond a predefined set of categories. As a pioneering model incorporating the YOLO series into OVD, YOLO-World is well-suited for scenarios prioritizing speed and efficiency. However, its performance is hindered by its neck feature fusion mechanism, which causes the quadratic complexity and the limited guided receptive fields. To address these limitations, we present Mamba-YOLO-World, a novel YOLO-based OVD model employing the proposed MambaFusion Path Aggregation Network (MambaFusion-PAN) as its neck architecture. Specifically, we introduce an innovative State Space Model-based feature fusion mechanism consisting of a Parallel-Guided Selective Scan algorithm and a Serial-Guided Selective Scan algorithm with linear complexity and globally guided receptive fields. It leverages multi-modal input sequences and mamba hidden states to guide the selective scanning process. Experiments demonstrate that our model outperforms the original YOLO-World on the COCO and LVIS benchmarks in both zero-shot and fine-tuning settings while maintaining comparable parameters and FLOPs. Additionally, it surpasses existing state-of-the-art OVD methods with fewer parameters and FLOPs.
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.
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.
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.
We provide the details about the pre-training data in docs/data.
./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
./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
./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
image_demo.py
: inference with images or a directory of imagesvideo_demo.py
: inference on videos.We sincerely thank mmyolo, mmdetection, YOLO-World, Mamba and VMamba for providing their wonderful code to the community!