系统环境#

系统Ubuntu 22.04
Python3.10.18
PyTorch2.8.0+cu128
TorchVision0.23.0+cu128
Cuda13.0
setuptools78.1.1

复现步骤#

下载代码和数据集#

Terminal window
git clone https://github.com/DanceTrack/DanceTrack.git

百度网盘(awew)下载数据集和模型。

将数据集放在如下目录

{DanceTrack ROOT}
|-- dancetrack
| |-- train
| | |-- dancetrack0001
| | | |-- img1
| | | | |-- 00000001.jpg
| | | | |-- ...
| | | |-- gt
| | | | |-- gt.txt
| | | |-- seqinfo.ini
| | |-- ...
| |-- val
| | |-- ...
| |-- test
| | |-- ...
| |-- train_seqmap.txt
| |-- val_seqmap.txt
| |-- test_seqmap.txt
|-- TrackEval
|-- tools
|-- ...

下载 Tracker 代码#

使用 ByteTrack 进行跟踪,下载源仓库代码:

Terminal window
cd {DanceTrack ROOT}
git clone https://github.com/FoundationVision/ByteTrack.git

DanceTrack 项目中的 ByteTrack 文件夹替换原始文件。

依赖安装#

环境配置同 [[bytetrack复现记录]] ,注意后续运行代码前确保 python3 setup.py develop 已运行。

CAUTION

注意新版本的 numpynp.floatnp.int 已弃用,使用 np.float64np.int64 替换。

使用正则匹配替换:搜索 \bnp\.float\b(?!\d) 替换为 np.float64 ;搜索 \bnp\.int\b(?!\d) 替换为 np.int64

数据处理#

准备数据集,并将标注转换为 coco 格式:

Terminal window
python3 tools/convert_dance_to_coco.py # !!! 修改参数以分别转换 train, val, test
cd ByteTrack/datasets
ln -s ../../dancetrack dancetrack
cd ..

在验证集上评估#

将下载的模型放在 DanceTrack/ByteTrack/YOLOX_outputs/yolox_x/latest_ckpt.pth.tar 路径下

Terminal window
python3 tools/track.py -f exps/example/dancetrack/yolox_x.py -c YOLOX_outputs/yolox_x/latest_ckpt.pth.tar -b 1 -d 1 --fp16 --fuse

得到评估指标#

DanceTrack/ByteTrack/YOLOX_outputs/yolox_x/ 文件夹下的预测结果放在 DanceTrack/val/TRACKER_NAME 文件夹下载,目录结构如下:

{DanceTrack ROOT}
|-- val
| |-- TRACKER_NAME
| | |-- dancetrack000x.txt
| | |-- ...
| |-- ...

运行评估代码,可得到 HOTA, IDF1 等指标

Terminal window
# 替换TRACKER_NAME为实际路径
python3 TrackEval/scripts/run_mot_challenge.py --SPLIT_TO_EVAL val --METRICS HOTA CLEAR Identity --GT_FOLDER dancetrack/val --SEQMAP_FILE dancetrack/val_seqmap.txt --SKIP_SPLIT_FOL True --TRACKERS_TO_EVAL '' --TRACKER_SUB_FOLDER '' --USE_PARALLEL True --NUM_PARALLEL_CORES 8 --PLOT_CURVES False --TRACKERS_FOLDER val/TRACKER_NAME
# 可进一步将检测结果可视化 (包括图片与视频)
python3 tools/txt2video_dance.py --img_path dancetrack --split val --tracker TRACKER_NAME

在测试集上评估#

还是使用预训练模型 DanceTrack/ByteTrack/YOLOX_outputs/yolox_x/latest_ckpt.pth.tar

Terminal window
python3 tools/track.py -f exps/example/dancetrack/yolox_x.py -c YOLOX_outputs/yolox_x/latest_ckpt.pth.tar -b 1 -d 1 --fp16 --fuse --test
TIP

提交结果时注意:

  1. 存档跟踪器文件夹,而不是 txt 文件。
  2. 文件夹名称必须是 tracker
使用 DanceTrack 复现记录
https://blog.rinne05.top/blog/research/dancetrack-reproduce/
作者
发布于
10/15/2025
许可协议
CC BY-NC-SA 4.0

主题设置

主题模式
主题色
透明度
模糊
© 2025 霖,采用 CC BY-NC-SA 4.0 许可
ICP备案号: 豫ICP备2025156598号-1
输入以搜索...
通过 Fuse.js 搜索