当前位置: 首页 > news >正文

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逻辑组成的寄存器模块来进行控制
在这里插入图片描述
最后实现的效果如下

在这里插入图片描述

http://www.xdnf.cn/news/112105.html

相关文章:

  • 机器学习特征工程中的数值分箱技术:原理、方法与实例解析
  • 看一看 中间件Middleware
  • mapbox高阶,高程影像、行政区边界阴影效果实现
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-lvis.yaml文件(五)
  • 长城杯铁人三项初赛-REVERSE复现
  • Linux常见指令介绍下(入门级)
  • 手搓雷达图(MATLAB)
  • Java24新增特性
  • C语言数据结构之顺序表
  • 从代码学习深度学习 - 图像增广 PyTorch 版
  • 解决VSCode每次SSH连接服务器时,都需要下载vscode-server
  • Rust 2025:内存安全革命与异步编程新纪元
  • 大模型技术全景解析:从基础架构到Prompt工程
  • 无感字符编码原址转换术——系统内存(Mermaid文本图表版/DeepSeek)
  • 7.9 Python+Click实战:5步打造高效的GitHub监控CLI工具
  • #define STEUER_A_H {PWM_A_ON}
  • CSS3 基础(背景-文本效果)
  • 04-stm32的标准外设库
  • TI MSP430搭配 SD NAND(贴片式T卡):长续航心电监测的可靠保障
  • 关于按键映射软件的探索(其一)
  • STM32F407使用ESP8266实现阿里云OTA(下)
  • postgis:添加索引时提示“对访问方法 gist 数据类型 geometry 没有默认的操作符表“
  • 将视频生成视频二维码步骤
  • 深入浅出学会函数(下)
  • 【霍夫变换】图像处理(OpenCV)-part11
  • 【阿里云大模型高级工程师ACP习题集】2.4 自动化评测答疑机器人的表现(⭐️⭐️⭐️ 重点章节!!!)
  • 数据结构-图
  • HOW - Code Review 流程自动化
  • 学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、ShaderPass渲染通道),案例一
  • 17.第二阶段x64游戏实战-人工遍历二叉树结构