作者: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)。
最优架构带来最小功耗
根据典型的电源使用模式,基于多核 GPU 或 CPU 架构的设计可能功耗大。
内核部分能耗占 30%
内部存储器 (L1, L2, L3) 能耗占 30%
外部存储器(如 DDR)能耗为 40%
GPU 需要频繁地访问低效率 DDR 内存以支持可编程性,这是高带宽计算需求的瓶颈。Kria K26 SOM 中使用的 Zynq MPSoC架构支持开发只需少量访问或不访问外部存储器的应用。例如,在典型的汽车应用中,GPU 和各种模块之间的通信需要多次访问外部 DDR 存储器来完成,而基于 ZynqMPSoC 的解决方案包含了一个旨在避免大多数 DDR 访问的管道(图 2)。
修剪的优势
可以通过人工智能优化工具来增强 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)。
基于 Uncanny Vision 的视觉分析软件,开发出用于汽车车牌检测、识别的机器学习应用,也称为汽车车牌识别 (ANPR) 应用。ANPR用于自动收费系统、高速公路监控、安全门和停车场入口以及其他应用。这种车牌识别应用包括一个基于人工智能的信息管道,对视频进行解码并预处理图像,然后进行 ML检测和 OCR 字符识别(图 4)。
实现车牌识别需要一个或多个 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倍的性能。预构建应用可使初始设计在不到一小时内即可开始运行。
为了帮助快速启动采用 Kria K26 SOM 的开发过程,AMD Xilinx 提供了 KV260 视觉 AI入门套件,其中包括电源适配器、以太网线、microSD 卡、USB 线、HDMI 线和摄像头模块(图 6)。如果不需要整个入门套件,开发人员可以简单地购买可选的电源适配器,以开始使用 Kira K26 SOM。
能够加速开发的另一个原因是功能全面,包括丰富的 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) 振动。该版本还具有最短十年的生产可用性,以支持长的产品生命周期。
结语
诸如安全、交通和城市摄像头、零售分析、自动检测、过程控制和视觉引导的机器人等机器视觉应用设计者,可以采用 Kria K26 SOM AI启动器,以加快上市时间,协助控制成本并降低开发风险。这种基于 SOM的开发平台提供了一个软硬件集成环境,让开发者能专注于应用定制并节省多达九个月的开发时间。同样的 SOM架构可用于商业和工业环境中的生产优化配置,进一步加快上市时间。工业版的最低生产可用性为 10 年,可支持很长的产品生命周期。
-
嵌入式
+关注
关注
5068文章
19008浏览量
302916 -
机器视觉
+关注
关注
161文章
4340浏览量
120080 -
AI
+关注
关注
87文章
30072浏览量
268331 -
SOM
+关注
关注
0文章
57浏览量
15692
发布评论请先 登录
相关推荐
评论