更换文档检测模型
This commit is contained in:
53
paddle_detection/configs/ppvehicle/vehicle_yolov3/README.md
Normal file
53
paddle_detection/configs/ppvehicle/vehicle_yolov3/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
English | [简体中文](README_cn.md)
|
||||
# PaddleDetection applied for specific scenarios
|
||||
|
||||
We provide some models implemented by PaddlePaddle to detect objects in specific scenarios, users can download the models and use them in these scenarios.
|
||||
|
||||
| Task | Algorithm | Box AP | Download | Configs |
|
||||
|:---------------------|:---------:|:------:| :-------------------------------------------------------------------------------------: |:------:|
|
||||
| Vehicle Detection | YOLOv3 | 54.5 | [model](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [config](./vehicle_yolov3_darknet.yml) |
|
||||
|
||||
## Vehicle Detection
|
||||
|
||||
One of major applications of vehichle detection is traffic monitoring. In this scenary, vehicles to be detected are mostly captured by the cameras mounted on top of traffic light columns.
|
||||
|
||||
### 1. Network
|
||||
|
||||
The network for detecting vehicles is YOLOv3, the backbone of which is Dacknet53.
|
||||
|
||||
### 2. Configuration for training
|
||||
|
||||
PaddleDetection provides users with a configuration file [yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) to train YOLOv3 on the COCO dataset, compared with this file, we modify some parameters as followed to conduct the training for vehicle detection:
|
||||
|
||||
* num_classes: 6
|
||||
* anchors: [[8, 9], [10, 23], [19, 15], [23, 33], [40, 25], [54, 50], [101, 80], [139, 145], [253, 224]]
|
||||
* nms/nms_top_k: 400
|
||||
* nms/score_threshold: 0.005
|
||||
* dataset_dir: dataset/vehicle
|
||||
|
||||
### 3. Accuracy
|
||||
|
||||
The accuracy of the model trained and evaluated on our private data is shown as followed:
|
||||
|
||||
AP at IoU=.50:.05:.95 is 0.545.
|
||||
|
||||
AP at IoU=.50 is 0.764.
|
||||
|
||||
### 4. Inference
|
||||
|
||||
Users can employ the model to conduct the inference:
|
||||
|
||||
```
|
||||
export CUDA_VISIBLE_DEVICES=0
|
||||
python -u tools/infer.py -c configs/ppvehicle/vehicle_yolov3/vehicle_yolov3_darknet.yml \
|
||||
-o weights=https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams \
|
||||
--infer_dir configs/ppvehicle/vehicle_yolov3/demo \
|
||||
--draw_threshold 0.2 \
|
||||
--output_dir configs/ppvehicle/vehicle_yolov3/demo/output
|
||||
```
|
||||
|
||||
Some inference results are visualized below:
|
||||
|
||||

|
||||
|
||||

|
||||
@@ -0,0 +1,54 @@
|
||||
[English](README.md) | 简体中文
|
||||
# 特色垂类检测模型
|
||||
|
||||
我们提供了针对不同场景的基于PaddlePaddle的检测模型,用户可以下载模型进行使用。
|
||||
|
||||
| 任务 | 算法 | 精度(Box AP) | 下载 | 配置文件 |
|
||||
|:---------------------|:---------:|:------:| :---------------------------------------------------------------------------------: | :------:|
|
||||
| 车辆检测 | YOLOv3 | 54.5 | [下载链接](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [配置文件](./vehicle_yolov3_darknet.yml) |
|
||||
|
||||
|
||||
## 车辆检测(Vehicle Detection)
|
||||
|
||||
车辆检测的主要应用之一是交通监控。在这样的监控场景中,待检测的车辆多为道路红绿灯柱上的摄像头拍摄所得。
|
||||
|
||||
### 1. 模型结构
|
||||
|
||||
Backbone为Dacknet53的YOLOv3。
|
||||
|
||||
### 2. 训练参数配置
|
||||
|
||||
PaddleDetection提供了使用COCO数据集对YOLOv3进行训练的参数配置文件[yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml),与之相比,在进行车辆检测的模型训练时,我们对以下参数进行了修改:
|
||||
|
||||
* num_classes: 6
|
||||
* anchors: [[8, 9], [10, 23], [19, 15], [23, 33], [40, 25], [54, 50], [101, 80], [139, 145], [253, 224]]
|
||||
* nms/nms_top_k: 400
|
||||
* nms/score_threshold: 0.005
|
||||
* dataset_dir: dataset/vehicle
|
||||
|
||||
### 3. 精度指标
|
||||
|
||||
模型在我们内部数据上的精度指标为:
|
||||
|
||||
IOU=.50:.05:.95时的AP为 0.545。
|
||||
|
||||
IOU=.5时的AP为 0.764。
|
||||
|
||||
### 4. 预测
|
||||
|
||||
用户可以使用我们训练好的模型进行车辆检测:
|
||||
|
||||
```
|
||||
export CUDA_VISIBLE_DEVICES=0
|
||||
python -u tools/infer.py -c configs/ppvehicle/vehicle_yolov3/vehicle_yolov3_darknet.yml \
|
||||
-o weights=https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams \
|
||||
--infer_dir configs/ppvehicle/vehicle_yolov3/demo \
|
||||
--draw_threshold 0.2 \
|
||||
--output_dir configs/ppvehicle/vehicle_yolov3/demo/output
|
||||
```
|
||||
|
||||
预测结果示例:
|
||||
|
||||

|
||||
|
||||

|
||||
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/001.jpeg
Normal file
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/001.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/003.png
Normal file
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/003.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 794 KiB |
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/004.png
Normal file
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/004.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 885 KiB |
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/005.png
Normal file
BIN
paddle_detection/configs/ppvehicle/vehicle_yolov3/demo/005.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 835 KiB |
@@ -0,0 +1,42 @@
|
||||
_BASE_: [
|
||||
'../../datasets/coco_detection.yml',
|
||||
'../../runtime.yml',
|
||||
'../../yolov3/_base_/optimizer_270e.yml',
|
||||
'../../yolov3/_base_/yolov3_darknet53.yml',
|
||||
'../../yolov3/_base_/yolov3_reader.yml',
|
||||
]
|
||||
|
||||
snapshot_epoch: 5
|
||||
weights: https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams
|
||||
|
||||
YOLOv3Head:
|
||||
anchors: [[8, 9], [10, 23], [19, 15],
|
||||
[23, 33], [40, 25], [54, 50],
|
||||
[101, 80], [139, 145], [253, 224]]
|
||||
|
||||
BBoxPostProcess:
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.005
|
||||
nms_threshold: 0.45
|
||||
nms_top_k: 400
|
||||
|
||||
num_classes: 6
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
dataset_dir: dataset/vehicle
|
||||
anno_path: annotations/instances_train2017.json
|
||||
image_dir: train2017
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
dataset_dir: dataset/vehicle
|
||||
anno_path: annotations/instances_val2017.json
|
||||
image_dir: val2017
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: configs/ppvehicle/vehicle_yolov3/vehicle.json
|
||||
Reference in New Issue
Block a user