⬆⬆⬆ 点击蓝字web
关注咱们算法
AI TIME欢迎每一位AI爱好者的加入!windows
1、What:如何理解移动与边缘设备上AI system?微信
AI system是沟通上层算法应用以及底层硬件的桥梁,因为新的算法、模型、AI应用的出现,底层就会有新的硬件产出,好比AI chip、GPU,这须要有更好的系统去沟通上层与底层,支撑上层的应用,并优化应用的性能。讲者在WWW2019上发表的文章中指出,愈来愈多的深度学习应用运行在手机等终端设备上,这说明,随着5G以及边缘技术的发展,终端设备上的计算性能愈来愈强,愈来愈多的计算任务,好比ML和DL的推断甚至训练,更倾向于在终端设备上完成。网络
2、WHY:为何在Camera 上作视频分析?oracle
研究动机在于,把更多的计算从集中式的云服务器上off load到摄像头自己。现代化社会在城市、学校、商场等都部署了大量的摄像头,其采集的不少数据具备社会、商业价值,但分析视频数据须要昂贵的计算设备以及开销,好比GPU/TPU,使得摄像头的计算资源没有被充分利用,所以如何设计更好的模型、系统来分析这些视频数据,同时在用户隐私保护,减小网络带宽,开销等方面得到很大的收益,成为系统研究者关注的热点问题之一。框架
视频分析是一个成熟强大的技术手段,好比在道路上检测行人车辆有助于智慧城市作城市规划;在商场中检测客户的行走方向、驻留时间有助于商场作商品陈列规划等。经常使用的视频分析的场景集中在urban 以及residential areas,主要依赖于两大硬件设施即,wired electricity以及 good internet。然而,在更加复杂,更natural的应用场景下不能高效应用。基于此,讲者的出发点在于进一步研究将视频分析的应用场景迁移到 rural , off-grid areas 的场景中,以适应没有电的区域。dom
3、HOW:如何在有限能耗下实现高效的视频分析?机器学习
为了实现上述目标,徐梦炜等人提出了自治摄像头的概念。该自治摄像头具备两个特色:
energy–independent: 即彻底基于绿色能源,太阳能或者风能;
compute- independent:主要在本地摄像头上完成计算,不需上传至服务器处理。

图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)。

图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。



图3单一time window 中count action/outcome 对比曲线
图中,横坐标为energy,纵坐标为置信区间的宽度,趋势为使用越多的energy就能捕捉数量越多的帧数,处理结果就会越准确,意味着置信区间的宽度会愈来愈小。
其中,energy的计算公式以下:
Energy Consumption = E(NN) * frame_num
其表示,每个神经网络处理一张图片所需的energy与图片数量的乘积。
从结果对比中,可获得一个十分重要的observation,即:
当能耗较少(<1KJ)时,采样的帧数(便可处理图像的数量)限制告终果,所以可以使用一些不精确的神经网络模型;
当能耗增长(1KJ< ~ <3KJ)时,(可处理图像的质量)决定告终果;
当能耗继续增长(>3KJ)时,yolov3的结果更好。
在不一样能耗下,可以使用的最优神经网络模型是不一样的,应动态选择最优模型作count actions。所以,考虑将图中不一样曲线的最优结果组成一个virtual曲线,称之为Energy/CI front,则系统可在Energy/CI front上寻找决策点,以最小化的置信区间宽度。

图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需分别为每个时间段作决策,而且不一样时间段所使用的能耗也应异构。

图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,模型的框架图以下所示。

图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 这个方法具备较准确的置信区间。
4、EVALUATION:实验要验证什么?
elf系统实如今异构硬件上,主要硬件为树莓派4和MCU。硬件设备为何要设计成异构的?主要是由于树莓派可用于运行神经网络,其能耗较高,大部分时候只须要唤醒MCU捕捉图像,而使树莓派处于睡眠状态不消耗能量,只在一个time window结束时唤醒作图像处理,可最小化能量的使用。

图7 elf 测试系统的硬件原型
到目前为止,实验到底要验证什么?讲者从如下三点对elf系统进行了全面对比。
(1)elf系统可否在能耗有限的状况下,provide 有效的counts,并缩小置信区间的宽度?
分别在5段长视频中,研究不一样能耗限制下(1/2/3行分别表示天天10Wh/20Wh/30Wh的供能),elf系统中不一样的baselines 模型的平均CI width。

图8 有限能耗下平均CI width对比
(2)elf系统中关键designs验证,即counts action 以及 learning-based planner 的优点对比?
处理结果只比Oracle planner的宽度宽5%,且每一个time window中处理的帧数与Oracle planner 很是接近。

图9 与Oracle planner 处理帧数对比
(3)若采用更好的硬件加速器(处理每帧图片时可以使用更少的能耗),对比研究elf系统的performance?
加速器可减小每一帧图片使用的能耗,从而使CIs减小,说明加速器能有效提高elf系统性能。

图10 不一样加速器下CIs对比
综上,讲者提出了elf系统来为town camera 上神经网络的运行提供支撑,经过研究如何在一个window 和 cross-windows之间做fine-grained的energy planning,最终在有限能耗下实现高效的监控视频分析。
5、提问与回答
请问这种摄像头有可能成为之后智能手机的主流吗?
咱们这个工做主要仍是针对一些rural area的监控摄像头设计的,可能在智能手机上没有很好的应用。你们感兴趣能够看我mobicom 18的工做,是讲智能手机上的视觉应用的。
唤醒树莓派的能耗高吗?
很高。首先,有些开发板实现了Linux的suspend/resume功能的话,这个on/off的能耗会低一些,但和MCU比仍是很高;其次,树莓派没有实现suspend/resume功能,意味着每次都是完整的开机/关机,大约须要好几秒到几十秒,能耗很是高。
移动端的AI计算,识别的准确率越低,那么,可能的风险须要其余的系统来弥补,那么应用的难度就越大;好比:汽车自动驾驶,可能要增长防撞或防御等级才行;是否有这个方面的综合评估?
我以为这个问题很好也很现实,你很适合作system research :) 不过通常学术工做只会考虑一个小点,你说的这些可能会在论文里说起,但不会作很深刻的探究。其实如今也有人在研究是否能够trust机器学习在单个样本上的输出,以指导后续的相关措施,我相信这是很重要的问题;
移动端AI识别中的人脸识别和号牌识别,也受到上面的限制,好比:识别好牌的灯光、位置角度等,须要栏杆、门槛等,可是,若是在车上增长一个发射装置,好比相似Zigbee应用的有缘RFID就能够解决这个问题,固然,问题是这类的植入装置成本越低越好。外部AI识别和内部植入,是两个方向,请教两个方向是否作过对比?
这个问题也很好,基本上每一个方向都有各自领域的人在作,学术界其实主要关心把东西作出来,而后能达到怎样的效果,具体哪一种方式更好可能还留待产业界的检验。我自己只作过基于视觉的系统问题,因此尚未作过这两个方向的具体比较。
整理:刘美珍
审稿:徐梦炜
排版:田雨晴
本周直播预告:




AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,增强思想碰撞,打造一个知识分享的汇集地。

更多资讯请扫码关注
(点击“阅读原文”下载本次报告ppt)
(直播回放:https://b23.tv/3mfiFG)
本文分享自微信公众号 - AI TIME 论道(lundaoAI)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。