# YoloV5
## 论文
无

## 模型结构
YOLOv5 是一种目标检测算法，采用单阶段（one-stage）的方法，基于轻量级的卷积神经网络结构，通过引入不同尺度的特征融合和特征金字塔结构来实现高效准确的目标检测。

![Backbone](Backbone.png)

## 算法原理
YOLOv5 是一种基于单阶段目标检测算法，通过将图像划分为不同大小的网格，预测每个网格中的目标类别和边界框，利用特征金字塔结构和自适应的模型缩放来实现高效准确的实时目标检测。

![Algorithm_principle](Algorithm_principle.png)

## 环境配置
### Docker（方法一）
拉取镜像：

```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:opencv49_ffmpeg4.2.1_ubuntu20.04-dtk24.04.2
```

创建并启动容器：

```
docker run -it --network=host --ipc=host  --name=yolov5s_ort  --privileged --hostname localhost --shm-size=16G --device=/dev/kfd --device=/dev/mkfd --device=/dev/dri -v /opt/hyhal:/opt/hyhal:ro -v /your_code_path:/your_code_path --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined  99d476c02fdd /bin/bash
```


## 数据集
无，使用提供的案例图像进行测试

## 推理
### 编译工程
```
git clone http://developer.sourcefind.cn/codes/modelzoo/yolov5s_onnxruntime.git
cd yolov5s_onnxruntime
mkdir build && cd build
cmake ../
make
```

### 运行示例
```
./yolov5
```

## result
该项目为多batch推理，单张图片推理结果如下，所有推理结果位于./build/下：

![img](bus.jpg)

### 精度
无

## 应用场景
### 算法类别
目标检测

### 热点应用行业
监控,交通,教育

## 源码仓库及问题反馈
- http://developer.hpccube.com/codes/modelzoo/video_ort.git

## 参考资料
- https://github.com/ultralytics/yolov5/
