当前位置:首页 > 厂商动态 > 米尔电子
[导读]在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的 AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28nm 工艺甚至更低节点的制程下实现高效的硬件加速。

Tip:学习如何在 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 上完成优化。

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

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

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:

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

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

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

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

1. 数据采集:

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

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

2. 后处理与显示:

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

3. 性能测试:

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

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

七、 性能优化与调试技巧

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

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

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

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

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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭