Data source and copyright owner:Skyinfor
Technology. Thanks for the provision of actual scenario data, which are only
used for academic research here.
diff --git a/deploy/pphuman/docs/attribute.md b/deploy/pphuman/docs/tutorials/attribute.md
similarity index 99%
rename from deploy/pphuman/docs/attribute.md
rename to deploy/pphuman/docs/tutorials/attribute.md
index 84bf1b7254be6b0fd71fafc8c90720b65cb1965a..53c41e285624b21935d19db4eeb2cbddb639f1c9 100644
--- a/deploy/pphuman/docs/attribute.md
+++ b/deploy/pphuman/docs/tutorials/attribute.md
@@ -45,7 +45,7 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
测试效果如下:
-
+
数据来源及版权归属:天覆科技,感谢提供并开源实际场景数据,仅限学术研究使用
diff --git a/deploy/pphuman/docs/attribute_en.md b/deploy/pphuman/docs/tutorials/attribute_en.md
similarity index 100%
rename from deploy/pphuman/docs/attribute_en.md
rename to deploy/pphuman/docs/tutorials/attribute_en.md
diff --git a/deploy/pphuman/docs/mot.md b/deploy/pphuman/docs/tutorials/mot.md
similarity index 99%
rename from deploy/pphuman/docs/mot.md
rename to deploy/pphuman/docs/tutorials/mot.md
index 893ac479cb1a7b697fffbab9508c2a6960feecfe..33aa72cc7dbca24e8c164e80fef0a769a903f9a3 100644
--- a/deploy/pphuman/docs/mot.md
+++ b/deploy/pphuman/docs/tutorials/mot.md
@@ -47,7 +47,7 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
测试效果如下:
-
+
数据来源及版权归属:天覆科技,感谢提供并开源实际场景数据,仅限学术研究使用
diff --git a/deploy/pphuman/docs/mot_en.md b/deploy/pphuman/docs/tutorials/mot_en.md
similarity index 99%
rename from deploy/pphuman/docs/mot_en.md
rename to deploy/pphuman/docs/tutorials/mot_en.md
index 510d86c0605d487358d90e5fa0f0ad47b4651512..8fd66d2f1e86ab6a6149f5d99c656f1d2623bf27 100644
--- a/deploy/pphuman/docs/mot_en.md
+++ b/deploy/pphuman/docs/tutorials/mot_en.md
@@ -48,7 +48,7 @@ python deploy/pphuman/pipeline.py --config deploy/pphuman/config/infer_cfg.yml \
The test result is:
-
+
Data source and copyright owner:Skyinfor Technology. Thanks for the provision of actual scenario data, which are only used for academic research here.
diff --git a/deploy/pphuman/docs/mtmct.md b/deploy/pphuman/docs/tutorials/mtmct.md
similarity index 97%
rename from deploy/pphuman/docs/mtmct.md
rename to deploy/pphuman/docs/tutorials/mtmct.md
index e4c38b6cab18d40eb3e8defa081bd0a12ca5e5e6..b0f45fc13395bb146242b9d5b58a384dfa47ed7c 100644
--- a/deploy/pphuman/docs/mtmct.md
+++ b/deploy/pphuman/docs/tutorials/mtmct.md
@@ -60,12 +60,12 @@ python3 deploy/pphuman/pipeline.py
- camera 1:
-
+
- camera 2:
-
+
diff --git a/deploy/pphuman/docs/mtmct_en.md b/deploy/pphuman/docs/tutorials/mtmct_en.md
similarity index 98%
rename from deploy/pphuman/docs/mtmct_en.md
rename to deploy/pphuman/docs/tutorials/mtmct_en.md
index 852c673714a5cba2426be9f75eb40b97d64aa9c2..dd4716bc9bdddf4803ea78c8d8b813f7cd36a0d6 100644
--- a/deploy/pphuman/docs/mtmct_en.md
+++ b/deploy/pphuman/docs/tutorials/mtmct_en.md
@@ -63,12 +63,12 @@ Under the above circumstances, the REID model used in MTMCT integrates open-sour
- camera 1:
-
+
- camera 2:
-
+
diff --git a/docs/advanced_tutorials/READER.md b/docs/advanced_tutorials/READER.md
index 6be878ff25fef0890548e40ae96f31388e5d424c..4de89a93246f4967192d09e0772baf1410742664 100644
--- a/docs/advanced_tutorials/READER.md
+++ b/docs/advanced_tutorials/READER.md
@@ -90,7 +90,7 @@ COCO数据集目前分为COCO2014和COCO2017,主要由json文件和image文件
│ │ ...
```
-在`source/coco.py`中定义并注册了`COCODataSet`数据集类,其继承自`DetDataSet`,并实现了parse_dataset方法,调用[COCO API](https://github.com/cocodataset/cocoapi)加载并解析COCO格式数据源`roidbs`和`cname2cid`,具体可参见`source/coco.py`源码。将其他数据集转换成COCO格式可以参考[用户数据转成COCO数据](../tutorials/PrepareDataSet.md#用户数据转成COCO数据)
+在`source/coco.py`中定义并注册了`COCODataSet`数据集类,其继承自`DetDataSet`,并实现了parse_dataset方法,调用[COCO API](https://github.com/cocodataset/cocoapi)加载并解析COCO格式数据源`roidbs`和`cname2cid`,具体可参见`source/coco.py`源码。将其他数据集转换成COCO格式可以参考[用户数据转成COCO数据](../tutorials/PrepareDetDataSet.md#用户数据转成COCO数据)
#### 2.2Pascal VOC数据集
该数据集目前分为VOC2007和VOC2012,主要由xml文件和image文件组成,其组织结构如下所示:
@@ -118,7 +118,7 @@ COCO数据集目前分为COCO2014和COCO2017,主要由json文件和image文件
│ ├── ImageSets
│ │ ...
```
-在`source/voc.py`中定义并注册了`VOCDataSet`数据集,它继承自`DetDataSet`基类,并重写了`parse_dataset`方法,解析VOC数据集中xml格式标注文件,更新`roidbs`和`cname2cid`。将其他数据集转换成VOC格式可以参考[用户数据转成VOC数据](../tutorials/PrepareDataSet.md#用户数据转成VOC数据)
+在`source/voc.py`中定义并注册了`VOCDataSet`数据集,它继承自`DetDataSet`基类,并重写了`parse_dataset`方法,解析VOC数据集中xml格式标注文件,更新`roidbs`和`cname2cid`。将其他数据集转换成VOC格式可以参考[用户数据转成VOC数据](../tutorials/PrepareDetDataSet.md#用户数据转成VOC数据)
#### 2.3自定义数据集
如果COCODataSet和VOCDataSet不能满足你的需求,可以通过自定义数据集的方式来加载你的数据集。只需要以下两步即可实现自定义数据集
diff --git a/docs/advanced_tutorials/customization/action.md b/docs/advanced_tutorials/customization/action.md
new file mode 100644
index 0000000000000000000000000000000000000000..219d31c4209ad6d5982a94eb661fb79c00ef1afb
--- /dev/null
+++ b/docs/advanced_tutorials/customization/action.md
@@ -0,0 +1,13 @@
+# 行为识别任务二次开发
+
+## 方案选择
+
+## 数据准备
+
+## 模型优化
+
+### 1. 摔倒--基于关键点的行为识别方案
+
+## 新增行为
+
+### 1. 基于关键点的行为识别方案
diff --git a/docs/advanced_tutorials/customization/attribute.md b/docs/advanced_tutorials/customization/attribute.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a163945f054c2e9f96e22a9a0323b1f271ac9c0
--- /dev/null
+++ b/docs/advanced_tutorials/customization/attribute.md
@@ -0,0 +1,7 @@
+# 属性识别任务二次开发
+
+## 数据准备
+
+## 模型优化
+
+## 新增属性
diff --git a/docs/advanced_tutorials/customization/detection.md b/docs/advanced_tutorials/customization/detection.md
new file mode 100644
index 0000000000000000000000000000000000000000..0761a80f477d28d532dfd123970606c83363f4d2
--- /dev/null
+++ b/docs/advanced_tutorials/customization/detection.md
@@ -0,0 +1,82 @@
+# 目标检测任务二次开发
+
+在目标检测算法产业落地过程中,常常会出现需要额外训练以满足实际使用的要求,项目迭代过程中也会出先需要修改类别的情况。本文档详细介绍如何使用PaddleDetection进行目标检测算法二次开发,流程包括:数据准备、模型优化思路和修改类别开发流程。
+
+## 数据准备
+
+二次开发首先需要进行数据集的准备,针对场景特点采集合适的数据从而提升模型效果和泛化性能。然后使用Labeme,LabelImg等标注工具标注目标检测框,并将标注结果转化为COCO或VOC数据格式。详细文档可以参考[数据准备文档](../../tutorials/data/README.md)
+
+## 模型优化
+
+### 1. 使用自定义数据集训练
+
+基于准备的数据在数据配置文件中修改对应路径,例如`configs/dataset/coco_detection.yml`:
+
+```
+metric: COCO
+num_classes: 80
+
+TrainDataset:
+ !COCODataSet
+ image_dir: train2017 # 训练集的图片所在文件相对于dataset_dir的路径
+ anno_path: annotations/instances_train2017.json # 训练集的标注文件相对于dataset_dir的路径
+ dataset_dir: dataset/coco # 数据集所在路径,相对于PaddleDetection路径
+ data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
+
+EvalDataset:
+ !COCODataSet
+ image_dir: val2017 # 验证集的图片所在文件相对于dataset_dir的路径
+ anno_path: annotations/instances_val2017.json # 验证集的标注文件相对于dataset_dir的路径
+ dataset_dir: dataset/coco # 数据集所在路径,相对于PaddleDetection路径
+
+TestDataset:
+ !ImageFolder
+ anno_path: annotations/instances_val2017.json # also support txt (like VOC's label_list.txt) # 标注文件所在文件 相对于dataset_dir的路径
+ dataset_dir: dataset/coco # if set, anno_path will be 'dataset_dir/anno_path' # 数据集所在路径,相对于PaddleDetection路径
+```
+
+配置修改完成后,即可以启动训练评估,命令如下
+
+```
+export CUDA_VISIBLE_DEVICES=0
+python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval
+```
+
+更详细的命令参考[30分钟快速上手PaddleDetection](../../tutorials/GETTING_STARTED_cn.md)
+
+
+### 2. 加载COCO模型作为预训练
+
+目前PaddleDetection提供的配置文件加载的预训练模型均为ImageNet数据集的权重,加载到检测算法的骨干网络中,实际使用时,建议加载COCO数据集训练好的权重,通常能够对模型精度有较大提升,使用方法如下:
+
+#### 1) 设置预训练权重路径
+
+COCO数据集训练好的模型权重均在各算法配置文件夹下,例如`configs/ppyoloe`下提供了PP-YOLOE-l COCO数据集权重:[链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams) 。配置文件中设置`pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams`
+
+#### 2) 修改超参数
+
+加载COCO预训练权重后,需要修改学习率超参数,例如`configs/ppyoloe/_base_/optimizer_300e.yml`中:
+
+```
+epoch: 120 # 原始配置为300epoch,加载COCO权重后可以适当减少迭代轮数
+
+LearningRate:
+ base_lr: 0.005 # 原始配置为0.025,加载COCO权重后需要降低学习率
+ schedulers:
+ - !CosineDecay
+ max_epochs: 144 # 依据epoch数进行修改
+ - !LinearWarmup
+ start_factor: 0.
+ epochs: 5
+```
+
+## 修改类别
+
+当实际使用场景类别发生变化时,需要修改数据配置文件,例如`configs/datasets/coco_detection.yml`中:
+
+```
+metric: COCO
+num_classes: 10 # 原始类别80
+```
+
+配置修改完成后,同样可以加载COCO预训练权重,PaddleDetection支持自动加载shape匹配的权重,对于shape不匹配的权重会自动忽略,因此无需其他修改。
diff --git a/docs/advanced_tutorials/customization/keypoint_detection.md b/docs/advanced_tutorials/customization/keypoint_detection.md
new file mode 100644
index 0000000000000000000000000000000000000000..c68b4e9ed727d5ecba77ba76ea335efd53665858
--- /dev/null
+++ b/docs/advanced_tutorials/customization/keypoint_detection.md
@@ -0,0 +1,7 @@
+# 属性识别任务二次开发
+
+## 数据准备
+
+## 模型优化
+
+### 新增属性
diff --git a/docs/advanced_tutorials/customization/mot.md b/docs/advanced_tutorials/customization/mot.md
new file mode 100644
index 0000000000000000000000000000000000000000..9287c02b18fc4c864306e00c0d5df80c91a262ea
--- /dev/null
+++ b/docs/advanced_tutorials/customization/mot.md
@@ -0,0 +1,7 @@
+# 多目标跟踪任务二次开发
+
+## 数据准备
+
+## 模型优化
+
+## 跟踪类别修改
diff --git a/docs/tutorials/GETTING_STARTED.md b/docs/tutorials/GETTING_STARTED.md
index 2668440846653683fe3fa4bb0fa67d664b0c427f..3cf5b8c7de0c541da59508116f83049e689e594c 100644
--- a/docs/tutorials/GETTING_STARTED.md
+++ b/docs/tutorials/GETTING_STARTED.md
@@ -11,7 +11,7 @@ instructions](INSTALL_cn.md).
## Data preparation
-- Please refer to [PrepareDataSet](PrepareDataSet.md) for data preparation
+- Please refer to [PrepareDetDataSet](PrepareDetDataSet_en.md) for data preparation
- Please set the data path for data configuration file in ```configs/datasets```
diff --git a/docs/tutorials/GETTING_STARTED_cn.md b/docs/tutorials/GETTING_STARTED_cn.md
index 930dfe905f331a282a6201f43783776087cab396..ba21b4da0639a8f25f7924f0b6db0705e65b9ba5 100644
--- a/docs/tutorials/GETTING_STARTED_cn.md
+++ b/docs/tutorials/GETTING_STARTED_cn.md
@@ -12,7 +12,7 @@ PaddleDetection作为成熟的目标检测开发套件,提供了从数据准
## 2 准备数据
目前PaddleDetection支持:COCO VOC WiderFace, MOT四种数据格式。
-- 首先按照[准备数据文档](PrepareDataSet.md) 准备数据。
+- 首先按照[准备数据文档](PrepareDetDataSet.md) 准备数据。
- 然后设置`configs/datasets`中相应的coco或voc等数据配置文件中的数据路径。
- 在本项目中,我们使用路标识别数据集
```bash
diff --git a/docs/tutorials/data/DetAnnoTools.md b/docs/tutorials/data/DetAnnoTools.md
new file mode 100644
index 0000000000000000000000000000000000000000..1958a112d2f149f1c37e71fe6e5f4bcd6f8107bf
--- /dev/null
+++ b/docs/tutorials/data/DetAnnoTools.md
@@ -0,0 +1,13 @@
+# 目标检测标注工具
+
+## [LabelMe](https://github.com/wkentaro/labelme)
+
+### 使用说明
+
+### 标注格式
+
+## [LabelImg](https://github.com/tzutalin/labelImg)
+
+### 使用说明
+
+### 标注格式
diff --git a/docs/tutorials/data/KeyPointAnnoTools.md b/docs/tutorials/data/KeyPointAnnoTools.md
new file mode 100644
index 0000000000000000000000000000000000000000..1b136cebe2ff803b8fa04bfb9d6306ae89064a82
--- /dev/null
+++ b/docs/tutorials/data/KeyPointAnnoTools.md
@@ -0,0 +1,7 @@
+# 关键点检测标注工具
+
+## [LabelMe](https://github.com/wkentaro/labelme)
+
+### 使用说明
+
+### 标注格式
diff --git a/docs/tutorials/data/MOTAnnoTools.md b/docs/tutorials/data/MOTAnnoTools.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd10b7a72d283ef62d22a1028e1f928dcb3e7882
--- /dev/null
+++ b/docs/tutorials/data/MOTAnnoTools.md
@@ -0,0 +1,7 @@
+# 多目标跟踪标注工具
+
+## [DarkLabel](https://github.com/darkpgmr/DarkLabel)
+
+### 使用说明
+
+### 标注格式
diff --git a/docs/tutorials/PrepareDataSet.md b/docs/tutorials/data/PrepareDetDataSet.md
similarity index 86%
rename from docs/tutorials/PrepareDataSet.md
rename to docs/tutorials/data/PrepareDetDataSet.md
index f525541ce886d6881525485f36f30aecf3006da9..c6f65fc0ee4161e36af2f467f2c9d43af77344eb 100644
--- a/docs/tutorials/PrepareDataSet.md
+++ b/docs/tutorials/data/PrepareDetDataSet.md
@@ -1,4 +1,4 @@
-# 如何准备训练数据
+# 目标检测数据准备
## 目录
- [目标检测数据说明](#目标检测数据说明)
- [准备训练数据](#准备训练数据)
@@ -8,11 +8,13 @@
- [COCO数据数据](#COCO数据数据)
- [COCO数据集下载](#COCO数据下载)
- [COCO数据标注文件介绍](#COCO数据标注文件介绍)
- - [用户数据](#用户数据)
+ - [用户数据准备](#用户数据准备)
- [用户数据转成VOC数据](#用户数据转成VOC数据)
- [用户数据转成COCO数据](#用户数据转成COCO数据)
- [用户数据自定义reader](#用户数据自定义reader)
- - [用户数据数据转换示例](#用户数据数据转换示例)
+ - [用户数据使用示例](#用户数据使用示例)
+ - [数据格式转换](#数据格式转换)
+ - [自定义数据训练](#自定义数据训练)
- [(可选)生成Anchor](#(可选)生成Anchor)
### 目标检测数据说明
@@ -236,15 +238,7 @@ json文件中包含以下key:
print('\n查看一条目标物体标注信息:', coco_anno['annotations'][0])
```
- COCO数据准备如下。
- `dataset/coco/`最初文件组织结构
- ```
- >>cd dataset/coco/
- >>tree
- ├── download_coco.py
- ```
-
-#### 用户数据
+#### 用户数据准备
对于用户数据有3种处理方法:
(1) 将用户数据转成VOC数据(根据需要仅包含物体检测所必须的标签即可)
(2) 将用户数据转成COCO数据(根据需要仅包含物体检测所必须的标签即可)
@@ -331,35 +325,8 @@ dataset/xxx/
##### 用户数据自定义reader
如果数据集有新的数据需要添加进PaddleDetection中,您可参考数据处理文档中的[添加新数据源](../advanced_tutorials/READER.md#2.3自定义数据集)文档部分,开发相应代码完成新的数据源支持,同时数据处理具体代码解析等可阅读[数据处理文档](../advanced_tutorials/READER.md)。
-关于Dataset的配置文件存在于`configs/datasets`文件夹。比如COCO数据集的配置文件如下:
-```
-metric: COCO # 目前支持COCO, VOC, OID, WiderFace等评估标准
-num_classes: 80 # num_classes数据集的类别数,不包含背景类
-
-TrainDataset:
- !COCODataSet
- image_dir: train2017 # 训练集的图片所在文件相对于dataset_dir的路径
- anno_path: annotations/instances_train2017.json # 训练集的标注文件相对于dataset_dir的路径
- dataset_dir: dataset/coco #数据集所在路径,相对于PaddleDetection路径
- data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] # 控制dataset输出的sample所包含的字段,注意此为训练集Reader独有的且必须配置的字段
-EvalDataset:
- !COCODataSet
- image_dir: val2017 # 验证集的图片所在文件夹相对于dataset_dir的路径
- anno_path: annotations/instances_val2017.json # 验证集的标注文件相对于dataset_dir的路径
- dataset_dir: dataset/coco # 数据集所在路径,相对于PaddleDetection路径
-
-TestDataset:
- !ImageFolder
- anno_path: annotations/instances_val2017.json # 标注文件所在路径,仅用于读取数据集的类别信息,支持json和txt格式
- dataset_dir: dataset/coco # 数据集所在路径,若添加了此行,则`anno_path`路径为`dataset_dir/anno_path`,若此行不设置或去掉此行,则`anno_path`路径即为`anno_path`
-```
-在PaddleDetection的yml配置文件中,使用`!`直接序列化模块实例(可以是函数,实例等),上述的配置文件均使用Dataset进行了序列化。
-
-**注意:**
-请运行前自行仔细检查数据集的配置路径,在训练或验证时如果TrainDataset和EvalDataset的路径配置有误,会提示自动下载数据集。若使用自定义数据集,在推理时如果TestDataset路径配置有误,会提示使用默认COCO数据集的类别信息。
-
-#### 用户数据数据转换示例
+#### 用户数据使用示例
以[Kaggle数据集](https://www.kaggle.com/andrewmvd/road-sign-detection) 比赛数据为例,说明如何准备自定义数据。
Kaggle上的 [road-sign-detection](https://www.kaggle.com/andrewmvd/road-sign-detection) 比赛数据包含877张图像,数据类别4类:crosswalk,speedlimit,stop,trafficlight。
@@ -384,6 +351,8 @@ Kaggle上的 [road-sign-detection](https://www.kaggle.com/andrewmvd/road-sign-de
│ | ...
```
+#### 数据格式转换
+
将数据划分为训练集和测试集
```
# 生成 label_list.txt 文件
@@ -450,6 +419,67 @@ roadsign数据集统计:
(1)用户数据,建议在训练前仔细检查数据,避免因数据标注格式错误或图像数据不完整造成训练过程中的crash
(2)如果图像尺寸太大的话,在不限制读入数据尺寸情况下,占用内存较多,会造成内存/显存溢出,请合理设置batch_size,可从小到大尝试
+#### 自定义数据训练
+
+数据准备完成后,需要修改PaddleDetection中关于Dataset的配置文件,在`configs/datasets`文件夹下。比如roadsign数据集的配置文件如下:
+```
+metric: VOC # 目前支持COCO, VOC, WiderFace等评估标准
+num_classes: 4 # 数据集的类别数,不包含背景类,roadsign数据集为4类,其他数据需要修改为自己的数据类别
+
+TrainDataset:
+ !VOCDataSet
+ dataset_dir: dataset/roadsign_voc # 训练集的图片所在文件相对于dataset_dir的路径
+ anno_path: train.txt # 训练集的标注文件相对于dataset_dir的路径
+ label_list: label_list.txt # 数据集所在路径,相对于PaddleDetection路径
+ data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] # 控制dataset输出的sample所包含的字段,注意此为训练集Reader独有的且必须配置的字段
+
+EvalDataset:
+ !VOCDataSet
+ dataset_dir: dataset/roadsign_voc # 数据集所在路径,相对于PaddleDetection路径
+ anno_path: valid.txt # 验证集的标注文件相对于dataset_dir的路径
+ label_list: label_list.txt # 标签文件,相对于dataset_dir的路径
+ data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']
+
+TestDataset:
+ !ImageFolder
+ anno_path: label_list.txt # 标注文件所在路径,仅用于读取数据集的类别信息,支持json和txt格式
+ dataset_dir: dataset/roadsign_voc # 数据集所在路径,若添加了此行,则`anno_path`路径为相对于`dataset_dir`路径,若此行不设置或去掉此行,则为相对于PaddleDetection路径
+```
+
+然后在对应模型配置文件中将自定义数据文件路径替换为新路径,以`configs/yolov3/yolov3_mobilenet_v1_roadsign.yml`为例
+
+```
+_BASE_: [
+ '../datasets/roadsign_voc.yml', # 指定为自定义数据集配置路径
+ '../runtime.yml',
+ '_base_/optimizer_40e.yml',
+ '_base_/yolov3_mobilenet_v1.yml',
+ '_base_/yolov3_reader.yml',
+]
+pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams
+weights: output/yolov3_mobilenet_v1_roadsign/model_final
+
+YOLOv3Loss:
+ ignore_thresh: 0.7
+ label_smooth: true
+```
+
+
+在PaddleDetection的yml配置文件中,使用`!`直接序列化模块实例(可以是函数,实例等),上述的配置文件均使用Dataset进行了序列化。
+
+配置修改完成后,即可以启动训练评估,命令如下
+
+```
+export CUDA_VISIBLE_DEVICES=0
+python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval
+```
+
+更详细的命令参考[30分钟快速上手PaddleDetection](../GETTING_STARTED_cn.md)
+
+**注意:**
+请运行前自行仔细检查数据集的配置路径,在训练或验证时如果TrainDataset和EvalDataset的路径配置有误,会提示自动下载数据集。若使用自定义数据集,在推理时如果TestDataset路径配置有误,会提示使用默认COCO数据集的类别信息。
+
+
### (可选)生成Anchor
在yolo系列模型中,大多数情况下使用默认的anchor设置即可, 你也可以运行`tools/anchor_cluster.py`来得到适用于你的数据集Anchor,使用方法如下:
diff --git a/docs/tutorials/PrepareDataSet_en.md b/docs/tutorials/data/PrepareDetDataSet_en.md
similarity index 100%
rename from docs/tutorials/PrepareDataSet_en.md
rename to docs/tutorials/data/PrepareDetDataSet_en.md
diff --git a/docs/tutorials/PrepareKeypointDataSet_cn.md b/docs/tutorials/data/PrepareKeypointDataSet.md
similarity index 94%
rename from docs/tutorials/PrepareKeypointDataSet_cn.md
rename to docs/tutorials/data/PrepareKeypointDataSet.md
index 791fd1e49e8367815967654de24aed8eb2485635..d70a27deed527abce0b7f0f8e87d1f4f6404be3b 100644
--- a/docs/tutorials/PrepareKeypointDataSet_cn.md
+++ b/docs/tutorials/data/PrepareKeypointDataSet.md
@@ -1,14 +1,16 @@
简体中文 | [English](PrepareKeypointDataSet_en.md)
-# 如何准备关键点数据集
+# 关键点数据准备
## 目录
- [COCO数据集](#COCO数据集)
- [MPII数据集](#MPII数据集)
-- [训练其他数据集](#训练其他数据集)
+- [用户数据准备](#用户数据准备)
+ - [数据格式转换](#数据格式转换)
+ - [自定义数据训练](#自定义数据训练)
## COCO数据集
### COCO数据集的准备
-我们提供了一键脚本来自动完成COCO2017数据集的下载及准备工作,请参考[COCO数据集下载](https://github.com/PaddlePaddle/PaddleDetection/blob/f0a30f3ba6095ebfdc8fffb6d02766406afc438a/docs/tutorials/PrepareDataSet.md#COCO%E6%95%B0%E6%8D%AE)。
+我们提供了一键脚本来自动完成COCO2017数据集的下载及准备工作,请参考[COCO数据集下载](https://github.com/PaddlePaddle/PaddleDetection/blob/f0a30f3ba6095ebfdc8fffb6d02766406afc438a/docs/tutorials/PrepareDetDataSet.md#COCO%E6%95%B0%E6%8D%AE)。
### COCO数据集(KeyPoint)说明
在COCO中,关键点序号与部位的对应关系为:
@@ -110,7 +112,10 @@ MPII keypoint indexes:
- `scale`:表示人物的比例,对应200px。
-## 训练其他数据集
+## 用户数据准备
+
+### 数据格式转换
+
这里我们以`AIChallenger`数据集为例,展示如何将其他数据集对齐到COCO格式并加入关键点模型训练中。
@@ -139,3 +144,5 @@ AI Challenger Description:
5. 整理图像路径`file_name`,使其能够被正确访问到。
我们提供了整合`COCO`训练集和`AI Challenger`数据集的[标注文件](https://bj.bcebos.com/v1/paddledet/data/keypoint/aic_coco_train_cocoformat.json),供您参考调整后的效果。
+
+### 自定义数据训练
diff --git a/docs/tutorials/PrepareKeypointDataSet_en.md b/docs/tutorials/data/PrepareKeypointDataSet_en.md
similarity index 98%
rename from docs/tutorials/PrepareKeypointDataSet_en.md
rename to docs/tutorials/data/PrepareKeypointDataSet_en.md
index 4656922ab79d93720538bd13ef4bc3f188819862..80272910cee355e28d6aa219e30bc98de599bbd0 100644
--- a/docs/tutorials/PrepareKeypointDataSet_en.md
+++ b/docs/tutorials/data/PrepareKeypointDataSet_en.md
@@ -1,4 +1,4 @@
-[简体中文](PrepareKeypointDataSet_cn.md) | English
+[简体中文](PrepareKeypointDataSet.md) | English
# How to prepare dataset?
## Table of Contents
@@ -8,7 +8,7 @@
## COCO
### Preperation for COCO dataset
-We provide a one-click script to automatically complete the download and preparation of the COCO2017 dataset. Please refer to [COCO Download](https://github.com/PaddlePaddle/PaddleDetection/blob/f0a30f3ba6095ebfdc8fffb6d02766406afc438a/docs/tutorials/PrepareDataSet.md#COCO%E6%95%B0%E6%8D%AE).
+We provide a one-click script to automatically complete the download and preparation of the COCO2017 dataset. Please refer to [COCO Download](https://github.com/PaddlePaddle/PaddleDetection/blob/f0a30f3ba6095ebfdc8fffb6d02766406afc438a/docs/tutorials/PrepareDetDataSet_en.md#COCO%E6%95%B0%E6%8D%AE).
### Description for COCO dataset(Keypoint):
In COCO, the indexes and corresponding keypoint name are:
diff --git a/docs/tutorials/PrepareMOTDataSet_cn.md b/docs/tutorials/data/PrepareMOTDataSet.md
similarity index 95%
rename from docs/tutorials/PrepareMOTDataSet_cn.md
rename to docs/tutorials/data/PrepareMOTDataSet.md
index 7c97e073f3edb81a8cf122476f022a1a05bfd647..08d7ba9955620968016dc4a1a13358137b0b1aec 100644
--- a/docs/tutorials/PrepareMOTDataSet_cn.md
+++ b/docs/tutorials/data/PrepareMOTDataSet.md
@@ -1,11 +1,13 @@
-简体中文 | [English](GETTING_STARTED.md)
+简体中文 | [English](PrepareMOTDataSet_en.md)
-# 目录
-## 多目标跟踪数据集准备
+# 多目标跟踪数据集准备
+## 目录
- [MOT数据集](#MOT数据集)
-- [数据集目录](#数据集目录)
-- [数据格式](#数据格式)
+ - [数据集目录](#数据集目录)
+ - [数据格式](#数据格式)
- [用户数据准备](#用户数据准备)
+ - [数据格式转换](#数据格式转换)
+ - [自定义数据训练](#自定义数据训练)
- [引用](#引用)
### MOT数据集
@@ -17,7 +19,7 @@ PaddleDetection复现[JDE](https://github.com/Zhongdao/Towards-Realtime-MOT) 和
- 多类别跟踪模型是[MCFairMOT](../../configs/mot/mcfairmot/README_cn.md),多类别数据集是VisDrone数据集的整合版,可参照[MCFairMOT](../../configs/mot/mcfairmot/README_cn.md)的文档说明。
- 跨镜头跟踪模型,是选用的[AIC21 MTMCT](https://www.aicitychallenge.org) (CityFlow)车辆跨镜头跟踪数据集,数据集和模型可参照[跨境头跟踪](../../configs/mot/mtmct/README_cn.md)的文档说明。
-### 数据集目录
+#### 数据集目录
首先按照以下命令下载image_lists.zip并解压放在`PaddleDetection/dataset/mot`目录下:
```
wget https://dataset.bj.bcebos.com/mot/image_lists.zip
@@ -60,7 +62,7 @@ dataset/mot
|——————PRW
```
-### 数据格式
+#### 数据格式
这几个相关数据集都遵循以下结构:
```
MOT17
@@ -83,6 +85,8 @@ MOT17
### 用户数据准备
+#### 数据格式转换
+
为了规范地进行训练和评测,用户数据需要转成和MOT-16数据集相同的目录和格式:
```
custom_data
@@ -109,7 +113,7 @@ custom_data
└—————— ...
```
-#### images文件夹
+##### images文件夹
- `gt.txt`是原始标注文件,而训练所用标注是`labels_with_ids`文件夹。
- `img1`文件夹里是按照一定帧率抽好的图片。
- `seqinfo.ini`文件是视频信息描述文件,需要如下格式的信息:
@@ -139,7 +143,7 @@ imExt=.jpg
- `vis_ratio`是当前目标被其他目标包含或覆挡后的可见率,是从0到1的浮点数,默认为`1`
-#### labels_with_ids文件夹
+##### labels_with_ids文件夹
所有数据集的标注是以统一数据格式提供的。各个数据集中每张图片都有相应的标注文本。给定一个图像路径,可以通过将字符串`images`替换为`labels_with_ids`并将`.jpg`替换为`.txt`来生成标注文本路径。在标注文本中,每行都描述一个边界框,格式如下:
```
[class] [identity] [x_center] [y_center] [width] [height]
@@ -155,6 +159,8 @@ cd dataset/mot
python gen_labels_MOT.py
```
+#### 自定义数据训练
+
### 引用
Caltech:
```
diff --git a/docs/tutorials/PrepareMOTDataSet.md b/docs/tutorials/data/PrepareMOTDataSet_en.md
similarity index 99%
rename from docs/tutorials/PrepareMOTDataSet.md
rename to docs/tutorials/data/PrepareMOTDataSet_en.md
index 44f5a4713a3b461e84ab0dfa2a01af1045b7dc4c..f1bd170ccad18457c7faf6c0f0a57f6211af7784 100644
--- a/docs/tutorials/PrepareMOTDataSet.md
+++ b/docs/tutorials/data/PrepareMOTDataSet_en.md
@@ -1,4 +1,4 @@
-English | [简体中文](PrepareMOTDataSet_cn.md)
+English | [简体中文](PrepareMOTDataSet.md)
# Contents
## Multi-Object Tracking Dataset Preparation
diff --git a/docs/tutorials/data/README.md b/docs/tutorials/data/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8511948a3d4fb58479228db5e4b587725b5e284b
--- /dev/null
+++ b/docs/tutorials/data/README.md
@@ -0,0 +1,17 @@
+# 数据准备
+
+数据对于深度学习开发起到了至关重要的作用,数据采集和标注的质量是提升业务模型效果的重要因素。本文档主要介绍PaddleDetection中如何进行数据准备,包括采集高质量数据方法,覆盖多场景类型,提升模型泛化能力;以及各类任务数据标注工具和方法,并在PaddleDetection下使用
+
+## 数据采集
+
+
+
+## 数据标注及格式说明
+
+| 任务类型 | 数据标注 | 数据格式说明 |
+|:--------:| :--------:|:--------:|
+| 目标检测 | [文档链接](DetAnnoTools.md) | [文档链接](PrepareDetDataSet.md) |
+| 关键点检测 | [文档链接](KeyPointAnnoTools.md) | [文档链接](PrepareKeypointDataSet.md) |
+| 多目标跟踪 | [文档链接](MOTAnnoTools.md) | [文档链接](PrepareMOTDataSet.md) |
+| 图像分类 | [文档链接]() | [文档链接]() |
+| 属性识别 | [文档链接]() | [文档链接]() |