MixFormerV2
NeurIPS 2023论文《MixFormerV2: 高效全变换器跟踪》的官方实现。
模型框架
蒸馏训练流程
新闻
-
[2023年9月22日] MixFormerV2被NeurIPS 2023接收! 🎉
-
[2023年5月31日] 我们发布了两个版本的预训练模型,可以在Google Drive和NJU Box上获取。
-
[2023年5月26日] 代码现已可用!
亮点
:sparkles: 高效全变换器跟踪框架
MixFormerV2是一个统一的全变换器跟踪模型,没有任何密集卷积操作和复杂的分数预测模块。我们提出了四个关键预测令牌来捕捉目标模板和搜索区域之间的相关性。
:sparkles: 新的基于蒸馏的模型缩减范式
为进一步提高效率,我们提出了一种新的跟踪模型蒸馏范式,包括密集到稀疏阶段和深层到浅层阶段。
:sparkles: 强大的性能和快速推理速度
MixFormerV2在不同基准测试中表现良好,在LaSOT上可达到70.6%的AUC,在TNL2k上可达到57.4%的AUC,同时在GPU上保持165fps。据我们所知,MixFormerV2-S是第一个在CPU上实现实时运行的基于变换器的单流跟踪器。
安装环境
使用Anaconda
conda create -n mixformer2 python=3.6
conda activate mixformer2
bash install_requirements.sh
数据准备
将跟踪数据集放在./data中。应该如下所示:
${MixFormerV2_ROOT}
-- data
-- lasot
|-- airplane
|-- basketball
|-- bear
...
-- got10k
|-- test
|-- train
|-- val
-- coco
|-- annotations
|-- train2017
-- trackingnet
|-- TRAIN_0
|-- TRAIN_1
...
|-- TRAIN_11
|-- TEST
设置项目路径
运行以下命令为此项目设置路径
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .
运行此命令后,您还可以通过编辑以下两个文件来修改路径
lib/train/admin/local.py # 关于训练的路径
lib/test/evaluation/local.py # 关于测试的路径
训练MixFormerV2
使用DDP进行多GPU训练。
您可以参照training.md中的说明(目前为中文)。
示例脚本可以在tracking/train_mixformer.sh
中找到。
bash tracking/train_mixformer.sh
在基准测试上测试和评估MixFormerV2
- LaSOT/GOT10k-test/TrackingNet/OTB100/UAV123/TNL2k。更多测试设置详情可在
tracking/test_mixformer.sh
中找到。
bash tracking/test_mixformer.sh
待办事项
- 渐进消除版本的训练。
- 快速版本的测试前向传播。
联系方式
宋天辉:191098194@smail.nju.edu.cn
引用
@misc{mixformerv2,
title={MixFormerV2: Efficient Fully Transformer Tracking},
author={Yutao Cui and Tianhui Song and Gangshan Wu and Limin Wang},
year={2023},
eprint={2305.15896},
archivePrefix={arXiv}
}