RGB-Event based tracking is an emerging research topic, focusing on how to effectively integrate heterogeneous multi-modal data (synchronized exposure video frames and asynchronous pulse Event stream). Existing works typically employ Transformer based networks to handle these modalities and achieve decent accuracy through input-level or feature-level fusion on multiple datasets. However, these trackers require significant memory consumption and computational complexity due to the use of self-attention mechanism. This paper proposes a novel RGB-Event tracking framework, Mamba-FETrack, based on the State Space Model (SSM) to achieve high-performance tracking while effectively reducing computational costs and realizing more efficient tracking. Specifically, we adopt two modality-specific Mamba backbone networks to extract the features of RGB frames and Event streams. Then, we also propose to boost the interactive learning between the RGB and Event features using the Mamba network. The fused features will be fed into the tracking head for target object localization. Extensive experiments on FELT and FE108 datasets fully validated the efficiency and effectiveness of our proposed tracker. Specifically, our Mamba-based tracker achieves 43.5/55.6 on the SR/PR metric, while the ViT-S based tracker (OSTrack) obtains 40.0/50.9. The GPU memory cost of ours and ViT-S based tracker is 13.98GB and 15.44GB, which decreased about $9.5\%$. The FLOPs and parameters of ours/ViT-S based OSTrack are 59GB/1076GB and 7MB/60MB, which decreased about $94.5\%$ and $88.3\%$, respectively. We hope this work can bring some new insights to the tracking field and greatly promote the application of the Mamba architecture in tracking.
Install environment using conda
conda create -n mamba_fetrack python=3.10.13
conda activate mamba_fetrack
conda install cudatoolkit==11.8 -c nvidia
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc
conda install packaging
pip install -r vim_requirements.txt
Download the mamba-1.1.1 and source code and place it in the project path of Mamba_FETrack. Go to source code and install the corresponding environment.
cd mamba-1.1.1
pip install .
Download the casual-conv1d-1.1.3 and source code and place it in the project path of Mamba_FETrack. Go to source code and install the corresponding environment.
cd ..
cd causal-conv1d-1.1.3
pip install .
Install the package for tracking
bash install.sh
Run the following command to set paths for this project
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output
After running this command, you can also modify paths by editing these two files
lib/train/admin/local.py # paths about training
lib/test/evaluation/local.py # paths about testing
Download tracking datasets FELT OR FE108, and put it in ./data
.
Download pre-trained and put it under $/pretrained_models
.
Download the trained model weights from Mamba_FETrack_ep0050.pth and put it under $/output/checkpoints/train/mamba_fetrack/mamba_fetrack_felt
for test directly.
# train
python tracking/train.py --script mamba_fetrack --config mamba_fetrack_felt --save_dir ./output --mode single --nproc_per_node 1 --use_wandb 0
python tracking/train.py --script mamba_fetrack --config mamba_fetrack_fe108 --save_dir ./output --mode single --nproc_per_node 1 --use_wandb 0
# test
python tracking/test.py mamba_fetrack mamba_fetrack_felt --dataset felt --threads 1 --num_gpus 1
python tracking/test.py mamba_fetrack mamba_fetrack_fe108 --dataset fe108 --threads 1 --num_gpus 1
$/felt_tracking_results/
and modify the name in $/utils/config_tracker.m
Evaluate_FELT_benchmark_SP_PR_only.m
for the overall performance evaluation, including AUC, PR, NPR.plot_BOC.m
for BOC score evaluation and figure plot.plot_radar.m
for attributes radar figrue plot.Evaluate_FELT_benchmark_attributes.m
for attributes analysis and figure saved in $/res_fig/
. $/output/test/tracking_results/mamba_fetrack/
$/tracking/analysis_results.py
for the overall performance evaluation, including AUC, PR, NPR.
Experimental results (AUC/PR) on FE108 dataset
Experimental results (SR/PR) on FELT dataset
[OSTrack] [Mamba] [FELT] [CEUTrack] [FE108]
If you think this paper is helpful, please feel free to leave a star ⭐️ and cite our paper:
@misc{huang2024mambafetrack,
title={Mamba-FETrack: Frame-Event Tracking via State Space Model},
author={Ju Huang and Shiao Wang and Shuai Wang and Zhe Wu and Xiao Wang and Bo Jiang},
year={2024},
eprint={2404.18174},
archivePrefix={arXiv},
primaryClass={cs.CV}
}