王清 张必兰
摘要:随着移动智能手机的发展,利用增强现实技术在Android系统中开发教育相关的学习软件,在移动便携、情景学习和人机交互等方面具有突出优势。该文以针对中小学生的英语学习软件为例,详细论述了使用NyARToolkit在Android平台上进行软件开发的过程以及关键技术的实现方法,积极探索了增强现实技术在教育学习领域的应用和需求,本项目实例结果验证了将增强现实技术应用于教育领域的可行性。
关键词:增强现实;NyARToolKit;Android平台;英语学习;教育技术
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6431-03
Abstract: With the technology advancement of smart phone, developing educational application on Android OS takes great advantage of augmented reality technology which can make the application more portable, pracital and interactive.The paper introduces the key technology of developing augmented reality application with NyARToolkit. Aming at English learning of primary and secondary students, this paper proves the feasibility of aumengted reality technology in learning practice.
Key words: Augmented Reality; NyARToolkit; Android Platform; English Learning; Educational Technology
增强现实(Augmented Reality,AR)是一种用计算机产生的附加信息对真实世界的景象进行增强或扩张的技术,综合了光电成像、多传感器、计算机图形、计算机视觉等多个学科,是在虚拟现实(VR)的基础上发展起来的新兴研究领域[]。传统的增强现实系统多基于具有强大计算能力和图形处理能力的计算机平台,需要昂贵的特殊设备,不利于增强现实系统的普及。
随着移动计算设备和网络技术的急速发展,具有高性能处理器以及接近普通PC机运算能力的智能手机逐渐覆盖了手机市场,其内置的高清摄像头、蓝牙无线接口及GPS定位系统等,使得增强现实技术在移动设备上的研究和应用也日益广泛。得益于智能手机不断提升的硬件性能,增强现实系统不再需要如早期系统一般,依靠远程服务器来处理数据,手机自身就可完成整个处理流程,实现增强现实效果,在便携性、移动性以及响应速度等方面具有巨大优势,也使得增强显示系统能够应用于更加广泛的领域。
目前,Android平台已成为智能手机最主要的操作系统之一。据市场调研机构Strategy Analytics于2014年1月发布的针对全球智能手机市场最新研究报告显示,2013年Android系统在全球智能手机市场的份额已经达到了79%,同时互联网消费调研中心(ZDC)发布的《2013-2014年中国智能手机市场研究年度报告》监测数据显示,目前中国智能手机市场上在售的机型中,搭载Android系统的产品占据90.1%的比例,成为市场的绝对主流,这是一个相当惊人的数字。
由此可见,基于Android系统的移动应用具有非常可观的发展前景,这无疑将有利于开发增强现实系统与Android平台相结合的教育相关应用。
1 软件的功能设计
1.1 主要功能
在经济全球化的趋势下,我国改革开放不断深入,英语成为一门越来越重要且实用的语言。语言是意义的载体,而词汇是语言系统的基石。心理学研究表明,通过视觉感知情景,加深语言声音和文字的结合、理解、记忆来掌握语言的效果比单独的听或者读要好[]。通过这种形象的学习法,能够在学生的大脑中建立实物模型与单词间的记忆联系。
基于此,该文设计并实现辅助中小学生英语单词学习及记忆的增强现实英语学习应用。该应用集文字、三维模型、声音等讯息内容于一体,将抽象信息与直观信息相结合,旨在通过增强现实技术为中小学生这一特定年龄群体制作能够调动学生学习积极性、激发学习兴趣的Android英语单词识记软件。
软件的主要功能有三个方面:识别单词AR卡片、显示单词对应三维模型、读出单词标准发音。学生用户启动本软件后,通过手机摄像头获取AR卡片中的英语单词,从而在手机屏幕上显示该英语单词所对应的虚拟模型,并播放相应的单词发音。这种新颖的学习方式能够为学生提供更加独特的教育体验和虚实结合的新型学习情境,有助于将学习的过程延伸到现实与虚拟交互的世界中,加深学生对于知识的记忆和理解。
1.2 工作流程
基于增强现实的Android英语单词识记软件的工作流程如图1所示。该应用通过开启智能手机摄像头获取包含AR标志真实场景的视频流,继而对所抓取视频流中的帧图像进行一系列的处理,进一步检测标志、提取标志顶点的坐标和方位信息,经过基本矩阵变换实现三维注册;最终在手机屏幕所显示的标志区域内绘制虚拟物体,以实现虚实结合的增强现实效果。
2 软件的实现过程
本软件所使用的开发工具为NyARToolKit工具包,在Eclipse集成开发环境下进行增强现实系统开发。NyARToolkit是从ARToolkit衍生而来的的可视AR类库,提供面向对象的纯java API,是Android增强现实应用的框架。体积小巧的NyARToolKit使得增强现实系统可以在Android平台上通过手机摄像头来实现。
为了实现该软件,需要完成制作识别对象、实现模型的三维注册以及渲染模型三个部分的内容。
2.1 识别对象的制作
本项目制作单词AR卡片作为增强现实系统的识别对象。单词AR卡片的作用是向虚拟物体提供绘制信息,根据这些信息就能够实时确定虚拟物体在真实场景中的正确位置,在很大程度上降低了计算机的计算要求和算法的复杂度。利于增强现实系统在Android智能手机平台上的实现。
NyARToolkit所识别的标志必须具有一个黑色的方框,在标志识别时需要先找到黑色的四边形方框,再进一步对标志中的单词内容进行识别和匹配。NyARToolkit开发包提供了标准的AR标志模板,可以通过绘图工具或者其他画图软件来制作需要的标志
单词AR卡片制作完成后则需要对其进行训练,提取相应的灰度值分布以存储为模板,此处使用了ARToolkit中提供的应用程序采集模板图像信息,将其转换为灰度值输出,此灰度输出值将在之后的三维跟踪注册的匹配过程中用到。
2.2 三维注册在NyARToolkit中的实现
本项目使用的NyARToolkit工具包有两个核心类,分别是ARToolkitDrawer类和NyARToolkitAndroidActivity类。
ARToolkitDrawer类用Java语言实现了ARToolkit中的标志识别以及目标跟踪功能。为了提取到我们所需要的标志信息,首先对摄像头获取的数字图像进行一系列的处理。以一定的频率读取视频流图像后,将每一帧图像按照一定的阈值区间转换为二值图像,以排除其他色彩信息对于识别过程的干扰;再通过不断地调整预识别图案边框的大小,在整个图像范围内搜索矩形区域,将搜索到的矩形区域与之前训练好的标志模板相匹配;一旦匹配成功则识别,同时在draw()函数中获取摄像头的外部参数,通过toCameraFrustumRHf()方法计算相对于摄像头的投影矩阵,将真实空间坐标转换为显示在屏幕上的图像空间坐标,以实现模型在标志上的三维注册与跟踪。
NyARToolkitAndroidActivity类用于呈现增强现实系统的最终效果。该类作为主界面使用户能够在该界面通过手机屏幕查看摄像头所获取的视频流,以便准确找到放置于环境中的单词AR卡片。为了用户能够在手机屏幕上实时查看真实场景视频流,首先对识别和渲染模块进行初始化。在initializeGLSurfaceView()方法中实例化一个新的ARToolkitDrawer对象并获取存储在资源中的单词卡片标志模版,用于获取摄像头采集的视频图像并进行标志识别。通过startPreview()方法确认摄像头硬件信息,设置摄像头参数。摄像头获取视频图像后,在PreviewCallback()方法中将预先获取的每一帧视频图像和相关基本信息传递给ARToolkitDrawer对象,用于识别。
2.3 Android平台下三维模型的实现
本项目使用三维建模软件MAYA建立三维模型,并且以OBJ的形式进行数据存储。在进行移动平台上三维模型的绘制时,只要将已经存储好的模型数据导入到移动平台上加以利用,并且解析这些三维模型,即OBJ文件,继而在平台上渲染出来即可,这样的方法大大提高了三维模型软件开发的效率。
2.3.1 OBJ文件的解析
Maya的开放系统输出数据文件类型有MayaAscii,Mayabinary,DXF,OBJ等。其中OBJ文件是一种文本文件,结构比较简单,可以直接用写字板打开进行查看和编辑修改。它保存的是一些多边形的信息,诸如顶点点几何坐标、纹理坐标,点与点如何连线组成线、面等等。用一个一个的多边形面片拼合就可以构造出三维物体[]。OBJ文件不需要任何种文件头(File Header),由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键词(Keyword)开头,关键词可以说明这一行是什么样的数据。多行可以逻辑地连接在一起表示一行,方法是在每一行最后添加一个连接符(\)[]。
下面简要介绍一下OBJ文件的解析过程。在Android平台上获取Maya的模型信息,解析OBJ文件,构建相应的模型数据结构,进而得到OBJ文件对应的结构体,如对象顶点的结构体、描述材质的结构体和描述模型的结构体。将OBJ文件的内容读到相应变量中,获取该三维物体的材质、颜色、顶点等描述信息。解析的流程图如图4。
4 结论
本文探讨了增强现实技术与虚拟教育相结合的一种方式,并设计实现了一个英语单词识记软件。与传统的英语单词学习方式相比,使用本文所开发的基于增强现实的英语单词识记软件能将英语的语言符号与手机计算生成的三维可视化模型结合起来,丰富了学习手段和乐趣,且该软件基于移动终端安卓平台,便于学习者随时随地的进行学习。
参考文献:
[1] 朱淼良,姚远,蒋云良.增强现实综述[J].中国图象图形学报,2004(7):3-10.
[2] 李妍,王雪玲,江凤霞,等.英语电子书应用与现代英语教学理论与方法革新研究[J]. 经济师,2011(8):137-138.
[3] 向南平,江资斌,左廷英.OpenGL中Maya模型的应用[J].微型电脑应用,2002(10):29-31+3.
[4] 李诗平,于永光.bj文件结构分析[J].微计算机应用,1992(5):44-48.
[5] 叶小榕,邵晴.基于增强现实和位置服务的手机广告系统[J].科技导报,2013(4):67-73.
[6] 黄小凤,宋瑾钰,俞成海.基于OpenGL ES的移动平台的三维模型绘制[J].工业控制计算机,2013(1):60-62.