移动增强现实应用编著方法

2015-08-26 01:02杨旭波
关键词:关键帧编著涂鸦

曹 阳,杨旭波

(上海交通大学 软件学院,上海200240)

移动增强现实应用编著方法

曹阳,杨旭波

(上海交通大学 软件学院,上海200240)

移动增强现实应用中,动态场景对于用户表达自身想法十分重要,但是现有编著工具对于动画编著的支持不足.针对该问题,设计并实现了一个基于手持移动设备的增强现实应用编著工具.该工具提供了可视化连续帧动画的编著方法,用户无需编码即可快速创作动态场景.通过实验与问卷调查评估该工具的系统性能及易用性.结果表明,该移动增强现实应用编著方法不仅高效且易于使用.

增强现实;编著;动画;涂鸦;关键帧编辑

增强现实技术具有将真实世界信息与虚拟世界信息“无缝”集成的特性[1],使其在制造、教育等各种应用领域[2]拥有广阔的发展前景.而由于手持移动设备的普及(如智能手机与平板电脑)和其他新型技术的发展(如二维码[3]),增强现实技术也逐步应用于导览[4]等移动应用领域.文献[5]介绍了移动增强现实技术所具备的市场潜力和应用前景.但目前移动增强现实应用的开发涉及大量图形学及平台相关的编码工作,因此基本由专业人员根据需求定制开发.为简化开发流程,降低开发难度,对移动增强现实应用编著的研究也日趋热门.

由于开发移动增强现实系统涉及许多专业技术,如图样识别与跟踪、三维注册等,部分研究者的工作重点集中于将这些底层算法代码封装于软件开发包内,如Vuforia SDK(高通公司产品).虽然这类底层编著工具提供了稳定的图样识别等功能,用户仍需编写大量的代码控制场景中模型的布局、运动、渲染等工作. 为使用户专心于编著应用内容,文献[6-7]致力于设计通用的高层编著工具.这类工具提供图形用户界面[6]或可触用户界面[7],即便是无编程经验的普通用户也能编著.此外,文献[8-11]则将重点放在开发特定应用场景下的编著工具,例如工业维修[8]、电子学习[9]、游戏设计[10]和临场编著[11].

尽管现有工具在编著静态应用时十分方便,但对于动态场景编著的支持不足.有些工具提供脚本编辑的动画编著环境,如Metaio Creator(Metaio公司产品).然而对用户而言,这种动画编著方式并不直观,且不适合基于移动设备的临场编著.因此,文献[12]设计了一种基于编辑关键帧的刚体运动动画编著方式,这种方式比脚本编著方式更加直观、易用,但在物体运动轨迹或姿态变化较为复杂时,由于需要逐个指定的关键帧数量太多,该方法会耗费用户大量的时间.

针对以上问题,本文设计并实现了一个基于手持移动设备的增强现实应用编著工具.其采用“所见即所得”的设计思想,使用户在编著时就可获取及时的反馈.本系统采用基于图形界面的编著环境,用户无需任何编码即可快速完成包含动画的增强现实应用编著.用户先以涂鸦方式快速创建动画原型,再编辑关键帧为动画增添细节,此方法有效降低了用户编著动画的操作复杂度.此外,本文引入参考面与投影线技术,用户通过这些技术的辅助在二维屏幕空间上完成三维虚拟场景布局与动画创建.

1 编著环境设计

目前,在移动增强现实应用的编著环境设计中主要存在以下两大问题.第一,现有移动增强现实编著工具一般采用先编著后运行的编著形式.用户需要针对目标标志物设计虚拟场景,再通过编译或者发布应用的方式查看最终结果.这会造成用户所想与实际所得有所偏差,使用户陷入场景细节调整而无法专心于设计应用内容.第二,现有工具对于应用中动画编著仅提供脚本编著环境.对于不会编码的普通用户,难以使用这种编著环境.而对于有一定编码经验的用户而言,这种方式也不够直观,并且不适合临场编著.

针对第一个问题,本文采用“所见即所得”的思想,将用户编著过程安排在应用运行时刻.即用户向一个场景为空的运行中的应用添加所需的内容,每一步的操作都能显示出该应用的最终效果,使用户及时获得反馈以便修改.而针对第二个问题,本文采用可视化设计连续帧动画的编著方式.不同于大部分现有编著工具通过代码指定场景中物体运动的方式,本文方法直观、高效.本文提出的涂鸦方法让用户能快速地绘制物体的运动轨迹,系统根据此轨迹自动生成一系列的关键帧,用户在此基础上再对关键帧进行调整.不同于文献[12]的方法,本文方法在物体运动比较复杂,尤其是包含曲线运动的情况下,编著速度更快也更加准确.

2 场景布局与物体操控方法

由于用户的操控空间在二维屏幕空间,而应用中增强信息则是在三维场景空间中,深度信息的丢失使用户对虚拟物体的操控变得艰难.研究者们一般采用基于跟踪的方法弥补丢失的深度信息.由于一般商用智能手机与平板电脑只配备单个彩色摄像头,在此类平台上通常采用计算机视觉方法实现跟踪[12].但基于视觉的跟踪受光照条件、手势遮挡的影响[7],稳定性有所欠缺,对用户体验易产生负面影响.因此,本文通过在系统中添加辅助标记与约束的方法实现操控与布局的交互,在基于触控交互的基础上设计参考面与投影线进行辅助,让用户在二维屏幕空间内即可操控虚拟物体进行三维场景布局.

2.1初始设计

为弥补丢失的深度信息,考虑到现有建模软件中通常使用三视图来描述模型在三维空间中的位置,本文采用相似的思路,将用户在屏幕空间的操作映射到三维空间中某一平面上的操作.根据目标图样建立了一套相对的三维直角坐标系,提供3种带有网格的辅助平面,并称之为参考面,如图1所示.这3种参考面分别让用户在俯视、正视以及侧视角度下使用.

(a) 平行于目标图样的参考面

(b) 垂直于目标图样朝向前后的参考面

(c) 垂直于目标图样朝向左右的参考面图1 初始参考面设计Fig.1 Prototype design of reference planes

由于屏幕空间上的点转化到场景空间中时为一条起始点,其为相机在场景空间中的位置,方向与相机在场景空间中的角度和屏幕空间坐标相关的射线,因此,除参考面法向量与射线方向向量相垂直的情况外,参考面始终能与该射线有唯一的交点(如图2所示),由此建立起屏幕空间至场景空间参考面的映射关系.

图2 屏幕空间至参考面空间投影原理示意图Fig.2 Principle diagram of projecting screen space to reference plane space

本文借鉴了目前主流的触控交互手势,针对模型的选择、平移、旋转和缩放设计了符合大多数用户所习惯的触控交互手势(如图3所示).用户在调整模型姿态时,先通过点击选中模型,再选择编辑状态为平移、旋转或缩放,然后使用对应的触控手势进行模型姿态的调整.

(a) 用于选择的单点触控手势

(b) 用于平移和旋转的单点触控手势

(c) 用于缩放的多点触控手势图3 触控手势示意图Fig.3 Diagram of touch gestures

在实现参考面与触控手势后,进行了易用性评估,实验内容以及数据分析将在第5节中展开.在实验中,实验对象反映在某一特定参考面上进行操作较容易,但很难判断虚拟场景中两个物体的相对位置,此外布局时需要频繁切换参考面.为了使用户在不同视角下方便操作,本文提供了两种垂直方向上的参考面,但在观察中发现实验对象即使使用了不适合所处视角的参考面,导致可供操作的空间十分狭窄(如图1(c)),也不会主动去切换一个更适合该视角的参考面.

2.2设计改进

根据实验中发现的问题以及实验对象的反馈,本文对参考面的设计进行了改进.首先,将参考面减少为两种,平行于目标平面的参考面,如图4(a)所示,垂直于目标平面且始终朝向摄像头的参考面,如图4(b)所示.通过将图1(b)和1(c)两种参考面进行整合,能够保证用户在正视及侧视角度下始终有足够的操纵空间.即使用户走动也不必主动切换参考面,系统会根据摄像头所在位置对参考面的朝向进行自动调整.其次,引入模型到当前参考面的投影线,即物体到参考面的垂线(即图4右上方的灰线).这为用户判断模型间相对位置提供了参考依据.

(a)平行目标平面的参考面

(b)垂直目标平面且始终朝向摄像头的参考面图4 改进后参考面与投影线设计Fig.4 Improved design of reference planes and projection lines

3 动画编著方法

本系统中动画编著针对刚体运动动画,采用连续帧动画形式进行设计.用户能够通过涂鸦快速绘制物体运动轨迹,系统自动生成一系列关键帧来描述该运动,随后用户可以对关键帧进行调整,或对动画进行局部或者整体的改动.整个动画编著过程中无需任何编码,完全基于图形界面完成.在动画播放时,系统根据给定时刻的前后两个连续关键帧中模型姿态自动生成中间帧的模型姿态.本文采用三维向量描述模型位置与大小的变化,并通过线性插值生成中间状态.由于采用欧拉角描述的模型旋转不适合插值操作,所以本文采用四元数描述模型旋转,并通过球面线性插值生成模型旋转的中间状态.

3.1基于涂鸦的轨迹生成

设计涂鸦方法的目的是让用户能够快速创作一段模型运动动画的原型.与文献[12]需要用户创建每一个关键帧的动画编著方法相比,本文方法让用户着重于设计物体运动的行为,而关键帧的创建由系统自动完成.在涂鸦过程中,系统会记录用户在涂鸦过程中的触控点,并将其映射到当前的参考面上对应的模型空间中的三维坐标点(如图5所示).系统会根据预设的运动速度给这些三维坐标点生成对应的关键帧时间戳,继而完成关键帧的生成.

图5 用户正在涂鸦月球公转轨迹Fig.5 User is sketching the revolution orbit of the moon

3.2关键帧编辑

涂鸦方法适合于快速设计物体的运动路径,而基于关键帧编辑的方法更适合于对已有动画进行局部或整体上的调整.在本系统中,提供编辑已有关键帧中物体姿态的功能,用户选择关键帧后对该物体的平移、旋转、缩放操作均会改变动画编著结果.用户也能对已有动画调整其时长,系统会根据关键帧之间的时间间隔重新计算调整后的时间戳.此外,用户在编著动画时,可以随时预览当前结果,并暂停进行细节调整.系统会将暂停时用户调整的中间帧作为新的关键帧插入动画中.这种及时的反馈机制能够提高用户编著的效率与准确性.

4 系统实现

4.1软件架构

本系统采用客户端-服务器结构(如图6所示),用户通过客户端软件进行增强现实应用的浏览与编著,而使用的素材以及发布的应用均存放在服务器端,其中模型素材以二进制文件形式存储,应用则以可扩展标记语言(XML)文件形式存储.这种设计的优势在于用户完成编著之后,其他设备无需重复下载安装应用,只需获取文件进行解析即可.由于素材在服务器端共享,也提高了其利用率.

客户端程序基于Unity游戏引擎以及Vuforia软件开发工具包进行实现,使本文工作不必从实现底层的模型导入、渲染和图像识别与跟踪算法等工作开始,能够着重于设计编著方法、应用的数据格式与编著工具的交互.

图6 软件架构示意图Fig.6 Software architecture diagram

4.2应用与编著示例

本系统可以应用于中学教育中,教师可在备课时针对课本中的插图进行编著,并将应用上传至服务器,随后学生们可通过智能手机或平板电脑上的客户端浏览应用.比起传统的图片和幻灯片等课堂展示方法,动态的三维场景能够更直观、生动地对知识点进行展示.

例如,在地理课中,教师可通过图7所示应用讲解太阳、地球和月球的运动与潮汐、日蚀、月食等现象的关系;而在物理课中,教师所编著的牛顿摆应用(见图8)直观地展示了这一现象,学生在课后没有教具的情况下,也能直观地对虚拟的牛顿摆进行观察.

(a) 初始状态

(b) 经过一段时间后的状态

(c) 再经过一段时间后的状态图7 用于演示日地月运动的应用示例Fig.7 An example application illustrating the movement of the sun, the earth and the moon

(b) 最右摆球落下

(c) 最左摆球弹起图8 牛顿摆应用示例Fig.8 An example application of Newton’s cradle

针对图8所示应用,图9给出了编著过程的说明.首先,用户针对目标插图新建一个场景为空的应用;其次,用户从模型库中查找并添加牛顿摆模型至场景中;随后,用户通过参考面与投影线的辅助操作调整最右摆球的起始姿态;接着,用户通过涂鸦绘制摆球的下落轨迹,并调整起始与结束时摆线的位置和整段下落动画的时长;最后,在最右摆球正好触碰其他摆球的时刻,针对最左摆球插入一帧关键帧,用于保证在此之前最左摆球静止不动,并在此基础上涂鸦最左摆球弹起轨迹,同样调整起始与结束时摆线的位置和弹起动画的时长.至此一段牛顿摆球运动的演示动画应用完成.

(a) 初始时的空场景

(b) 在模型库中检索模型

(c) 向场景中添加牛顿摆模型

(d) 调整最右摆球的初始位置

(e) 编著最右摆球的下落动画

(f) 编著最左摆球的弹起动画图9 牛顿摆应用编著过程中的操作Fig.9 Operations in the authoring the Newton’s cradle application

5 实验与评估

在实验过程中将客户端程序部署于三星Galaxy Note 2014 Edition平板电脑(处理器:三星Exynos 5420 1.3 GHz+1.9 GHz,内存:3 GB),服务器端与数据库部署于宏碁4752G笔记本电脑(处理器:Intel CoreTMi5-2450M 2.5 GHz,内存:4 GB).

5.1系统性能测试

本次实验用于评估系统性能与算法效率,分别从不同规模场景对客户端运行帧率进行测试与分析. 本次测试使用的模型大小约为72 kB,每次向场景中递增相同个数的模型并记录客户端帧率,结果如图10所示.由图10可知,随着场景规模的增大,虽然客户端运行帧率有所降低,但在场景规模较大的情况下,客户端依然能够保持较高的运行帧率,能够达到实时运行.

图10 实验结果Fig.10 Result of the experiment

5.2系统易用性评估

本次评估共设立4项实验(见表1),其中实验1和2旨在测试本文提出的场景布局与物体操控方法的效率,以及对参考面的改进是否有效;实验3与4旨在测试本文提出的动画编著方法的效率,并将其与仅定义关键帧的动画编著方法进行比较.

表1 实验内容Table 1 Content of the experiment

在实验完成之后,每位实验对象需填写一份调查问卷(见表2),从主观角度评价实验涉及的各个模块和方法的易用性.每一题给出一句描述,实验对象通过评分判定符合程度,其中,-2分代表完全不符合,-1分代表部分不符合,0代表不置可否,1分代表部分符合,2分代表完全符合.问卷中1~4题从有效性角度描述,5~8题从易学性角度描述.

表2 调查问卷内容Table 2 Content of questionnaire

本实验共有10名实验对象参与,其中7名男性和3名女性,均为在校大学生,平均年龄为22.9岁.分别统计了实验对象完成任务用时,结果如图11所示.由图11可知:实验2平均用时比实验1缩短了44%,本文对参考面的改进确实有效,从客观上能够加快用户的三维布局操作过程;实验3平均用时比实验4少42%,可知实验对象在使用本文提出的方法比使用仅定义关键帧的方法编著动画时效率更高.

图11 实验结果Fig.11 The result of experiment

由图12所示的问卷结果可知,从题1与5的评分可知,本文提出的基于参考面与投影线辅助的物体操控方式能够满足直观、自然的交互体验,并且实验对象也容易掌握这种交互方式;从题2与6的评分可知,即使实验对象的操作空间为二维屏幕,使用本系统依然能够方便、直观地完成三维场景布局;从题3~4、题7~8可知,在动画编著功能上,实验对象对本文提出的方法在有效性和易学性两方面均超过仅定义关键帧的动画编著方法.

图12 问卷结果Fig.12 The result of questionnaire

6 结 语

本文设计并实现了一个基于手持移动设备的增强现实应用编著工具.本工具的编著过程安排在应用的运行时刻,与先编著后发布的应用编著方式相比,用户获得反馈更加及时,编著过程也更加直观.本文提出的连续帧动画编著方法,能以涂鸦快速创建运动轨迹作为动画原型,再通过编辑关键帧为动画增添细节.相较于目前少数几种能够支持非编程动画设计的编著工具,无需用户逐个指定所有的关键帧,极大地提高了复杂运动轨迹动画的编著效率与准确性,使用户能集中于内容编著,而非细节实现.此外,参考面与投影线技术使用户能够简单、自然地在二维屏幕空间中操控三维物体.

未来工作将会对系统的易用性做进一步提升,比如优化参考面的设计和投影线显示.此外,对于模型动画编著的功能,可以将现有仅对刚体运动的支持,扩展到对模型骨骼动画、流体动画等更复杂的动画设计的支持.

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

[2] 朱淼良,姚远,蒋云良.增强现实综述[J]. 中国图象图形学报, 2004, 9(7): 767-774.

[3] 桂振文,王涌天,刘越,等. 二维码在移动增强现实中的应用研究[J]. 计算机辅助设计与图形学学报, 2014,26(1):34-39.

[4] 张运超,陈靖,王涌天,等.基于移动增强现实的智慧城市导览[J]. 计算机研究与发展, 2014,51(2):302-310.

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

[6] 邵兴旦. 易用型增强现实系统开发工具的设计与应用[D]. 杭州: 浙江大学计算机学院, 2010:50.

[7] HÜRST W, DEKKER J. Tracking-based interaction for object creation in mobile augmented reality[C]//Proceedings of the 21st ACM International Conference on Multimedia. New York, USA: ACM Press, 2013:93-102.

[9] JEE H-K, LIM S, YOUN J, et al. An immersive authoring tool for augmented reality-based e-learning applications[C]//2011 International Conference on Information Science and Applications. Jeju Island, Republic of Korea: IEEE, 2011:1-5.

[10] HAGBI N, GRASSET R, BERGIG O, et al. In-place sketching for content authoring in augmented reality games[C]//2010 IEEE Virtual Reality Conference (VR). Waltham, USA: IEEE, 2010:91-94.

[11] LANGLOTZ T, MOOSLECHNER S, ZOLLMANN S, et al. Sketching up the world: In situ authoring for mobile augmented reality[J]. Personal and Ubiquitous Computing, 2011, 16(6):623-630.

[12] EITSUKA M, HIRAKAWA M. Authoring animations of virtual objects in augmented reality-based 3D space[C]//2013 Second IIAI International Conference on Advanced Applied Informatics. Matsue, Japan: IEEE, 2013:256-261.

A Method for Authoring Mobile Augmented Reality Applications

CAOYang,YANGXu-bo

(School of Software, Shanghai Jiaotong University, Shanghai 200240, China)

In mobile augmented reality (AR) applications, animated scenes are important for users to express their ideas, but current tools rarely support intuitive animation authoring. Aiming at this problem, an authoring tool for AR applications based on hand-hold mobile devices has been designed and implemented. The tool provides visualized continuous frame animation authoring method, so that users can create animated scenes rapidly in their applications without coding. Finally, the usability evaluations by experiments and questionnaires are presented. The result shows that the mobile AR applications authoring method is effective and easy-to-use.

augmented reality; authoring; animation; sketching; key frame editing

1671-0444(2015)04-0455-07

2014-11-14

国家自然科学基金资助项目(61173105,61373085)

曹阳(1990—),男,上海人,硕士研究生,研究方向为增强现实和人机交互. E-mail: feiyangtianji@sjtu.edu.cn

杨旭波(联系人),男,教授,E-mail: yangxubo@sjtu.edu.cn

TP 391

A

猜你喜欢
关键帧编著涂鸦
基于计算机视觉的视频图像关键帧提取及修复方法
创意涂鸦
自适应无监督聚类算法的运动图像关键帧跟踪
汕大高教所陈小红教授编著的编著的《潘懋元先生与汕头大学》出版
创意涂鸦
基于改进关键帧选择的RGB-D SLAM算法
基于聚散熵及运动目标检测的监控视频关键帧提取
绿巨人实验
《国学小子丛书》书目
涂鸦等