Rinne's Blog

Back

系统环境#

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

复现步骤#

下载代码和数据集#

git clone https://github.com/DanceTrack/DanceTrack.git
bash

百度网盘(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
|-- ...
plaintext

下载 Tracker 代码#

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

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

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

依赖安装#

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

数据处理#

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

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

在验证集上评估#

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

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
bash

得到评估指标#

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

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

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

# 替换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
bash

在测试集上评估#

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

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
bash
©
使用 DanceTrack 复现记录
https://astro-pure.js.org/blog/research/dancetrack-reproduce
Author Rinne
Published at 2025年10月15日
Comment seems to stuck. Try to refresh?✨