mot.md 4.1 KB
Newer Older
J
JYChen 已提交
1 2
[English](mot_en.md) | 简体中文

3 4 5 6 7 8
# PP-Human检测跟踪模块

行人检测与跟踪在智慧社区,工业巡检,交通监控等方向都具有广泛应用,PP-Human中集成了检测跟踪模块,是关键点检测、属性行为识别等任务的基础。我们提供了预训练模型,用户可以直接下载使用。

| 任务                 | 算法 | 精度 | 预测速度(ms) |下载链接                                                                               |
|:---------------------|:---------:|:------:|:------:| :---------------------------------------------------------------------------------: |
9 10
| 行人检测/跟踪    |  PP-YOLOE-l | mAP: 56.6 <br> MOTA: 79.5 | 检测: 28.0ms <br> 跟踪:33.1ms | [下载链接](https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip) |
| 行人检测/跟踪    |  PP-YOLOE-s | mAP: 53.2 <br> MOTA: 69.1 | 检测: 22.1ms <br> 跟踪:27.2ms | [下载链接](https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_s_36e_pipeline.zip) |
11

12
1. 检测/跟踪模型精度为[COCO-Person](http://cocodataset.org/), [CrowdHuman](http://www.crowdhuman.org/), [HIEVE](http://humaninevents.org/) 和部分业务数据融合训练测试得到,验证集为业务数据
13
2. 预测速度为T4 机器上使用TensorRT FP16时的速度, 速度包含数据预处理、模型预测、后处理全流程
14 15 16 17

## 使用方法

1. 从上表链接中下载模型并解压到```./output_inference```路径下
F
Feng Ni 已提交
18
2. 图片输入时,是纯检测任务,启动命令如下
19
```python
Z
zhiboniu 已提交
20
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_pphuman.yml \
21 22 23
                                                   --image_file=test_image.jpg \
                                                   --device=gpu
```
F
Feng Ni 已提交
24
3. 视频输入时,是跟踪任务,注意首先设置infer_cfg_pphuman.yml中的MOT配置的enable=True,然后启动命令如下
25
```python
Z
zhiboniu 已提交
26
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_pphuman.yml \
27 28 29 30 31
                                                   --video_file=test_video.mp4 \
                                                   --device=gpu
```
4. 若修改模型路径,有以下两种方式:

Z
zhiboniu 已提交
32
    - ```./deploy/pipeline/config/infer_cfg_pphuman.yml```下可以配置不同模型路径,检测和跟踪模型分别对应`DET`和`MOT`字段,修改对应字段下的路径为实际期望的路径即可。
33 34
    - 命令行中增加`--model_dir`修改模型路径:
```python
Z
zhiboniu 已提交
35
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_pphuman.yml \
36 37 38
                                                   --video_file=test_video.mp4 \
                                                   --device=gpu \
                                                   --do_entrance_counting \
39 40
                                                   --draw_center_traj \
                                                   --model_dir det=ppyoloe/
41 42 43

```
**注意:**
44 45
 - `--do_entrance_counting`表示是否统计出入口流量,不设置即默认为False
 - `--draw_center_traj`表示是否绘制跟踪轨迹,不设置即默认为False。注意绘制跟踪轨迹的测试视频最好是静止摄像头拍摄的。
46 47 48 49

测试效果如下:

<div width="1000" align="center">
W
wangguanzhong 已提交
50
  <img src="../images/mot.gif"/>
51 52 53 54 55 56
</div>

数据来源及版权归属:天覆科技,感谢提供并开源实际场景数据,仅限学术研究使用

## 方案说明

F
Feng Ni 已提交
57 58
1. 目标检测/多目标跟踪获取图片/视频输入中的行人检测框,模型方案为PP-YOLOE,详细文档参考[PP-YOLOE](../../../../configs/ppyoloe/)
2. 多目标跟踪模型方案基于[ByteTrack](https://arxiv.org/pdf/2110.06864.pdf),采用PP-YOLOE替换原文的YOLOX作为检测器,采用BYTETracker作为跟踪器,详细文档参考[ByteTrack](../../../../configs/mot/bytetrack)
59 60 61 62 63 64 65 66 67 68

## 参考文献
```
@article{zhang2021bytetrack,
  title={ByteTrack: Multi-Object Tracking by Associating Every Detection Box},
  author={Zhang, Yifu and Sun, Peize and Jiang, Yi and Yu, Dongdong and Yuan, Zehuan and Luo, Ping and Liu, Wenyu and Wang, Xinggang},
  journal={arXiv preprint arXiv:2110.06864},
  year={2021}
}
```