Skip to content

Commit d1892ff

Browse files
authored
add en doc & update yoloseries, test=document_fix (#6614)
* add en doc & update yoloseries, test=document_fix * update readme, test=document_fix
1 parent 54c3e05 commit d1892ff

12 files changed

+836
-23
lines changed

README_cn.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,18 @@
2222
</div>
2323

2424
## <img src="https://user-images.githubusercontent.com/48054808/157793354-6e7f381a-0aa6-4bb7-845c-9acf2ecc05c3.png" width="20"/> 产品动态
25+
26+
- 🔥 **2022.8.09:[YOLO家族全系列模型](https://github.com/nemonameless/PaddleDetection_YOLOSeries)发布**
27+
- 全面覆盖的YOLO家族经典与最新模型: 包括YOLOv3,百度飞桨自研的实时高精度目标检测检测模型PP-YOLOE,以及前沿检测算法YOLOv4、YOLOv5、YOLOX,MT-YOLOv6及YOLOv7
28+
- 更强的模型性能:基于各家前沿YOLO算法进行创新并升级,缩短训练周期5~8倍,精度普遍提升1%~5% mAP;使用模型压缩策略实现精度无损的同时速度提升30%以上
29+
- 完备的端到端开发支持:支持从模型训练、评估、预测到模型量化压缩,部署多种硬件的端到端开发全流程。同时支持不同模型算法灵活切换,一键实现算法二次开发
30+
2531
- 🔥 **2022.8.01:发布[PP-TinyPose升级版](./configs/keypoint/tiny_pose/). 在健身、舞蹈等场景的业务数据集端到端AP提升9.1**
2632
- 新增体育场景真实数据,复杂动作识别效果显著提升,覆盖侧身、卧躺、跳跃、高抬腿等非常规动作
2733
- 检测模型采用[PP-PicoDet增强版](./configs/picodet/README.md),在COCO数据集上精度提升3.1%
2834
- 关键点稳定性增强,新增滤波稳定方式,使得视频预测结果更加稳定平滑
2935

30-
- 🔥 **2022.7.14:[行人分析工具PP-Human v2](./deploy/pipeline)发布**
36+
- 2022.7.14:[行人分析工具PP-Human v2](./deploy/pipeline)发布
3137
- 四大产业特色功能:高性能易扩展的五大复杂行为识别、闪电级人体属性识别、一行代码即可实现的人流检测与轨迹留存以及高精度跨镜跟踪
3238
- 底层核心算法性能强劲:覆盖行人检测、跟踪、属性三类核心算法能力,对目标人数、光线、背景均无限制
3339
- 极低使用门槛:提供保姆级全流程开发及模型优化策略、一行命令完成推理、兼容各类数据输入格式
@@ -38,15 +44,6 @@
3844
- 发布实时行人分析工具[PP-Human](deploy/pipeline),支持行人跟踪、人流量统计、人体属性识别与摔倒检测四大能力,基于真实场景数据特殊优化,精准识别各类摔倒姿势,适应不同环境背景、光线及摄像角度。
3945
- 新增[YOLOX](configs/yolox)目标检测模型,支持nano/tiny/s/m/l/x版本,x版本COCO val2017数据集精度51.8%。
4046

41-
- 2021.11.03: PaddleDetection发布[release/2.3版本](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3)
42-
43-
- 发布轻量级检测特色模型⚡[PP-PicoDet](configs/picodet),0.99m的参数量可实现精度30+mAP、速度150FPS。
44-
- 发布轻量级关键点特色模型⚡[PP-TinyPose](configs/keypoint/tiny_pose),单人场景FP16推理可达122FPS、51.8AP,具有精度高速度快、检测人数无限制、微小目标效果好的优势。
45-
- 发布实时跟踪系统[PP-Tracking](deploy/pptracking),覆盖单、多镜头下行人、车辆、多类别跟踪,对小目标、密集型特殊优化,提供人、车流量技术解决方案。
46-
- 新增[Swin Transformer](configs/faster_rcnn)[TOOD](configs/tood)[GFL](configs/gfl)目标检测模型。
47-
- 发布[Sniper](configs/sniper)小目标检测优化模型,发布针对EdgeBoard优化[PP-YOLO-EB](configs/ppyolo)模型。
48-
- 新增轻量化关键点模型[Lite HRNet](configs/keypoint)关键点模型并支持Paddle Lite部署。
49-
5047
- [更多版本发布](https://github.com/PaddlePaddle/PaddleDetection/releases)
5148

5249
## <img title="" src="https://user-images.githubusercontent.com/48054808/157795569-9fc77c85-732f-4870-9be0-99a7fe2cff27.png" alt="" width="20"> 简介
@@ -108,6 +105,9 @@
108105
<li>PSS-Det</li>
109106
<li>RetinaNet</li>
110107
<li>YOLOv3</li>
108+
<li>YOLOv5</li>
109+
<li>MT-YOLOv6</li>
110+
<li>YOLOv7</li>
111111
<li>PP-YOLOv1/v2</li>
112112
<li>PP-YOLO-Tiny</li>
113113
<li>PP-YOLOE</li>
@@ -263,7 +263,7 @@
263263
- `PP-YOLO`在COCO数据集精度45.9%,Tesla V100预测速度72.9FPS,精度速度均优于[YOLOv4](https://arxiv.org/abs/2004.10934)
264264
- `PP-YOLO v2`是对`PP-YOLO`模型的进一步优化,在COCO数据集精度49.5%,Tesla V100预测速度68.9FPS
265265
- `PP-YOLOE`是对`PP-YOLO v2`模型的进一步优化,在COCO数据集精度51.6%,Tesla V100预测速度78.1FPS
266-
- [`YOLOX`](configs/yolox)[`YOLOv5`](https://github.com/nemonameless/PaddleDetection_YOLOv5/tree/main/configs/yolov5)均为基于PaddleDetection复现算法
266+
- [`YOLOX`](configs/yolox)[`YOLOv5`](https://github.com/nemonameless/PaddleDetection_YOLOSeries/tree/develop/configs/yolov5)均为基于PaddleDetection复现算法
267267
- 图中模型均可在[模型库](#模型库)中获取
268268

269269
</details>
@@ -312,7 +312,8 @@
312312
| 模型名称 | COCO精度(mAP) | V100 TensorRT FP16速度(FPS) | 配置文件 | 模型下载 |
313313
|:------------------------------------------------------------------ |:-----------:|:-------------------------:|:------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|
314314
| [YOLOX-l](configs/yolox) | 50.1 | 107.5 | [链接](configs/yolox/yolox_l_300e_coco.yml) | [下载地址](https://paddledet.bj.bcebos.com/models/yolox_l_300e_coco.pdparams) |
315-
| [YOLOv5-l](https://github.com/nemonameless/PaddleDetection_YOLOv5) | 48.6 | 136.0 | [链接](https://github.com/nemonameless/PaddleDetection_YOLOv5/blob/main/configs/yolov5/yolov5_l_300e_coco.yml) | [下载地址](https://paddledet.bj.bcebos.com/models/yolov5_l_300e_coco.pdparams) |
315+
| [YOLOv5-l](https://github.com/nemonameless/PaddleDetection_YOLOSeries/tree/develop/configs/yolov5) | 48.6 | 136.0 | [链接](https://github.com/nemonameless/PaddleDetection_YOLOSeries/blob/develop/configs/yolov5/yolov5_l_300e_coco.yml) | [下载地址](https://paddledet.bj.bcebos.com/models/yolov5_l_300e_coco.pdparams) |
316+
| [YOLOv7-l](https://github.com/nemonameless/PaddleDetection_YOLOSeries/tree/develop/configs/yolov7) | 51.0 | 135.0 | [链接](https://github.com/nemonameless/PaddleDetection_YOLOSeries/blob/develop/configs/yolov7/yolov7_l_300e_coco.yml) | [下载地址](https://paddledet.bj.bcebos.com/models/yolov7_l_300e_coco.pdparams) |
316317

317318
#### 其他通用检测模型 [文档链接](docs/MODEL_ZOO_cn.md)
318319

README_en.md

+12-10
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,18 @@
2323

2424
## <img src="https://user-images.githubusercontent.com/48054808/157793354-6e7f381a-0aa6-4bb7-845c-9acf2ecc05c3.png" width="20"/> Product Update
2525

26-
- 🔥 **2022.7.14:Release [pedestrian analysis tool PP-Human v2](./deploy/pipeline)**
26+
- 🔥 **2022.8.09:Release [YOLO series model zoo](https://github.com/nemonameless/PaddleDetection_YOLOSeries)**
27+
- Comprehensive coverage of classic and latest models of the YOLO series: Including YOLOv3,Paddle real-time object detection model PP-YOLOE, and frontier detection algorithms YOLOv4, YOLOv5, YOLOX, MT-YOLOv6 and YOLOv7
28+
- Better model performance:Upgrade based on various YOLO algorithms, shorten training time in 5-8 times and the accuracy is generally improved by 1%-5% mAP. The model compression strategy is used to achieve 30% improvement in speed without precision loss
29+
- Complete end-to-end development support:End-to-end development pipieline including training, evaluation, inference, model compression and deployment on various hardware. Meanwhile, support flexible algorithnm switch and implement customized development efficiently
30+
31+
- 🔥 **2022.8.01:Release [PP-TinyPose plus](./configs/keypoint/tiny_pose/). The end-to-end precision improves 9.1% AP in dataset
32+
of fitness and dance scenes**
33+
- Increase data of sports scenes, and the recognition performance of complex actions is significantly improved, covering actions such as sideways, lying down, jumping, and raising legs
34+
- Detection model uses PP-PicoDet plus and the precision on COCO dataset is improved by 3.1% mAP
35+
- The stability of keypoints is enhanced. Implement the filter stabilization method to make the video prediction result more stable and smooth.
36+
37+
- 2022.7.14:Release [pedestrian analysis tool PP-Human v2](./deploy/pipeline)
2738
- Four major functions: five complicated action recognition with high performance and Flexible, real-time human attribute recognition, visitor flow statistics and high-accuracy multi-camera tracking.
2839
- High performance algorithm: including pedestrian detection, tracking, attribute recognition which is robust to the number of targets and the variant of background and light.
2940
- Highly Flexible: providing complete introduction of end-to-end development and optimization strategy, simple command for deployment and compatibility with different input format.
@@ -34,15 +45,6 @@
3445
- Release the real-time pedestrian analysis tool [PP-Human](deploy/pphuman). It has four major functions: pedestrian tracking, visitor flow statistics, human attribute recognition and falling detection. For falling detection, it is optimized based on real-life data with accurate recognition of various types of falling posture. It can adapt to different environmental background, light and camera angle.
3546
- Add [YOLOX](configs/yolox) object detection model with nano/tiny/S/M/L/X. X version has the accuracy as 51.8% on COCO Val2017 dataset.
3647

37-
- 2021.11.03: PaddleDetection released [release/2.3 version](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3)
38-
39-
- Release light-weight featured detection model ⚡[PP-PicoDet](configs/picodet). With a 0.99m parameter, its inference speed could reach to 150FPS when COCO mAP as over 30%
40-
- Release light-weight keypoint special model ⚡[PP-TinyPose](configs/keypoint/tiny_pose), FP16 inference speed as 122 FPS and on a single person detection. It has high performance and fast speed, unlimited detection headcounts while being effective on small objects.
41-
- Release real-time tracking system [PP-Tracking](deploy/pptracking), covering pedestrian, vehicle and multi-category tracking with single and multi-camera, optimization for small and intensive objects, providing technical solutions for human and vehicle traffic.
42-
- Add object detection models [Swin Transformer](configs/faster_rcnn)[TOOD](configs/tood)[GFL](configs/gfl)
43-
- Release optimized small object detection model [Sniper](configs/sniper) and [PP-YOLO-EB](configs/ppyolo) model which optimized for EdgeBoard
44-
- Add light-weight keypoint model [Lite HRNet](configs/keypoint) and supported Paddle Lite deployment
45-
4648
- [More releases](https://github.com/PaddlePaddle/PaddleDetection/releases)
4749

4850
## <img title="" src="https://user-images.githubusercontent.com/48054808/157795569-9fc77c85-732f-4870-9be0-99a7fe2cff27.png" alt="" width="20"> Brief Introduction

docs/advanced_tutorials/customization/detection.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
简体中文 | [English](./detection_en.md)
2+
13
# 目标检测任务二次开发
24

35
在目标检测算法产业落地过程中,常常会出现需要额外训练以满足实际使用的要求,项目迭代过程中也会出先需要修改类别的情况。本文档详细介绍如何使用PaddleDetection进行目标检测算法二次开发,流程包括:数据准备、模型优化思路和修改类别开发流程。
@@ -39,7 +41,7 @@ TestDataset:
3941

4042
```
4143
export CUDA_VISIBLE_DEVICES=0
42-
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval
44+
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml --eval
4345
```
4446

4547
更详细的命令参考[30分钟快速上手PaddleDetection](../../tutorials/GETTING_STARTED_cn.md)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
[简体中文](./detection.md) | English
2+
3+
# Customize Object Detection task
4+
5+
In the practical application of object detection algorithms in a specific industry, additional training is often required for practical use. The project iteration will also need to modify categories. This document details how to use PaddleDetection for a customized object detection algorithm. The process includes data preparation, model optimization roadmap, and modifying the category development process.
6+
7+
## Data Preparation
8+
9+
Customization starts with the preparation of the dataset. We need to collect suitable data for the scenario features, so as to improve the model effect and generalization performance. Then Labeme, LabelImg and other labeling tools will be used to label the object detection bouding boxes and convert the labeling results into COCO or VOC data format. Details please refer to [Data Preparation](../../tutorials/data/PrepareDetDataSet_en.md)
10+
11+
## Model Optimization
12+
13+
### 1. Use customized dataset for training
14+
15+
Modify the corresponding path in the data configuration file based on the prepared data, for example:
16+
17+
configs/dataset/coco_detection.yml`:
18+
19+
```
20+
metric: COCO
21+
num_classes: 80
22+
23+
TrainDataset:
24+
!COCODataSet
25+
image_dir: train2017 # Path to the images of the training set relative to the dataset_dir
26+
anno_path: annotations/instances_train2017.json # Path to the annotation file of the training set relative to the dataset_dir
27+
dataset_dir: dataset/coco # Path to the dataset relative to the PaddleDetection path
28+
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
29+
30+
EvalDataset:
31+
!COCODataSet
32+
image_dir: val2017 # Path to the images of the evaldataset set relative to the dataset_dir
33+
anno_path: annotations/instances_val2017.json # Path to the annotation file of the evaldataset relative to the dataset_dir
34+
dataset_dir: dataset/coco # Path to the dataset relative to the PaddleDetection path
35+
36+
TestDataset:
37+
!ImageFolder
38+
anno_path: annotations/instances_val2017.json # also support txt (like VOC's label_list.txt) # Path to the annotation files relative to dataset_di.
39+
dataset_dir: dataset/coco # if set, anno_path will be 'dataset_dir/anno_path' # Path to the dataset relative to the PaddleDetection path
40+
```
41+
42+
Once the configuration changes are completed, the training evaluation can be started with the following command
43+
44+
```
45+
export CUDA_VISIBLE_DEVICES=0
46+
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml --eval
47+
```
48+
49+
More details please refer to [Getting Started for PaddleDetection](../../tutorials/GETTING_STARTED_cn.md)
50+
51+
###
52+
53+
### 2. Load the COCO model as pre-training
54+
55+
The currently provided pre-trained models in PaddleDetection's configurations are weights from the ImageNet dataset, loaded into the backbone network of the detection algorithm. For practical use, it is recommended to load the weights trained on the COCO dataset, which can usually provide a large improvement to the model accuracy. The method is as follows.
56+
57+
#### 1) Set pre-training weight path
58+
59+
The trained model weights for the COCO dataset are saved in the configuration folder of each algorithm, for example, PP-YOLOE-l COCO dataset weights are provided under `configs/ppyoloe`: [Link](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams) The configuration file sets`pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams`
60+
61+
#### 2) Modify hyperparameters
62+
63+
After loading the COCO pre-training weights, the learning rate hyperparameters need to be modified, for example
64+
65+
In `configs/ppyoloe/_base_/optimizer_300e.yml`:
66+
67+
```
68+
epoch: 120 # The original configuration is 300 epoch, after loading COCO weights, the iteration number can be reduced appropriately
69+
70+
LearningRate:
71+
base_lr: 0.005 # The original configuration is 0.025, after loading COCO weights, the learning rate should be reduced.
72+
schedulers:
73+
- !CosineDecay
74+
max_epochs: 144 # Modify based on the number of epochs
75+
- LinearWarmup
76+
start_factor: 0.
77+
epochs: 5
78+
```
79+
80+
## Modify categories
81+
82+
When the actual application scenario category changes, the data configuration file needs to be modified, for example in `configs/datasets/coco_detection.yml`:
83+
84+
```
85+
metric: COCO
86+
num_classes: 10 # original class 80
87+
```
88+
89+
After the configuration changes are completed, the COCO pre-training weights can also be loaded. PaddleDetection supports automatic loading of shape-matching weights, and weights that do not match the shape are automatically ignored, so no other modifications are needed.

docs/advanced_tutorials/customization/keypoint_detection.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
简体中文 | [English](./keypoint_detection_en.md)
2+
13
# 关键点检测任务二次开发
24

35
在实际场景中应用关键点检测算法,不可避免地会出现需要二次开发的需求。包括对目前的预训练模型效果不满意,希望优化模型效果;或是目前的关键点点位定义不能满足实际场景需求,希望新增或是替换关键点点位的定义,训练新的关键点模型。本文档将介绍如何在PaddleDetection中,对关键点检测算法进行二次开发。

0 commit comments

Comments
 (0)