(function () { var cookieSimulateGeoValue = ""; var cookieParts = document.cookie.split("OneTrustSimulateGeo="); if (cookieParts.length === 2) { cookieSimulateGeoValue = cookieParts.pop().split(';').shift(); if (cookieSimulateGeoValue !== "") { console.log("Simulating Geo " + cookieSimulateGeoValue); var geo = cookieSimulateGeoValue.split("|"); window.OneTrust = { geolocationResponse: { stateCode: geo[0], countryCode: geo[1], regionCode: geo[2] } }; } } })();

Enter Title

AI: 边缘 计算

AI的过去、现在和未来

赞助商:Micron

先了解一下AI的概况 - AI的过去、现在和未来的发展方向。然后与我们的合作伙伴Micron一起深入探讨 »

适用于MCU的TensorFlow Lite - 网络边缘的人工智能

作者:Michael Parks,贸泽电子专稿

赞助商:Intel, Xilinx

在技术发展的历史上,技术先独立发展再相互融合以改变世界的例子比比皆是。原子能和喷气式发动机的融合催生了核动力航母,改变了20世纪大部分战争的形态。计算机和射频通信的融合产生了智能手机,同时也重新定义了我们与技术以及彼此之间的互动方式。今天,嵌入式电子和人工智能 (AI) 的融合正日益成为下一个具有颠覆性的技术组合。接下来我们就看一下这种融合的发展演变。

欢迎来到网络边缘

人工智能的概念最早出现在古希腊人的著作中,但直到20世纪上半叶,才开始将其作为一种实际技术进行开发。从根本上来说,人工智能让数字技术仿佛人脑一样,能够与模拟世界高效而快速地互动沟通。为了让人工智能在现实世界获得实际应用,比如自动驾驶车辆,在处理多个动态输入时,电子设备和物理世界之间的交互必须接近瞬时完成。值得庆幸的是,随着机器学习算法的发展,嵌入式电子系统也在不断进步。 他们的联姻催生出了边缘计算的概念。

边缘计算将过去只有云端强大处理硬件才具备的处理能力,带给了位于物理-数字接口边缘的本地设备。再加上MCU和传感器等价格便宜而又性能强大的嵌入式组件的普及,最终在自动化领域掀起了一场规模、功能都史无前例的革命。

TensorFlow 网站入门指南的屏幕截图
图1:Google的“TensorFlow Lite for Microcontrolller”网站。(图片来源:Google)

TensorFlow Lite: 基于微型硬件的大型机器学习算法

TensorFlow是Google主导开发的一套开源软件库,使开发人员能够轻松地将复杂的数值计算算法和机器学习 (ML) 集成到他们的项目中(图1)。按照Google的说法,这些库为Python(所有平台上的Python 3.7+)和C语言提供稳定的应用程序编程接口(API)。此外,它们还提供不保证向后兼容C++、Go、Java和JavaScript的API。针对Apple公司的Swift语言,还提供了一个alpha版本。

TensorFlow为深度神经网络 (DNN) 的开发和利用提供了我们常说的端到端机器学习支持。 DNN是机器学习的一种应用类型,特别擅长模式识别以及对象检测与分类。TensorFlow库支持机器学习过程的两个阶段,即训练和推断。首先是深层神经网络的训练,这需要大量算力,通常由服务器级硬件和图形处理单元 (GPU) 提供。张量处理单元 (TPU) 则是最近开发的一种专用集成电路,用于支持这种训练。第二阶段是推断,即利用在现实世界中接受训练的DNN来回应新的输入:按照培训好的模型分析这些输入,并根据分析结果提出建议。这应该是嵌入式产品开发人员比较感兴趣的阶段。

适用于MCU的TensorFlow Lite(TensorFlow库的一个子集)专门用于在内存受限的设备上执行推断,大多数嵌入式系统应用中都存在这种设备。它不允许您训练新的网络, 那仍然需要更为高端的硬件。

实用为王:ML应用实例

在嵌入式系统上运行人工智能算法的目标,旨在比传统程序或面向对象的编程方法更高效地处理传感器收集的真实世界数据。也许在大家的意识中,最常见的使用案例是从传统汽车到具有自动辅助功能(如车道偏离警报和防撞系统)的汽车,再到无人驾驶汽车这个最终目标的发展历程。不过,深度学习还有其他一些不那么显眼的用例,虽然你不知道,但已经在使用了。智能手机中的语音识别或Amazon Alexa等虚拟助手均使用了深度学习算法。其他用例包括用于安防领域的面部检测和/或背景替换、去除绿幕、远程会议软件(如Zoom)等。

人工智能、神经网络和机器学习等术语有时候给人的影响就像科幻小说或行话。那么这些新兴技术的现实意义何在?

a wall with multiple screens on it showing different security camera feeds
使用AI, 可以自动监测安全源来识别某些人(图源:Monopoly919 - stock.adobe.com)

同时使用机器学习算法和联网设备(如物联网设备)带来的一个巨大优势就是,随着时间的推移,产品可以通过简单的OTA固件更新来集成新的或经过更好训练的模型。这意味着产品可以逐渐变得更加智能,并且不局限于制造时能够实现的功能,只要新的模型和固件不超出硬件的物理内存和处理能力即可。

显示 TensorFlow 模型的说明性图表
图2:将TensorFlow模型转换为可在MCU等内存受限设备上使用的版本。(图片来源:恩智浦)

工作流程

根据适用于MCU的TensorFlow Lite的说明文档,开发人员的工作流程可以分为五个关键步骤(图2), 具体步骤如下:

  1. 创建或获取一个TensorFlow模型:该模型必须足够小,以便在转换后适合目标设备,并且它只能使用支持的运算。如果要使用当前不支持的运算,可以提供自定义实现。
  2. 将模型转换为TensorFlow Lite FlatBuffer:使用TensorFlow Lite转换器将模型转换为标准TensorFlow Lite格式。您可能希望输出一个量化模型,因为这种模型的尺寸更小,执行效率更高。
  3. 将FlatBuffer转换为C位数组:模型保存在只读程序内存中,并以简单的C文件形式提供。可以使用标准工具将FlatBuffer转换为C位数组。
  4. 集成适用于MCU的TensorFlow Lite C++库:编写MCU代码来收集数据,使用C++库执行推断,然后使用结果。
  5. 部署到设备:编写程序并将其部署到您的设备。

选择与TensorFlow Lite库一起使用的兼容嵌入式平台时,开发人员应注意以下几点:

  1. 基于32位架构(如Arm Cortex-M处理器)和ESP32的系统。
  2. 它可以在内存仅有数十KB的系统上运行。
  3. 适用于MCU的TensorFlow Lite采用C++ 11编写。
  4. 适用于MCU的TensorFlow Lite可作为Arduino库提供。该框架还可以为其他开发环境(如Mbed)生成项目。
  5. 不需要操作系统支持、动态内存分配或任何C/C++标准库。

后续步骤

Google提供四个预先训练的模型作为示例,可用于在嵌入式平台上运行。只需稍做修改,就能在各种开发板上使用。这些示例包括:

下面的文章包含有循序渐进操作说明,教您如何让这些模型适配于不同的MCU平台,欢迎阅读。


照片/图像来源(按显示顺序)
pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com

《科技在你我之间》播客
AI

赞助商:Adventech, Microchip

完整版播客 (39:43分钟)

简介 (01:00分钟)

精编版播客 (10:04分钟)

加入我们与人Dr. Sriraam Natarajan博士的技术探讨。然后,可以从我们赞助的合作伙伴AdvantechMicrochip Technology了解更多。

播客主持人

Raymond Yin

贸泽电子, 技术内容总监

播客嘉宾

Dr. Sriraam Natarajan

Professor of Computer Science, University of Texas at Dallas

不安全世界里的边缘安全性

作者:M. Tim Jones,贸泽电子专稿

赞助商:NXP

随着嵌入式网络设备成本的下降,现在它们已经无处不在了。但是,这种快速扩散的一个隐藏成本是:这些设备可能缺乏安全性,因此可能被攻击。如果没有做好安全措施,设备可能会泄露视频、图像或音频等私人信息,或者成为僵尸网络的一部分,在全球范围造成严重破坏。

边缘计算概括

边缘计算是一种将集中式计算资源转移到更靠近数据源所在地的范式。它具有多个优势,包括:

  • 可断网工作
  • 响应速度更快
  • 各级计算需求之间的平衡得到了改善

如图1所示,云基础设施管理边缘设备。物联网 (IoT) 设备通过边缘设备(如边缘网关)连接到云,以尽量缩小全局通信范围。

说明性图表显示了一个框,左侧的云基础设施连接到中间的云内的互联网。 然后边缘设备连接到右侧的互联网,3 个物联网设备连接到边缘设备。
图1:边缘计算架构图显示了云基础设施与边缘联网设备之间的关系(图源:作者)

根据总部位于德国的统计数据库公司Statista估计,2018年,全球共有230亿台连接到物联网的设备,专家预计,到2025年,这一数字将增至750亿台。针对物联网设备的Mirai恶意软件在2016年中断了数百万人的互联网访问,说明这些设备需要更好的安全性。事实上,当攻击者发现某个特定设备的漏洞时,就可以将该漏洞大规模应用于其他相同设备。

随着越来越多的设备扩散到边缘,这些设备的风险也随之增加。联网设备是攻击者的共同目标,他们可以利用这些设备引起关注,或者更常见地扩展僵尸网络。下面,我们就来探讨一些保护边缘计算设备的方法。

保护设备

要探讨设备并理解它的漏洞是如何被利用的,我们先看一下什么叫做攻击面。设备的攻击面是指攻击者可以尝试利用其攻击设备或从设备中提取数据的所有点。攻击面可包括:

  • 与设备对接的网络端口
  • 串行端口
  • 用于升级设备的固件更新过程
  • 物理设备本身

攻击途径 (Attack Vector)

攻击面代表着设备存在的风险,是安全防御的重点。因此,保护设备就是一个理解设备可能存在的攻击途径并保护它们以减少攻击面的过程。

常见的攻击途径通常包括:

  • 接口
  • 协议
  • 服务

从图2我们可以看到,一些攻击途径来自于网络或本地接口、设备上运行的固件周围的各种面,甚至物理包本身。下面我们来探讨一些攻击途径以及如何保护它们。

一个说明性图表显示了一个标题为 Package / Enclosure 的盒子,里面有 4 个不同的盒子,每个盒子都有标签 Firmware、Interfaces、Processor 和 Local Storage。
图2:该图显示了一个简单边缘设备的潜在攻击途径。 (图源:作者)

通信

攻击接口或协议是一个多层次的问题。与云端通信本身存在安全性问题,包括数据安全性以及通过一个或多个协议(如HTTP)访问设备的安全性。

传输层安全性 (TLS) 应保护与设备的所有来回通信。这种类型的加密协议包括身份验证,以确保双方都清楚他们在与谁通信,以及所有数据的加密,以避免窃听攻击。这对于通过公共网络(如互联网)与远程云通信的边缘设备而言是理想选择。

考虑到数据在IP网络上的移动速度,为了高效管理身份验证和数据加密与解密,必须进行硬件加速。具有硬件加密加速功能的处理器包含为实现传输层安全性 (TLS) 而进行的片上加密加速,可确保与远程系统的安全通信。

使用Kerberos等协议进行身份验证可以确保客户机和服务器安全地标识自己。Kerberos依赖于对称密钥加密或公钥加密,这两种加密都可以使用包含加密引擎的处理器来加速。

协议端口

与网络接口一起使用的协议端口是联网设备上最普遍的攻击途径之一。这些端口使对设备的协议访问暴露于风险之中。例如,web接口通常通过端口80而暴露,因此向攻击者提供有关可攻击的漏洞类型的信息。

保护这些端口的最简单方法之一是使用防火墙。防火墙是设备上的应用程序,您可以将其配置为限制对端口的访问,从而保护端口。例如,防火墙可以规定禁止访问指定端口(预定义的受信任主机除外)。这样可以限制对端口的访问,有助于避免利用协议漏洞的常见攻击,如缓冲区溢出攻击。

固件更新

边缘设备正在变得越来越复杂,执行着比前几代更先进的功能,包括机器学习应用程序。伴随着这种复杂性,需要修复问题并发布设备更新。但是,固件更新过程会产生攻击途径。通过在边缘安全计划中对固件更新实施安全措施,可以减轻攻击者带来的风险。

代码签名是一种常用的安全方法,用于避免恶意代码进入设备。这需要使用加密散列函数对固件映像进行数字签名。加密散列函数可在固件更新过程之前在设备上使用,以确保代码是真实的,并且在签名后未被更改。

已签名的代码也可以在引导时使用,以确保本地存储设备中的固件没有被更改。这包括两种攻击途径,一是利用设备的更新过程,试图使用存在漏洞的图像更新设备,二是保护设备,使其不受强制塞入本地存储设备的图像的影响。

使用可信平台模块 (TPM) 也颇有好处。TPM是一个安全加密处理器,专门用于安全功能,通常包括哈希生成、密钥存储、哈希和加密加速以及其他多种功能。

物理安全措施

防篡改设计可以帮助检测设备是否已被物理打开或以某种方式受到损害。这还包括尽可能减少外部信号,以限制攻击者监视其控制的设备和发现漏洞的方式。攻击者可能试图监视总线信号以识别安全信息,并且在极端情况下,可能会对设备施加温度变化、更改时钟信号,甚至通过使用辐射来诱发错误。搞清楚潜在攻击者用来了解您的设备的方法将有助于打造更安全的产品。

从何处了解更多信息

随着当今网络战的不断发展,个人和国家可以有各种动机来寻求利用设备漏洞,边缘安全是一场漫长而艰难的战斗。但是,采取现代安全措施并在产品开发之初就考虑安全问题,将大大有助于确保设备的安全性。及早分析设备的攻击面将有助于确定把注意力集中在何处,以便开发更安全的设备。您可以在贸泽安全播客了解更多详情。  


照片/图像来源(按显示顺序)
Archreactor - shutterstock.com, Graf Vishenka - shutterstock.com, AndSus - stock.adobe.com

云端之外的分布式分析

赞助商:Intel

A close up of a man holding a laptop with data visualized coming out of the laptop

博客:云端之外的分布式分析

分析、人工智能和机器学习通常作为集中式功能在网络中实现,经常部署在云端。一个日益增长的趋势是将这些学习和推断功能分散到云端、边缘和端点计算机上。本文将探讨其中的一些权衡因素。

阅读全文 »

为何边缘设备是物联网成败的关键

作者:Stephen Evanczuk,贸泽电子专稿

Sponsor: Maxim, TE Connectivity

在物联网 (IoT) 中,边缘设备看起来像是补漏的产物,处在网络周边的物联网设备以及精尖的云端物联网软件应用之间的尴尬位置。不过,在物联网开发商满足新出现的物联网要求的过程中,边缘设备可以发挥重要作用,帮助解决大型物联网系统的众多潜在挑战

物联网边缘设备最基本的作用是连接物联网终端设备和远程资源,就好像电话交换机、工业级I/O控制器、Wi-Fi路由器分别连接电话、工厂自动化设备和家用电脑。通过支持不同的无线技术以及协议,边缘设备可以大幅简化物联网设备的设计要求。开发人员可以专注于物联网设备设计的应用,而不是在无线连接的限制下绞尽脑汁。不过,物联网的本质决定了需要边缘设备能够支持基本连接之外的更多功能。

物联网应用得益于成百上千的无线传感器带来的巨大数据流。部署和维护这些数量巨大的节点会带来物流上的巨大挑战,从而必然影响物联网的整体成功。边缘设备可以作为天然的解决方案,为大量设备首次接入物联网进行调试,提供了一个本地主机并解决这些设备的后续OTA更新。此外,边缘设备可以提供云端服务的本地版本,以便在云连接断开时维持运营。对于时间敏感型操作,边缘设备可以执行本地处理流程以支持短延迟反馈回路,后者可能无法容忍云接入带来的额外延迟。

与此同时,边缘设备有助于确保设备到云端的部署、维护以及持续运营始终安全。通过分隔传感器节点的子网,边缘设备可以天然提供一定程度的保护,而浅层物联网的拓扑反而没有足够的保护,导致黑客可以通过云端直接攻击大量终端设备。通过结合隔离功能和更高性能,边缘设备可以提供更为稳健的安全性,以消除绝大多数的致命攻击。

\

边缘设备还为开发人员更高效地满足新出现的要求提供了便利。例如,在监管机构和消费者需求的推动下,“隐私性”正成为一项关键事项。2018年生效的《欧盟数据保护通用条例》采取了极为严格的隐私规范,不仅针对欧盟企业,同样针对处理欧盟居民个人数据的任何机构。默认隐私保护等概念,以及数据最小化等隐私技术,会增加对物联网的要求,而其解决方案就在边缘设备。与此同时,随着数据科学家发现将详细数据推送到云端存在更多限制,物联网解决方案需要将数据密集型算法,例如匿名机器学习和高级模式匹配,下放到边缘设备。

显示从设备通过雾/边缘层到云的连接的图表
图1:展示雾层和边缘层之间的关系以及数据的流动(图源:elenabsl / shutterstock.com)

为满足多样化要求,边缘设备所基于的硬件基础借助应用处理器和微控制器,结合了主机平台和实时系统的功能(图 2)随着物联网智能从云端扩大到网络边缘,这些边缘设备可以提供支持安全、隐私、分析等领域精密算法所必需的更出色性能和专业化功能。

an illustrated chart showing the i.MX6UL from NXP
图 2:使用应用程序处理器和无线微控制器,物联网边缘设备结合了主机系统的性能以及I/O控制器的连接功能,以支持它们在物联网系统层级中的独特地位。(图源:恩智浦半导体

开发人员将可以看到边缘系统在从芯片到模块和主板,乃至软件专业化的整个物联网解决方案链中各个层面的重要性与日俱增。事实上,Arm已经将边缘设备定位为满足物联网新兴要求的关键要素。随着物联网应用的发展,边缘设备将发挥重要作用以满足有效物联网解决方案更为复杂的要求。 


照片/图像来源(按显示顺序)
Liu zishana - shutterstock.com, Nadya_C - stock.adobe.com

网络 边缘

网络 边缘

走进 边缘计算

随着技术的不断发展,一些分析和处理工作正在移出云端以获得实时结果,让整个产业格局发生了改变。

图表显示连接设备在 2015 年开始达到 140 亿,预计到 2025 年将达到 350 亿
世界地图的插图,上面有云和边缘图标,然后是从它们到地图上不同大陆的线条

何谓边缘?

边缘计算将数据的处理移至更接近数据生成点的位置 - 又称边缘,即设备本身。

A illustration showing various types of applications including a laptop, car and server and the types of sensor measurements including temperature, gyroscopic, fuel, pressure and magnetism
An illustration of the side of a head with circuitry as the brain
AI 要素

边缘AI位于本地,在本地处理数据并实时做出决定,其工具以软件即服务 (Saas) 的形式推出。

允许更快速的事件分析和检测
Steamlines 数据存储和管理
通过分析创建更好的独立流程
自动化核心工作流程
为何 如此转移?
六边形内的复选标记

依赖性

不依赖连接

六边形内的美元符号

成本

减少流量,降低成本

六边形内的锁定锁舌

安全性

敏感信息放在本地

六边形内部的车速表

速度

更低的延时和高吞吐量

应用 网络边缘
一个六边形,每个角都有以下文字: 数字孪生, 异常 ?检测, 缺陷检测, 自动驾驶汽车, 面部识别, 预测性维护
Xilinx
网络边缘

XILINX 加速了嵌入式视觉应用的开发?,以实现高度区分、?极快响应和?即时适应的系统。

一只眼睛的插图,上面有以下文字: AR/VR, 表情分析, 面部识别, 目标检测/识别, 医学影像分析, 图像识别、分类, 安防摄像头
XILINX KRIA KV260 VISION AI STARTER KIT

XILINX KRIA™ KV260 VISION AI入门套件

最佳AI训练

在低延时下高达3倍的吞吐量

随时可用于应用开发

更多AI

AI lettering on multi-colored background

人工智能资源

访问贸泽的其他人工智能技术内容,包括文章、视频、电子书等。

点击查看 »

感谢供应商合作伙伴的赞助与支持,为我们的客户呈献了如此精彩的内容。