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

发布者:数据之翼最新更新时间:2024-11-21 关键字:摩尔  米尔  FPGA  AIoT  开发板  FPGA开发板 手机看文章 扫描二维码
随时随地手机看文章

Tip:学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。


image.png


一、 为什么选择 FPGA:应对 7nm 制程与 AI 限制


在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的 AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28nm 工艺甚至更低节点的制程下实现高效的硬件加速。


米尔的 ZU3EG 开发板凭借其可重构架构为 AI 和计算密集型任务提供了支持,同时避免了 7nm 工艺对国产芯片设计的制约。通过在 ZU3EG 上部署 Tiny YOLO v4,我们可以为智能家居、智慧城市等 AIoT 应用提供高效的解决方案。

 

 image.pngimage.png

CPU GPU FPGA 架构对比


二、 了解 Tiny YOLO 模型及其适用性


YOLO(You Only Look Once)是一种实时物体检测模型,它通过一次性扫描整个图像,实现高效的对象识别。


而其简化版 Tiny YOLO v4 更适合嵌入式设备,具有较少的层数和参数。其轻量化特性更适合在资源受限的设备上运行,尤其在低功耗、实时检测的边缘计算设备中表现出色。

相比传统 GPU,FPGA 能在小面积和低功耗下实现类似的推理性能,非常契合 AIoT 应用。像米尔 ZU3EG 这样的 FPGA 开发板,通过底板和丰富接口的载板设计,非常适合高效的嵌入式低功耗数据处理。

 

image.png

Yolo V4 网络结构图

 image.png

Tiny Yolo V4 网络结构图


(通过优化网络结构和参数,保持较高检测精度的同时,降低模型的计算量和内存占用)


三、 获取数据集和模型


可下载开源训练集或预训练模型。为了确保兼容性,建议将模型转换为 ONNX 格式,以便后续能在 FPGA 上完成优化。


1.下载 Tiny YOLO v4 模型:从 Darknet 的 GitHub 仓库 获取 Tiny YOLO 的预训练权重,或者在 COCO 等数据集上自行训练模型。自定义的模型适用于特定应用场景(如车辆检测、人脸检测等)。


2. 数据准备:若要自定义模型,可使用 LabelImg 等工具对数据集进行标注,将数据转为 YOLO 格式。之后,可将 YOLO 格式转换为 ONNX 格式,以便兼容 FPGA 优化工具链。

 image.png

image.png

Tiny YOLO 在 Darknet 上训练的截图


四、 通过 Vivado HLS 为 FPGA 准备模型


要将模型部署到 FPGA,需要将神经网络操作转换为硬件级描述。使用 Xilinx 的 Vitis HLS(高级综合)可以将 Tiny YOLO v4 的 C++ 模型代码的转化为 Verilog RTL(寄存器传输级)代码,从而将模型从软件世界带入硬件实现。


详细步骤:


1.模型层映射和优化:


• 将 YOLO 的每一层(如卷积层、池化层)映射为硬件友好的 C/C++ 结构。例如,将卷积映射为乘累加(MAC)数组,通过流水线实现并行化。


2. 算子加速与指令优化:


• 流水线(Pipelining):利用流水线来处理多项操作并行,减少延迟。

• 循环展开(Loop Unrolling):展开循环,以每周期处理更多数据,尤其在卷积操作中有效。

• 设置 DATAFLOW 指令,使层间独立处理。


3. 量化与位宽调整:


• 将激活值和权重量化为定点精度(例如 INT8),而非浮点数。这在维持准确度的同时显著降低计算量,尤其适合 FPGA 的固定点运算支持。

 

Tiny YOLO 模型在 Vivado HLS 中的层层转化流程图

 

五、 使用 Vivado 综合与部署 Verilog 到 米尔的ZU3EG FPGA开发板


当 HLS 生成的 RTL 代码准备就绪后,可以使用 Vivado 将模型部署到 FPGA。


1. Vivado 中的设置:


• 将 HLS 输出的 RTL 文件导入 Vivado。

• 在 Vivado 中创建模块设计,包括连接AXI 接口与 ZU3EG 的 ARM 核连接。


2. I/O 约束与时序:


• 定义 FPGA 的 I/O 引脚约束,以匹配 ZU3EG 板的特定管脚配置。配置时钟约束以满足合适的数据速率(如视频数据 100-200 MHz)。

• 进行时序分析,确保延迟和响应速度达到实时要求。


3. 生成比特流并下载到 ZU3EG:

image.png

• 生成的比特流可以直接通过 JTAG 或以太网接口下载到 ZU3EG。

 

将 Tiny YOLO 处理模块连接到 米尔ZU3EG开发板 的外设和接口


六、 在 FPGA 上测试并运行推理


现在 Tiny YOLO 已部署,可以验证其实时对象检测性能。


1. 数据采集:


• 通过连接的相机模块捕捉图像或视频帧,或者使用存储的测试视频。

• 使用 ZU3EG 的 ARM 核上的 OpenCV 对帧进行预处理,再将它们传入 FPGA 预处理后进行推理。


2. 后处理与显示:


• 模型检测对象后,输出边框和类别标签。使用 OpenCV 将边框映射回原始帧,并在每个检测到的对象周围显示类别和置信度。


3. 性能测试:


• 测量帧速率(FPS)和检测准确度。微调量化位宽或数据流参数,以优化实时需求。

 image.png

Tiny YOLO 模型在 ZU3EG 上显示检测结果的实时输出,视频帧中标注了检测到的对象


七、 性能优化与调试技巧


为提高性能,可以进行以下调整:


• 内存访问:设计数据存储方式,最大限度利用缓存并减少数据传输,降低内存瓶颈。

• 降低延迟:重新评估关键路径延迟。若延迟过高,调整 Vitis HLS 中的流水线深度,并验证层间的数据依赖性。

• 量化改进:尝试 INT8 量化。Xilinx 的 Vitis AI 可帮助微调量化参数,以平衡准确性与速度。

 image.png

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

 image.png

图:米尔MYC-CZU3EG/4EV/5EV-V2核心板及开发板


在MYIR 的 ZU3EG 开发平台上提供了一种高效的解决方案。利用 FPGA 独特的灵活性和低功耗优势,助力未来 AIoT 设备的普及和智能升级。

关键字:摩尔  米尔  FPGA  AIoT  开发板  FPGA开发板 引用地址:后摩尔时代的创新:在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用

上一篇:AMD推出第二代Versal Premium系列产品:首款PCIe 6.0和CXL 3.1的SoC FPGA
下一篇:最后一页

推荐阅读最新更新时间:2024-11-21 11:48

基于单片机和FPGA的扫频仪设计
一个网络的频率特性包括幅频特性和相频特性,在系统设计时,各个网络的频率特性对该系统的稳定性、工作频带、传输特性等都具有重要影响。实际操作中,扫频仪大大简化了测量操作,提高了工作效率,达到了测量过程快速、直观、准确、方便的目的,在生产、科研、教学上得到广泛运用。本设计采用数字频率合成技术产生扫频信号,以单片机和FPGA为控制核心,通过A/D和D/A转换器等接口电路,实现扫频信号频率的步进调整、数字显示及被测网络幅频特性与相频特性参数的显示。 1 系统总体方案及设计框图 1.1 系统总体方案 将输出频率步进可调的正弦扫频信号源作为被测网络的激励Vi,可得被测网络的响应为V0。通过测量各频率点的幅度就可得到V0和Vi的有效值,
[单片机]
基于单片机和<font color='red'>FPGA</font>的扫频仪设计
基于FPGA的高速数据中继器设计的研究
1 前言 高速以太网可以满足新的容量需求,解决了低带宽接入、高带宽传输的瓶颈问题,扩大了应用范围,并与以前的所有以太网兼容。全双工的以太网协议并无传输距离的限制,只是在实际应用中,物理层技术限制了最大的传输距离。不过可以通过使用高性能的收发器或链路扩展器来延长以太网链路的长度。但是面向流量高达数十G的高速以太网中,如何快速、可靠地实现数据的转发与链路延伸并不是一件很容易的事情。尤其是高速以太网中,对设备时延非常敏感,因此要求数据中继设备处理速度有足够的快、同时还能够对转发的数据进行简单分析与处理,才能实现高速、可靠的数据转发功能。另一方面,在10G以太网标准出台之前,就已经有多家厂商推出了基于10G以太网标准草案的1
[嵌入式]
OK6410A 开发板 (四) OK6410A 裸机代码
写裸机代码是为了在 移植/调试 u-boot 的时候,更加从容 全部代码可以参考 https://github.com/lisider/ok6410-rawcode 研究裸机代码是为了 1.知道你写的每一行代码在bin文件,SD卡,内存的位置 2.熟悉 gnu armv6 汇编 3.更顺手的调试u-boot 另外 其他历程可参考 https://github.com/fengrc/OK6410.git , 每个历程需要修改为如下,才可工作 $ git diff * diff --git a/lcd/Makefile b/lcd/Makefile index 93f04cd..66d66e5 100644
[单片机]
华硕举行财报发布会,发力AIoT跟电竞领域
华硕举行财报发布会,共同执行长许先越表示,AIoT市场非常大,不同国家、不同客户都要客制化,另外电竞手机部分,要与教育市场、消费者,同时也要跟生态系供应商合作,把市场做出来,预估这2大领域,3年内能交出成绩单。 许先越指出,针对AIoT产品,公司内部团队已有200-300人,锁定包括智能城市、制造、医疗等领域,其中,智能城市项目包括交通、路灯、公交车站牌等,分别跟集团子公司研扬、亚旭合作,智能制造部分,也有项目导入,智能医疗,初期将先以长照为主。他强调,华硕会先从产品基本做好。 电竞手机部分,许先越说明,手机领域所谓的重度用户,跟个人电脑不同,因为手机有很多层面,如电脑重度用户,重视的是效能,但是手机因为需求不同,
[嵌入式]
华硕举行财报发布会,发力<font color='red'>AIoT</font>跟电竞领域
Imagination与Hardkernel 携手为低成本ODROID-XU开发板提供高性能GPU功能
2013 年 8 月23日 —— 领先的多媒体、处理器、通信和云技术提供商 Imagination Technologies (IMG.L) 今天宣布,专业的低成本开放式开发平台硬件供应商 Hardkernel 已发布一款高性能、低成本的 ODROID-XU 开发板。 通过 ODROID-XU,开发人员能使用下面的应用程序界面 (API): - 支持 Android 和 Linux 的完整 OpenGL ES 2.0,以及支持 Linux 的 OpenGL 2.1 - 由于一系列支持 Android 和 Linux 的 OpenGL ES 2.0 延伸功能,可拥有接近 OpenGL ES 3.0 的特性组合 - 支持 Lin
[手机便携]
基于ASIC FPGA的IPv6路由器PoS接口设计
  IP over SDH(PoS)技术是通过SDH提供的高速传输通道直接传送IP分组,它位于数据传输骨干网,使用点到点协议PPP将IP数据包映射到SDH帧上,按各次群相应的线速率进行连续传输,其网络主要由大容量的高端路由器经由高速光纤传输通道连接而成。这种技术实际上是对传统IP网络概念的延续,完全兼容传统的IP协议体系,只是在物理通道上借助SDH提供的点到点物理连接,从而使速率提高到Gbit/s量级,因此PoS技术现在和今后都将是非常重要的IP网络传输手段。   155Mbit/s PoS接口是IPv6路由器所提供的一种重要的PoS接口,本文介绍基于PMC公司PM5380型8×155Mbit/s和Xilinx公司VIRTEX -
[嵌入式]
基于FPGA的身份认证智能卡设计
身份认证是保密通信和信息安全的基础。通过身份认证机制可以鉴别网络事务中涉及到的各种身份,防止身份欺诈,保证通信参与各方身份的真实性,从而确保网络活动的正常进行 。因此,身份认证一直是网络安全研究领域的前沿技术。   目前使用的身份认证技术可以分为三种类型:基于所知、所有以及基于个人生物特征的认证。认证方式包括口令认证、智能卡认证以及指纹、虹膜等生物认证方式。   口令认证是最为广泛的一种认证方式,从普通的计算机登录系统到网络邮件系统都采用这种方式。但是,口令认证的安全性比较低,容易被他人盗用。基于指纹、虹膜的生物身份认证方式是生物技术在信息安全领域的应用,具有普遍性和唯一性的特点,但基于生物识别设备成本和识别技术水平的考虑,
[嵌入式]
基于<font color='red'>FPGA</font>的身份认证智能卡设计
基于Microchip PIC32MM开发板的电机控制
一.硬件构成: 1.PIC32MM 开发板 PIC32MM系列是Microchip功耗最低且最具成本效益的32位PIC32微控制器系列,在其内部集成的外设有 12位ADC、5位DAC、比较器、RTCC、WDT和CLC 及灵活的PWM/IC/OC/定时器(MCCP和SCCP)。 图1 PIC32MM 开发板 2. OLED屏 该款OLED显示屏是一个基于SPI接口的0.96寸单色屏,其显示分辨率为128*64,工作电压为2.8~5.5V。 图2 OLED屏 3.电机驱动模块 主芯片为MX1508,模块的供电电压为2~10V,可驱动两路直流电机,IN1、IN2为一路,IN3、IN4为另一路;信号范围是1.8~7
[单片机]
基于Microchip PIC32MM<font color='red'>开发板</font>的电机控制
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved