移动计算中的群智感知Crowd Sensing in Mobile Computing杨铮 吴陈沭清华大学hmilyyz@ wucs32@完成于7月5日,修改于8月27日摘要随着无线通信和传感器技术的快速发展,无线移动终端设备呈爆炸式普及,市场上的手机和平板电脑等设备集成了越来越多的传感器,拥有越来越强大的计算和感知能力。
在这样的背景下,群智感知成为当前移动计算中的研究热点。
无线网络与移动计算的几个著名学术会议中,例如ACM MobiCom、ACM MobiSys、IEEE INFOCOM等,许多论文都采纳了群智感知的思想。
MobiSys 2011专门开辟一个会议单元收录相关论文,MobiCom 2012中至少有5篇论文涉及群智感知。
在群智感知中,大量普通用户使用手机、平板电脑等移动设备作为基本感知单元,通过移动互联网进行协作,实现感知任务分发与感知数据收集利用,最终完成大规模的、复杂的社会感知任务。
简而言之,群智感知发挥“人多力量大”的特点,将大量草根用户拧成一股绳,形成随时随地、无孔不入、与人们生活密切相关的感知系统。
以前需要耗费大量人力物力的工作例如道路交通情况监测、大规模无线信号勘测等等都可以通过群智感知的模式来完成。
本文首先介绍了群智感知的基本概念及其思想,着重讨论了群智感知中的任务分发与收集利用机制,并以监测道路交通情况和构建建筑物室内地图为代表介绍了两个群智感知的案例,最后在总结本文的同时探索群智感知中的研究热点。
群智感知的概念在群智感知中,大量普通用户使用移动设备作为基本感知单元,通过移动互联网进行协作,实现感知任务分发与感知数据收集利用,最终完成大规模的、复杂的社会感知任务。
在计算机科学领域,与群智感知相近的概念包括群体计算(Crowd Computing)、参与式感知(Participatory Sensing)、社群感知(Social Sensing)、众包(Crowdsourcing)等等,它们都以大量用户参与作为基础,可以说在理念上是一致的。
对比群智感知,群体计算包含的范围更广一些, 众包多指是任务分发的机制,而参与式感知和社群感知与群智感知在理念上近似,但分别强调不同的方面。
在群智感知这种协作模式中,完成复杂感知任务的参与者无需是拥有专业技能的人士。
与此相反,大量草根用户成为中坚力量,通过合理的协作来完成他们单独不可能完成的任务。
用户可以主动参与感知任务,也可以被动参与。
假设我们想知道某一时刻城市道路的拥堵情况,那么各地广播电台交通台的工作模式就是用户主动参与,依赖于走在路上或者开车的人通过发短信汇报当时当地的道路交通情况。
如果利用手机中的传感器自动的监测人群的移动情况并进行汇报,那么就是用户被动参与。
用户被动参与的好处是用户无需为完成感知任务付出额外的精力和负担,因此用户参与热情高,用户数量容易提升。
通常来讲,群智感知中的感知任务是复杂的,其感知对象也不仅仅是一般传感器所感知的温度、湿度、位置等物理属性,更不限于图像、声音等多媒体数据。
上面提到的道路交通状况,以及其他社会事件、人群的活动等等都是具有强烈社会属性的,因此在本文中称为社会感知任务。
社会感知任务具有范围广、规模大、工作任务重等特点,不是一个用户能够轻易完成的。
为了发挥“人多力量大”,群智感知渐露峥嵘,将大量草根用户拧成一股绳,形成随时随地、无孔不入、与人们生活密切相关的感知系统。
群智感知背后的思想古已有之,近几年移动计算的爆炸式发展拓展了群智感知的规模,而传感器技术的普及增强了群智感知的力量,很多以前不易完成的任务变得轻而易举。
在大城市中,监测道路交通状况通常需要耗费大量人力物力资源,在大街小巷安排交通警察执勤不现实,而部署大量摄像头还必须要结合上先进的图像分析技术才能自动监测。
有研究者则利用手机监测人群在公共交通中的运动情况,从而推断出道路拥堵情况。
群智感知还可应用于灾难场景恢复,用来确定灾难发生的原因,为今后的灾难应变积累经验寻找突破口。
例如在建筑坍塌或者人群踩踏等事故中,移动设备可以通过摄像头、GPS等多种传感器成为事故现场的忠实记录者,事故调查人员可以从大量数据中恢复出事故发生的全貌。
感知任务的分发与收集利用感知任务的分发与收集利用想起来容易做起来难。
大量用户组织松散,并不是一支“军队”,连“散兵游勇”也谈不上,不是一条命令就可以解决的。
因此,任务的分发和收集利用要做到分工合理、负担合适、激励合情,让用户愿意参与,有所付出有所获得。
许多群智感知任务通过众包的方式完成感知任务的分发与收集利用。
众包(Crowdsourcing)是《连线》(Wired)杂志2006年发明的一个专业术语,用来描述一种新的生产组织形式,即企业利用互联网将工作分配出去、发现创意或解决技术问题。
通过互联网,这些企业可以利用大量用户的创意和能力。
尤其对于软件业和服务业,这提供了一种组织劳动力的全新方式。
众包和普通意义上的外包(Outsourcing)的主要不同点在于,前者的任务和问题是外派给不确定的群体,而后者是外派给确定的个体。
上面关于众包的定义,更多的是从商业角度来描述,下面我们从任务分发和收集利用的具体形式讨论众包的两个例子:SETI@home和reCAPTCHA。
SETI@home 足不出户寻找外星人SETI@home(Search for Extra Terrestrial Intelligence at Home,在家搜寻外星智慧)1,是一个通过互联网利用家用个人计算机处理天文数据的分布式计算项目。
该项目试图通过分析阿雷西博(Arecibo)射电望远镜采集的无线电信号,搜寻能够证实外星智能生物存在的证据。
SETI@home的工作流程由5部分组成。
1.由波多黎哥国家天文和电离层中心建立在群山森林环抱中的、直径为305米的巨型射电望远镜Arecibo搜索太空中的无线电信号。
Arecibo将每天观测到的大约35 GB的数据记录在海量数字磁带上。
2.SETI@home服务器端把从Arecibo收集到的数据,经过计算分析之后根据客户的需要和电脑的情况,划分为小的工作单元即数据块。
工作单元通过因特网传送到全球成千上万个客户端以进行数据处理。
3.SETI@home传送数据结束后将自动切断连接,客户电脑便在计算资源闲置时(即屏幕保护运行时)开始对数据进行处理。
SETI@home客户端应用程序对工作单元中的数据完成快速傅立叶变换的计算,其中大约要进行 1750 亿次运算,当一个工作单元分析完毕,闪烁的小图标便会提示客户回送并下载新的数据。
4.所有客户端所获得的有价值的信号都将送回到 SETI@home服务器端。
绝大多数客户端软件所找到的信号都是来自于地球的无线电频率干扰,SETI@home 使用一大批算法和已知电信频率干扰资源的大数据库的数据来对比,从而排除所有可能的干扰。
对于极少数(可能只有<0.0001%)未被排除的信号,则将通过下一次观测太空中同一部位进行确认。
1 /5.一旦信号被确认,SETI@home 将按照国际天文学联合会(International Astronomical Union, IAU)的电报发表公告,这是天文学界取得重大发现时公之于众的一种标准方式。
而用其屏幕保护程序找到该信号的人,并将和 SETI@home 队伍中的其他成员一起被赋予“合作发现者”的称号。
SETI@home 工作流程的第2-4步就是典型的通过互联网进行众包的过程,大量闲散计算资源整合在一起完成了规模庞大的计算任务。
巧妙的是,由于计算是在屏保时候完成的,并不对用户的正常使用造成影响,甚至可以说是在用户不知不觉中完成的。
而用户所要做的,仅仅是下载并安装SETI@home的客户端。
reCAPTCHA 利用全球智慧数字化古籍提到众包,reCAPTCHA2是不得不提的。
老网民们大概都记得,刚开始上网的时候,是不存在验证码(CAPTCHA)这么一种东西的。
这造成的结果是,垃圾评论和垃圾邮件可以轻松通过任何一个网站的注册程序,通过各种方式轰炸人民群众的眼球。
发一封垃圾邮件的成本很低,恶意用户仅需注册一个邮箱,就可以向很多目标邮箱地址发动攻势了。
当这个邮箱被列入黑名单后,那就再注册一个,而且注册和发送邮件的过程可以利用计算机自动化的完成。
为了遏制垃圾邮件愈演愈烈的趋势,许多互联网公司都投入了大量的精力。
大浪淘沙后呈现出的解决方案,就是这个让人民群众微微皱眉,但是让计算机耸肩挠头的验证码。
计算机辨识技术还很落后,对于经过特殊方法扭曲、污染的文字,无法有效辨识。
而人类却可以轻松认出这些文字。
这是一个简单而巧妙的设计,计算机先是产生一个随机的字符串,然后用程序把这个字符串的图像进行随机的污染、扭曲,再显示给显示器前的人或者机器。
凡是能够辨识这些字符的,即为人类。
验证码的广泛使用增加了发送垃圾邮件的成本,注册和发送邮件不再能通过传统的方法自动化完成了。
除了应用于电子邮件,验证码还广泛应用于网站登陆、论坛发帖、电子商务等等。
尽管输入验证码给正常用户带来了些许负担,但是考虑到使用验证码带来的积极效果,人们也普遍接受了这种方式。
就像北京地铁刚开始实行进站安检的时候,乘客都抱怨耽误时间,影响出行效率。
随着这项政策的展开以及公共安全的需要,乘客也就习惯了这种方式,尽管这种方式对效率的影响也是无疑的。
2 /recaptcha但是验证码的发展并没有就此结束。
当全世界数以十亿计的人每天都会浪费几秒钟的时间参与辨认文字这一简单活动的时候,其中浪费的人脑智力是否能得到更好的应用呢?在2007年左右,验证码的发明人Luis Von Ahn 提出了新的构想,让人们用这些脑力解决一些计算机无法解决的“图书数字化”问题。
在计算机时代以前,大量信息都存在于书本和报纸等载体上。
如果不经过数字化处理,对于计算机来说这些信息仅以图像的形式存在,在当前信息时代中不能够被有效的利用。
自动化的光学识别技术也不能解决全部问题。
因为早期的印刷术并不精确,文字大小不一,形象有差别。
而且因为印刷品年代久远,拥有各种细微的缺损和污染。
这些缺陷对人眼识别来说不是什么大问题,但对计算机来说就麻烦了。
上述构想最终形成了新一代验证码系统——reCAPTCHA,每天帮助辨识数以百万计的古老印刷品。
问题在于,对于最初的验证码来说,计算机实际上是知道正确答案的,这样才能通过判断用户提供的答案是否正确来检验用户是否为人类。
而reCAPTCHA希望人们辨识的文字,计算机实际上是不知道答案的,那如何能验证返回的答案到底是不是真的呢?reCAPTCHA让人们每次辨识两个,而非一个验证码,其中一个来自于计算机随机生成并经过污染和扭曲的字符串,而另一个则是从印刷品中选取的计算机不认识的字符图像。