0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货 | 机器学习加持,基于FPGA的高性能视觉应用方案设计

5CTi_cirmall 来源:YXQ 2019-07-16 09:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取更多有用的信息。专用器件有望在嵌入式视觉应用中实现高性能机器学习 (ML) 推理。但是此类器件大都处于早期开发阶段,因为设计人员正在努力寻找最有效的算法,甚至人工智能 (AI) 研究人员也在迅速推演新方法。

目前,开发人员一般使用针对 ML 的可用 FPGA 平台来构建嵌入式视觉系统,以期满足更高的性能要求。与此同时,他们可以保持所需的灵活性,以跟上机器学习发展的步伐。

本文将介绍 ML 处理的要求,以及为何 FPGA 能解决许多性能问题。然后,将介绍一个合适的基于 FPGA 的 ML 平台及其使用方法。

机器学习算法和推理引擎

在 ML 算法中,卷积神经网络 (CNN) 已成为图像分类的首选解决方案。其图像识别的准确率非常高,因而得以广泛应用于多种应用,跨越不同的平台,例如智能手机、安防系统和汽车驾驶员辅助系统。作为一种深度神经网络 (DNN),CNN 使用的神经网络架构由专用层构成。在对标注图像进行训练期间,它会从图像中提取特征,并使用这些特征给图像分类(参见“利用现成的软硬件启动机器学习”)。

CNN 开发人员通常在高性能系统或云平台上进行训练,使用图形处理单元 (GPU) 加速在标注图像数据集(通常数以百万计)上训练模型所需的巨量矩阵计算。训练完成之后,训练好的模型用在推理应用中,对视频流中的新图像或帧进行分类。推理部署完成后,训练好的模型仍然需要执行同样的矩阵计算,但由于输入量要少很多,开发人员可以将 CNN 用于在通用硬件上运行的普通机器学习应用(参见“利用 Raspberry Pi 构建机器学习应用”)。

然而,对于许多应用而言,通用平台缺乏在 CNN 推理中同时实现高准确率和高性能所需的性能。优化技术和替代 CNN 架构(如 MobileNet 或 SqueezeNet)有助于降低平台要求,但通常会牺牲准确率并增加推理延时,而这可能与应用要求相冲突。

与此同时,快速发展的算法使得机器学习 IC 的设计工作变得复杂,因为需要机器学习 IC 既要足够专门化以加速推理,又要足够通用化以支持新算法。FPGA 多年来一直扮演着这一特定角色,提供加速关键算法所需的性能和灵活性,解决了通用处理器性能不足或没有专用器件可用的问题。

FPGA 作为机器学习平台

对于机器学习而言,GPU 仍然是标杆——这是早期的 FPGA 根本无法企及的。最近出现的一些器件,如 Intel Arria 10 GX FPGA 和 Lattice Semiconductor ECP5 FPGA,大大缩小了先进 FPGA 和 GPU 之间的差距。对于某些使用紧凑的整数数据类型的 DNN 架构来说,此类 FPGA 的性能/功耗比甚至高于主流 GPU。

高级 FPGA 组合了嵌入式存储器和数字信号处理 (DSP) 资源,对于一般矩阵乘法 (GEMM) 运算能够实现很高的性能。其嵌入式存储器靠近计算引擎,从而缓解了 CPU 存储器瓶颈,而这种瓶颈通常会限制通用处理器上机器学习算法的性能。反之,相比于典型 DSP 器件(图 1),FPGA 上的嵌入式 DSP 计算引擎提供了更多的并行乘法器资源。FPGA 厂商在交付专门用于机器学习的 FPGA 开发平台时充分利用了这些特性。

例如,Intel 最近推出的支持 FPGA 的 OPENVINO™ 扩展了该平台将推理模型部署到不同类型设备(包括 GPU、CPU 和 FPGA)的能力。在该平台上,开发人员可使用 Intel 的深度学习推理引擎工作流程,其中整合了 Intel 深度学习部署工具包和在 Intel OPENVINO 工具包中提供的 Intel 计算机视觉软件开发套件 (SDK)。开发人员使用 SDK 的应用编程接口 (API) 构建模型,并且可利用 Intel 的运行模型优化器针对不同硬件平台进行优化。

深度学习部署工具包旨在与 Intel DK-DEV-10AX115S-A Arria 10 GX FPGA 开发套件配合使用,让开发人员能从领先的 ML 框架(包括 Caffe 和 TensorFlow)导入训练好的模型(图 2)。在诸如 Arria 10 GX FPGA 开发套件之类目标平台或使用 Arria 10 GX FPGA 器件的定制设计上,工具包中的模型优化器和推理引擎分别处理模型转换和部署。

为了迁移预训练模型,开发人员使用基于 Python 的模型优化器生成了一个中间表示 (IR),该表示包含在一个提供网络拓扑的 xml 文件和一个以二进制值提供模型参数的 bin 文件中。除了生成 IR 之外,模型优化器还会执行一项关键功能——移除模型中用于训练但对推理毫无作用的层。此外,该工具会在可能的情况下将每个提供独立数学运算的层合并到一个组合层中。

通过这种网络修剪和合并,模型变得更紧凑,进而加快推理时间并减少对目标平台的存储器需求。

Intel 推理引擎是一个 C++ 库,其中包含一组 C++ 类。这些类对于受支持的目标硬件平台来说是通用的,因此可以在各个平台上实现推理。对于推理应用而言,开发人员使用像 CNNNetReader 这样的类来读取 xml 文件 (ReadNetwork) 中包含的 CNN 拓扑以及 bin 文件 (ReadWeights) 中包含的模型参数。模型加载完成后,调用类方法 Infer() 执行阻塞推理,同时调用类方法 StartAsync() 执行异步推理,当推理完成时使用等待或完成例程处理结果。

Intel 在 OPENVINO 环境提供的多个示例应用程序中演示了完整的工作流程和详细的推理引擎 API 调用。例如,安全屏障摄像机示例应用程序展示了使用推理模型流水线,以首先确定车辆边界框(图 3)。流水线中的下一个模型检查了边界框中的内容,识别车辆类别、颜色和车牌位置等车辆属性。

流水线中的最后一个模型使用这些车辆属性从车牌中提取字符。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22298

    浏览量

    630477
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136241

原文标题:机器学习加持,基于FPGA的高性能视觉应用方案设计

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于DSP与FPGA异构架构的高性能伺服控制系统设计

    DSP+FPGA架构在伺服控制模块中的应用,成功解决了高性能伺服系统对实时性、精度和复杂度的多重需求。通过合理的功能划分,DSP专注于复杂算法和上层控制,FPGA处理高速硬件任务,两者协同实现了传统架构难以达到的
    的头像 发表于 12-04 15:38 163次阅读
    基于DSP与<b class='flag-5'>FPGA</b>异构架构的<b class='flag-5'>高性能</b>伺服控制系统设计

    Valens与 Imavix 联手推出业界首款基于MIPI A-PHY 的机器视觉平台,CIS 同步发布首款符合A-PHY标准的摄像头

    ”Imavix”)宣布,推出业内首款量产级基于MIPI A-PHY的机器视觉平台,用于在机器视觉领域实现高性能的 A-PHY 连接标准。该平
    的头像 发表于 12-03 14:06 134次阅读

    基于迅为RK3588开发板实现高性能机器狗主控解决方案- AI能力实战:YOLOv5目标检测例程

    基于迅为RK3588开发板实现高性能机器狗主控解决方案- AI能力实战:YOLOv5目标检测例程
    的头像 发表于 11-28 11:32 1113次阅读
    基于迅为RK3588开发板实现<b class='flag-5'>高性能</b><b class='flag-5'>机器</b>狗主控解决<b class='flag-5'>方案</b>- AI能力实战:YOLOv5目标检测例程

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    人控制”应用中,系统必须具备高计算力、低延迟控制环路、实时反馈和多传感器融合能力。 传统的PLC或单片机方案在高并发计算与多轴同步控制方面往往性能不足,因此越来越多的工程师开始采用基于高性能SoC平台
    发表于 11-14 15:48

    机器视觉检测PIN针

    : 结合形态学处理、特征提取(如长宽比、面积)及深度学习(针对复杂缺陷),自动检出弯曲、断裂、变形、污染等。输出与控制:实时显示检测结果(OK/NG)及具体参数数值。生成检测报告,支持数据追溯。NG品自动剔除信号输出,无缝对接产线。了解更多机器
    发表于 09-26 15:09

    Molex莫仕适用于高性能机器视觉系统的先进连接解决方案

    智能仓储和智能制造需要优质摄像头和照明传感器,无论是在履行服务还是生产流程时,都能提供卓越的质量控制。连接领域的最新创新可提供高性能系统所需的高数据速率、无缝通信和坚固耐用性。Molex莫仕的组件
    的头像 发表于 09-02 11:36 2400次阅读

    FPGA机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 2641次阅读

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    阅读心得体会:ROS2机器视觉与地图构建技术 通过对本书第7章(ROS2视觉应用)和第8章(ROS2地图构建)的学习,我对机器
    发表于 05-03 19:41

    **【技术干货】Nordic nRF54系列芯片:传感器数据采集与AI机器学习的完美结合**

    【技术干货】nRF54系列芯片:传感器数据采集与AI机器学习的完美结合 近期收到不少伙伴咨询nRF54系列芯片的应用与技术细节,今天我们整理几个核心问题与解答,带你快速掌握如何在nRF54上部署AI
    发表于 04-01 00:00

    工业相机与采集卡配套方案:构建高性能机器视觉系统的核心要素

    机器视觉技术作为人工智能和智能制造的关键组成部分,正日益广泛地应用于工业自动化、质量检测、机器人引导等领域。而一套高性能机器
    的头像 发表于 03-31 15:53 649次阅读
    工业相机与采集卡配套<b class='flag-5'>方案</b>:构建<b class='flag-5'>高性能</b><b class='flag-5'>机器</b><b class='flag-5'>视觉</b>系统的核心要素

    性能不降级,成本降低60%!纯视觉导航方案能否“杀死”激光雷达?

    视觉方案的降本革命与性能突围。
    的头像 发表于 03-14 14:35 584次阅读
    <b class='flag-5'>性能</b>不降级,成本降低60%!纯<b class='flag-5'>视觉</b>导航<b class='flag-5'>方案</b>能否“杀死”激光雷达?

    德晟达高性能服务器助力工业机器视觉落地

    处理以及多模态数据融合。在此背景下,服务器集群作为核心算力基础设施,其高性能计算、低延迟推理及高可靠性特性,已成为支撑工业机器视觉系统规模化部署的关键技术底座。
    的头像 发表于 03-11 17:22 980次阅读

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    和并行计算能力,将AI模型(如CNN、LSTM、Transformer等)部署到FPGA上,实现高效的数据预处理、实时推理和后处理。• 定制化解决方案:根据具体应用场景(如自动驾驶、机器视觉
    发表于 03-03 11:21

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    随着HarmonyOS NEXT的正式推出,鸿蒙原生应用开发热度高涨,数量激增。但在三方应用鸿蒙化进程中,性能问题频出。为此,HarmonyOS NEXT推出了一整套原生页面高性能解决方案,包括
    发表于 01-02 18:00

    低电压冗余电源方案设计

    低电压冗余电源方案设计
    发表于 12-16 14:47 2次下载