README.md 3.6 KB
Newer Older
zhangqha's avatar
zhangqha committed
1
# YOLOV5S
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
21
### Docker(方法一)
此处提供[光源](https://www.sourcefind.cn/#/service-details)拉取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
27
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/
git clone http://developer.hpccube.com/codes/modelzoo/yolov5s_tvm.git
zhangqha's avatar
zhangqha committed
28
```
zhangqha's avatar
zhangqha committed
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

## 数据集

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)

数据集的目录结构如下:

```
├── 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
60
```
zhangqha's avatar
zhangqha committed
61

zhangqha's avatar
zhangqha committed
62
## 推理
zhangqha's avatar
zhangqha committed
63
64
65

CPP Deploy测试参考:
```
zhangqha's avatar
update  
zhangqha committed
66
67
68
69
70
    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
71
72
73
74
    bash run_example.sh
```
Python Deploy测试参考:
```
zhangqha's avatar
zhangqha committed
75
    bash run_python.sh
zhangqha's avatar
zhangqha committed
76
    注:数据集存放目录设置文件为data/coco.yaml
zhangqha's avatar
zhangqha committed
77
```
zhangqha's avatar
zhangqha committed
78
79
80
81
### result
![result](result.jpg)

## 精度
zhangqha's avatar
zhangqha committed
82

zhangqha's avatar
zhangqha committed
83
测试数据:COCO2017,使用的加速卡:Z100L。
zhangqha's avatar
zhangqha committed
84
85
86
87
88
89
90
91
92
93
94
95
96
97
```
 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
98
99
100
101
102
103
## 应用场景
### 算法类别
目标检测

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

zhangqha's avatar
zhangqha committed
105
### 源码仓库及问题反馈
zhangqha's avatar
zhangqha committed
106

zhangqha's avatar
zhangqha committed
107
https://developer.hpccube.com/codes/modelzoo/yolov5s_tvm
zhangqha's avatar
zhangqha committed
108

zhangqha's avatar
zhangqha committed
109
### 参考
zhangqha's avatar
zhangqha committed
110

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