系统环境#
| 系统 | Ubuntu 22.04 |
|---|---|
| Python | 3.10.18 |
| PyTorch | 2.8.0+cu128 |
| TorchVision | 0.23.0+cu128 |
| Cuda | 13.0 |
| setuptools | 78.1.1 |
复现步骤#
下载代码和数据集#
git clone https://github.com/DanceTrack/DanceTrack.gitbash在百度网盘(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.gitbash用 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 --fusebash得到评估指标#
将 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_NAMEbash在测试集上评估#
还是使用预训练模型 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 --testbash