后摩尔时代的创新:在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用

2024-11-21

1409

来源:米尔电子
学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。(文末有彩蛋)
一、 为什么选择 FPGA:应对 7nm 制程与 AI 限制
在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的 AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28nm 工艺甚至更低节点的制程下实现高效的硬件加速。
米尔的 ZU3EG 开发板凭借其可重构架构为 AI 和计算密集型任务提供了支持,同时避免了 7nm 工艺对国产芯片设计的制约。通过在 ZU3EG 上部署 Tiny YOLO V4,我们可以为智能家居、智慧城市等 AIoT 应用提供高效的解决方案。


CPU GPU FPGA 架构对比
二、 了解 Tiny YOLO 模型及其适用性
YOLO(You Only Look Once)是一种实时物体检测模型,它通过一次性扫描整个图像,实现高效的对象识别。
而其简化版 Tiny YOLO V4 更适合嵌入式设备,具有较少的层数和参数。其轻量化特性更适合在资源受限的设备上运行,尤其在低功耗、实时检测的边缘计算设备中表现出色。
相比传统 GPU,FPGA 能在小面积和低功耗下实现类似的推理性能,非常契合 AIoT 应用。像米尔 ZU3EG 这样的 FPGA 开发板,通过底板和丰富接口的载板设计,非常适合高效的嵌入式低功耗数据处理。

Yolo V4 网络结构图

Tiny Yolo V4 网络结构图
(通过优化网络结构和参数,保持较高检测精度的同时,降低模型的计算量和内存占用)
三、 获取数据集和模型
可下载开源训练集或预训练模型。为了确保兼容性,建议将模型转换为 ONNX 格式,以便后续能在 FPGA 上完成优化。

Tiny YOLO 在 Darknet 上训练的截图
四、 通过 Vivado HLS 为 FPGA 准备模型
要将模型部署到 FPGA,需要将神经网络操作转换为硬件级描述。使用 Xilinx 的 Vitis HLS(高级综合)可以将 Tiny YOLO v4 的 C++ 模型代码的转化为 Verilog RTL(寄存器传输级)代码,从而将模型从软件世界带入硬件实现。
详细步骤:
将 YOLO 的每一层(如卷积层、池化层)映射为硬件友好的 C/C++ 结构。例如,将卷积映射为乘累加(MAC)数组,通过流水线实现并行化。
流水线(Pipelining):利用流水线来处理多项操作并行,减少延迟。 循环展开(Loop Unrolling):展开循环,以每周期处理更多数据,尤其在卷积操作中有效。 设置 DATAFLOW 指令,使层间独立处理。
将激活值和权重量化为定点精度(例如 INT8),而非浮点数。这在维持准确度的同时显著降低计算量,尤其适合 FPGA 的固定点运算支持。

Tiny YOLO 模型在 Vivado HLS 中的层层转化流程图
五、 使用 Vivado 综合与部署 Verilog 到 米尔的ZU3EG FPGA开发板
1.Vivado 中的设置:
将 HLS 输出的 RTL 文件导入 Vivado。
在 Vivado 中创建模块设计,包括连接AXI 接口与 ZU3EG 的 ARM 核连接。
2.I/O 约束与时序:
定义 FPGA 的 I/O 引脚约束,以匹配 ZU3EG 板的特定管脚配置。配置时钟约束以满足合适的数据速率(如视频数据 100-200 MHz)。
进行时序分析,确保延迟和响应速度达到实时要求。
3.生成比特流并下载到 ZU3EG:
生成的比特流可以直接通过 JTAG 或以太网接口下载到 ZU3EG。

将 Tiny YOLO 处理模块连接到 米尔ZU3EG开发板 的外设和接口
六、 在 FPGA 上测试并运行推理
通过连接的相机模块捕捉图像或视频帧,或者使用存储的测试视频。 使用 ZU3EG 的 ARM 核上的 OpenCV 对帧进行预处理,再将它们传入 FPGA 预处理后进行推理。
模型检测对象后,输出边框和类别标签。使用 OpenCV 将边框映射回原始帧,并在每个检测到的对象周围显示类别和置信度。
测量帧速率(FPS)和检测准确度。微调量化位宽或数据流参数,以优化实时需求。
Tiny YOLO 模型在 ZU3EG 上显示检测结果的实时输出,视频帧中标注了检测到的对象
七、 性能优化与调试技巧
内存访问:设计数据存储方式,最大限度利用缓存并减少数据传输,降低内存瓶颈。 降低延迟:重新评估关键路径延迟。若延迟过高,调整 Vitis HLS 中的流水线深度,并验证层间的数据依赖性。 量化改进:尝试 INT8 量化。Xilinx 的 Vitis AI 可帮助微调量化参数,以平衡准确性与速度。

不同优化配置对资源使用的影响

米尔MYC-CZU3EG/4EV/5EV-V2核心板及开发板
在MYIR 的 ZU3EG 开发平台上提供了一种高效的解决方案。利用 FPGA 独特的灵活性和低功耗优势,助力未来 AIoT 设备的普及和智能升级。
关注米尔电子公众号,后台回复FPGA,获取完整Tiny Yolo V4教程。
2025-07-03
如何部署流媒体服务实现监控功能--基于米尔TI AM62x开发板
本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TI AM62开发板)的部署流媒体服务实现监控功能方案的开发测试。摘自优秀创作者-HonestQiao米尔-TI AM62x开发板除了可以用官方的CSI摄像头,还可以直接使用第三方的USB摄像头,我手头正好有几个个USB摄像头:经过实测,可以很好的在米尔-TI AM62x开发板上使用。这篇分享,就是在这块开发板上部署流媒体服务,通过USB摄像
2025-06-26
米尔STM32MP25系列产品荣获“2024‘物联之星’创新产品奖”
在“2024‘物联之星’中国物联网行业年度评选”中,米尔电子的MYC-LD25X核心板及开发板凭借其高性能、多接口、边缘算力等优势,荣获2024“物联之星”创新产品奖。米尔MYC-LD25X核心板及开发板获奖图获奖产品介绍MYC-LD25X核心板及开发板:米尔基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工
2025-06-26
如何创建机器学习环境--基于米尔瑞芯微RK3576开发板
本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微RK3576开发板)的创建机器学习环境的方案的开发测试。摘自优秀创作者-lulugl米尔基于瑞芯微RK3576开发板【前言】【米尔-瑞芯微RK3576核心板及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》1、使用vscode 连接远程开发板2、使用conda新建虚拟
2025-06-19
基于米尔全志T536开发板的多协议物联网关的方案测试
本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议物联网关方案的开发测试。摘自优秀创作者-ALSET米尔基于全志T536开发板为了充分的应用该开发板,结合T536处理器的特点,这里进一步的进行软件开发,充分利用开发板的硬件资源,完成业务产品的需求。这里以物联网多协议网关应用为研究为目的,首先建立基础的从各个硬件设读取硬件端口的数据,并且通过SOCKET由网络收发的
2025-06-19
米尔出席2025安路科技FPGA技术沙龙
2025年6月12日,由安路科技主办的2025FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案。现场,米尔与技术专家及生态伙伴共聚一堂,探讨前沿技术趋势,解锁定制化解决方案,共建开放共赢的FPGA生态圈!米尔电子向参会者展示FPGA核心板论坛上,米尔电子产品经理Jeson以“
2025-06-19
有奖丨米尔 瑞芯微RK3506开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微 RK3506应用处理器的MYD-YR3506开发板免费试用名额来啦~~米尔提供了3块价值299元的MYD-YR3506开发板发起试用活动您不仅可以免费体验还可以获得京东购物卡赶快点击链接报名吧~↓↓↓评测活动报名链接:电子发烧友论坛:https://bbs.elecfans.com/try_MRRK3506.html试用活动信息报名时间:2025年6月19日-
2025-06-13
有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发板
最近我发现一个有趣的开发板。这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。它就是米尔新出的YM90X开发板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所科创板上市,是A股首家专注于FPGA业务的上市公司。YM90X开发板用的就是安路的SALDRAGON1(飞龙1,以下简称 DR1)系列FPSoC。FPSoC就是将ARM、NPU和JPU处理器和安路FPGA可编程逻辑核
2025-06-13
618盛夏狂欢,米尔电子携手恩智浦开启年度技术盛宴!
即日起-2025.06.30,米尔恩智浦多系列开发板限时折扣!米尔基于 i.MX 91、i.MX 93、i.MX 8M Plus、i.MX 6UL/i.MX 6ULL、i.MX 8M Mini 等明星产品全部8折优惠。一直以来,米尔与恩智浦保持长期稳定的合作关系,在嵌入式处理器开发领域具备10余年的行业经验,米尔累计推出7个平台共计二十余款核心板,涵盖工业物联网、新能源、医疗等领域。米尔基于i.M
2025-06-13
有奖丨米尔 瑞芯微RK3562开发板免费试用新增名额!
米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用名额增加啦~~米尔追加2套价值599元的MYD-YR3562开发板发起试用活动您不仅可以免费体验还可以获得京东购物卡赶快点击链接报名吧~↓↓↓评测活动报名链接:与非网论坛:https://www.eefocus.com/forum/thread-232615-1-1.html试用活动信息报名时间:2025
2025-06-06
性价比不错的工业级开发板 — 米尔RK3562
今天给大家介绍一款开发板是来自米尔的RK3562开发板RK3562是瑞芯微新推出的开发板芯片带有四核Cortex-A53CPU,频率可达2.0GHz。ARM Mali G52-2EE单核3D GPU支持4K@30fps H.265和VP9的视频解码,1080P@60fps H.264的视频编解码。带有支持1300万像素的ISP带有1TOPS NPU,支持int8,int16,FP16,bf16和t