人工智能(AI)可以使工业物联网(IoT)的嵌入式系统具有更高的响应能力和可靠性,并且该技术已用于监视机械状况并确定是否将要发生故障。以更具成本效益的方式安排维护工作。在嵌入式系统中部署AI技术时,有必要考虑在哪里处理大多数数据。 AI算法所需的计算性能差异很大,并且对处理该算法所需的内容以及在何处进行处理有很大的影响。系统设计人员可以使用三种清晰的方法来开发基于嵌入式AI的系统,包括使用基于云的AI服务,使用内置的AI部署系统或创建自己的算法(通常基于开源软件)。深度神经网络(DNN)体系结构是算法的一个示例,尤其是在训练阶段,该算法的计算量非常大。在训练阶段,每次更新模型时都需要数十亿的浮点计算。由于对DNN的强烈需求,经典方法是将数据发送到云以进行远程处理。工业控制中具有AI功能的设备可以利用这种远程处理的优势,其中许多都是以开源形式提供的。 Google的TensorFlow,它为具有创建AI算法经验的工程师和刚刚起步的工程师提供了多种算法。 KerasAPI构成TensorFlow框架的一部分,使探索机器学习技术和运行应用程序变得容易。但是,基于云的处理的缺点在于所需的通信带宽。可靠的Internet连接对于维护服务至关重要,并且值得注意的是,云AI的许多消费者应用程序都依赖宽带连接。工厂中的机床可能无法访问实时更新远程AI模型所需的数据速率。通过在本地进行更多处理,有可能减少带宽需求,有时会大大降低。在监视环境变量的应用程序中,许多变量不会长时间更改。对于模型,重要的是高于或低于某些阈值的变化。即使传感器可能需要以毫秒为单位分析传感器的输入,但云服务器的更新速率可能约为每秒数次更新,甚至更低。对于更复杂的数据形式(例如音频或视频),Building AI软件将需要更大程度的预处理。在将输出传递到AI模型之前执行图像处理不仅节省了通信带宽,而且还有助于提高系统的整体性能。例如,在压缩之前执行降噪通常会提高压缩算法的效率。这与对高频信号敏感的有损压缩技术有关。边缘检测可与图像分割一起使用,从而减少了在训练和推理期间需要输入到模型的无关数据的数量。尽管图像处理是一个复杂的领域,但是在许多情况下,开发人员可以在本地处理算法,从而利用易于使用的库并消除对高带宽Internet连接的需求。一个简单的示例是开源计算机视觉库OpenC ++ V,该库用于预处理AI模型的数据。开发人员可以使用C ++,Java,Python和Matlab代码进行调用以实现高性能,并且还可以在将算法移植到嵌入式目标之前支持简单的原型制作。通过使用OpenCV并在本地处理数据,集成商还消除了与在云中传输和存储数据相关的安全风险。当数据传输到云中时,最终用户会担心数据的隐私和安全性。状态监视和工业检查是关键过程,需要尽可能完整的数据分析。尽管云运营商已采取措施防止数据遭到破坏,但如果成功将其黑客化,他们将在每个设备中保留尽可能多的数据。除了支持图像处理外,最新版本的OpenCV还直接支持由许多流行框架(包括Caffe,PyTorch和Tensorflow)构建的机器学习模型。对于移植到嵌入式设备的任何机器学习模型,性能都是首要考虑因素。由于训练数据具有非常高的性能要求,因此两个选项是在本地或云服务器上执行此操作(取决于隐私问题),然后在设备本身上执行此操作(当训练模型提供实时数据时)。如果具有内置AI的Edge设备的每个节点的吞吐量都较低,则一个网关可以处理多个传感器节点的任务。由Octonion开发的Brainium平台为嵌入式系统提供了完整的开发框架。它的沙发