移动终端增强现实系统

2015-07-26 02:29林坚渤朱允斌董欣宇
微型电脑应用 2015年8期
关键词:光源终端现实

林坚渤,朱允斌,董欣宇

移动终端增强现实系统

林坚渤,朱允斌,董欣宇

针对复杂多变的户外场景,基于移动终端增强现实技术,提出结合移动终端地理信息以及物理传感器的定位定姿方法,结合实时光源检测等算法,实现对大型户外场景的实时增强渲染。采用分层渲染、多层融合的方法,以保证不同虚拟素材的渲染效果。系统可以应用于大型户外场景的增强,适应光源复杂多变的场景需求,可以实时进行增强渲染,已实现在目前主流的移动终端系统上的应用,展现了其独特的魅力以及在应用市场上的光明前景。

移动终端增强现实;实时

0 引言

随着科技的进步,移动智能终端已经成为现实生活中必不可缺的一部分。这些功能越来越繁多,性能越来越好的移动智能终端被广泛应用于生活的方方面面,极大地改善方便了人们的日常生活。而近年来新兴的增强现实系统(AR系统)技术,即一种利用计算机产生的附加信息对真实世界的景象进行增强或者扩张,在获取周边真实环境景象的同时生成或者添加由计算机生成的增强信息(包括在真实环境种与真实物体共存的虚拟物体和与存在的真实物体有关的非几何信息)后,给人一种身临其境的感觉,形成更加完美的视觉听觉感受的技术,是近年来虚拟现实(VR)技术发展起来的新兴研究领域[1]。这种技术能彻底改变移动传媒的展现方式,为现实生活提供更多的便利和给用户更完美的体验,是未来移动端用户体验产品研发的重点,具有巨大的商业和市场需求。

现阶段AR系统已经广泛应用于医疗、教育、科研、文化、工业、军事国防等领域。美国波音公司的辅助接线系统[2]、美国海军正在研制的战场增强现实系统(BARS)[3]等均是增强现实系统应用的真实例子。随着科学技术的发展,AR系统在移动端应用也陆续实现了突破并被广泛应用于生活的各个领域[4]。例如在博物馆里,用户可以使用手机下载一个软件,当用户在博物馆内进行游览参观的时候,通过这个软件便可以获得感兴趣的展品的文字、图片以及视频等信息,以便加深增强用户对展品的认识[5]。再如在导航方面,通过GPS在行车前方道路上叠加方向箭头实时指引驾驶员。另外,家居装修装饰上也可以应用这个技术,在拍摄到房子内部图像后,通过该类软件选择家具装饰物,虚拟出装修后效果图,引导用户自主装修装饰[6]。又如在电子商务上的虚拟购物超市[7]等。目前,移动端AR系统主要存在以下几个问题[8-10]:

(1)固定光源:涉及物体注册到实时图像展现时,大多数系统采用的都是固定光源,这种方法适用于室内场景,但在户外场景中,光源构成复杂多变,只使用固定光源则会导致虚拟效果不真实,因此需要实时光源。

(2)实时性差:大部分系统均是在进行 3D物体注册时由于匹配定位运算量大,难以满足实时展现的要求[11]。

(3)展现方式单一:常用展现方式一般都是三维模型展示或者二维图片叠加独立进行。

本系统基于当下流行的主流移动平台之一——Android系统,利用OPENGLES对图形图像进行分辨融合[12],采用了多种定位方式来实现目标的准确定位,应用OPENCV对图像进行分析识别,依靠系统整体科学合理地设计,最终完成了一个移动端上基于图像识别的既能用于展示特殊效果也能进行一些互动游戏的增强现实系统。该系统集观赏性和娱乐性于一身,具有实时、精确、新颖以及与用户互动频率高等特点,显示了AR系统在移动端上发展的独特魅力以及无限可能,同时AR系统广泛的应用前景和光明的未来在该系统成果中也可见一斑。

1 系统介绍

移动端增强现实系统具有虚实结合、人机交互、三维整合三个特点,并因为其便携性在未来增强现实发展中扮演着重要角色[13]。本文中的系统是应用于大型户外展示的移动增强现实原型系统,在图像分析识别和 LBS定位之后,对摄像头获取的真实环境和计算并绘制产生的虚拟对象进行整合渲染,以达到增强用户观影感知的效果

系统主要包括以下3个主要功能:基于地理信息系统的个性化展示功能,人机交互功能以及渲染展现功能。

系统是为特定地方区域的展示提供增强效果,因此,需要进行移动端定位,并根据定位信息提供个性化素材。为此,系统采用了LBS定位技术进行定位分析,并结合移动端自身拥有的物理传感器进行了空间姿态分析,为资源管理、图像识别以及渲染提供帮助。

为体现以用户体验为中心的设计原则,系统添加了人机交互功能,主要体现于系统的渲染模块和展示模块。系统通过事件队列分析用户点击触摸事件并根据队列进行资源调度整合,将相应的2D图像及3D模型根据事件分别进行渲染展现,这个功能主要通过XML文档规范定义事件类型及相应资源辅助完成。

进行渲染前,系统需先通过图像分析识别获取真实环境中的光源有效信息。在对移动端摄像头获取的前景图像进行滤波处理之后,通过光源检测获取图像中的有效,3源并对其进行优化,提供渲染模块进行渲染合成。系统通过三层图像层次结构将前景、2D信息以及3D信息进行层叠添加,并进行融合计算,最后展现于终端屏幕上,该展现方法将在本文中进行详细介绍。

此外,系统保证各个模块按照时序依次计算运行。运行过程中,系统的瓶颈在于各个图像处理以及渲染计算。若是计算时间过久,系统不能在人眼视觉暂留时间内完成下一帧图像的绘制展现,将会导致卡顿或延迟现象,无法满足系统的实时特性。因此,我们对耗时较多的功能模块进行了优化,例如对图像光源检测算法的优化,绘制渲染过程中的优化等等,保障了系统的实时性。系统架构

本系统是应用于大型户外展示场景的移动端增强现实系统。本文具体描述了基于移动平台的增强现实系统的整体框架,业务流程以及实现方案。简要介绍了系统的构架,包括如何获取和管理整个系统的素材资源,如何在获取本地及服务器资源之后进行虚实叠加的渲染以及展现。

2 系统架构

本系统是应用于大型户外展示场景的移动端增强现实系统。本文具体描述了基于移动平台的增强现实系统的整体框架,业务流程以及实现方案。简要介绍了系统的构架,包括如何获取和管理整个系统的素材资源,如何在获取本地及服务器资源之后进行虚实叠加的渲染以及展现。

2.1 系统概述

本系统应用户外场景,需要解决渲染虚拟素材的匹配对应问题。用户携带移动终端进入系统预设的展示秀区域,自动从远端资源服务请求并下载必须的素材资源;使用移动终端自带的摄像头对展示场景进行拍摄,结合移动设备的物理传感器数据,获取摄像头的实时图像数据并经过预处理、分析、资源整合、虚实叠加渲染等阶段,最终以多种方式为用户展现出增强现实的视觉效果。系统的结构以及数据流程图如图1所示:

2.2 流程描述

系统的工作流程如下:

(1)当地理信息模块进行特定区域检测,发现移动端进入展示区域内后,地理信息模块将位置信息向远端资源服务请求对应的个性化资源;当移动终端在特定区域内时,将移动终端的空间状态信息传递给渲染模块。

(2)资源管理模块对本地载入的资源以及从远端资源服务获取的资源进行管理,为渲染模块提供虚拟素材。

(3)取景模块从移动终端的摄像头获取图像信息。

(4)渲染模块得到图像信息,通过对其进行光源检测获得若干光源,将地理信息模块的位置信息、资源管理模块的虚拟素材、取景模块的背景做渲染整合,从而实现虚实叠加的效果,并为展现模块提供渲染后的图像。

(5)以多种方式展现方式将最终的虚实结合画面呈现出来,例如移动终端屏幕直接展示,或者以高清图片、视频的形式存储于移动终端等。

2.3 地理信息模块

(1)模块功能

地理信息模块的功能是通过 LBS(Location Based Service)定位服务请求并获取移动终端的位置,并对这个位置结果进行分析处理,并将地理位置信息存储于本地,当本地资源与该位置结果不匹配时,则传输给服务器请求对应个性化资源,另外还通过移动端上附带的物理传感器获取判断移动端的空间姿态。该模块主要包括了 LBS定位、特定区域检测功能和空间状态分析功能3个主要功能。

(2)LBS定位分析

在进行LBS定位并分析的时候,主要分为以下3个步骤:

a)向LBS运营商发出定位请求。

b)对LBS服务器定位返回的数据进行解析处理,获取需要的移动终端位置等有用信息。不同的网络定位请求会导致定位精度不同,同时定位也会出现误差,存在精确度不高的问题,系统需对结果采用均值法和众数法等方法优化提高定位结果精确性。

c)将分析得到的结果上传到远端资源服务器,服务器根据定位信息提供个性化资源服务。

(3)特定区域检测

在 LBS定位分析后,根据定位结果进行特定区域检测,以实现系统的个性化资源推送功能。其原理是计算移动终端定位结果与预先定义的区域中心之间的距离,当距离小于一定的阈值时,便可判断移动终端进入了某个特定区域,并自动向远端资源服务发送该区域的位置信息等,远端资源服务则根据区域具体信息向移动端推送相应的个性化资源。

(4)定姿分析

现代移动终端大多都内置了一些例如陀螺仪、重力传感器、加速度传感器等等物理传感器元件,本模块通过陀螺仪及加速度传感器获取计算设备朝向、倾斜角度、翻转角度等状态参数信息,以确定移动终端的空间姿态,并将其交给渲染模块对虚拟素材协助进行渲染。

2.4 资源管理模块

资源管理模块模块负责系统的资源存储和管理,并为渲染系统提供虚拟素材(包括计算机合成的三维模型和二维图像、二维图像序列、动态图以及事件脚本等等)。该模块管理的资源按其来源可分为以下2种:

本地资源,本地拥有一些渲染模块必要的资源,在系统启动时可预先进行加载。

远程资源,当系统启动而地理信息模块提供的地理位置与本地存储的资源不匹配时,系统需通过远程资源服务获取相应的个性化资源,解析得到虚拟素材并存储于本地,在系统启动后延迟加载所需要的资源。

2.5 取景模块

取景模块负责增强现实系统的图像采集工作。该模块通过移动设备的后置摄像头取景,按照每隔40ms一周期的频率获取一张背景图像。该背景图像将被将被渲染模块用于光源检测以及图像融合。

2.6 渲染模块

渲染模块位于增强现实系统的核心,负责真实背景和虚拟素材的整合,将虚拟物体无缝融合到真实背景中,给人以虚拟物体真实存在的感觉。其中,真实背景来自取景模块,是移动终端实时拍摄到的真实场景图像,虚拟素材则来自资源管理模块。本模块流程参考增强现实系统流程图中的渲染部分,其处理流程大致可以分为识别、单层渲染和多层融合3个阶段。

(1)识别:基于计算机视觉方法对真实背景图像进行光源检测。采用光源检测算法对真实背景图像提取真实背景中的光源信息,检测得到的光源信息将用于下一阶段的渲染。利用光源检测算法动态检测真实场景中的光源信息,能够实时反映真实场景中的光照变化,使渲染后的虚拟素材能够更真实地融合到真实场景中。

(2)单层渲染:根据识别阶段获取的光源信息,同时,根据地理信息模块提供的移动终端空间姿态信息,对虚拟素材中的三维模型进行单层实时渲染。在这个过程中,先根据空间姿态信息对三维模型进行对应的旋转缩放等操作,再利用光源信息建立光照模型,该模型可表述为环境光、散射光以及镜面反射光的总和[14]。根据该光照模型,采用真实光学环境的模拟技术,依照虚拟素材预设置的材质设定相应的参数,实现并综合阴影、反射、折射和色散等光学效果,对三维模型进行光照渲染,以增强虚实融合的真实感。

(3)多层融合:虚拟素材经过渲染后,根据绘图层次架构进行依次绘制,再将其融合生成虚实融合的最终图像。绘图层次如图2所示:

图2 渲染模块层次效果图

多层融合阶段的图层主要由3个绘图层组成,底层为镜头图像层,来自取景模块,是最后融合展现的图像背景;中间层为三维模型投影层,该图层绘制的是虚拟素材中的三维模型经过单层渲染后投影到二维平面上所得到的投影图像;顶端层为二维图像层,响应系统用户的操作(例如触摸点击事件等),对对应的二维虚拟素材(包括静态图像、图像序列以及动态图等等)进行整合绘制。最后,渲染模块通过图像融合算法将这3个图层融合成一个完整的图像,形成单帧图像并转交给展现模块。

渲染模块采用了3个绘图层来进行图像融合,实现了虚拟现实融合场景三维模型实时渲染复杂计算和二维素材绘制的分离,减轻了移动设备的计算负担,同时也使不同的虚拟素材类型分别进行渲染,保证了各自渲染的效果。

另外,渲染模块的识别和绘制步骤中的计算部分都由算法组件完成,包括光源检测算法、图像融合算法等。这些算法组件具有独立存在的、可拆卸等特点。即使在运行在低性能的设备上,当这些计算性能不足以在生成展现图像的间隙完成所有计算工作时,也可以通过拆卸部分算法组件的方式,牺牲部分渲染效果减少计算量以保障系统的实时性以及流畅性。

2.7 展现模块

展现模块的功能是将渲染模块渲染完毕的图像展现给用户。在获取到渲染模块缓冲区中的最终图像后,通过双缓冲技术将图像在终端屏幕上刷新展现,屏幕刷新的时间间隙应小于人眼的视觉暂留时间,这里我们设置为40ms。另外,展现模块还支持将渲染图像以高清图片或者视频文件的方式存储到移动终端上。

3 系统实验

本文系统分别在目前最为流行移动终端系统之一——Android系统上进行实现,使用采集得到的视频影像来模拟实时变化的场景,对此场景进行识别渲染。

实验将采集到的视频影像投影在幕布上,而我们固定移动终端对幕布进行拍摄,便实际反映移动终端摄像头对户外场景的采集过程。

摄像机每分钟拍摄25帧并将彩色图像传送给渲染模块,渲染模块对图像进行实时处理,并同时完成虚拟素材的渲染和虚实场景的融合。系统采用的硬件设备参数如表1所示:

表1 硬件设备参数

为了保证系统的实时性,系统采用了先验知识对图像算法组件进行了优化。实验中各个步骤的时间测量值如表2所示:

表2 系统分步运行时间

其中优化后的图像处理时间仅为8ms,低于每帧40ms的帧获取时间间隔,而渲染的时间随着渲染素材的增多而变长,对200个二维虚拟素材、1个3000片元着色器的三维虚拟素材的实时渲染时间约为16ms。

由实验结果可知在普通性能的移动设备上对户外场景进行渲染是完全可行的,若是在算法的性能优化和渲染的效率上进一步改进完善,增强现实的普及应用将值得我们期待。

系统效果图如图3所示:

图3 系统效果图

4 总结

本文介绍了一个基于移动端的增强现实系统,该系统通过LBS定位及图像识别户外场景,应用改进算法进行光源检测,最后利用这些信息对摄像头获取的镜头图像进行虚实融合,最后形成图像显示输出,具有实时、精确、新颖等特点,同时实现了几个应用了图像处理的小游戏,能与用户进行充分的互动,从而体现了增强现实系统独特的魅力。

该系统在现在主流的移动终端硬件上都能流畅运行,且能做到实时、精确、新颖、与用户互动性良好等特点,同时引进了游戏的功能。但是在做到完美融合,给用户带来更好地体验上还存在一定的差距,随着图像识别分析算法的不断优化以及硬件设备性能的提高,这一瓶颈也将不再是问题。

此外,文章也对移动端增强现实系统的研究应用现状进行了简略介绍。虽然增强现实系统在广泛应用于移动端上还存在硬件性能不高、算法效率不够等不少问题,但却拥有着广泛的应用前景和巨大的市场潜力。当这些问题被一一解决之后,增强现实系统将是未来移动端应用的主要发展领域之一。

[1] 林倞,杨珂,王涌天,等.移动增强现实系统的关键技术研究[J].中国图象图形学报,2009,3:560-564.

[2] 王涌天,林倞,刘越等.亦真亦幻的户外增强现实系统——圆明园的数字重建[J].中国科学基金,2006,2.

[3] 朱淼良,姚远,蒋云良.增强现实综述[J].中国图象图形学报,2004,7.

[4] 程志,金义富.基于手机的增强现实及其移动学习应用[J].电化教育研究,2013:66-70.

[5] 谭嫄嫄,彭玉元.基于AR技术的文物展示移动平台APP开发[J].电脑编程技巧与维护,2014,(20).

[6] 陈一民,李启明,马德宜等.增强虚拟现实技术研究及其应用[J].上海大学学报(自然科学版),2011,4:412-428.

[7] 孙源,陈靖.智能手机的移动增强现实技术研究[J].计算机科学,2012.

[8] 石大宏.Android移动平台上的目标识别[J].计算机与数字工程,2014,4:612-615.

[9] 杨晓.移动平台上的增强现实系统关键算法研究综述[J].进出口经理人,2014.

[10] 王萍.基于增强现实技术的移动学习研究初探[J].现代教育技术,2013,5.

[11] 黄小凤,宋瑾钰,俞成海.基于OpenGL ES的移动平台的三维模型绘制[J].工业控制计算机,2013,1.

[12] 陆钢,朱培军,李慧云等.智能终端跨平台应用开发技术研究[J].电信科学,2012,5.

[13] 钟慧娟,刘肖琳,吴晓莉.增强现实系统及其关键技术研究[J].计算机仿真,2008, 1:252-255.

[14] 吴亚峰.Android 3D游戏开发技术宝典[M].北京:人民邮电出版社,2012.

TP3.41 文献标志码:A

2015.04.01)

1007-757X(2015)08-0007-03

国家科技支撑计划项目(编号:2012BAH59F04)

林坚渤(1991-),男,复旦大学,计算机科学技术学院,上海市智能信息处理重点实验室,硕士研究生,研究方向:图形图像处理,上海,201203朱允斌(1974-),男,复旦大学,计算机科学技术学院,上海市智能信息处理重点实验室,博士研究生,上海,201203董欣宇(1981-),男,上海集成电路技术与产业促进中心,工程师,上海, 201203

猜你喜欢
光源终端现实
光源改变光环境
我对诗与现实的见解
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
漫画:现实背后(下)
GSM-R手持终端呼叫FAS失败案例分析
绿色光源
两种LED光源作为拟南芥生长光源的应用探究
一种基于Unity3D+Vuforia的增强现实交互App的开发
科技连载:LED 引领第三次照明革命——与传统照明的对比(一)