README.md 3.2 KB

简体中文 | English

ByteTrack的检测器

简介

ByteTrack(ByteTrack: Multi-Object Tracking by Associating Every Detection Box) 通过关联每个检测框来跟踪,而不仅是关联高分的检测框。此处提供了几个常用检测器的配置作为参考。由于训练数据集、输入尺度、训练epoch数、NMS阈值设置等的不同均会导致模型精度和性能的差异,请自行根据需求进行适配。

模型库

在MOT17-half val数据集上的检测结果

骨架网络 网络类型 输入尺度 学习率策略 推理时间(fps) Box AP 下载 配置文件
DarkNet-53 YOLOv3 608X608 40e ---- 42.7 下载链接 配置文件
CSPResNet PPYOLOe 640x640 36e ---- 52.9 下载链接 配置文件
CSPDarkNet YOLOX-x 800x1440 24e ---- 61.9 下载链接 配置文件

注意:

  • 以上模型除YOLOX外采用MOT17-half train数据集训练,数据集可以从此链接下载。
  • MOT17-half train是MOT17的train序列(共7个)每个视频的前一半帧的图片和标注组成的数据集,而为了验证精度可以都用MOT17-half val数据集去评估,它是每个视频的后一半帧组成的,数据集可以从此链接下载,并解压放在dataset/mot/MOT17/images/文件夹下。
  • YOLOX采用mix_det数据集,是MOT17、crowdhuman、Cityscapes、ETHZ组成的联合数据集,数据集整理的格式和目录可以参考此链接,最终放置于dataset/mot/目录下。为了验证精度可以都用MOT17-half val数据集去评估。
    • 行人跟踪请使用行人检测器结合行人ReID模型。车辆跟踪请使用车辆检测器结合车辆ReID模型。
    • 用于ByteTrack跟踪时,这些模型的NMS阈值等后处理设置会与纯检测任务的设置不同。

快速开始

通过如下命令一键式启动训练和评估

job_name=ppyoloe_crn_l_36e_640x640_mot17half
config=configs/mot/bytetrack/detector/${job_name}.yml
log_dir=log_dir/${job_name}
# 1. training
python -m paddle.distributed.launch --log_dir=${log_dir} --gpus 0,1,2,3,4,5,6,7 tools/train.py -c ${config} --eval --amp --fleet
# 2. evaluation
CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c ${config} -o weights=https://paddledet.bj.bcebos.com/models/mot/${job_name}.pdparams