所有文章 > 正文

面向移动与边缘设备的人工智能系统

作者: AI TIME 论道

浏览量: 546

时间: 2020-08-25 12:32

关键词: AI system,徐梦炜,视频分析

内附本次报告ppt下载和直播回放链接。

image-LpjypkvMUz.png

徐梦炜,北京大学信息科学技术学院2015级博士生,师从黄罡教授与刘譞哲副教授,将于2020年加入北京邮电大学担任特聘副研究员,博士生导师。主要研究方向为移动与边缘计算,已在相关领域的国际顶级会议如MobiCom,MobiSys,UbiComp,WWW等发表多篇论文。

一、What:如何理解移动与边缘设备上AI system?

AI system是沟通上层算法应用以及底层硬件的桥梁,由于新的算法、模型、AI应用的出现,底层就会有新的硬件产出,比如AI chip、GPU,这需要有更好的系统去沟通上层与底层,支撑上层的应用,并优化应用的性能。讲者在WWW2019上发表的文章中指出,越来越多的深度学习应用运行在手机等终端设备上,这说明,随着5G以及边缘技术的发展,终端设备上的计算性能越来越强,越来越多的计算任务,比如ML和DL的推断甚至训练,更倾向于在终端设备上完成。

二、WHY:为什么在Camera 上做视频分析?

研究动机在于,把更多的计算从集中式的云服务器上off load到摄像头本身。现代化社会在城市、学校、商场等都部署了大量的摄像头,其采集的很多数据具有社会、商业价值,但分析视频数据需要昂贵的计算设备以及开销,比如GPU/TPU,使得摄像头的计算资源没有被充分利用,因此如何设计更好的模型、系统来分析这些视频数据,同时在用户隐私保护,减少网络带宽,开销等方面获得很大的收益,成为系统研究者关注的热点问题之一

视频分析是一个成熟强大的技术手段,比如在道路上检测行人车辆有助于智慧城市做城市规划;在商场中检测客户的行走方向、驻留时间有助于商场做商品陈列规划等。常用的视频分析的场景集中在urban 以及residential areas,主要依赖于两大硬件设施即,wired electricity以及 good internet。然而,在更加复杂,更natural的应用场景下不能高效应用。基于此,讲者的出发点在于进一步研究将视频分析的应用场景迁移到 rural , off-grid areas 的场景中,以适应没有电的区域。

三、HOW:如何在有限能耗下实现高效的视频分析?

为了实现上述目标,徐梦炜等人提出了自治摄像头的概念。该自治摄像头具有两个特点:

  • energy–independent: 即完全基于绿色能源,太阳能或者风能;
  • compute- independent:主要在本地摄像头上完成计算,不需上传至服务器处理。

image-dYfA6Fwo85.png

图1 典型的自治摄像头硬件配置

主要采用太阳能面板充能,以及内置可充电电池商用摄像头采集和处理图片,同时使用LoRa网络协议将处理结果上传云端供客户使用,其优点在于能耗低,传输距离远,缺点在于传输速率低。

为了支撑自治摄像头的运行,讲者提出一种名为elf的视频分析处理系统,其针对性地为object counting这一关键的视频分析类型提供服务。比如,捕捉马路上每小时通过的车辆,或者农场上羊的数量。那么elf系统如何在自治摄像头上运行?首先用户需要安装一个query到camera上,其中query需要指定两个条件:object category 以及 time window。然后在运行时,摄像头会不停的捕捉视频,并且采样特定的图片帧,以这些图片作为输入运行神经网络,最终汇总每个time window的运行结果。为了在资源能耗十分有限的情况下,提供尽可能准确且有意义的结果,elf采用带有置信区间(with confidence interval, CI) 的estimation来表示最终的处理结果。

能耗限制也给设计实现elf系统带来了一个重要挑战:如何在有限的能量之下,尽可能准确地为用户提供一个counting的结果? 针对该挑战,讲者主要从以下三个方面进行分析。

  • Energy model:即energy budget,即使用的能量不能超过该限定。
  • Trade-offs:首先frame sampling,采样的图片以更低频的方式进行处理,比如0.1fps;其次,NN selection,不使用最准确神经网络,而是能耗更小的神经网络模型。
  • Target:使每一个time window 的处理结果的置信区间宽度尽可能小(24-hr)。

image-ifnfGXYMpv.png

图2 elf系统的overview

摄像头捕捉到一些视频流,通过采样将图片输入到神经网络中,综合每一个神经网络与图片的处理结果, aggregate每一个error 得到一个完整的置信区间和object counts。

一)如何在一个time window中做energy planning?

elf系统的核心在于如何设计reinforcement learning planner,其目的是决定每一个time window中需处理图片的帧数,以及对该time window进行神经网络选择,以最小化置信区间的宽度。讲者将planner 的决策称之为count action,包括有NN Selection 和 # of frames to process。

image-fiDxGbrI8r.png

图3单一time window 中count action/outcome 对比曲线

图中,横坐标为energy,纵坐标为置信区间的宽度,趋势为使用越多的energy就能捕捉数量越多的帧数,处理结果就会越准确,意味着置信区间的宽度会越来越小。

其中,energy的计算公式如下:

Energy Consumption = E(NN) * frame_num

其表示,每一个神经网络处理一张图片所需的energy与图片数量的乘积。

从结果对比中,可得到一个十分重要的observation,即:

  1. 当能耗较少(<1KJ)时,采样的帧数(即可处理图像的数量)限制了结果,因此可使用一些不精确的神经网络模型;
  2. 当能耗增加(1KJ< ~ <3KJ)时,(可处理图像的质量)决定了结果;
  3. 当能耗继续增加(>3KJ)时,yolov3的结果更好。

在不同能耗下,可使用的最优神经网络模型是不同的,应动态选择最优模型做count actions。因此,考虑将图中不同曲线的最优结果组成一个virtual曲线,称之为Energy/CI front,则系统可在Energy/CI front上寻找决策点,以最小化的置信区间宽度。

image-N4p6KIbabi.png

图4 Energy/CI front的设计依据

然而,该构思引入了两个直观的问题:

Question1

问题1:如何构建Energy/CI front?

答:根据所选视频每一帧图片的处理结果以及神经网络模型本身的准确率以得到置信区间。

Question2

问题2:结果依赖所选视频的characteristics。

答:置信区间还与所选择视频的characteristics相关,比如说,如果object比较多,得到的方差标准差就会比较大,CI widths会比较大,具有较大的不确定性。

二)如何在cross- windows做energy planning?

上述介绍了在同一个time window中count action的决策结果,但在不同的时间段中,曲线的趋势也不同(如下图所示),这就要求planner需分别为每一个时间段做决策,并且不同时间段所使用的能耗也应异构。

image-Tm9YqOofPA.png

图5 Cross-windows 中count action/outcome 对比曲线

讲者介绍了Oracle Planner,(best performance but unrealistic)。其核心思想在于,假设在已知每一个time window 的Energy/CI fronts 的分布的情况下,将整个energy分成多个小部分,采样贪心算法,将每个小部分的energy 分配给不同的time window,从而使time window 具有最大的置信区间宽度的减少量。

显然Oracle Planner存在严重的问题,即无法预先知道视频的内容以及Energy/CI fronts的分布。针对该问题,讲者提出了 learning-based planner来学习Oracle planner,模型的框架图如下所示。

image-I7WHAMOmYW.png

图6 learning-based planner的结构图

A learning-based planner具有以下四个特点。

  • basis:强化学习策略;
  • rational:
  • 视频本身的时间以及daily的局部性;
  • offline training -> online prediction:
  • 根据oracle planner 与online planner 输出结果之间的差距优化决策;
  • Enforce energy budget:为未来每一个time window 预留30帧图片处理能耗,以保证其在statistic 这个方法具有较准确的置信区间。

四、EVALUATION:实验要验证什么?

elf系统实现在异构硬件上,主要硬件为树莓派4和MCU。硬件设备为什么要设计成异构的?主要是因为树莓派可用于运行神经网络,其能耗较高,大部分时候只需要唤醒MCU捕捉图像,而使树莓派处于睡眠状态不消耗能量,只在一个time window结束时唤醒做图像处理,可最小化能量的使用。

image-cEBnOhIAvY.png

图7 elf 测试系统的硬件原型

到目前为止,实验到底要验证什么?讲者从以下三点对elf系统进行了全面对比。

(1)elf系统能否在能耗有限的情况下,provide 有效的counts,并缩小置信区间的宽度?

分别在5段长视频中,研究不同能耗限制下(1/2/3行分别表示每天10Wh/20Wh/30Wh的供能),elf系统中不同的baselines 模型的平均CI width。

image-bGGcvUJNvN.png

图8 有限能耗下平均CI width对比

(2)elf系统中关键designs验证,即counts action 以及 learning-based planner 的优势对比?

处理结果只比Oracle planner的宽度宽5%,且每个time window中处理的帧数与Oracle planner 非常接近。

image-DKaeHtbxT4.png

图9 与Oracle planner 处理帧数对比

(3)若采用更好的硬件加速器(处理每帧图片时可使用更少的能耗),对比研究elf系统的performance?

加速器可减少每一帧图片使用的能耗,从而使CIs减少,说明加速器能有效提升elf系统性能。

image-p6t39Q9FET.png

图10 不同加速器下CIs对比

综上,讲者提出了elf系统来为town camera 上神经网络的运行提供支撑,通过研究如何在一个window 和 cross-windows之间作fine-grained的energy planning,最终在有限能耗下实现高效的监控视频分析。

五、提问与回答

AItimer:请问这种摄像头有可能成为以后智能手机的主流吗?

:我们这个工作主要还是针对一些rural area的监控摄像头设计的,可能在智能手机上没有很好的应用。大家感兴趣可以看我mobicom 18的工作,是讲智能手机上的视觉应用的。

AItimer:唤醒树莓派的能耗高吗?

:很高。首先,有些开发板实现了Linux的suspend/resume功能的话,这个on/off的能耗会低一些,但和MCU比还是很高;其次,树莓派没有实现suspend/resume功能,意味着每次都是完整的开机/关机,大约需要好几秒到几十秒,能耗非常高。

AItimer:移动端的AI计算,识别的准确率越低,那么,可能的风险需要其他的系统来弥补,那么应用的难度就越大;比如:汽车自动驾驶,可能要增加防撞或防护等级才行;是否有这个方面的综合评估?

:我觉得这个问题很好也很现实,你很适合做system research :) 不过一般学术工作只会考虑一个小点,你说的这些可能会在论文里提及,但不会做很深入的探究。其实现在也有人在研究是否可以trust机器学习在单个样本上的输出,以指导后续的相关措施,我相信这是很重要的问题;

AItimer:移动端AI识别中的人脸识别和号牌识别,也受到上面的限制,比如:识别好牌的灯光、位置角度等,需要栏杆、门槛等,但是,如果在车上增加一个发射装置,比如类似Zigbee应用的有缘RFID就可以解决这个问题,当然,问题是这类的植入装置成本越低越好。外部AI识别和内部植入,是两个方向,请教两个方向是否做过对比?

:这个问题也很好,基本上每个方向都有各自领域的人在做,学术界其实主要关心把东西做出来,然后能达到怎样的效果,具体哪种方式更好可能还留待产业界的检验。我本身只做过基于视觉的系统问题,所以还没有做过这两个方向的具体比较。

点击“下载报告”,获取本次报告

直播回放:https://b23.tv/3mfiFG

往期回顾:

人工智能可以预测女朋友什么时候生气吗?

让核磁检查不再排队,Facebook的AI系统将MRI成像快了4倍

打造生物智能和人工智能“双螺旋”,智源研究院发布“人工智能的认知神经基础”重大研究方向

[关于转载]:本文为“AMiner”官网文章。转载本文请联系原作者获取授权,转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“AMiner”官网。谢谢您的合作。

扫码微信阅读
[关于转载]:本文转载于AI TIME 论道,仅用于学术分享,有任何问题请与我们联系:report@aminer.cn。