摘 要: LBS的手机增强现实系统由于受到手机AGPS精度的限制,其定位存在着较大的误差。针对手机LBS增强现实系统存在的定位问题,提出了一种提高其定位精度的新方法。在已有的系统中引入GEOSpots,然后在GEOSpots处提供相对应的全景图背景,并通过匹配同一位置的手机摄像头实时画面与全景图来校准系统定位。实验结果表明,该方法不但有效地减少了LBS手机增强现实系统定位错误的发生,同时使得虚拟内容与现实实景更加紧密地结合在一起。
关键词: 智能手机; 增强现实; LBS;定位精度
在增强现实AR(Augmented Reality)与基于位置服务LBS(Location Based Service)发展的背景下,移动3G网络的发展使得AR技术和LBS技术结合在了一起,带来了增强现实系统的新浪潮。对于手机AR系统来说,早期HENRYSSON A[1]等开发了人机互动的双人合作AR应用系统,该系统采用基于图像识别的三维注册技术,用户通过手机控制叠加在真实图像画面上的虚拟的乒乓球进行三维互动。TAKACS G等[2]则进行了基于图像匹配的手机AR三维注册算法研究。
芬兰的NetExpolorateur公司开发出了世界上第一款手机AR浏览器Layar[3],首次成功地将AR技术与LBS结合在一起。Wikitude GmbH公司开发出了基于LBS的AR应用Wikitude World Browser[4], Daniele等人发布了开源的LBS手机AR引擎mixare,为研究LBS手机AR系统提供了技术支持与指导。然而,这些LBS手机AR系统都受到手机设备AGPS定位精度较大的限制。
本文提出一种新的方法来提高LBS手机AR系统定位精度。它不但使得LBS手机AR系统定位的准确性大大提高,还为LBS手机AR系统的普及提供了便利。
1 LBS手机AR系统定位限制因素
目前LBS手机AR系统主要受到GPS和3G网络定位精度的限制。智能手机LBS服务大多采用AGPS系统,其精度在正常的工作环境下可达10 m左右。目前,LBS手机AR系统中都是利用手机GPS或3G网络获取用户位置,指南针与传感器获取设备方向,得到终端设备当前的空间状态。依靠设备空间状态再通过AR技术在合适的位置叠加相应的虚拟画面,因此其AR内容的叠加会受到设备定位精度的影响。
对于当前手机设备的定位精度而言,在较好的情况下,放置在建筑物旁边或叠加在地面上的AR内容在屏幕上显示的位置与理想位置有一定偏移。最坏的情况下,原先本应该在用户背后的AR内容可能会出现在用户前方,因为手机设备上GPS显示的位置可能会与实际位置偏移几米甚至几十米。
2 提高LBS手机AR系统定位精度
2.1 在系统中引入GEOSpot
GEOSpot服务器是一个旨在为AR浏览器通道服务器服务的地理数据提供者,GEOSpot服务体系结构在特定的地理空间数据库包或服务上提供了一个抽象层。首先让用户查看地图附近那些已知的精确地理位置(GEOSpot),这些GEOSpot由定位人员通过专业的GPS精确设备多次测量,具有比较精确的GPS坐标。在屏幕上叠加提示信息框来指示用户如何到达附近的GEOSpot。这大大提高了用户在GEOSpot处的定位的精度,并且此精度可以被AR内容定制者在系统运行时通过公共的API访问到。当用户由GEOSpot处移动到另外一个位置时,手机传感器可以获取用户移动的距离。根据GEOSpot处的精确坐标与手机移动的距离可以计算出此位置空间坐标值,同时可以由手机GPS得到当前位置GPS坐标,然后使用合适的权值将它们加权平均。这样由手机运动传感器辅助AGPS来定位,不断校准手机GPS坐标。
在目前的LBS手机AR系统框架中,一般是定位作者通过查询追踪定位服务器和当前设备的空间位置、方向来确定如何显示AR内容,AR作者通过AR通道设置需要在场景叠加AR内容的位置。引入GEOSpot后,GEOSpot服务器存放由每个GEOSpot处计算得出的三维空间坐标,追踪服务器存放由手机GPS定位显示的GPS坐标。追踪服务器通过GEOSpot服务器中的三维空间坐标来校准手机显示的GPS坐标,如图1所示。
2.2 在GEOSpot处提供全景图背景
在每个GEOSpot处提供一幅合成的全景图背景,这些全景图背景是由在每个GEOSpot处拍摄的图片合成的。当用户站在GEOSpot处时,他们可以开启全景图模式,此时手机屏幕上显示的是该GEOSpot处的全景图而不是手机摄像头拍摄到的实时画面。当用户改变手机的方向时,系统根据手机的指南针获取手机的方向,并根据加速度传感器获取手机与地面的倾斜角度,让屏幕上只显示手机在该空间位置时能够看到的那部分全景图,它会随着手机方向的改变而改变。此时屏幕上显示的画面类似于手机摄像头的实时画面,只是画面是静态的。
由于全景图背景与手机摄像头的实时画面只是在同一地点的不同时间拍摄得到的,因此全景图上显示的画面与手机摄像头显示的实时画面应该是对应的。
手机在GEOSpot处某一空间位置时有相对应的全景图与摄像头画面,通过图像处理的方法分别提取两者画面中建筑物的轮廓,如图2所示。摄像头拍摄的实时画面是准确的,而叠加的AR内容是根据当前设备的GPS定位与传感器确定的手机空间位置来决定的,它受到手机定位精度影响。但全景图背景的显示与叠加的AR内容的位置都是依据手机GPS定位信息而决定的,因此即使GPS有较大的误差,AR内容总能精确地叠加在全景图上。可以以全景图作为标准,通过匹配提取的摄像头画面与全景图的轮廓来进一步减小手机的定位误差。先将全景图缩放至与摄像头画面比例一致,然后将全景图与摄像头画面轮廓重合,那么原本依靠GPS与传感器定位的全景图上的AR内容就会产生相对位移。以全景图上叠加的AR内容的位置作为摄像头画面AR内容的位置,此时AR内容就准确地叠加在摄像头画面上了。
3 实验结果
mixare是一个LBS手机AR开源框架,它通过手机GPS与传感器获取设备空间信息在屏幕的合适位置叠加AR内容,它同样受到手机GPS定位精度限制。以iPhone为平台,以mixare框架为基础,引入了两个GEOSpot点,并提供两张全景图,分别验证AR内容叠加在建筑物上与叠加在地面上的情况。
图2(a)在mixar平台上使用传统GPS定位方法将AR内容叠加在建筑物旁。图2(b)是在GEOSpot处根据手机当前的空间位置自动从服务器上下载的全景图画面,因此就算GPS有一定误差,其AR内容总是可以正确叠加在全景图上。通过匹配同一位置处全景图画面与摄像头实时画面,将全景图画面中的建筑与摄像头画面中的建筑物重叠,那么全景图中的AR内容就会准确地叠加到摄像头实时画面上,如图2(c)所示。
同一GEOspot处叠加在地面上的AR内容如图3所示。从图3可以发现,传统的GPS定位中AR内容出现了定位错误,而全景图画面中AR内容正确地显示在了画面中,校准后AR内容也能大致叠加在相应位置。
本文进行了LBS手机AR系统定位精度的研究,提出了提高定位精度的新方法。引入GEOSpot,并在GEOSpot处提供全景图背景来匹配校准AR内容的显示,最后以mixare开源框架为基础进行实例验证。
虽然目前LBS手机AR系统受到精度方面的影响,但是随着未来GPS定位精度的提高与新的定位方法的出现,实现LBS手机AR系统的精确定位是很有可能的,相信到时候LBS手机AR应用领域将会大大拓展。
参考文献
[1] HAKKARAINEN M,WOODWARD C, BILLINGHURST M. Augmented assembly using a mobile phone[C].IEEE International Symposium on Mixed and Augmented Reality,2008.
[2] TAKACS G. Outdoors augmented reality on mobile phone using lox-el-based visual feature organization[R]. MIR, 2008.
[3] NetExpolorateur.What is Layar[EB/OL].[2012-08-01].http://www.layar.com/what-is-layar.
[4] Wikitude.The World’s leading Augmented Reality SDK[EB/OL].[2012-11-20].http://www. wikitude.org.