FPGA上实现YOLOv5的一般过程

在FPGA上实现YOLOv5

YOLO算法现在被工业界广泛的应用,虽说现在有很多的NPU供我们使用,但是我们为了自己去实现一个NPU所以在本文中去实现了一个可以在FPGA上运行的YOLOv5。

YOLOv5的开源代码链接为

https://github.com/ultralytics/yolov5


为了在FPGA中实现YOLOv5,我们首先在VOC数据集上面进行算法的训练,得到训练后的文件,并对训练后的文件进行8bit量化操作

得到三个权重文件。

之后为了将这个权重文件发送到FPGA上,所以我们再次使用python去解析这个权重文件,然后按照我们的FPGA加速器的架构对权重进行重组

解析的Python文件示意如下

得到的权重数据示意如下:

之后呢再来看一下yolov5的网络结构

放大一个局部来看一下,可以看到就是一些卷积,cat等操作

所以我们在FPGA实现的时候也是去实现这些基本的算子

FPGA上实现的结构图如下所示

在每个算子里面都是分为in_buf,out_buf,和控制模块计算模块组成

然后每个模块会有一堆的控制信号来控制整个NPU的运行

总的控制由AXI Lite逻辑组成的寄存器模块来进行控制

最后实现的效果如下

相关推荐
minglie12 小时前
基于 AXI-Lite 实现可扩展的硬件函数 RPC 框架(附完整源码)
fpga开发
朱古力(音视频开发)4 小时前
NDI开发指南
fpga开发·音视频·实时音视频·视频编解码·流媒体
Blossom.11815 小时前
基于深度学习的医学图像分析:使用YOLOv5实现医学图像目标检测
人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉·数据挖掘
9527华安18 小时前
FPGA实现AD9361采集转SRIO与DSP交互,FPGA+DSP多核异构信号处理架构,提供2套工程源码和技术支持
fpga开发·架构·信号处理·dsp·ad9361·多核异构
小眼睛FPGA18 小时前
【盘古100Pro+开发板实验例程】FPGA学习 | 基于紫光 FPGA 的键控 LED 流水灯
科技·学习·ai·fpga开发·fpga
Stuomasi_xiaoxin20 小时前
YOLOv13 汉化优化部署版本:超图增强自适应视觉感知的目标检测系统
人工智能·yolo·目标检测·计算机视觉·目标跟踪
FF-Studio1 天前
25年电赛C题 发挥部分 YOLOv8方案&数据集
python·深度学习·yolo
钱彬 (Qian Bin)1 天前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型
人工智能·qt·yolo·qml·qt quick·工业质检·螺丝瑕疵检测
最好有梦想~1 天前
分享一个FPGA寄存器接口自动化工具
fpga开发
hahaha60161 天前
FPGA(或者数字电路)中组合逻辑和时序逻辑是怎么划分的
fpga开发