想了解工业物联网的人工智能处理,首先你需要考虑的是大量的数据处理在哪里发生。
人工智能(AI)有能力使工业物联网(IIoT)的嵌入式系统更加灵敏和可靠,除了以更具成本效益的方式安排日常维护工作外,这项技术已经被用于监测机械状况和识别是否即将发生故障。
当涉及到在嵌入式系统中部署人工智能技术时,考虑这些数据处理的位置是至关重要的。人工智能算法在计算性能上差异很大,同时处理算法所需的内容和处理的位置也有很大影响。
对于系统设计者来说,开发基于人工智能的嵌入式系统有三种明确的方法,包括使用基于云的人工智能服务、部署具有内置人工智能的系统或创建他们自己的算法,通常都是基于开源软件。
深度神经网络(DNN)体系结构是一种计算密集型算法的例子,尤其是在训练阶段,每次更新模型时都需要数十亿个浮点运算。由于DNN的强烈需求,典型的方法是将数据发送到云端进行远程处理。工业控制中支持AI的设备可以利用使用云服务而创建的工具和框架进行远程处理,其中许多都是以开源形式提供的。
一个流行的例子是Google的TensorFlow,它为在创建人工智能算法方面经验丰富的工程师以及刚刚起步的工程师提供了多个层次的抽象。Keras API是TensorFlow框架的一部分,它使探索机器学习技术和启动应用程序变得很容易。
然而,基于云处理的一个缺点在于所需的带宽。可靠的互联网连接对维护服务至关重要,值得注意的是,云AI下,消费者应用依赖宽带连接,但工厂中的机床可能由于网络问题无法访问实时更新的远程AI模型。
因此,通过在本地进行更多的处理,可以大幅缩减带宽需求。对于许多工业应用程序,通过关注内容,所需的数据量可以大幅缩减。在监控环境变量的应用程序中,许多变量在很长一段时间内不会发生变化。对于模型来说,重要的是高于或低于特定阈值的变化。即使传感器可能需要以毫秒为单位分析传感器输入,云服务器的更新速率可能只是每秒更新几次,甚至更少。
构建人工智能软件
对于更复杂形式的数据,如音频或视频,需要更大程度的预处理。在进行图像处理之前,人工智能不仅有助于节省图像处理前的总体带宽,而且有助于提高系统的整体性能。例如,在压缩前去噪通常会提高压缩算法的效率。这与对高频信号敏感的有损压缩技术特别相关。边缘检测可以与图像分割结合使用,使模型只聚焦在感兴趣的对象上。这减少了在训练和推理过程中需要输入到模型中的无关数据量。
虽然图像处理是一个复杂的领域,但在许多情况下,开发人员可以在本地处理算法,利用现成的库并消除对高带宽互联网连接的需求。一个流行的例子是开源的计算机视觉库OpenCV,它用于对AI模型的数据进行预处理。在C++中,开发人员可以调用C++、java、python和MATLAB代码,在移植算法到嵌入目标之前支持简单原型开发。
通过使用OpenCV并在本地处理数据,集成商还消除了与在云中传输和存储数据相关的安全风险。终端用户最关心的是数据传输到云端时的隐私和安全性。状态监测和工业检测是关键的过程,需要尽可能好的数据分析。尽管云运营商已经制定了防止数据泄露的措施,但将数据保存在每个设备中,可以限制黑客入侵风险。
除了对图像处理的支持外,OpenCV的最新版本还包含了对使用许多流行框架(包括Caffe、PyTorch和Tensorflow)构建的机器学习模型直接支持。在将模型移植到嵌入式平台之前,使用云进行初始或原型开发,这是一种已经被证明可行的方法。
对于任何移植到嵌入式设备的机器学习模型来说,性能是首要考虑的问题。由于训练数据对性能有很高的要求,一种选择是在本地或云服务器上执行训练(取决于隐私问题),并在设备本身执行推断(当训练模型接收到实时数据时)。
如果需要本地设备更高性能,可能的解决方案是Avnet Ultra96-V2,它集成了Xilinx Zynq UltraScale+ZU3EG MPSoC。Arm处理器内核与嵌入式信号处理引擎和完全可编程逻辑阵列的结合,为DNN模型和图像处理例程提供了有效的支持。重新配置提供了在本地处理训练的能力,以及在应用程序具有高吞吐量需求的情况下进行推理的能力。
Avnet Ultra96-V2
推理产生的开销比训练低,对于传感器而不是图像流,在软件中运行DNN内核的微控制器可能是令人满意的。但是对于低功耗设备来说,需要更低的数据速率流。一些团队通过优化来减少推断所需的计算数量,即使这会增加开发的复杂性。人工智能模型通常包含高度冗余,通过修剪神经元之间的连接并将计算精度降低到8位整数甚至更低的分辨率,可以显著节省处理能力。
内置人工智能的边缘设备
另一种选择是将推断放到本地网关设备上运行。如果每个节点的吞吐量相对较低,一个网关可以处理多个传感器节点的推断任务。从面向云的框架中分配工作负载、移植和优化模型的需求都增加了开发的复杂性,因此另一个选择是采用一个已经为嵌入式应用而优化的框架。Octanion公司开发的Brainium平台为嵌入式系统提供了一个完整的开发框架。它的软件环境直接支持使用云系统进行原型设计,在物联网设备和网关上部署使用Avnet的SmartEdge Agile硬件。
Brainium软件环境协调设备、网关和云层的活动,以形成一个完整的人工智能环境。为了使应用程序能够扩展到深度嵌入的节点上,环境支持一些比DNN中使用的计算密集度低的人工智能技术。网关软件可以部署在现成的硬件上,如树莓派或任何能够运行Android或iOS的平台上。在需要更高性能的地方,Brainium的云层可以部署在AWS、Azure或自定义服务器解决方案上。
施耐德电气(Schneider Electric)和费斯托(Festo)已将本地人工智能支持纳入特定应用的控制产品中。前者提供了预测分析应用程序来识别影响性能的系统行为发生的细微变化。2018年,Festo收购了数据科学领域专家Resolto,其SCRAITEC软件可以了解系统的健康状态,以便检测每一个异常。
OEM或集成商在部署人工智能时采用哪种方法取决于具体情况。除了可用的处理能力之外,还有其他因素正在促使企业采用云计算、构建新软件和/或集成边缘设备等方式来管理人工智能。例如,当用户试图利用大数据分析时,他们可能希望将许多系统中的信息放到一个更大的数据库中,因此倾向于使用云服务。其他人则希望确保数据的高度隐私,处理负载是一个关键因素的情况下,可以通过使用基于本地网关的引擎到广泛使用云计算来解决这一问题。重要的是,有许多环境可以轻松原型化并部署到您选择的任意体系结构中。
- AF_AirSpeed
- 使用 ROHM Semiconductor 的 BD48K45G-TL 的参考设计
- 1、3W、1 个 LED 通用 LED 驱动器,用于 LED 照明
- AD8602ARMZ-REEL 高端运算放大器电流监视器的典型应用
- L7809C 分体式稳压器的典型应用 (± 15 V - 1 A)
- 使用 Analog Devices 的 LTC2619CGN-1 的参考设计
- #第七届立创电赛#N32电流表
- LDK130PU18R 1.8V、300 mA 低静态电流、极低噪声 LDO 的典型应用固定版电路
- USB-PD电源模块
- 使用 Microchip Technology 的 TC2950 的参考设计