基于ARToolKit的增强现实课件的设计与制作

2015-09-27 02:33徐敏童强陈栋才向康琴
现代计算机 2015年25期
关键词:应用程序摄像头现实

徐敏,童强,陈栋才,向康琴

(湖北师范学院计算机科学与技术学院,黄石 435002)

基于ARToolKit的增强现实课件的设计与制作

徐敏,童强,陈栋才,向康琴

(湖北师范学院计算机科学与技术学院,黄石435002)

0 引言

增强现实(Augmented Reality,AR)是由虚拟现实(Virtual Reality,VR)发展出来的研究领域,是一种将计算机产生的虚拟物体与真实环境进行合成并对景象加以增强或扩充的技术。Azuma给出的增强现实的定义是:虚实结合;实时互动;三维注册[1],在同一环境下实现虚拟物体与周围真实环境的结合效果,实现人与虚拟物体的交互操作。随着AR技术的发展,它已经可以广泛应用到军事、医疗、建筑、教育、工程、影视等领域。在教育领域AR技术可以用于虚拟交互、电子书出版、课件等多个方面。Shelton和Hedley采用AR技术进行九大行星的教学实验,他们发现通过使用AR技术,可以使教师仅用较少的教学材料就可以进行教学活动,并且在学生的学习过程中比较容易形成互动,让学生更容易理解学习内容[2]。例如:立体几何、磁感线、物体运动、力的表示、分子运动、天体运动等。传统的多媒体课件虽然也能高效地展示知识,但相比融合了增强现实技术的课件缺乏实时互动的功能,不能完整表示部分教学内容中的抽象概念。增强现实技术的课件不仅保留了传统多媒体课件该有的静态展示效果,更融入了相关文字所对应的虚拟场景,将理论与实践结合,达到了事半功倍的教学效果。美国新媒体协会在2010、2011年的Horizon报告中,均将其列入2-3年内会在教育中得到广泛应用的技术[3-4]。

1 增强现实课件工作原理

增强现实课件的工作原理如图1所示:上课时,增强现实应用程序利用摄像头获取教师使用的识别标识上的特征信息,一旦成功识别出标识,程序计算出该标识的位置和姿态信息,同时根据预先置文件在找到与之匹配的有关虚拟教学模型,经过软件程序处理后,根据标识的坐标信息,在显示设备输出。视觉效果上虚拟的教学模型或者多媒体素材,完全融合在真实的场景中,就像教师真的拿着一个教学模型。利用这种课件,教师只需要携带一些标识卡片,就可以生动地进行事实动态地讲解各种教学内容,例如在手上展示地球,展示各种生物等。

2 增强现实开发工具ARToolKit

增强现实开发工具有许多种,本文选择了可以免费使用的增强现实开发工具ARToolKit[5]。ARToolKit最初是由日本的加藤博一博士与美国华盛顿大学联合开发的增强现实系统二次开发工具,是一套基于C和C++的增强现实系统开发包,支持不同的操作系统,如Windows、Linux、Mac OS X等,可以帮助开发人员方便地开发增强现实应用程序。ARToolKit后续的发展得到华盛顿大学HCI实验室和新西兰坎特伯雷大学的大力支持。ARToolKit成为广泛使用的增强现实研究工具。

图1 增强现实课件的工作原理图

开发一个ARToolKit的应用,必须熟悉它的基本框架及其每个框架内所调用的函数,它主要包括三个阶段:初始化、主循环、关闭。

(1)初始化:开始视频捕捉;读取面板库以及摄像机特性参数;相关的函数包括:arVideoOpen(),arVideoInqSize(),arParamLoad(),arInitCparam(),arParamChange Size()。

(2)工作循环:抓取一帧输入视频;探测矩形边框标识;获取标识后计算摄像头—标识的位置转移矩阵,记忆标识参数;计算标识—模型的坐标映射关系,匹配虚拟物体,最终虚拟物体叠加在真实场景中输出。主要相关函数包括:循环框架模型argMainLoop()、OpenGL的循环框架模型glutMainLoop()、寻找正确的Marker模板的函数arDetectMarker()。

(3)关闭视频,释放资源。相关函数包括:arVideo-CapStop()、arVideoClose()、argCleanup()等。

3 增强现实课件的制作过程

基于ARToolKit的增强现实课件的设计和实现,按照从标识(Marker)的设计与制作、虚拟物体模型的设计与制作,再到利用ARToolKit进行增强现实应用程序编程,最后课件课堂完成增强现实效果展示,可以分为四个关键步骤实现:

①标识的设计制作和参数编辑;

②3D模型素材的设计制作和参数设置;

③利用ARToolKit开发包设计增强现实应用程序;

④教学实践演示。

(1)标识的设计与制作

制作标识(Marker)的目的是按照跟踪引擎的需要特制的一个标记图形,ARToolKit增强现实应用程序根据这个标记分析和计算它的图形信息,并通过它来计算三维模型要显示的位置和状态。这个图形标记需要包含黑色边框和内部的图形,为了方便使用和便于应用程序识别,可以采用在框中加汉字的方式。图2是一个标识的例子。

图2 一个带有汉字信息的标识

通过平面图像编辑器制作便于识别的平面标识图,本文使用Adobe illustrator软件,按照一下步骤制作标识:

①打开Adobe illustrator矢量图形软件,把blank Patt.gif(只有边框的空图片)导入到软件中。②新增图层2,选中该图层并在中间白色空间处建立自己的文字图块或绘制图形。输入字母或汉字,设置对应字号、字体大小以及字宽等,或者绘制对应的简单图形并填充颜色。③保存Marker设计,选择PDF的存储类型。把保存Illustrator编辑能力的选项打勾,这样方便日后可再用Illustrator进行下一步修改,储存。④再用上述同样的方法设计其他的Marker,然后打印出Marker。

(2)训练标识及标识参数设定

为了ARToolKit应用程序能够有效识别标识,实现增强现实效果,要先训练系统能够识别标识,也就是让系统认识制作的标记。

①打开ARToolKit自带的mk_pattd程序,按照系统提示输入一个摄像机的参数文件夹名字路径,例如Datacamera_para.dat。程序会打开另一个视频窗口,此时应该转动摄像头对准前面打印出Marker直至视频图像中的方块红绿框,单击鼠标左键。②输入一个标识文件名,例如patt.bird,此时,文件夹里面会生成一个patt.bird文件,patt.bird文件存储了该标识(Marker)的特征信息,用于后续增强现实应用程序对标识的识别和匹配。③只需要用摄像头对着不同的标识重复以上步骤,就可以为每种标识创建对应的标识文件。

为了在增强现实程序中实现不同的标识对应不同的模型对象,还需要预先在一个文本文件object_data中对匹配的模型和标识进行参数设置,在object_data文件中,每个标识都按一定结构详细说明,内容包括:名字、模板识别文件名、跟踪模板的宽度、跟踪模板的中心。下面这个例子中设置了模型文件bird.dat和标识文件patt.bird的对应关系。

(3)3D模型的设计与制作

3D模型的来源主要有两种途径,一种是下载开源的3D模型,这在网络上可以找到很多资源;另一种是选用3DSMax或VRMLPad等编辑器制作或者加工相应的三维模型,3D模型的格式有很多中,用ARToolKit开发的应用中一般将虚拟物体存储为储存*.wrl的格式。图3是在3DSMax中和VRMLPad中编辑黄雀模型的示意图。

图3 利用3DSMax中和VRMLPad制作三维模型

制作好的wrl文件放在..Wrl文件夹下,并为每一个虚拟物创建对应的.dat文件,此文件的作用是,在增强现实调用wrl模型文件的时候,提供wrl模型文件的基本信息,还可以通过调整参数,对虚拟模型的wrl文件进行位移、旋转、缩放的设定,而不必在三维软件进行调整。例如Bird.dat文件内容如下:

(4)增强现实应用程序设计

ARToolKit开发包,将增强现实应用开发中最困难的一些部分,如探测标识、计算摄像头转移矩阵、三维注册等功能实现了函数封装,同时ARToolKit开发包还提供了丰富的实例,使普通开发者在其基本框架上,能够非便、快捷地开发增强现实应用系统。本文增强现实应用程序流程图如图4所示。

图4 增强现实课件应用程序实现流程图

首先在初始化模块依次完成了3个步骤:①初始化摄像头:打开一个视频源(摄像头),获取摄像头窗口大小,加载摄像头并获取摄像头精度,根据获取的摄像头精度参数修改摄像头的相关设置,载入摄像头的显示参数;②用arLoadPatt()函数加载标识文件,该函数直接加载进程序要识别的标识的信息文件,并返回属于该标识的特定ID号;③调用arVideoCapStart()函数启动摄像头。

主程序的循环工作的部分:①利用arlOdeoGetlmage函数采集一帧图像;②利用arDetectMarker函数寻找视频图像中是否包含有特定的标识;③如果找到标识,例如图2的黄雀,则调用arGetTransMat函数计算变换矩阵;④根据模型文件信息,调用标识对应的模型,正确显示到实际场景。

主程序保持循环工作,直到遇到退出操作则程序关闭视频捕捉,退出程序。

(5)增强显示效果展示

将带有黄雀标识的课件放在摄像头下,启动增强现实程序后,在显示器或者投影仪上的显示效果,如图5所示。转动标识可以呈现黄雀的各个方向的视图,和在手中展示一个真实的黄雀标本一样。

基于ARToolKit的增强现实课件把虚拟模型的具体表示与待学习的抽象表示相关联,通过直观展示虚拟模型的方式吸引学习者的求知兴趣,实现了虚拟世界和真实世界的实时同步,让学习者可以身临其境的感知当中的内容,而且能够突破空间、时间以及其他客观因素的约束,感受到真实世界中无法亲身经历的体验,整个学习过程不再枯燥单调、抽象,充满趣味。

图5 黄雀增强现实课件的显示效果

4 结语

后续工作中,准备在课件中增加更多的交互控制功能,在屏幕中展示相应的3D模型,并允许用户控制模型的显示比例、旋转方向、移动位置等参数;基于增强现实技术的课件,不但可以加入三维模型,还可以加入其他多媒体元素,后续工作的一个方向是,制作更加生动的虚拟模型以及3D动画等,使增强现实课件更生动、精彩。

[1]Azuma,R.T.A survey of augmented reality[J].Teleoperators and Virtual Environments,1997,6(4):355-385.

[2]Shelton B,Hedley N.Using augmented reality for teaching earth-sun relationships to undergraduate geography students[C].Augmented Reality Toolkit.The First IEEE International Workshop,2002.

[3]Johnson L,Levine A,Smith R,Stone S.The 2010 horizon report[M].Austin,Texas:The New Media Consortium,2010.

[4]Johnson L,Smith R,Willis H,Levine A,Haywood K.The 2010 horizon report[M].Austin,Texas:The New Media Consortium,2011.

[5]ARToolKit.http://www.hitl.washington.edu/ARToolKit/.2003

Augmented Reality;3D Model;ARToolKit;Courseware

Design and Production of Augmented Reality Courseware Based on ARToolKit

XU Min,TONG Qiang,CHEN Dong-cai,XIANG Kang-qin
(Department of Computer Science,Hubei Normal University,Huangshi 435002)

1007-1423(2015)25-0063-05

10.3969/j.issn.1007-1423.2015.25.017

徐敏(1990-),女,硕士研究生,研究方向为智能计算与人机交互

童强(1968-),男,硕士,副教授,硕士生导师,研究方向为增强现实、机器视觉、人机交互技术

陈栋才(1991-),男,湖北大冶人,本科,研究方向为增强现实应用技术

2015-06-16

2015-08-25

研究了基于ARToolKit的增强现实课件的实现原理和制作流程,结合一个动物课件实例,介绍标识制作、3D模型设计以及增强现实演示软件编程以及课件展示等四个主要环节的实现过程,展示增强现实课件的演示效果。

增强现实;3D模型;ARToolKit开发包;课件

湖北省高等学校省级教学研究项目(No.2014367)、湖北省教育厅科技项目(No.B20132505)、国家级大学生创新训练项目(No.201310513008)

向康琴(1991-),女,湖北黄梅人,本科,研究方向为增强现实应用技术

Studies the realization principle and production flow of the augmented reality courseware based on ARToolKit.Takes animal courseware as an example,introduces the process of realizing three main links,such as logo production,3D model design and augmented reality demonstration software programming and courseware display.Demonstrates the effect of the augmented reality courseware.

猜你喜欢
应用程序摄像头现实
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
我对诗与现实的见解
漫画:现实背后(下)
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
一种基于Unity3D+Vuforia的增强现实交互App的开发
奔驰360°摄像头系统介绍
现实的困惑
三星电子将开设应用程序下载商店