Background

ByteTrack复现记录

938
4 分钟阅读

系统环境

系统Debian 13
Python3.10.18
PyTorch2.8.0+cu129
TorchVision0.23.0+cu129
Cuda13.0
setuptools78.1.1

复现步骤 (MOT20)

下载代码及安装依赖

Terminal window
git clone https://github.com/ifzhang/ByteTrack.git
cd ByteTrack

修改 requirements.txt 文件

# 使用更新版本的 onnx
onnx
onnxruntime
onnxsim

在安装依赖库之前先装 cmake

Terminal window
sudo apt update
sudo apt install cmake

安装依赖库

Terminal window
pip3 install -r requirements.txt
python3 setup.py develop
运行

python3 setup.py develop 时可能会报错: 错误信息 解决办法:将 setuptools 版本限制在 80 以下。参考 这里

Terminal window
# 查看 setuptools 可用版本
conda search setuptools
# 安装合适版本
conda install setuptools=78.1.1

安装其他库

Terminal window
# 安装pycocotools
pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
# 安装cython_bbox
pip3 install cython_bbox

准备数据集和预训练模型

下载 MOT20数据集 。 解压到 /datasets/MOT20 路径下。

选择需要的预模型下载:

ModelMOTAIDF1IDsFPS
消融模型:在 CrowdHuman 和 MOT17 半训练集上训练,在 MOT17 半验证集上评估。
bytetrack_ablation [google], [baidu(code:eeo8)] 76.679.315929.6
MOT17 测试模型:在 CrowdHuman、MOT17、Cityperson 和 ETHZ 上训练,在 MOT17 训练集上评估。  标准模型
bytetrack_x_mot17 [google], [baidu(code:ic0i)] 90.083.342229.6
bytetrack_l_mot17 [google], [baidu(code:1cml)] 88.780.746043.7
bytetrack_m_mot17 [google], [baidu(code:u3m4)] 87.080.147754.1
bytetrack_s_mot17 [google], [baidu(code:qflm)] 79.274.353364.5
MOT20 测试模型:在 CrowdHuman 和 MOT20 上训练,在 MOT20 训练集上评估。
bytetrack_x_mot20 [google], [baidu(code:3apd)] 93.489.3105717.5

代码修改

np.float

np.float 在 Python 3.10 中被弃用,改为使用 np.float64

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

运行 Demo

在项目的根目录下运行:

Terminal window
python3 tools/demo_track.py video -f exps/example/mot/yolox_s_mix_det.py -c pretrained/bytetrack_s_mot17.pth.tar --path videos/palace.mp4 --fp16 --fuse --save_result

得到如下图所示的带有检测测框的视频: 测试结果示意图

数据处理

进行预测之前,需要将数据集转换为 COCO 格式

Terminal window
python3 tools/convert_mot20_to_coco.py

预测

Terminal window
python3 tools/track.py -f exps/example/mot/yolox_x_mix_mot20_ch.py -c pretrained/bytetrack_x_mot20.pth.tar -b 1 -d 1 --fp16 --fuse --match_thresh 0.7 --mot20

将生成的结果提交到 MOTChallenge 评估。

ByteTrack复现记录
/blog/26027981
作者
发布于
2025/10/12
许可协议
CC BY-NC-SA 4.0