# PP-Tracking Python端预测部署
## 内容
- [简介](#简介)
- [1-FairMOT模型导出和预测](#1-FairMOT模型导出和预测)
- [2-DeepSORT模型导出和预测](#2-DeepSORT模型导出和预测)
- [3-ByteTrack和OC_SORT模型导出和预测](#3-ByteTrack和OC_SORT模型导出和预测)
- [4-车辆跨镜头跟踪模型导出和预测](#4-车辆跨镜头跟踪模型导出和预测)
- [5-参数说明](#5-参数说明)
## 简介
在PaddlePaddle中预测引擎和训练引擎底层有着不同的优化方法, 预测引擎使用了AnalysisPredictor,专门针对推理进行了优化,是基于[C++预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_guide/inference_deployment/inference/native_infer.html)的Python接口,该引擎可以对模型进行多项图优化,减少不必要的内存拷贝。如果用户在部署已训练模型的过程中对性能有较高的要求,我们提供了独立于PaddleDetection的预测脚本,方便用户直接集成部署。
主要包含两个步骤:
- 导出预测模型
- 基于Python进行预测
PaddleDetection在训练过程包括网络的前向和优化器相关参数,而在部署过程中,我们只需要前向参数,具体参考:[导出模型](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/EXPORT_MODEL.md)
导出后目录下,包括`infer_cfg.yml`, `model.pdiparams`, `model.pdiparams.info`, `model.pdmodel`四个文件。
PP-Tracking也提供了AI Studio公开项目案例,教程请参考[PP-Tracking之手把手玩转多目标跟踪](https://aistudio.baidu.com/aistudio/projectdetail/3022582)。
## 1-FairMOT模型导出和预测
### 1.1 导出预测模型
```bash
# 命令行导出PaddleDetection发布的权重
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/fairmot/fairmot_hrnetv2_w18_dlafpn_30e_576x320.yml -o weights=https://paddledet.bj.bcebos.com/models/mot/fairmot_hrnetv2_w18_dlafpn_30e_576x320.pdparams
# 命令行导出训完保存的checkpoint权重
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/fairmot/fairmot_hrnetv2_w18_dlafpn_30e_576x320.yml -o weights=output/fairmot_hrnetv2_w18_dlafpn_30e_576x320/model_final.pdparams
# 或下载PaddleDetection发布的已导出的模型
wget https://bj.bcebos.com/v1/paddledet/models/mot/fairmot_hrnetv2_w18_dlafpn_30e_576x320.tar
tar -xvf fairmot_hrnetv2_w18_dlafpn_30e_576x320.tar
```
**注意:**
导出的模型默认会保存在`output_inference`目录下,如新下载请存放于对应目录下。
### 1.2 用导出的模型基于Python去预测
```bash
# 下载行人跟踪demo视频:
wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/mot17_demo.mp4
# Python预测视频
python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/fairmot_hrnetv2_w18_dlafpn_30e_576x320 --video_file=mot17_demo.mp4 --device=GPU --threshold=0.5 --save_mot_txts --save_images
```
### 1.3 用导出的模型基于Python去预测,以及进行流量计数、出入口统计和绘制跟踪轨迹等
```bash
# 下载出入口统计demo视频:
wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/entrance_count_demo.mp4
# Python预测视频
python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/fairmot_hrnetv2_w18_dlafpn_30e_576x320 --video_file=entrance_count_demo.mp4 --device=GPU --do_entrance_counting --draw_center_traj
```
**注意:**
- 跟踪模型是对视频进行预测,不支持单张图的预测,默认保存跟踪结果可视化后的视频,可添加`--save_mot_txts`表示保存跟踪结果的txt文件,或`--save_images`表示保存跟踪结果可视化图片。
- 跟踪结果txt文件每行信息是`frame,id,x1,y1,w,h,score,-1,-1,-1`。
- `--threshold`表示结果可视化的置信度阈值,默认为0.5,低于该阈值的结果会被过滤掉,为了可视化效果更佳,可根据实际情况自行修改。
- `--do_entrance_counting`表示是否统计出入口流量,默认为False,`--draw_center_traj`表示是否绘制跟踪轨迹,默认为False。注意绘制跟踪轨迹的测试视频最好是静止摄像头拍摄的。
- 对于多类别或车辆的FairMOT模型的导出和Python预测只需更改相应的config和模型权重即可。如:
```bash
job_name=mcfairmot_hrnetv2_w18_dlafpn_30e_576x320_visdrone
model_type=mot/mcfairmot
config=configs/${model_type}/${job_name}.yml
# 命令行导出模型
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c ${config} -o weights=https://paddledet.bj.bcebos.com/models/mot/${job_name}.pdparams
# Python预测视频
python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/${job_name} --video_file={your video name}.mp4 --device=GPU --threshold=0.5 --save_mot_txts --save_images
```
- 多类别跟踪结果txt文件每行信息是`frame,id,x1,y1,w,h,score,cls_id,-1,-1`。
- visdrone多类别跟踪demo视频可从此链接下载:`wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/visdrone_demo.mp4`
- bdd100k车辆跟踪和多类别demo视频可从此链接下载:`wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/bdd100k_demo.mp4`
## 2-DeepSORT模型导出和预测
### 2.1 导出预测模型
Step 1:导出检测模型
```bash
# 导出PPYOLOe行人检测模型
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/deepsort/detector/ppyoloe_crn_l_36e_640x640_mot17half.yml -o weights=https://paddledet.bj.bcebos.com/models/mot/deepsort/ppyoloe_crn_l_36e_640x640_mot17half.pdparams
```
Step 2:导出行人ReID模型
```bash
# 导出PCB Pyramid ReID模型
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/deepsort/reid/deepsort_pcb_pyramid_r101.yml -o reid_weights=https://paddledet.bj.bcebos.com/models/mot/deepsort/deepsort_pcb_pyramid_r101.pdparams
# 或者导出PPLCNet ReID模型
CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/deepsort/reid/deepsort_pplcnet.yml -o reid_weights=https://paddledet.bj.bcebos.com/models/mot/deepsort/deepsort_pplcnet.pdparams
```
### 2.2 用导出的模型基于Python去预测行人跟踪
```bash
# 下载行人跟踪demo视频:
wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/mot17_demo.mp4
# 用导出的PPYOLOE行人检测模型和PPLCNet ReID模型
python3.7 deploy/pptracking/python/mot_sde_infer.py --model_dir=output_inference/ppyoloe_crn_l_36e_640x640_mot17half/ --reid_model_dir=output_inference/deepsort_pplcnet/ --tracker_config=deploy/pptracking/python/tracker_config.yml --video_file=mot17_demo.mp4 --device=GPU --save_mot_txts --threshold=0.5
```
### 2.3 用导出的模型基于Python去预测车辆跟踪
```bash
# 下载车辆demo视频
wget https://bj.bcebos.com/v1/paddledet/data/mot/demo/bdd100k_demo.mp4
# 下载车辆检测PPYOLOE导出的模型:
wget https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip
unzip mot_ppyoloe_l_36e_ppvehicle.zip
# 下载车辆ReID导出的模型:
wget https://paddledet.bj.bcebos.com/models/mot/deepsort/deepsort_pplcnet_vehicle.tar
tar -xvf deepsort_pplcnet_vehicle.tar
# 用导出的PPYOLOE车辆检测模型和PPLCNet车辆ReID模型
python deploy/pptracking/python/mot_sde_infer.py --model_dir=mot_ppyoloe_l_36e_ppvehicle/ --reid_model_dir=deepsort_pplcnet_vehicle/ --tracker_config=deploy/pptracking/python/tracker_config.yml --device=GPU --threshold=0.5 --video_file=bdd100k_demo.mp4 --save_mot_txts --save_images
```
**注意:**
- 运行前需要手动修改`tracker_config.yml`的跟踪器类型为`type: DeepSORTTracker`。
- 跟踪模型是对视频进行预测,不支持单张图的预测,默认保存跟踪结果可视化后的视频,可添加`--save_mot_txts`(对每个视频保存一个txt)或`--save_images`表示保存跟踪结果可视化图片。
- 跟踪结果txt文件每行信息是`frame,id,x1,y1,w,h,score,-1,-1,-1`。
- `--threshold`表示结果可视化的置信度阈值,默认为0.5,低于该阈值的结果会被过滤掉,为了�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
在超大城市的管理中,如何应对人口密度增大所造成的拥挤、踩踏等事故是不可回避的问题。一旦人流密度超过场所所能容纳上限,后续的风险往往难以管控。例如在10月29日的韩国梨泰院发生的踩踏事故共造成156人丧生,造成了不可挽回的损失。本项目旨在对特定区域的人流量进行智慧监控,以辅助管理者在事故发生前及时实施管控,以减少甚至彻底消除大人流量带来的风险。 基于行人分析工具,我们使用Django+Pyecharts完成动态数据大屏的开发, 完成了人流数据的采集与入库, 打架、摔倒、打电话等事件的警报收集与可视化, 并添加了口罩检测。 对于边缘端的CPU部署性能优化,我们采用Openvino+ONNX的方案,并同时提供各种大小尺寸的模型,以满足不同设备的算力限制。
资源推荐
资源详情
资源评论
收起资源包目录
基于PP-Human的人流量可视化数据大屏 (661个子文件)
trajectory.cc 15KB
pipeline.cc 13KB
tracker.cc 10KB
jde_predictor.cc 8KB
postprocess.cc 7KB
preprocess_op.cc 6KB
main.cc 6KB
sde_predictor.cc 2KB
predictor.cc 1KB
yaml-cpp.cmake 962B
lapjv.cpp 9KB
chunk-vendors.a629c5ed.css 253KB
bootstrap.min.css 120KB
table.css 25KB
table1.css 23KB
Security_operation.css 17KB
index.css 10KB
BigData.css 8KB
green.css 8KB
black.css 8KB
blue.css 8KB
bootstrap-table.css 7KB
default.css 7KB
opera.css 7KB
aero.css 7KB
idialog.css 7KB
chrome.css 6KB
zTreeStyle.css 6KB
twitter.css 6KB
simple.css 6KB
laydate.css 6KB
index01.css 4KB
884.8fec46cd.css 4KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
351.2dfb3ae3.css 3KB
226.1165064a.css 2KB
637.e477d8d9.css 1KB
971.34ab7cdf.css 972B
581.501ab542.css 909B
app.836bc1fc.css 338B
lay_out_01.css 139B
fontawesome-webfont.2b13baa7.eot 162KB
glyphicons-halflings-regular.eot 20KB
fontawesome-webfont.eot 67KB
glyphicons-halflings-regular.eot 20KB
FLAGS 713B
c1.gif 18.15MB
mot.gif 14.11MB
c2.gif 12.76MB
illegal_parking_demo.gif 10.73MB
attribute.gif 8.35MB
fight_demo.gif 5.26MB
行为分析.gif 5.22MB
show.gif 5.09MB
闯入.gif 5.06MB
头部检测.gif 4.68MB
headdet.gif 4.68MB
calling.gif 4.39MB
pipeline.gif 3.99MB
vehicle_attribute.gif 3.95MB
action.gif 3.77MB
属性分析.gif 3.37MB
smoking.gif 3.33MB
humanv2.gif 2.62MB
人流统计.gif 1.6MB
zTreeStandard.gif 5KB
loading.gif 381B
loading.gif 381B
line_conn.gif 45B
trajectory.h 8KB
pipeline.h 5KB
preprocess_op.h 5KB
config_parser.h 4KB
predictor.h 4KB
sde_predictor.h 3KB
jde_predictor.h 3KB
tracker.h 2KB
postprocess.h 2KB
lapjv.h 2KB
utils.h 1KB
index_en.html 48KB
index.html 48KB
render.html 5KB
vue_index.html 531B
favicon.ico 4KB
ss.iml 281B
table.iml 281B
model.pdiparams.info 132KB
model.pdiparams.info 38KB
model.pdiparams.info 29KB
CSRNet.pdiparams.info 4KB
aibox.jpg 1.62MB
ppvehicleplate.jpg 578KB
video.jpg 138KB
共 661 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
stormsha
- 粉丝: 3426
- 资源: 137
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功