Windows下PP-Tracking多目标跟踪数据训练
https://bj.bcebos.com/v1/paddledet/data/mot/demo/MOT16.zip
https://bj.bcebos.com/v1/paddledet/data/mot/demo/MOT16.zip解压后移动到PaddleDetection\dataset\mot\images目录

创建labels_with_ids目录
打开cmd,进入python环境activate paddle_env然后进入PaddleDetection根目录
如果不懂可以查看这篇文章
![]()
user_gen_labels_MOT.py的代码
# 生成mot16.train文件并且复制到 image_lists下面
import glob
import os.path as osp
image_list = []
for seq in sorted(glob.glob('PaddleDetection/dataset/mot/MOT16/images/train/*')):
for image in glob.glob(osp.join(seq, "img1")+'/*.jpg'):
image = image.replace('PaddleDetection/dataset/mot/','')
image_list.append(image)
with open('mot16.train','w') as image_list_file:
image_list_file.write(str.join('\n',image_list))
生成的文件很奇怪

复制过去目录就是这个样子
修改配置文件里面的数据集
添加在PaddleDetection/configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml文件最后
... ...
# for MOT training
# for MOT training
TrainDataset:
!MOTDataSet
dataset_dir: dataset/mot
image_lists: ['mot16.train']
data_fields: ['image', 'gt_bbox', 'gt_class', 'gt_ide']
# for MOT evaluation
# If you want to change the MOT evaluation dataset, please modify 'data_root'
EvalMOTDataset:
!MOTImageFolder
dataset_dir: dataset/mot
data_root: MOT16/images/train
keep_ori_im: False # set True if save visualization images or video, or used in DeepSORT
# for MOT video inference
TestMOTDataset:
!MOTImageFolder
dataset_dir: dataset/mot
keep_ori_im: True # set True if save visualization images or video
添加完就是这个样子

开始训练
使用MOT16-02序列作为训练数据,训练30epoch,V100环境下大约需要30分钟
在PaddleDetection根目录创建一个fairmot_dla34_30e_1088x608目录用来存放日志,然后执行如下命令开始训练
python -m paddle.distributed.launch --log_dir=fairmot_dla34_30e_1088x608/ --gpus 0 tools/train.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml
果然之前发现文件内容比较怪的地方出问题了,批量修改一下

配置文件也需要改成这个样子,因为我用的是windows
_BASE_: [
'../../datasets/mot.yml',
'../../runtime.yml',
'_base_/optimizer_30e.yml',
'_base_/fairmot_dla34.yml',
'_base_/fairmot_reader_1088x608.yml',
]
weights: output/fairmot_dla34_30e_1088x608/model_final
# for MOT training
# for MOT training
TrainDataset:
!MOTDataSet
dataset_dir: dataset\mot
image_lists: ['mot16.train']
data_fields: ['image', 'gt_bbox', 'gt_class', 'gt_ide']
# for MOT evaluation
# If you want to change the MOT evaluation dataset, please modify 'data_root'
EvalMOTDataset:
!MOTImageFolder
dataset_dir: dataset\mot
data_root: MOT16\images\train
keep_ori_im: False # set True if save visualization images or video, or used in DeepSORT
# for MOT video inference
TestMOTDataset:
!MOTImageFolder
dataset_dir: dataset\mot
keep_ori_im: True # set True if save visualization images or video
开始训练了

如果显卡内存不够会提示

为了方便我们下载训练好的模型进行eval,如果显存不够下载别人训练好的
python tools/eval_mot.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=output/fairmot_dla34_30e_1088x608.pdparams
结果

然后我们开始推理
python tools/infer_mot.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=output/fairmot_dla34_30e_1088x608.pdparams --image_dir=dataset/mot/MOT16/images/test/MOT16-01/img1 --save_videos
结果和视频

图像

导出模型
python tools/export_model.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=output/fairmot_dla34_30e_1088x608.pdparams

使用导出的模型进行推理
PP-Tracking中在部署阶段提供了多种跟踪相关功能,例如流量计数,出入口统计,绘制跟踪轨迹等,具体使用方法可以参考文档
下载两个视频
https://bj.bcebos.com/v1/paddledet/data/mot/demo/person.mp4
https://bj.bcebos.com/v1/paddledet/data/mot/demo/entrance_count_demo.mp4
推理视频1
python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/fairmot_dla34_30e_1088x608 --video_file=person.mp4 --device=GPU
效果还是很不错的

推理视频2
python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/fairmot_dla34_30e_1088x608 --do_entrance_counting --draw_center_traj --video_file=entrance_count_demo.mp4 --device=GPU

更多推荐
https://aistudio.baidu.com/aistudio/projectdetail/3022582
https://blog.csdn.net/g313105910/article/details/122447198
所有评论(0)