Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleDetection
提交
12fb0052
P
PaddleDetection
项目概览
PaddlePaddle
/
PaddleDetection
大约 1 年 前同步成功
通知
695
Star
11112
Fork
2696
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
184
列表
看板
标记
里程碑
合并请求
40
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
184
Issue
184
列表
看板
标记
里程碑
合并请求
40
合并请求
40
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
12fb0052
编写于
3月 28, 2022
作者:
W
wangguanzhong
提交者:
GitHub
3月 28, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update data in pphuman, test=document_fix (#5474)
上级
97229bf8
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
28 addition
and
20 deletion
+28
-20
deploy/pphuman/README.md
deploy/pphuman/README.md
+19
-12
deploy/pphuman/docs/action.md
deploy/pphuman/docs/action.md
+1
-1
deploy/pphuman/docs/attribute.md
deploy/pphuman/docs/attribute.md
+3
-3
deploy/pphuman/docs/mot.md
deploy/pphuman/docs/mot.md
+3
-2
deploy/pptracking/python/mot/visualize.py
deploy/pptracking/python/mot/visualize.py
+2
-2
未找到文件。
deploy/pphuman/README.md
浏览文件 @
12fb0052
...
@@ -5,10 +5,11 @@
...
@@ -5,10 +5,11 @@
PP-Human是基于飞桨深度学习框架的业界首个开源的实时行人分析工具,具有功能丰富,应用广泛和部署高效三大优势。PP-Human
PP-Human是基于飞桨深度学习框架的业界首个开源的实时行人分析工具,具有功能丰富,应用广泛和部署高效三大优势。PP-Human
支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别和行为分析。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。
支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别和行为分析。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。
PP-Human赋能社区智能精细化管理, AIStudio快速上手教程
[
链接
](
https://aistudio.baidu.com/aistudio/projectdetail/3679564
)
## 一、环境准备
## 一、环境准备
环境要求: PaddleDetection版本 >= release/2.4
环境要求: PaddleDetection版本 >= release/2.4
或 develop版本
PaddlePaddle和PaddleDetection安装
PaddlePaddle和PaddleDetection安装
...
@@ -36,22 +37,24 @@ pip install -r requirements.txt
...
@@ -36,22 +37,24 @@ pip install -r requirements.txt
PP-Human提供了目标检测、属性识别、行为识别、ReID预训练模型,以实现不同使用场景,用户可以直接下载使用
PP-Human提供了目标检测、属性识别、行为识别、ReID预训练模型,以实现不同使用场景,用户可以直接下载使用
| 任务 | 适用场景 | 精度 | 预测速度(
FPS
) | 预测部署模型 |
| 任务 | 适用场景 | 精度 | 预测速度(
ms
) | 预测部署模型 |
| :---------: |:---------: |:--------------- | :-------: | :------: |
| :---------: |:---------: |:--------------- | :-------: | :------: |
| 目标检测 | 图片/视频输入 | - | - |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 目标检测 | 图片输入 | mAP: 56.3 | 28.0ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 属性识别 | 图片/视频输入 属性识别 | - | - |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/strongbaseline_r50_30e_pa100k.zip
)
|
| 目标跟踪 | 视频输入 | MOTA: 72.0 | 33.1ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 关键点检测 | 视频输入 行为识别 | - | - |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/dark_hrnet_w32_256x192.zip
)
| 属性识别 | 图片/视频输入 属性识别 | mA: 94.86 | 单人2ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/strongbaseline_r50_30e_pa100k.zip
)
|
| 行为识别 | 视频输入 行为识别 | - | - |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/STGCN.zip
)
|
| 关键点检测 | 视频输入 行为识别 | AP: 87.1 | 单人2.9ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/dark_hrnet_w32_256x192.zip
)
| ReID | 视频输入 跨镜跟踪 | - | - |
[
下载链接
](
)
|
| 行为识别 | 视频输入 行为识别 | 准确率: 96.43 | 单人2.7ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/STGCN.zip
)
|
| ReID | 视频输入 跨镜跟踪 | mAP: 99.7 | - |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/reid_model.zip
)
|
下载模型后,解压至
`./output_inference`
文件夹
下载模型后,解压至
`./output_inference`
文件夹
**注意:**
**注意:**
-
模型精度为融合数据集结果,数据集包含开源数据集和企业数据集
-
模型精度为融合数据集结果,数据集包含开源数据集和企业数据集
-
预测速度为T4下,开启TensorRT FP16的效果
-
ReID模型精度为Market1501数据集测试结果
-
预测速度为T4下,开启TensorRT FP16的效果, 模型预测速度包含数据预处理、模型预测、后处理全流程
### 2. 配置文件
准备
### 2. 配置文件
说明
PP-Human相关配置位于
```deploy/pphuman/config/infer_cfg.yml```
中,存放模型路径,完成不同功能需要设置不同的任务类型
PP-Human相关配置位于
```deploy/pphuman/config/infer_cfg.yml```
中,存放模型路径,完成不同功能需要设置不同的任务类型
...
@@ -80,6 +83,10 @@ ATTR:
...
@@ -80,6 +83,10 @@ ATTR:
batch_size: 8
batch_size: 8
```
```
**注意:**
-
如果用户仅需要实现不同任务,可以在命令行中加入
`--enable_attr=True`
或
`--enable_action=True`
即可,无需修改配置文件
-
如果用户仅需要修改模型文件路径,可以在命令行中加入
`--model_dir det=ppyoloe/`
即可,无需修改配置文件,详细说明参考下方参数说明文档
### 3. 预测部署
### 3. 预测部署
...
@@ -104,13 +111,13 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml -
...
@@ -104,13 +111,13 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml -
| 参数 | 是否必须|含义 |
| 参数 | 是否必须|含义 |
|-------|-------|----------|
|-------|-------|----------|
| --config | Yes | 配置文件路径 |
| --config | Yes | 配置文件路径 |
| --model_dir | Option | PP-Human中各任务模型路径,优先级高于配置文件
|
| --model_dir | Option | PP-Human中各任务模型路径,优先级高于配置文件
, 例如
`--model_dir det=better_det/ attr=better_attr/`
|
| --image_file | Option | 需要预测的图片 |
| --image_file | Option | 需要预测的图片 |
| --image_dir | Option | 要预测的图片文件夹路径 |
| --image_dir | Option | 要预测的图片文件夹路径 |
| --video_file | Option | 需要预测的视频 |
| --video_file | Option | 需要预测的视频 |
| --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测,可设置为:0 - (摄像头数目-1) ),预测过程中在可视化界面按
`q`
退出输出预测结果到:output/output.mp4|
| --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测,可设置为:0 - (摄像头数目-1) ),预测过程中在可视化界面按
`q`
退出输出预测结果到:output/output.mp4|
| --enable_attr| Option | 是否进行属性识别 |
| --enable_attr| Option | 是否进行属性识别
, 默认为False,即不开启属性识别
|
| --enable_action| Option | 是否进行行为识别 |
| --enable_action| Option | 是否进行行为识别
,默认为False,即不开启行为识别
|
| --device | Option | 运行时的设备,可选择
`CPU/GPU/XPU`
,默认为
`CPU`
|
| --device | Option | 运行时的设备,可选择
`CPU/GPU/XPU`
,默认为
`CPU`
|
| --output_dir | Option|可视化结果保存的根目录,默认为output/|
| --output_dir | Option|可视化结果保存的根目录,默认为output/|
| --run_mode | Option |使用GPU时,默认为paddle, 可选(paddle/trt_fp32/trt_fp16/trt_int8)|
| --run_mode | Option |使用GPU时,默认为paddle, 可选(paddle/trt_fp32/trt_fp16/trt_int8)|
...
...
deploy/pphuman/docs/action.md
浏览文件 @
12fb0052
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到。
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到。
2.
关键点模型使用COCO,UAVHuman和部分业务数据融合训练, 精度在业务数据测试集上得到。
2.
关键点模型使用COCO,UAVHuman和部分业务数据融合训练, 精度在业务数据测试集上得到。
3.
行为识别模型使用NTU-RGB+D,UR Fall Detection Dataset和部分业务数据融合训练,精度在业务数据测试集上得到。
3.
行为识别模型使用NTU-RGB+D,UR Fall Detection Dataset和部分业务数据融合训练,精度在业务数据测试集上得到。
4.
预测速度为NVIDIA T4 机器上使用TensorRT FP16时的速度。
4.
预测速度为NVIDIA T4 机器上使用TensorRT FP16时的速度
, 速度包含数据预处理、模型预测、后处理全流程
。
## 配置说明
## 配置说明
[
配置文件
](
../config/infer_cfg.yml
)
中与行为识别相关的参数如下:
[
配置文件
](
../config/infer_cfg.yml
)
中与行为识别相关的参数如下:
...
...
deploy/pphuman/docs/attribute.md
浏览文件 @
12fb0052
...
@@ -5,11 +5,11 @@
...
@@ -5,11 +5,11 @@
| 任务 | 算法 | 精度 | 预测速度(ms) |下载链接 |
| 任务 | 算法 | 精度 | 预测速度(ms) |下载链接 |
|:---------------------|:---------:|:------:|:------:| :---------------------------------------------------------------------------------: |
|:---------------------|:---------:|:------:|:------:| :---------------------------------------------------------------------------------: |
| 行人检测/跟踪 | PP-YOLOE | mAP: 56.3
<br>
MOTA: 72.0 | 检测: 28ms
<br>
跟踪:33.1ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 行人检测/跟踪 | PP-YOLOE | mAP: 56.3
<br>
MOTA: 72.0 | 检测: 28ms
<br>
跟踪:33.1ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 行人属性分析 | StrongBaseline | m
a: 94.86 | 单人 2ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/strongbaseline_r50_30e_pa100k.tar
)
|
| 行人属性分析 | StrongBaseline | m
A: 94.86 | 单人 2ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/strongbaseline_r50_30e_pa100k.zip
)
|
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到
2.
行人属性分析精度为PA100k,RAPv2,PETA和部分业务数据融合训练测试得到
2.
行人属性分析精度为PA100k,RAPv2,PETA和部分业务数据融合训练测试得到
3.
预测速度为T4 机器上使用TensorRT FP16时的速度
3.
预测速度为T4 机器上使用TensorRT FP16时的速度
, 速度包含数据预处理、模型预测、后处理全流程
## 使用方法
## 使用方法
...
@@ -31,7 +31,7 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
...
@@ -31,7 +31,7 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
4.
若修改模型路径,有以下两种方式:
4.
若修改模型路径,有以下两种方式:
- ```./deploy/pphuman/config/infer_cfg.yml```下可以配置不同模型路径,属性识别模型修改ATTR字段下配置
- ```./deploy/pphuman/config/infer_cfg.yml```下可以配置不同模型路径,属性识别模型修改ATTR字段下配置
- 命令行中增加`--model_dir`修改模型路径:
-
**(推荐)**
命令行中增加`--model_dir`修改模型路径:
```
python
```
python
python
deploy
/
pphuman
/
pipeline
.
py
--
config
deploy
/
pphuman
/
config
/
infer_cfg
.
yml
\
python
deploy
/
pphuman
/
pipeline
.
py
--
config
deploy
/
pphuman
/
config
/
infer_cfg
.
yml
\
--
video_file
=
test_video
.
mp4
\
--
video_file
=
test_video
.
mp4
\
...
...
deploy/pphuman/docs/mot.md
浏览文件 @
12fb0052
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
| 行人检测/跟踪 | PP-YOLOE | mAP: 56.3
<br>
MOTA: 72.0 | 检测: 28ms
<br>
跟踪:33.1ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
| 行人检测/跟踪 | PP-YOLOE | mAP: 56.3
<br>
MOTA: 72.0 | 检测: 28ms
<br>
跟踪:33.1ms |
[
下载链接
](
https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip
)
|
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到
1.
检测/跟踪模型精度为MOT17,CrowdHuman,HIEVE和部分业务数据融合训练测试得到
2.
预测速度为T4 机器上使用TensorRT FP16时的速度
2.
预测速度为T4 机器上使用TensorRT FP16时的速度
, 速度包含数据预处理、模型预测、后处理全流程
## 使用方法
## 使用方法
...
@@ -38,7 +38,8 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
...
@@ -38,7 +38,8 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
```
```
**注意:**
**注意:**
-
`--do_entrance_counting`
表示是否统计出入口流量,不设置即默认为False,
`--draw_center_traj`
表示是否绘制跟踪轨迹,不设置即默认为False。注意绘制跟踪轨迹的测试视频最好是静止摄像头拍摄的。
-
`--do_entrance_counting`
表示是否统计出入口流量,不设置即默认为False
-
`--draw_center_traj`
表示是否绘制跟踪轨迹,不设置即默认为False。注意绘制跟踪轨迹的测试视频最好是静止摄像头拍摄的。
测试效果如下:
测试效果如下:
...
...
deploy/pptracking/python/mot/visualize.py
浏览文件 @
12fb0052
...
@@ -209,7 +209,7 @@ def plot_tracking_dict(image,
...
@@ -209,7 +209,7 @@ def plot_tracking_dict(image,
end
=
records
[
-
1
].
find
(
'In'
)
end
=
records
[
-
1
].
find
(
'In'
)
cv2
.
putText
(
cv2
.
putText
(
im
,
im
,
records
[
-
1
][
start
:
end
],
(
0
,
int
(
40
*
text_scale
)),
records
[
-
1
][
start
:
end
],
(
0
,
int
(
40
*
text_scale
)
+
10
),
cv2
.
FONT_ITALIC
,
cv2
.
FONT_ITALIC
,
text_scale
,
(
0
,
0
,
255
),
text_scale
,
(
0
,
0
,
255
),
thickness
=
text_thickness
)
thickness
=
text_thickness
)
...
@@ -226,7 +226,7 @@ def plot_tracking_dict(image,
...
@@ -226,7 +226,7 @@ def plot_tracking_dict(image,
start
=
records
[
-
1
].
find
(
'In'
)
start
=
records
[
-
1
].
find
(
'In'
)
cv2
.
putText
(
cv2
.
putText
(
im
,
im
,
records
[
-
1
][
start
:
-
1
],
(
0
,
int
(
60
*
text_scale
)),
records
[
-
1
][
start
:
-
1
],
(
0
,
int
(
60
*
text_scale
)
+
10
),
cv2
.
FONT_ITALIC
,
cv2
.
FONT_ITALIC
,
text_scale
,
(
0
,
0
,
255
),
text_scale
,
(
0
,
0
,
255
),
thickness
=
text_thickness
)
thickness
=
text_thickness
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录