系统环境#

系统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
CAUTION

运行 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 路径下。

选择需要的预模型下载:

Model MOTA IDF1 IDs FPS
消融模型:在 CrowdHuman 和 MOT17 半训练集上训练,在 MOT17 半验证集上评估。
bytetrack_ablation [google], [baidu(code:eeo8)] 76.6 79.3 159 29.6
MOT17 测试模型:在 CrowdHuman、MOT17、Cityperson 和 ETHZ 上训练,在 MOT17 训练集上评估。  标准模型
bytetrack_x_mot17 [google], [baidu(code:ic0i)] 90.0 83.3 422 29.6
bytetrack_l_mot17 [google], [baidu(code:1cml)] 88.7 80.7 460 43.7
bytetrack_m_mot17 [google], [baidu(code:u3m4)] 87.0 80.1 477 54.1
bytetrack_s_mot17 [google], [baidu(code:qflm)] 79.2 74.3 533 64.5
MOT20 测试模型:在 CrowdHuman 和 MOT20 上训练,在 MOT20 训练集上评估。
bytetrack_x_mot20 [google], [baidu(code:3apd)] 93.4 89.3 1057 17.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复现记录
https://blog.rinne05.top/blog/research/bytetrack-reproduce/
作者
发布于
10/12/2025
许可协议
CC BY-NC-SA 4.0

主题设置

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