安创加速器 · 6月28日

安创芯视野No.29回顾丨下一代边缘计算中的软件定义摄像机

第二十九期回顾

《安创“芯”视野》第29期,邀请到Arm中国视觉方向市场经理李黎明,他从安全性、机器学习、云原生和软件可移植性四个方面为我们分析了Arm在智能摄像机上的解决方案。

以下是分享内容整理

大家好,我是Arm的李黎明,主要负责Arm的摄像机市场工作。今天给大家带来的演讲题目是下一代边缘计算中的软件定义摄像机。

截屏2021-06-24 上午10.35.45.png

软件定义如今成了一种趋势。在当今世界,有许多技术被“软件定义”。技术的进步让软件定义成为可能。在这个技术堆栈的底部,我们有操作系统、虚拟化层、容器,包括容器的编排软件,如k8s, k3s——这些技术的发展为软件定义的数据中心铺平了道路。随之而来的也包括软件定义的网络和软件定义的存储。可以得出结论,现在软件定义的趋势正在转移到嵌入式边缘端。在汽车、工业系统领域,已经看到了不同公司的软件定义计划,预计在摄像机领域也会出现同样的趋势。

三个因素促使摄像机发生巨大变化

许多计算机视觉和摄像机产品正在发生巨大的变化,主要是由3个关键趋势来支撑的:

①第一个趋势是向边缘计算的转变
几年前,摄像头还只是作为视频图像的记录设备,未经分析的原始视频内容将会直接传到服务器,智能分析一般是在服务器或智能网关上做的。然而,目前正在发生一个巨大的变化,随着智能摄像机的出现,计算正在走向边缘端。许多方面,如目标检测,人脸识别等功能特性,正在越来越多的出现在摄像机本身。

②第二个趋势是安全
必须确保所有摄像机的部署都是安全的,因为它们记录的视频数据是敏感的和有价值的。

③第三个趋势是越来越多的智能摄像机正在走向云原生
通过运行可以随时部署的应用程序,云原生能力为摄像机提供了巨大的潜力。如果我们现在买一个摄像机,我们可以看到越来越多的在线升级,从而延长摄像机本身的生命周期。

边缘计算
截屏2021-06-24 下午1.14.53.png

目前的摄像头具有基本的人工智能能力,可以执行许多功能,如定位和跟踪——识别人和其他物体的能力。类似地,相机也有能力自动绘制边界,进行图像分割。譬如,将摄像头的智能能力与出入口控制应用结合起来,将会实现一套全新的应用,比如能够理解人的姿态和意图,并与安全管理系统进行交互联动。

我们已经看到了通过将计算转移到边缘而可能实现的各种应用案例。为了有效地实现这一点,确保有通用的方法来让机器学习无缝地在各种异构性的设备上工作是非常重要的。这就是为什么Arm一直努力的原因,以便任何开发者,在任何地方,基于Arm的硬件都可以:选择任何经过主流AI框架,比如TensorFlow或PyTorch或其他ML框架训练过的网络,将其编译成可以在Arm所有产品上运行的二进制文件;根据算法中不同网络的计算需求,选用适当的硬件来计算,可以是Arm Cortex-A或Cortex-M cpu, Mali gpu或NPU。

同时,Arm AI平台还提供了经过人工优化过的计算库Arm Computer Library和CMSIS-NN。这里提供了一个优化的方法,来支持回退机制——例如:从NPU可以切回到GPU和CPU来计算。

安全性

智能相机正越来越普遍,它们处理着大量的重要数据。如果一个黑客可以控制一个摄像机,它就真的可以造成巨大的破坏。譬如,他可以窃取有价值的AI模型、盗取敏感的视频数据或者通过入侵智能相机来操纵整个系统。因此,安全是非常重要的,以确保智能相机可以抵御硬件或软件攻击。

世界各地的摄像头都部署了不同级别的安全措施。但还是有必要继续往前推进,确保所有的摄像头都遵循关键的安全标准,主要应重点关注以下几个方面:

①首先是信任根Root of Trust,它包含隐式可信功能供系统的其余部分或设备使用,以确保安全
②第二个是数据安全——这也很关键,因为没有人想要他们的数据被窃听,篡改等
③端到端安全。以视频应用的数据流为例,很清楚的是,从图像传感器的数据到本地网关或本地存储或云存储,这些视频数据甚至可以用来训练人工智能模型。所以确保端到端的数据安全是至关重要的
④然后是数据隐私——摄像机连续记录着视频数据,重要的是要确保所有的个人数据在被各种应用使用前经过脱敏处理
⑤安全启动,这也与信任根root of trust相关,在智能摄像机的使用过程中,我们可能会不时接收固件更新,以修复错误或安全漏洞——我们需要确保安全地更新固件,确保SoC芯片可以在没有任何恶意软件的干扰下安全的启动
⑥安全密钥管理——最后但不是全部,所有这些只有在所有的密钥管理都是安全的情况下才可能实现。

为了达到这些要求,Arm提出了一个安全标准,称为“PARSEC” Platform Abstraction for Security,它是为了实现平台安全级别的一个抽象层。这样上层的软件层只需要跟“PARSEC”交互,而不用关心较底层的安全层实现,这个底层的安全层实现可以是一个本地硬件安全模块HSM(Hardware security module)或远程硬件安全模块(HSM)或集成的固件可信平台模块(firmware trusted platform module) FTPM或分立的可信平台模块TPM。

同时,Arm也一直致力于平台安全架构(PSA)和认证过程。针对具有不同安全专业水平的伙伴,PSA提供了简化安全性的配方(体系结构文档)和组件(开放源代码、威胁模型、开发板和模型)。通过这种方法,Arm正在整个价值链中与不同的合作伙伴合作,为所有未来的设计提供安全保障。

云原生
截屏2021-06-24 下午1.48.48.png

通过在设计下一代的摄像机产品时考虑云原生功能,大家能够将摄像机和视觉产品扩展到前所未有的水平。以上图右侧部分为例,如果所有的应用程序都使用带有容器的面向服务的体系架构部署,那么设备就可以不断更新。这种架构有一个独特的优势,是可以通过应用商店来按需部署服务,这可以实现过去人们可能没有预想到的新应用场景。譬如,我们在购买摄像机一年后部署一个可以进行车牌识别应用程序。

与此同时,该架构的另一个关键优势是能够基于与摄像机安装场景相关的数据持续在线进行机器学习模型更新。即,使用它采集的数据来训练人工智能模型。训练过程中,模型就会与特定的应用场景相关,从而提高了模型在这个场景中的精度。在这个体系结构中受益的第三个应用场景是推理的并发执行。有了这种开发模式,摄像机可以真正成为软件定义的。能够实现上述的这些设想,这都要归功于容器和云原生的开发思维。

之前介绍了Arm在安全、机器学习、云原生应用开发等重要趋势中做的标准化努力,这些实质上都是软件定义相机的关键。另一个促成软件定义相机大规模落地的重要因素是芯片和平台层面的共同标准。Arm正与许多生态系统合作伙伴(oem、odm、芯片厂商)合作,推动标准方法,以标准解决方案取代定制解决方案,并成为未来部署摄像机的首选平台,从而实现规模化部署。

截屏2021-06-24 下午2.36.28.png

我们来看一下自定义的解决方案,很明显每个芯片供应商都会提供他们自己的FW/操作系统OS的垂直软件栈,一个SDK和特定的应用程序。我们知道同时支持多种芯片平台是多么困难,这需要消耗大量的研发资源和时间。但是,Arm公司采用了通用的规范,这样许多芯片供应商和合作伙伴就可以提供符合这些标准的芯片和固件,这样开发者就可以轻松地在这个平台上运行从web上获得的通用操作系统发行版。一旦实现了这一点,应用程序开发人员就可以轻松地在通用操作系统上部署他们的应用程序,而不必担心底层硬件。这就是由Arm推动的被称为Arm System Ready的计划。

所以现在,如果所有人都遵循这些标准,包括平台、安全、机器学习和云原生软件开发,那么很明显,软件所支持的功能就是从硬件中抽象出来的。

摄像头现在广泛依赖于硬件抽象层,并在同一硬件上提供多种功能:它使用云原生面向服务的体系结构Service-Oriented Architecture (SOA) 模型,实现某种功能特性,交付的是自包含的软件单元;应用和算法供应商可以利用一个统一系统来开发可用的服务,并将它们发布到现场的摄像机上,并对它们进行集中管理;摄像机也易于集成到云服务提供商的基础设施中;软件和机器学习算法也可以方便的在云端和边缘端部署。

因此,这些智能摄像机可以被认为是“软件定义的”,因为它们的功能是由它们运行的软件定义的,而软件可以随着时间的推移进行改变升级。

我们已经看到了不同的标准是如何结合在一起交付一个软件定义摄像机的。现在我们看看当我们把这些放在一起的时候会是什么样子。

截屏2021-06-24 下午4.13.37.png
这个软件堆栈侧重于之前提到的关键元素——基于标准的平台硬件、基于标准的安全性、云原生应用程序和机器学习。软件栈的最底层采用基于System Ready标准的UEFI, U-Boot和Trusted Firmware设计的平台。然后在此基础上,选择一个能够下载并运行的标准linux发行版。然后在上面的一层,用容器编排层来运行容器化的应用程序,这就是为什么我们看到有k3S。再上面一层是机器学习和计算机视觉库。Arm已经通过Arm Computer Library提供支持机器学习的加速库。但同时我们也意识到,许多公司想使用自己的ML解决方案或第三ML的解决方案,这也是我们这里使用TVM作为机器学习的接口的原因。

因此,客户可以使用标准的ML框架(如PyTorch、Tensorflow等)开发他们的ML应用程序,我们会将其转换为TVM,从而它将自动使用正确的可用硬件单元。同样,在计算机视觉方面,我们知道可能会使用内部或第三方ISP。我们希望支持开放标准,如OpenCV/V4L2。现在软件栈再向上移动一层,我们看到的是安全性——Parsec是我们一直用来作为许多可能存在的安全实现(包括TPM可信平台模块(trusted platform module)或内部的安全岛)的抽象层。然后在顶层,我们最终想提供在云服务上运行摄像头和视觉软件应用程序的能力。

Arm还提供了所有必要的IP模块,如果一个芯片公司希望基于特定的需求从头开始构建SoC芯片。例如,对于超低端电池供电的摄像机产品,我们建议使用基于Cortex-M的CPU。类似地,如果我们继续往上看,Cortex-A35为构建低端相机提供了一个很好的CPU选择。再往上,我们可以使用Cortex-A55和高效的Mali GPU,在最高的性能水平上,我们建议使用我们的高性能CPU, GPU和NPU,以实现特定的产品要求。与此同时,正如我们提到的,我们还提供Mali-ISP图像信号处理器和Cryptocell以满足图像处理和安全要求。

综上所述,计算机视觉和摄像机产品的转变和发展是由3个关键趋势支撑的: 边缘计算,摄像机安全和云原生开发思维。我们必须采用一种基于标准的方法来加快“软件定义摄像机”的实现,从而加快下一代智能视觉产品的落地。Arm正与许多生态系统合作伙伴(oem、odm、芯片公司)合作,推动采用标准方法,以基于标准的解决方案替代定制解决方案,从而实现规模化部署。

2 阅读 475
推荐阅读
0 条评论
关注数
1379
内容数
23
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息