README.md 3.58 KB
Newer Older
dcuai's avatar
dcuai committed
1
# YOLOv5
zhangqha's avatar
zhangqha committed
2

zhangqha's avatar
zhangqha committed
3
## 论文
zhangqha's avatar
zhangqha committed
4

zhangqha's avatar
zhangqha committed
5

zhangqha's avatar
zhangqha committed
6

zhangqha's avatar
zhangqha committed
7
## 模型结构
zhangqha's avatar
zhangqha committed
8

zhangqha's avatar
zhangqha committed
9
YOLOv5 是一种目标检测算法,采用单阶段(one-stage)的方法,基于轻量级的卷积神经网络结构,通过引入不同尺度的特征融合和特征金字塔结构来实现高效准确的目标检测。其中YOLOV5s是YOLOv5系列中的一个较小版本。
zhangqha's avatar
zhangqha committed
10

zhangqha's avatar
zhangqha committed
11
![Backbone](Backbone.png)
zhangqha's avatar
zhangqha committed
12

zhangqha's avatar
zhangqha committed
13
## 算法原理
zhangqha's avatar
zhangqha committed
14

zhangqha's avatar
zhangqha committed
15
YOLOv5 是一种基于单阶段目标检测算法,通过将图像划分为不同大小的网格,预测每个网格中的目标类别和边界框,利用特征金字塔结构和自适应的模型缩放来实现高效准确的实时目标检测。其中YOLOV5s是YOLOv5系列中的一个较小版本。
zhangqha's avatar
zhangqha committed
16

zhangqha's avatar
zhangqha committed
17
![Algorithm_principle](Algorithm_principle.png)
zhangqha's avatar
zhangqha committed
18

zhangqha's avatar
zhangqha committed
19
## 环境配置
zhangqha's avatar
zhangqha committed
20
### Docker(方法一)
zhangqha's avatar
zhangqha committed
21
此处提供[光源](https://www.sourcefind.cn/#/service-list)拉取docker镜像的地址与使用步骤
zhangqha's avatar
zhangqha committed
22
23

```
zhangqha's avatar
zhangqha committed
24
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:tvm_fp32_dtk22.10.1_py38_centos-7.6-latest
zhangqha's avatar
zhangqha committed
25
26
docker run -it -v /path/your_code_data/:/path/your_code_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
cd /root/tvm-0.11-dev0/apps/
chenzk's avatar
chenzk committed
27
git clone http://developer.sourcefind.cn/codes/modelzoo/yolov5s_tvm.git
zhangqha's avatar
zhangqha committed
28
```
zhangqha's avatar
zhangqha committed
29
30
31

## 数据集

dengjb's avatar
dengjb committed
32
33
34
35
36
37
在本测试中可以使用COCO2017数据集。
- 官方下载地址
  - [训练数据](http://images.cocodataset.org/zips/train2017.zip)
  - [验证数据](http://images.cocodataset.org/zips/val2017.zip)
  - [测试数据](http://images.cocodataset.org/zips/test2017.zip)
  - [标签数据](https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels.zip)
zhangqha's avatar
zhangqha committed
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

数据集的目录结构如下:

```
├── images 
│   ├── train2017
│   ├── val2017
│   ├── test2017
├── labels
│   ├── train2017
│   ├── val2017
├── annotations
│   ├── instances_val2017.json
├── LICENSE
├── README.txt 
├── test-dev2017.txt
├── train2017.txt
├── val2017.txt

zhangqha's avatar
zhangqha committed
57
```
zhangqha's avatar
zhangqha committed
58

zhangqha's avatar
zhangqha committed
59
## 推理
zhangqha's avatar
zhangqha committed
60
61
62

CPP Deploy测试参考:
```
zhangqha's avatar
update  
zhangqha committed
63
64
65
66
67
    cd yolov5s_tvm
    ulimit -s unlimited
    export MIOPEN_DEBUG_CONV_IMPLICIT_GEMM=0
    export HIP_VISIBLE_DEVICES=2(此处修改为对应加速卡ID号)
    python3 prepare_test_libs.py
zhangqha's avatar
zhangqha committed
68
69
70
71
    bash run_example.sh
```
Python Deploy测试参考:
```
zhangqha's avatar
zhangqha committed
72
    bash run_python.sh
zhangqha's avatar
zhangqha committed
73
    注:数据集存放目录设置文件为data/coco.yaml
zhangqha's avatar
zhangqha committed
74
```
zhangqha's avatar
zhangqha committed
75
76
77
78
### result
![result](result.jpg)

## 精度
zhangqha's avatar
zhangqha committed
79

zhangqha's avatar
zhangqha committed
80
测试数据:COCO2017,使用的加速卡:Z100L。
zhangqha's avatar
zhangqha committed
81
82
83
84
85
86
87
88
89
90
91
92
93
94
```
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.571
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.401
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.216
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.423
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.489
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.311
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.516
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.566
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.378
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.627
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.719
Results saved to runs/val/exp59
```
zhangqha's avatar
zhangqha committed
95
96
97
98
99
100
## 应用场景
### 算法类别
目标检测

### 热点行业
金融,交通,教育
zhangqha's avatar
zhangqha committed
101

zhangqha's avatar
zhangqha committed
102
### 源码仓库及问题反馈
zhangqha's avatar
zhangqha committed
103

chenzk's avatar
chenzk committed
104
https://developer.sourcefind.cn/codes/modelzoo/yolov5s_tvm
zhangqha's avatar
zhangqha committed
105

zhangqha's avatar
zhangqha committed
106
### 参考
zhangqha's avatar
zhangqha committed
107

zhangqha's avatar
zhangqha committed
108
https://github.com/ultralytics/yolov5/