虽然图像识别可以成为提高安全性和生产力的强大工具,但系统设计人员不断面临着如何在更小、更低功耗的设备中提供更快速、更细致分类的挑战。趋势是通过在位于物联网边缘的微型微控制器上运行基于人工智能的识别算法来应对这一挑战。
本文着眼于图像处理如何变得更加复杂、可用的支持技术以及基于不同半导体制造商的硬件和生态系统的一些实际实施可能性。
图像识别及其主要子集——面部识别——多年来已广泛应用于工业和安全领域。然而,尽管技术进步使得用户能够使用摄像头进行图像识别,但识别结果往往并不理想。对图像进行分类的尝试可能会受到诸如比例或透视变化、背景混乱或照明等问题的影响。
因此,始终存在提高这些系统性能的压力,以便它们能够提供更细致的识别和分类功能,同时提供更稳健和准确的结果。而且,随着更好的技术的出现,图像识别为提高生产力或安全性创造了更多机会。
3D面部识别就是一个很好的例子。2D系统曾经足以满足访问控制等应用的需求,直到人们学会使用面部图片等欺骗技术来愚弄它们,因此3D识别成为克服这一问题所必需的。它还解决了一些问题,例如在人们留胡子后或他们是否戴着眼镜或新冠病毒口罩时进行识别。
复杂的图像识别技术正在安全以外的领域发挥着重要作用。在工业中,它可用于提高产品形状、尺寸和颜色方面的质量,而在汽车应用中,它可应用于路边检测、车道检测、实时车道中的动物、人类或物体检测。它还可以绘制人类存在的地图,例如在公共交通上。
更强大的硬件加上日益复杂的人工智能软件也使得图像识别系统具有情绪检测功能。例如,汽车供应商可以在智能汽车中使用面部情绪检测技术,在驾驶员感到困倦时发出警报。
然而,寻求提供更强大、低延迟解决方案的系统构建商必须同时消耗更少的能源、空间和成本。他们必须在追求环保的同时保持技术竞争力。
越来越多的应对措施是将曾经在云中的大型服务器上运行的系统移至边缘。这意味着人工智能算法现在在微型微控制器上运行,这些微控制器必须非常快速且高精度地映射传入的图像。虽然这在工业中并不是特别重要,因为机器人有更多的空间和功率,但在其他应用中,这项技术可以将强大的图像识别解决方案放到用户的手机和手表上。
在边缘本地运行面部识别系统,而不将数据发送到云端,也解决了对隐私的担忧。
图 1:使用 Analog Devices MAX78000 微控制器的面部识别应用的屏幕截图
构建边缘图像识别系统的技术概念和实用方法
从系统开发人员的角度来看,人工智能图像识别系统与任何其他电子产品一样,包含许多硬件和软件构建块,这些构建块必须集成到一个基本平台中,该平台可以进一步开发为特定于应用的解决方案。这些包括:
相机或其他输入设备:相机采用不同的技术;相机技术的选择将从根本上影响整个系统的设计。
输出设备:其中可能包括安全门,它允许面部识别系统控制对安全区域的访问;还可能有一个显示器提供人工智能分析的结果。此外,如果图像识别系统是更大基础设施的一部分,则将有网络连接。
微计算硬件:这可能只包含一个核心处理器,但它更有可能还有一个人工智能引擎加速器来提高性能。
AI算法:许多图像识别应用程序可以使用相同的硬件,但可以运行不同的AI算法来完成不同的应用程序。
要将这些组件集成到特定于应用的图像识别系统中,我们需要:
选择3D面部识别或3D飞行时间等技术来收集高质量图像数据。
选择卷积神经网络(ConvNet/CNN)等AI算法来从原始图像数据中提取有意义的内容和动作,从而获取信息。
寻找一家能够提供最适合您想要采用的图像采集和处理方法的硬件和开发环境的半导体制造商。
3D面部识别和3D飞行时间是流行的方法:
3D人脸识别
3D面部识别方法涉及使用传感器更精确地捕捉面部形状。与传统的面部识别方法不同,3D面部识别的准确性不受光照影响,甚至可以在黑暗中进行扫描。3D面部识别的另一个优点是它可以从多个角度识别目标,而不仅仅是直接的轮廓。与2D面部识别不同,它不会被未经授权进入安全区域的人使用的照片所欺骗。
iPhone X(及更高版本)配备了Face ID技术,该技术依靠3D面部识别来识别其所有者。
3D面部识别过程有六个主要步骤:检测、对齐、测量、表示、匹配以及验证或识别。
3D飞行时间
3D飞行时间(ToF)是一种无扫描仪LIDAR(光检测和测距),它使用纳秒持续时间的高功率光脉冲来捕获感兴趣场景的深度信息(通常在短距离内)。
ToF相机通过使用激光等调制光源和对激光波长敏感的传感器主动照射物体来测量距离,以捕获反射光。传感器测量发射光和相机接收反射光之间的时间延迟Δ。时间延迟与相机和物体之间的距离(往返)的两倍成正比,因此距离可以估计为深度=cΔ/2,其中c是光速。
测量ΔT的方法有多种,其中最流行的有两种:连续波(CW)方法和基于脉冲的方法。应该指出的是,目前市场上已经实现并上市的绝大多数CW ToF系统都使用CMOS传感器,而脉冲ToF系统则使用非CMOS传感器(特别是CCD)。
图2:飞行时间测量简单图
从原始图像数据中提取有意义且可操作的信息
使用上述任一技术捕获图像数据后,我们需要一种人工智能算法在所选硬件上运行来分析数据并提供有意义且可操作的结果。
一种方法是使用卷积神经网络(ConvNet/CNN):深度学习算法可以接收输入图像,为图像中的各个方面/对象分配重要性(可学习的权重和偏差),然后区分一个方面/另一个方面。
CNN所需的预处理远低于其他分类算法。虽然在原始方法中,过滤器是手工设计的,但经过足够的训练,CNN有能力学习这些过滤器/特征。
CNN的架构类似于人脑中神经元的连接模式,并且受到视觉皮层组织的启发。
CNN能够通过应用相关滤波器成功捕获图像中的空间和时间依赖性。由于涉及参数数量的减少和权重的可重用性,该架构能够更好地拟合图像数据集。换句话说,可以训练网络更好地理解图像的复杂性。
然而,其他深度学习算法也在快速发展,使用了较低精度的数据类型,例如INT8、二进制、三进制和自定义数据。
半导体制造商的硬件和生态系统
无论选择哪种人工智能算法,为了有效,它必须在合适的硬件上运行,能够提供必要的处理能力,而不对电力、空间、重量或成本提出过高的要求。
在实际的硬件实现方面,每个半导体制造商都倾向于根据自己开发的底层硬件以及合适的软件和开发工具提供自己的生态系统。在决定与哪家半导体制造商合作时,开发人员必须意识到他们正在致力于制造商的开发生态系统及其图像处理硬件。
下面,我们来看看AI硬件领域三大领导者——Analog Devices、Xilinx和NXP Semiconductors的图像识别解决方案。
Analog Devices的解决方案基于其MAX78000系列,其中包括超低功耗卷积神经网络(CNN)推理引擎MAX78002。MAX78002先进的片上系统架构采用带有FPU CPU的Arm® Cortex®-M4和超低功耗深度神经网络加速器。(参见文本框:“神经网络加速器的作用。”)
集成的RISC-V内核可以执行应用程序和控制代码以及驱动CNN加速器。
神经网络加速器的作用
深度学习是目前最重要的机器学习方法之一,用于解决以前只能由人类解决的复杂任务。在计算机视觉或语音识别等应用中,与非学习算法相比,深度神经网络(DNN)的准确度很高,在某些情况下甚至比人类专家还要高。与非学习算法相比,DNN的准确性更高,因为它能够在对大量训练数据进行统计学习后从输入数据中提取高级特征。
统计学习可以有效地表示输入空间并具有良好的泛化能力。然而,这种能力需要大量的计算工作——然而,通过增加参数的数量,可以提高网络的准确性。因此,DNN的趋势显然是网络规模呈指数级增长。这导致计算工作量和所需的内存大小呈指数级增加。
因此,仅中央处理单元(CPU)不足以处理计算负载。因此,结构优化的硬件加速器用于提高神经网络的推理性能。对于在边缘设备上运行的神经网络进行推理,除了吞吐量之外,能源效率也是必须考虑的重要因素。
作为MAX78000的后续产品,MAX78002具有额外的计算能力和内存,是新一代人工智能(AI)微控制器的一部分,旨在以超低功耗执行神经网络并实时运行。物联网(IoT)的边缘。
该产品将最节能的AI处理与Analog Device久经考验的超低功耗微控制器相结合。基于硬件的卷积神经网络(CNN)加速器使电池供电的应用程序能够执行人工智能推理,同时仅消耗微焦的能量。
图 3:Analog Devices MAX78002微控制器的架构
您可以使用MAX78002评估套件(EV kit)与微控制器进行交互;这为利用设备功能构建新一代人工智能产品提供了一个平台。该套件具有板载硬件,如数字麦克风、串行端口、数字视频端口(DVP)和相机串行接口(CSI)相机模块支持,以及3.5英寸触摸式彩色薄膜晶体管(TFT)显示屏。
该套件还包括用于监控并在辅助TFT显示屏上显示功率级别的电路。MAX34417监测MAX78002的电压和电流,并向MAX32625报告累积功率,MAX32625用作功率数据处理器,同时控制功率显示。
开发人脸识别模型:设计人员可以在PyTorch上使用Analog Devices开发流程构建人脸识别模型,使用不同的开放数据集进行训练并部署在MAX78000评估板上。图4显示了开发流程。
图4:MAX78000的开发流程
开发过程主要分三个步骤解决人脸识别问题:
人脸提取:检测图像中的人脸,提取出仅包含一张人脸的矩形子图像。
面部对齐:确定子图像中面部的旋转角度(3D),以通过仿射变换补偿其效果。
人脸识别:使用提取和对齐的子图像来识别人员。
Xilinx 使用不同的硬件方法,基于其 Kria K26 SOM(模块上系统)。 SOM 旨在帮助开发人员在其首选的设计环境中通过开箱即用的低成本开发套件更快地部署其智能视觉应用程序。
K26 SOM非常适合边缘应用,因为其底层 Zynq MPSoC 架构可提供高性能功耗比和低拥有成本。Kria SOM是硬件可配置的,使其具有可扩展性和面向未来的特点。
该器件的设计提供了更多性能优势:
原始计算能力:K26可配置各种深度学习处理单元(DPU)配置,并根据性能需求,将最适用的配置集成到设计中。 例如,DPU B3136 在 300MHz 时的峰值性能为 0.94TOPS。
较低精度数据类型支持:随着深度学习算法的快速发展,人们开始使用较低精度的数据类型,例如 INT8、二进制或自定义数据。 GPU 供应商很难满足当前的市场需求,因为他们必须修改/调整其架构以适应自定义或较低精度的数据类型支持。 Kria K26 SOM 支持全范围的数据类型精度,例如 FP32、INT8、二进制和其他自定义数据类型,并且事实证明,对较低精度数据类型的操作消耗的功耗要低得多。
低延迟和功耗:Zynq MPSoC 架构的可重配置性使开发人员能够在设计时减少或无需外部存储器访问,这不仅有助于降低应用程序的整体功耗,还可以通过降低端到端延迟来提高响应能力 。
灵活性:与数据流固定的 GPU 不同,Xilinx 硬件提供了灵活性,可以独特地重新配置数据路径,以实现最大吞吐量和更低延迟。 此外,可编程数据路径减少了批处理的需求,这是 GPU 的一个主要缺点,并且成为较低延迟或较高吞吐量之间的权衡。
为了进行评估和开发,Xilinx 提供了 KV260 入门套件,其中包括与以视觉为中心的承载卡配合的 Kria K26 SOM。 这种预定义的视觉硬件平台与基于 Yocto 或 Ubuntu 构建的强大且全面的软件堆栈相结合,再加上预构建的视觉加速应用程序,为开发人员利用 Xilinx 技术构建系统提供了前所未有的途径。
开发完成后,生产部署的定制就很简单。 Kria SOM 与最终用户设计的简单载卡配合使用,该载卡包含特定于其自己的目标系统的连接和附加组件。
图 5:Xilinx KV260 视觉 AI 入门套件
应用示例:Xilinx 与智慧城市视频分析解决方案的行业领导者 Uncanny Vision 合作,目标是向市场提供世界一流的汽车车牌(车牌)识别 (ANPR) 解决方案。 作为智慧城市建设的一部分,该应用程序正在世界许多城市广泛采用。
ANPR 应用程序是一个基于 AI 的管道,包括视频解码、图像预处理、机器学习(检测)和 OCR 字符识别。 图 6 显示了该应用程序的构建块。
图 6:ANPR 应用程序构建块
恩智浦半导体扩展了其 NXP EdgeReady 产品组合,增加了安全人脸识别解决方案,该解决方案利用高性能 3D 结构光模块 (SLM) 相机与 i.MX RT117F MCU 相结合。 这是第一个将 3D SLM 相机与 MCU 相结合的解决方案,可在边缘提供 3D人脸识别的性能和安全性,从而无需像传统上那样在 MPU 上使用昂贵且耗电的 Linux 实现配备高性能 3D 相机。
最新的 EdgeReady 解决方案使智能锁和其他访问控制系统的开发人员能够快速轻松地将基于机器学习的安全人脸识别添加到智能家居和智能建筑产品中。 该解决方案可在室内和室外应用、各种照明条件下提供可靠的 3D 人脸识别,包括明亮的阳光、昏暗的夜光或对传统人脸识别系统构成挑战的其他困难照明条件。
使用 3D SLM 相机可实现先进的活体检测,有助于区分真人与欺骗技术(例如照片、模仿者面具或 3D 模型),以防止未经授权的访问。
i.MX RT117F 采用先进的机器学习模型作为恩智浦 eIQ 机器学习软件的一部分,在其高性能 CPU 内核上运行,可实现更快、更准确的人脸识别,从而改善用户体验和电源效率。
与基于 i.MX RT106F MCU 的 NXP EdgeReady 安全人脸识别解决方案类似,先进的活体检测和人脸识别都是在边缘本地完成的,使得个人生物识别数据可以保留在设备上。 这有助于解决消费者隐私问题,同时还消除与基于云的解决方案相关的延迟。
结论
上述文章讨论了可用于开发改进的图像识别系统的技术,并介绍了不同半导体制造商的硬件平台和可用于实施这些技术的开发生态系统的示例。