出品 | 智东西公开课
讲师 | 孟莹 云图睿视 CEO、创始人
提醒 | 关注智东西公开课公众号,并回复关键词 嵌入式06,即可获取课件。
导读:
7月10日,云图睿视CEO孟莹在智东西公开课进行了嵌入式AI合辑第六讲的直播讲解,主题为《边缘计算如何实现场景定义AI应用落地》。
在本次讲解中,孟莹老师从边缘计算的基本概况、不同边缘计算场景的定义、不同边缘计算场景实现AI应用落地的挑战等方面,结合云图睿视边缘AI计算盒及实际应用案例进行了系统讲解。
本文为此次课程主讲环节的图文整理:
正文:
大家好,我是云图睿视CEO孟莹,很高兴在智东西公开课和大家一起分享今天的课题。我今天分享的主题为《边缘计算如何实现场景定义AI应用落地》,主要分为以下5个部分:
1、边缘计算vs云计算
2、不同边缘计算场景实现AI应用落地的挑战
3、面向边缘计算的AI Box详解
4、边缘计算典型场景下的应用案例
5、更远的未来:中心化和去中心化
1、边缘计算vs云计算
在过去十年中,云计算提到的比较多,终端因为数据量很小,所以大量的计算资源集中在云端,所以将这些少量的数据传到云端,可以合理的节约和分摊计算成本。随着 IoT的发展,中国联网的设备数量越来越多,从中国物联网连接的规模预测来看,2019年-2023年,联网设备数量将从25.9亿增长到74.8亿,这其中绝大部分都是摄像头,这么多摄像头决定了整个互联网上传输的数据,从2019年的2.7个ZB增长到2023年的21.2ZB,海量的数据传输到互联网上,会给现在的主干网络、传输带宽、存储、计算资源都带来非常大的压力。
我们在审视这些数据时,会发现绝大部分数据是视频数据。从2019年的数据来看,每天新增视频数据达到了2500PB。截止到2021年,全网82%的数据都是视频数据,因为摄像头数量的增加和像素的提高,会为互联网带来大量的视频数据,而这些视频中有多少是有效数据呢?因为摄像头的视频数据是由一系列图片堆叠形成的,一秒钟会产生25张图片,即使通过插针或H265的编码优化,每秒钟也会产生15张以上的图片,这些图片每一帧的间隔非常短,所以导致中间有非常多的重复数据,而如果在没有观测对象的情况下,所有的数据都会变成无效数据。
例如用一个摄像头对着一面白色的墙,每天会产生42.2G的数据,但是这些数据有用吗?没有用。所以如何在海量数据生成时提取出一些有用数据,就变成我们项目落地的基石。
讲到了视频处理,一定要讲到 AI的计算。在过去5年中,随着深度学习的发展,其实人脸识别、车牌识别,还有其他的一些AI技术,已经变得越来越能够被人们接受。所以结合数据的考虑和行业技术的发展,我们去做了边缘计算。
首先从云计算讲起,在讲到云计算时,我们会发现大量的数据,从数据产生节点开始,通过局域网、骨干网传输到数据中心,数据中心需要接收、存储,并且需要根据业务要求来实时的完成处理。当处理完之后,有一些结果还需要返回到和传感器联动的一些控制设备上。比如红绿灯、汽车的控制单元、机械臂等架构上,它随之会出现几个问题,第一个是带宽要求非常高;第二个是会有大量的冗余数据的存在;第三个是当所有的数据经过云处理传输到本地后,一定存在着延迟;最后一个是它的安全性差。除此以外,因为很多的设备工作在防火墙后面,云端还需要穿透防火墙去控制传感器侧的数据,怎么样去解决这些问题呢?就需要我们今天要谈到的边缘计算。
边缘计算是把一部分的云端算力迁移到边缘侧,边缘侧是在众多传感器的后面,边缘侧的计算单元会把这些数据中大量的无效数据,重复数据进行过滤,然后将过滤后的数据通过骨干网传回云端数据中心。如果单纯从视频数据来看,能够过滤掉90%以上的视频数据,这样的好处毋庸置疑,可以让云端在有限的承载这部分有价值的数据,而且处理的效率会变得更高。其次,会将一些控制和基本反馈,放置在边缘计算的终端,这样能够获取更快的响应速度。最后当边缘侧过滤掉数据之后,带来的是云端的计算资源、存储资源和网络带宽资源的节约,项目实际核算下来,能减少47%的投资成本。
刚刚提到了数据节约、敏捷响应和投资减少。除此以外,因为把所有的有效数据都提取出来,但这些提取出来的数据并不带有业务标签,它只是一个数据的过滤,所以这部分数据传到云端并不会影响安全。我的操作也是在局域网内,所以操作会变得更安全,边缘计算会带来以下好处:数据的减少、响应速度的提高、成本的节约和安全性的提高。
2、不同边缘计算场景实现AI应用落地的挑战
在过去5年大家都能够看到AI在快速的落地,AI落地也是AI公司常挂在嘴边上的问题,最大的问题就是落不了地,为什么呢?从一个单纯的技术或AI从业人员视角上来看,AI需要做什么呢?第一是设计算法,然后去发一个paper;第二是需要积攒很多的数据,用来训练算法,让它的精度变得更高,然后去冲击各种各样的榜单。
但是往往没有想过这些精度是否符合用户的需求,而用户并不关心精度是不是非常的高,用户看重的只有三个部分,第一,能解决什么问题?第二,我要为这部分的AI投入多少成本?第三,我投入的成本,能够得到多少的回报,这个回报可能是有形的回报,也可能是无形的回报,包括能够赚到更多的钱,节约更多的人力,提高更多的效率和安全性,这都是客户眼中的回报。所以结合AI从业人员和客户的业务专家,总结出来 AI落地的三个难题:
第一,AI可能不仅仅需要感知视觉,可能还需要去感知听觉、嗅觉、触觉,这涉及到多传感器的接入;
第二,涉及到了算法的动态调整,因为客户的需求是千奇百怪的,即使在同一个场景下面针对同一个客户,它的需求也会变。今天的听众更多的可能是 IT的从业人员,所以一定会知道跟客户沟通需求有多难,既然需求不停的在变,所以我们要建设一个动态的算法加载机制,能够满足用户复杂的AI的需求;
第三,需要定义场景,为什么要定义场景?因为客户用到的AI一定是在一个特定的场景下去使用的,在这些场景里,可能AI需要在白天工作,也可能需要在晚上工作,也可能需要工作在一定的范围之内,或者是需要传感器和传感器之间AI的分析结果来做的一个捆绑。所以需要用场景定义AI的综合能力,让这些综合能力满足用户的需求,也变得更智能。
举一个简单的例子,上图展示的是一个非常典型的街边场景。这个场景上有什么东西?有街道、车、人、店铺、公共设施、井盖、桌椅,还有各种各样的广告和招牌。在这个场景上,我们作为一个人,人可以感知所有的东西,而我们做的AI不仅仅需要感知车辆,对于这么多的感知对象,我们能做什么?我们能够感知人体、招牌,还有路面上的一些摆放,我们能够感知井盖和一些城市的公共设施,最后能感知车辆。
大家可能会说这不是一个简单的视觉检测和图像分割技术吗?远远不止。由于 AI是缺乏逻辑的,对于一个静态的图片,需要感知它存在的位置,但是在生活中我们有时间线、有对象的交互性,这些时间线、空间发生的位置变化,结合场景的范围,结合对象和对象之间的互动,需要非常多的逻辑计算去帮助理解。例如车开走,人打开车门,都是一个逻辑性的计算单元,所以我们不仅仅是需要算法,也需要去处理这些复杂的逻辑能力。
综上所述,我们需要一套算法,这里面可能包含非常多的东西,有人脸的、人体的、机动车的、非机动车的、城市的、应急的、动物的、普通物体的,甚至还有一些可能在有些城市存在,有些城市没有的一些对象,例如像泰国的嘟嘟车,在中国就没有,在这些场景上,他们甚至是需要嘟嘟车的检测算法。除此以外,也需要对检测算法进行一个附加的属性,例如车牌、停放的行为等,经过这种多态的算法,我们会将视频中关键的信息提取出来,形成一个节省的数据组传回到后台,里面包括时间坐标、数量、行为表现和特征,所有的东西都是非业务相关的,如果要做业务怎么办?比如做人脸识别,就需要从数据包中抽取出人脸的图片,送到后台系统进行比对,从而获取他的业务逻辑。
除了视觉以外,我们需要更多的传感器去感知场景,我们需要听觉,感觉、触觉和其他的一些传感器。除了传感器的接入以外,我们也需要视觉的AI能力和听觉的AI能力,能够真正的让机器去了解场景,不仅仅实现了万物互联,同时也让机器帮助人类或帮助后端的使用者感知场景,提取出业务需要感知的东西。
结合上面所讲,我们需要做一个AI非逻辑性的东西,也需要有逻辑性的处理单元去共同处理这些逻辑性的业务检测,所以这就是我们做产品初衷的选型依据。我们选择了英特尔的CPU和VPU来共同封装了我们的AI Box。AI Box有两个版本,一种是基于Apollo的AI Box,一种是基于WhiskeyLake的AI Box,WhiskeyLake提供更高的算力和AI分析能力。有了硬件之后,我们就要做一个框架,这个框架不仅仅是基于开放的ubuntu的系统,我们要在系统上面去做一个Framework,满足各种各样算法的动态叠加。这里也选择了英特尔,因为英特尔提供了一个叫OpenVINO的框架,这个框架可以把下层所有的硬件做到透明化,Framework只需通过OpenVINO调用下面的硬件资源就可以了。
在Framework之上,有 Open Model Zoo的一些预训练模型可以来直接使用,我们的AI Box也预置了22种,未来会预置84种检测对象,这样的算法组合能够加快项目落地。
除此以外,我们也允许第三方的合作伙伴,将他的算法转化到我们平台上,通过这样软硬件一体的综合解决方案,加上算法的叠加,我们可以应用到非常多的场景,例如现在已经用到了智慧城市、智慧交通、智慧零售、家庭、工业等许多的场景。下面将详细的介绍下AI Box。
3、面向边缘计算的AI Box详解
首先 AI Box是一个非常小的终端,有多小呢?它比你的手机还小,我们的是设备小于iPhone X的,厚度相当于三个iPhone X,尺寸为124×62×32毫米,在这样非常小的体积之内,我们塞入了一个4核1.1G、最高2.2G的CPU,4G的内存,32G的Flash,以及最多两颗AI加速芯片,可以提供最高8T的AI加速算力。
除此以外,也支持非常多的外接设备,因为要接入很多的外接传感器,它有两个USB 3.0接口,两个LAN接口,这两个LAN还可以做bypass,一个HDMI的接口用来做调试,一个SD卡的接口用来扩充内部的容量。同时支持串口的连接,现在选用的串口连接是一个RS232的串口,除此以外支持内置更换通讯模组,通过更换通讯模组,我们可以使用4G、5G无线网络,也可以使用 GPS,随着未来的发展,都可以通过更换通讯模组来完成更多的网络适应。最后就是我们的开放性,我们系统采用的是ubuntu10.16和10.18两个版本的操作系统,采用了256位的证书加密,对于开发者来说,因为借助了英特尔的 OpenVINO和英特尔的框架,一次开发的程序和算法,以后不管是迭代到英特尔的哪一个版本,都不需要再开发,进行永久性的适配。我们的软件平台也支持主流框架训练的算法,包括TensorFlow、Caffe、Mxnet等,现在也在逐步支持Pytorch。
有了硬件之后,如上面所讲提供视频的预内置、视频预处理的算法、内置基础的跟踪算法、内置检测算法、内置评估体系算法和属性描述,这22类是可以动态扩充的。我们把这22类算法打包成一个算法库,这个算法库占用了 AI Box 4个Shift通道,最大支持32个Shift通道,也就是还可以将另外的7种算法迁移到 AI Box平台上,通过这样的例子能够更快的去完成部署。
怎么样部署第三方的算法呢?这里面我们和英特尔共同开发了非常多的工具,借助OpenVINO Deployment Toolkit和一些转换工具,只要是主流框架做出来的算法,通过这些工具都可以转换成中间表达层的文件,这个表达层文件是以IR为后缀名结束的,我们的AI Box可以直接调用这些IR文件完成算法调用。在调试的时候,因为 OpenVINO支持CPU,也支持 VPU,所以可以在最典型的电脑上开发和调试。
部署时,只要把这些东西打包放进AI Box里就可以用了,它不仅可以放在边缘,也可以放在x86的服务器。整体的工作架构如上图所示, AI Box通过一个交换机或路由器去连接,最快获取到网络摄像机的视频数据,进行综合分析之后,将结构化的数据通过Proxy传回到云端。相比原来的 Video Feeds,结构化的数据会变得非常少。还有当数据已经进行结构化后,云端不再需要GPU去做一些数据结构化或运算,直接使用这些结构化的数据就可以完成整个大数据应用平台的封装。因为 AI Box工作在最端侧,最靠近摄像头的地方也可能加其他的一些控制设备,所以 AI Box可以联动控制很多设备,目前已经做的设备只有两类,一类是红绿灯,一类是机械臂,因为它是一个x86的架构,所以它的通用性和兼容性非常好,只要经过简单的开发,就可以完成更多设备的对接。
除此以外,像声音、温湿度传感器,都可以通过串口或USB进行连接,这些数据会共同的传到AI Box里面,进行边缘的综合的分析。
4、边缘计算典型场景下的应用案例
边缘计算的场景无处不在,在智慧城市里会涉及到公共安全监控、城管、公交、应急,商业应用会涉及到用户的行为分析,在工业场景里会涉及到一些检测类需求,比如缺陷检测、资产检测等,甚至工业场景里也可以和机械设备完成联动,智慧仓储、智慧交通,消费市场机器人等场景里都可以用。
下面举一个最简单的例子,为什么要做边缘计算?一个非常经典的边缘计算案例是自动驾驶,自动驾驶的边缘计算终端需要实时的分析路面上的各种各样的数据,将这些数据分析的结果和车上的设备联动。如果所有的东西都发生在云计算的架构下面,我想问下各位,即使有了8G,你敢把自己的生命交给云端的机房去运算吗?至少我不敢。也正因如此,所以边缘计算才有它存在的合理性。
第一个做边缘计算的案例是森林防火,为什么要做森林防火?因为摄像头里看到的365天,22个小时,可能森林里都没有火,所以我看这些数据是完全浪费的,这些数据既不应该传输,也不应该处理。而只有当起火时,需要去观测这些火,那通过AI Box,可以将这样的火焰感知变得最快,能够在秒级内做到火焰的感知。
下面给大家看一个实际的视频,这个视频是将AI Box挂在无人机上,通过前端的视觉感知,实时的感知到烟雾和火焰,因为有火一定会有烟,而有烟不一定会有火。那首先会检测烟,然后再根据烟去检测起火点。在检测到起火点之后,会根据计算返回给后台一张照片和相应的坐标。根据这样的GPS坐标,后台工作人员可以快速的二次甄别这个地方是不是真的起火。如果真的起火,有了地点的GPS,就可以快速的规划灭火路径,从而避免造成损失。
因为有了森林防火,所以我们将很多的摄像头架到各个森林里的高处,除了检测森林防火,还能用这些摄像头来干一些其他的事吗?
随着摄像头的部署完成之后,我们为林业部门提供了动物的检测算法。这些动物的检测算法,现在只做了两个动物,一个是熊猫,一个是雪豹。放在卧龙的自然保护区里,当它检测到这些动物出现之后,会把动物的相应照片传到后台,同时结合位置信息,林业的保护人员可以快速的定位到这些动物,从而获取更多的动物轨迹数据。
另外一个行业是农牧。为什么要做农牧呢?更多的是看到了用户的需求,用户的需求可能有很多,但是有的需求是真的,有的需求是假的,这也是AI落地的一个难点。我相信大家都听过智慧农牧,也知道京东、阿里都在做智慧农牧,最早的智慧农牧就是猪脸识别,猪脸识别有什么意义吗?
经过我们真正去考察养猪的环境之后,发现养猪业主只关心一件事情,就是钱,钱从哪来?钱是卖猪得来的。猪好不好?猪长得重不重,才是这些业主最关心的。因为经过去年非洲猪瘟事件之后,人不能进到猪场里面,所以猪的统计就会变得越来越困难。而通过边缘计算,我们将猪的检测和视觉聚众做到边缘侧的小盒子里,通过连接已有的摄像头,可以实时的给出这些数据,从而提升盘点效率,能够提升多少呢?根据原来的情况,盘点一次猪大概需要10天左右,因为不是所有的摄像头后都连接这个设备,我们会轮巡的抓视频,然后进行分析,将结果反馈。经过我们的处理,可以在3个小时到4个小时之内完成原来需要10天才能完成的工作,提高了30倍的效率。
除了需求和算法的动态匹配,刚才提到算法很多时候需要进行迭代。有时需求决定了不同的算法,今年疫情期间,我们得到了卫建委的一个任务,要求统计医院门口出现了多少人,每一刻有多少人出现。这件事情非常的简单,原来的摄像头厂家都能做,用什么做?用人脸识别来做。但在这一次疫情期间,大家都戴上口罩发现检测不到人脸,为了得到一手的数据,卫建委的领导、老师不得不去看这些视频,看下人多不多,多就需要调配人员。
我们将已经安装的设备算法,从人脸算法切换到人体算法,在10分钟之内完成切换,然后同时达到预期的效果。这就是在同一个场景下,不同的业务需求导致算法切换,下面是一个实际场景的录像,可以看到在正常情况下是检测不到人脸的,所以结合人体的特征来完成这个工作。
除此以外,边缘计算还有一个没有办法统计的性能的提高就是能耗。按照我们的统计和计算,使用边缘计算会大大的降低能耗的投入。云计算是边缘计算的多少倍?15.7倍。按照192路摄像头视频流的全年实时处理来算,节约出来的电力可以供一辆特斯拉行驶49,000公里。
5、更远的未来:中心化和去中心化
由于技术永远是在更新的,架构永远在调整,所以我们认为未来的趋势是去中心化。
云计算是一个中心化的典型代表,将所有的数据汇集到云端,云端处理完之后,将这些数据再返回给边缘,从三年前开始去中心化变成了现在的一个趋势,为什么要去中心化呢?因为云有快速的可能量,云端的数据很容易伪造,比特币正是在这种需求的场景下应运而生的。
我们把每一个带有传感器的计算单元,称为一个cell。cell目前只是将传感器的数据经过结构化处理后返回到了云端,一个节点可以根据动态的路由情况,去协助周边最近的节点提供算力支撑。这样可以将大量的工作平均分配到这些节点上,尤其是对于闲置的节点,经过这样分配以后,所有的数据都会有两个甚至多个的数据拷贝,这样就可以保证数据不被篡改。当每一个节点完成了自己的计算后,会去询问其他的节点的工作是否完成。如果完成之后,可以通过本地或者调用更多的计算节点完成数据的合并,这样完全不依赖服务器。把这样的网络叫做AIoT网络,因为很多的决策并不需要返回到云端。
例如有两个相邻的园区,一个园区检测到空气质量恶化,通过喷雾让空气变得更好。相邻的园区并不需要通过云去获得旁边园区里的数据,只要在最短的路径之内把它通知到就可以,这样才能变得更智能。
通过不断的神经元节点的组合,将会构成一个未来去中心化的 AIoT 网络。当然涉及到了大量的数学、工程学,也涉及到大量的基础科学的研究,所以我们只是抛砖引玉,未来希望通过这种去中心化的边缘计算的组合,能够在最快的情况下,也在最安全的情况下,能够为 IoT网络提供智能计算,从而直接获取结果,来避免将更重要的数据放在云端,永久的保存,从而产生更多的价值。
以上就是我今天的分享,谢谢大家。
https://zhidx.com/p/235653.html
Created by Tan KW | Aug 15, 2024
Created by Tan KW | Aug 15, 2024
Created by Tan KW | Aug 15, 2024
Created by Tan KW | Aug 15, 2024
Created by Tan KW | Aug 15, 2024