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

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

3天内不再提示

如何快速设计和部署智能机器视觉系统

海阔天空的专栏 来源:Jeff Shepard 作者:Jeff Shepard 2023-10-03 14:31 次阅读

作者:Jeff Shepard

许多应用对机器视觉的需求在不断增长,包括安防、交通和城市摄像头、零售分析、自动检测、过程控制和视觉引导机器人技术。实现机器视觉是一个复杂的过程,需要整合不同的技术和子系统,包括高性能硬件和先进的人工智能/机器学习AI/ML) 软件。机器视觉从优化视频采集技术和视觉 I/O以满足应用需求开始,并延伸到多个图像处理管道以实现高效连接。机器视觉最终取决于嵌入式视觉系统是否能够通过高性能硬件执行基于视觉的实时分析。这些硬件如现场可编程门阵列(FPGA)、系统级模块 (SOM)、系统级芯片 (SoC),甚至是运行所需的 AI/ML 图像处理和识别软件的系统级芯片上多处理器系统(MPSoC)。这可能是一个复杂、昂贵且耗时的过程,可能会频繁导致成本超支、进度延误。

与其从头开始,设计者还不如采用一种经过精心策划的高性能开发平台,从而在加快上市时间、控制成本并降低开发风险的同时,支持应用实现高度灵活性和高性能。基于SOM 的开发平台可以提供集成硬件和软件环境,让开发人员专注于应用定制并节省多达九个月的开发时间。除了开发环境外,同样的 SOM架构还可用于商业和工业环境下的生产优化配置,以提高应用的可靠性和质量,进一步降低风险并加快上市时间。

本文首先回顾与开发高性能机器视觉系统有关的挑战,然后介绍 AMD Xilinx 的 Kria KV260 视觉 AI入门套件提供的全面开发环境,最后以基于 Kira 26 平台设计的即用型 SOM 为例进行介绍。该平台用于插入带有特定解决方案外设的载板。

该开发板从数据类型优化开始

深度学习算法的需求在不断增加。不是每个应用都需要高精度计算。目前正在使用的较低精度数据类型如 INT8,或者使用自定义数据格式。基于 GPU的系统可能面临这样的挑战,即试图修改为高精度数据优化的架构,以有效地适应低精度数据格式。Kria K26 SOM 可重新配置,使其能够支持从 FP32 到INT8 等多种数据类型。可重复配置也有助于实现较低总体能耗。例如,与 FP32 运行相比,针对 INT8 优化的运行所消耗的能量会少一个数量级(图 1)。

1.png

最优架构带来最小功耗

根据典型的电源使用模式,基于多核 GPU 或 CPU 架构的设计可能功耗大。

内核部分能耗占 30%

内部存储器 (L1, L2, L3) 能耗占 30%

外部存储器(如 DDR)能耗为 40%

GPU 需要频繁地访问低效率 DDR 内存以支持可编程性,这是高带宽计算需求的瓶颈。Kria K26 SOM 中使用的 Zynq MPSoC架构支持开发只需少量访问或不访问外部存储器的应用。例如,在典型的汽车应用中,GPU 和各种模块之间的通信需要多次访问外部 DDR 存储器来完成,而基于 ZynqMPSoC 的解决方案包含了一个旨在避免大多数 DDR 访问的管道(图 2)。

2.png

修剪的优势

可以通过人工智能优化工具来增强 K26 SOM
上的神经网络性能,这种工具可以实现数据优化和修剪。神经网络被过度参数化的情况非常常见,从而导致了高水平冗余。这种情况可通过数据修剪和模型压缩来进行优化。使用Xilinx 的人工智能优化器可使模型复杂度降低至原来的 1/50,而对模型精度的影响却微乎其微。例如,一个单次检测器 (SSD) 加上一个 VGG 卷积神经网(CNN) 架构且具有 117 千兆运算 (Gops) 能力,使用人工智能优化器经过 11 次迭代修剪后得到了改进。优化前,该模型在 ZynqUltraScale+ MPSoC 上每秒运行 18 帧 (FPS)。经过 11 次迭代——该模型的第 12 次运行,其复杂性从 117 Gops 降低至11.6Gops(约前者的 1/10),性能从 18 FPS 提升至 103 FPS(前者的 5 倍),物体检测准确性从 61.55 平均精度 (mAP)下降到 60.4 mAP(仅降低 1%)(图 3)。

3.png

基于 Uncanny Vision 的视觉分析软件,开发出用于汽车车牌检测、识别的机器学习应用,也称为汽车车牌识别 (ANPR) 应用。ANPR用于自动收费系统、高速公路监控、安全门和停车场入口以及其他应用。这种车牌识别应用包括一个基于人工智能的信息管道,对视频进行解码并预处理图像,然后进行 ML检测和 OCR 字符识别(图 4)。

4.png

实现车牌识别需要一个或多个 H.264 或 H.265 编码的实时流媒体协议 (RTSP)馈送,这些馈送经过解码或未经过压缩。解码后的视频帧经过缩放、裁剪、色彩空间转换和标准化(预处理),然后发送至 ML 检测算法。实现高性能车牌识别需要多阶段 AI信息管道。在第一阶段中,检测并定位图像中的车辆,创建关注区域 (ROI)。同时,其他算法优化图像质量,供 OCR字符识别算法随后使用,并以跨多帧的方式追踪车辆运动。车辆 ROI 会被进一步裁剪,生成供 OCR 算法处理的号牌 ROI,以确定号牌中的字符。与其他基于 GPU或 CPU 的商业 SOM 相比,Uncanny Vision 的 ANPR 应用在 Kira KV260 SOM 上的运行速度快 2 到 3 倍,每个RTSP feed 的成本不到 100 美元。

智能视觉开发环境

对于交通和城市摄像头、零售分析、安防、工业自动化和机器人等智能视觉应用的设计者来说,他们可以采用 Kria K26 SOM AI Starter开发环境。这种开发环境采用 Zynq® UltraScale+™ MPSoC 架构建立,并有一个不断增长的策划应用软件包库(图 5)。AI StarterSOM 包括一个四核 Arm Cortex-A53 处理器,超过 25 万个逻辑单元以及一个 H.264/265 视频编解码器。SOM 还具有 4GB DDR4存储器、245 个 IO 和 1.4 tera-ops人工智能计算,以支持创建高性能视觉人工智能应用,进而实现了与其他硬件方法相比,能以更低延迟、更低功耗提供超 3倍的性能。预构建应用可使初始设计在不到一小时内即可开始运行。

5.png

为了帮助快速启动采用 Kria K26 SOM 的开发过程,AMD Xilinx 提供了 KV260 视觉 AI入门套件,其中包括电源适配器、以太网线、microSD 卡、USB 线、HDMI 线和摄像头模块(图 6)。如果不需要整个入门套件,开发人员可以简单地购买可选的电源适配器,以开始使用 Kira K26 SOM。

6.png

能够加速开发的另一个原因是功能全面,包括丰富的 1.8 V、3.3 V 单端和差分 I/O、四个 6 Gb/s 收发器和四个 12.5 Gb/s收发器。有了这些功能,就能够开发这样的应用——即在这些应用中每个 SOM 具有更多的图像传感器且这些应用配备如 MIPI、LVDS、SLVS 和 SLVS-EC等各种传感器接口。对于这些接口来说,其支持设备并不总限于应用特定型标准产品 (ASSP) 或 GPU。开发人员还可以通过嵌入式可编程逻辑实现DisplayPort、HDMI、PCIe、USB2.0/3.0 和用户定义的标准。

最后,通过将 K26 SOM 广泛的硬件能力、软件环境与生产就绪型视觉应用相结合,简化人工智能应用的开发并使其变得更加容易。这些视觉应用可以在不需要FPGA 硬件设计的情况下实现,并使软件开发人员能够快速集成定制的 AI 模型和应用代码,甚至修改视觉管道。Xilinx 的 Vitis统一软件开发平台和库支持常见的设计环境,如 TensorFlow、Pytorch 和 Café 框架以及多种编程语言,包括 C、C++、OpenCL™ 和Python。还有一个嵌入式应用商店,用于使用来自 Xilinx 及其生态系统合作伙伴的 Kria SOM 的边缘应用。Xilinx产品免费、开源,包括智能摄像头跟踪和人脸检测、带有智能视觉的自然语言处理功能等。

生产优化型 Kira 26 SOM

一旦开发过程完成,就可以提供 K26 SOM 的生产就绪型版本,该版本用于插入配有特定解决方案外设的载板,可以加速向制造过渡(图 7)。基本的 K26SOM 是商业级器件,其温度等级为 0℃ 至 +85℃ 结温(通过内部温度传感器测量)。还可提供 工业级版本 K26 SOM,其额定工作温度为 -40°C 至+100°C。

工业市场要求在恶劣的环境下具有更长的运行寿命。工业级 Kria SOM 在 100°C 结温和 80% 相对湿度下可运行 10 年,并可承受高达 40 g的冲击和 5 g 的均方根 (RMS) 振动。该版本还具有最短十年的生产可用性,以支持长的产品生命周期。

7.png

结语

诸如安全、交通和城市摄像头、零售分析、自动检测、过程控制和视觉引导的机器人等机器视觉应用设计者,可以采用 Kria K26 SOM AI启动器,以加快上市时间,协助控制成本并降低开发风险。这种基于 SOM的开发平台提供了一个软硬件集成环境,让开发者能专注于应用定制并节省多达九个月的开发时间。同样的 SOM架构可用于商业和工业环境中的生产优化配置,进一步加快上市时间。工业版的最低生产可用性为 10 年,可支持很长的产品生命周期。

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

    关注

    4982

    文章

    18281

    浏览量

    288438
  • 机器视觉
    +关注

    关注

    161

    文章

    4043

    浏览量

    118357
  • AI
    AI
    +关注

    关注

    87

    文章

    26443

    浏览量

    264044
  • SOM
    SOM
    +关注

    关注

    0

    文章

    47

    浏览量

    15599
收藏 人收藏

    评论

    相关推荐

    机器视觉系统在注塑行业的应用

    机器视觉是通过采用非接触式的光学感知设备自动接收和解析真实场景的影像,以获取信息和控制机器或工艺过程。机器视觉系统基本配置包含工业相机与镜头
    发表于 06-09 14:55

    机器视觉系统应用于标签外观视觉检查!

    `机器视觉系统可以快速获取大量信息,而且易于自动处理,也易于同设计信息以及加工控制信息集成,因此,在现代自动化生产过程中,人们将机器视觉系统
    发表于 11-18 16:13

    服务机器人的视觉系统怎么设计?

    随着计算机科学和自动控制技术的发展,越来越多的不同种类的智能机器人出现在工厂、生活当中,机器视觉系统作为智能
    发表于 04-07 07:27

    机器视觉系统测量有哪些优势?

    越来越多行业的认可。  机器视觉系统具有检测、测量功能,可以用于检测各种产品的缺陷,判断及其选择,及物体的尺寸测量。而对于微小尺寸的测量也是机器视觉系统的长处,它可以利用高倍镜头放大被
    发表于 12-10 16:35

    工业机器人与智能视觉系统应用实训平台介绍

    ZNAI-1工业机器人与智能视觉系统应用实训平台一、产品概述工业机器人与智能视觉系统应用实训平台
    发表于 07-01 11:48

    ZN-1AI工业机器人与智能视觉系统应用实训平台介绍

    ZN-1AI工业机器人与智能视觉系统应用实训平台一、产品概述 ZN-1AI以工业机器人与机器视觉
    发表于 07-01 10:07

    机器视觉系统的工作原理是什么?有哪些应用实例?

    机器视觉系统的工作原理是什么?机器视觉系统的特点有哪些?机器视觉系统的结构是由哪些部分组成的?
    发表于 07-16 08:06

    机器视觉系统是指什么? 机器视觉系统的工作原理是什么?

    机器视觉系统是指什么?机器视觉系统的工作原理是什么?影响机器视觉系统输入的重要因素有哪些?
    发表于 07-16 11:23

    机器视觉系统有何应用

    随着越来越多的制造商采用工业4.0模型,工业市场对视觉系统的需求也将增长。在这个新时代,制造商将集成先进的机器人技术、机器学习、 3D深度测绘和工业物联网,以提高组织和生产能力。机器
    发表于 12-20 06:04

    机器视觉系统原理及基础知识

    机器视觉系统的目的就是给机器或自动生产线添加一套视觉系统,其原理是由计算机或图像处理器以及相关设备来模拟人的视觉行为,完成得到人的
    发表于 12-16 14:40 0次下载
    <b class='flag-5'>机器</b><b class='flag-5'>视觉系统</b>原理及基础知识

    如何使用NI快速构建机器视觉系统

    本演示介绍如何使用NI 交互式的机器视觉开发软件环境VBAI,快速构建机器视觉系统。无需编程,配合NI新款
    的头像 发表于 06-25 03:06 3908次阅读
    如何使用NI<b class='flag-5'>快速</b>构建<b class='flag-5'>机器</b><b class='flag-5'>视觉系统</b>

    机器视觉系统详解

    机器视觉系统详解说明。
    发表于 04-19 15:16 20次下载

    机器视觉系统概述

    机器视觉系统概述说明。
    发表于 04-21 10:07 11次下载

    机器视觉系统的经典应用

    机器视觉系统的经典应用。
    发表于 05-28 10:25 15次下载

    机器视觉系统包括哪些

    机器视觉系统包括哪些 机器视觉系统就是利用机器代替人眼来作各种测量和判断。它是计算机学科的一个重要分支,它综合了光学、机械、电子、计算机软硬
    发表于 06-29 11:33 596次阅读