平面图像跟踪是用于检测与跟踪日常生活中有纹理的平面物体。所谓“平面”的物体,可以是一本书、一张名片、一幅海报,或是一面涂鸦墙这类具有平坦表面的物品或事物。这些物体应当具有丰富且不重复的纹理。
1.图片准备
在使用平面图像跟踪之前,首先要准备好目标物体以及目标物体的模板图片。
对于目标物体的模板图片,根据用户的使用场景,可以有多种方式来进行准备。比如,直接使用相机以正视角度拍摄目标物体,所得照片即可作为目标物体的模板图片。又如,可以先进行图案的设计或绘制,然后通过打印或生产得到所需目标物体。这个设计稿或绘画即为模板图片。注意,图片的格式建议为JPG或PNG。
2.Unity+EasyAR开发平面图像跟踪应用
平面图像识别主要用到了ImageTracker和ImageTarget两个Game Object。每个被跟踪的图像对应一个“ImageTarget”,ImageTarget需要指定“ImagetTracker”。场景中可以同时出现多个ImageTracker,可以同时跟踪多个图像。下面是具体的实现步骤。
(1)新建项目和导入EasyAR SDK。新建一个Unity 3D项目“ImageTrackingEasyAR”。在EasyAR官网上下载EasyAR SDK。本书下载的是EasyAR_SDK_2.3.0_Basic_Unity.zip文件。解压后,开始准备导入到Unity中。
在Unity编辑器中,选择“Assets”→“Import Package”→“Custom Package”菜单项,然后选择刚解压的“EasyAR_SDK_2.3.0_Basic.unitypackage”文件,出现“Import Unit y Package”对话框,如图9-17所示,单击“Import”按钮,开始导入,完成后,Project视图如图9-18所示。
图9-17 Import Unit y Package对话框
图9-18 Project视图
(2)单个图像跟踪。在Project视图中,展开“Assets”→“EasyAR”→“Prefabs”→“Composites”,将其中的“EasyAR_ImageTracker-1”预制件拖到Hierarchy视图中。“EasyAR_ImageTracker-1”中包含了ImageTracker的可以运行平面图像跟踪功能的组件集合。
为了避免与AR相机起冲突,删除“Hierarchy”视图中的“Main Camera”。
(3)填写License Key。首先在Easy AR官网上申请一个License Key,然后在“Inspector”视图的“Key”框中粘贴在Easy AR中生成的License Key。
(4)在场景中添加ImageTarget。在“Project”视图中,展开“Assets”→“EasyAR”→“Prefabs”→“Primitives”,将其中的“ImageTarget”预制件拖到场景中。
(5)在StreamingAssets中添加识别图。在“Project”视图中,创建“StreamingAssets”文件夹,然后将准备好的模板图片“idTar.png”拖到“StreamingAssets”文件夹中,如图9-19所示。
(6)配置ImageTarget。在“Hierarchy”视图中选择“ImageTarget”,在“Inspector”视图中,按照如图9-20所示的参数进行设置。
图9-19 StreamingAssets文件夹
图9-20 配置ImageTarget
其中:Path是图片相对于StreamingAssets的路径;Name为Target名字,可以任意输入;Loader为加载ImageTarget的Tracker。
(7)在ImageTarget对象下添加要显示的3D模型。导入一个在3ds Max中制作好的超方体模型,并设置Transform值。最后将超方体模型拖到ImageTarget下面,作为其子物体。
(8)运行结果。点击“Play”按钮,在Unity编辑器中运行,使用电脑上的摄像头对着手机上的idTar.png图片进行跟踪,效果如图9-21所示。
(9)平面图像跟踪程序控制。ImageTargetController类提供了4个事件:TargetFound、TargetLost、TargetLoad和TargetUnload。“TargetFound”表示图像被识别,“TargetLost”表示被识别图像从视野消失,“TargetLoad”表示图像加载完成,“TargetUnload”表示图像卸载完成。下面的代码是使用这些事件来输出一些日志。读者在使用中可以删除这些日志,添加自己的应用逻辑。
图9-21 运行结果
本节介绍了Unity3D+EasyAR实现AR应用:平面图像跟踪。需要说明的是,本书中采用的是EasyAR SDK 2版本,EasyAR目前最新的版本为EasyAR Sense 4。二者的实现步骤有所不同,感兴趣的读者可以在其官网上阅读相关文档。
本章小结
增强现实技术,是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息,如视觉信息,以及声音,味道,触觉等信息,通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间,同时存在。
本章主要阐述了增强现实技术的基本概念和核心技术,介绍了增强现实的应用领域和开发工具,以及移动增强现实及其发展趋势。
本章还介绍了基于Unity 3D和EasyAR开发AR应用的基本方法和流程,开发了一个平面图像跟踪的应用。但这仅仅是管中窥豹,需要了解EasyAR更多功能和实现方法的读者可以在EasyAR的官网上阅读相关文档。
如前所述,用于创建AR应用的增强现实开发工具还有很多,读者也可以使用如Vuforia等其他的AR SDK来开发AR应用。
习 题
一、单选题
1.以下( )不是增强现实技术的实现方式。
A.特定图像识别 B.地理位置定位 C.面部识别 D.三维注册
2.增强现实具有虚拟结合的特点,其中的“虚”是指( )。
A.虚拟的世界 B.虚拟的对象 C.现实的世界 D.增强的信息
3.AR应用“增强现实图书”属于以下( )AR技术的应用领域。
A.娱乐领域 B.教育领域
C.产品装配检验与维修领域 D.军事领域
4.以下( )不属于AR系统中三维注册技术。
A.基于硬件跟踪设备的注册技术 B.基于视觉跟踪的注册技术
C.基于混合跟踪的注册技术 D.基于触觉跟踪的注册技术
5.增强现实是介于完全虚拟和完全真实之间,是一种( )。
A.虚拟现实 B.增强虚拟 C.混合现实 D.混合虚拟
6.增强现实的主要实现方式有( )。①特定图像识别 ②地理位置定位 ③面部识别 ④人体动作识别
A.①②③ B.①③④ C.②③④ D.①②③④(www.xing528.com)
7.一个典型的增强现实系统不包括以下( )选项。
A.场景采集系统 B . 跟踪注册系统 C.显示系统 D.输出系统
8.下列不属于AR技术开发工具的是( )。
A.Vuforia B.Wikitude C.ARToolKit D.Blender
9.光学透视式显示技术的主要问题是( )。
A.虚拟融合的真实感差 B.视野不够宽
C.注册误差大 D.注册精度低
10.计算机观察者确定视点方位,从而把虚拟信息合理叠加到真实环境上,以保证用户可以得到精确的增强信息,描述了增强现实的( )特征。
A.虚实结合 B.实时交互 C.以假乱真 D.三维注册
11.虚拟化妆使用了以下( )识别技术。
A.特定图像识别 B.面部识别 C.地理位置定位 D.人体动作识别
12.以下( )不属于ARCore平台的主要功能。
A.动作捕捉 B.人脸识别 C.环境感知 D.光源感知
13.下列对AR的叙述( )是正确的。
A.AR能将人置入虚拟世界,与真实环境隔离开
B.AR是真实世界与虚拟世界沟通的纽带
C.在AR中人接触的东西都不是真实的
D.AR无法实现用户与真实场景的实时互动
14.增强现实技术的特征不包括( )。
A.是真实世界和虚拟世界的信息集成
B.具有实时交互性
C.特定图像识别
D.能将虚拟信息合理叠加到现实环境中
15.飞机驾驶培训中应用到增强现实技术,主要体现了AR( )特征。
A.虚实结合 B.实时交互 C.三维注册 D.以上都有
二、填空题
1.增强现实的主要特征有________、________、________。
2.设计开发一个增强现实系统包括以下4个步骤:________、________、________和________。
3.增强现实的核心技术有________。
4.增强现实与虚拟现实都需要计算机生成相应的________。
5.AR和VR的不同点主要有________。
6.决定AR系统性能优劣的关键技术是________。
7.列举4个增强现实的开发工具:________、________、________、________。
8.EasyAR是________软件。
三、简答题
1.简述虚拟现实技术和增强现实技术的联系和区别。
2.举例说明AR技术在教育领域中的应用。
3.简述增强现实系统的基本结构和各部分的功能。
4.简述何为三维注册技术及其分类。
5.简述何为AR的标定技术。
6.简述移动增强现实技术及其发展趋势。
7.畅想未来增强现实技术在你的专业相关工作上可以有哪些应用。
8.你体验过AR或VR吗?试简述AR装备与VR装备的区别。
9.简述增强现实开发工具Vuforia的功能。
四、思考题
1如何使用Unity 3D和增强现实开发工具(如EasyAR)开发AR应用?
2.AR、VR和MR,哪个是未来的发展趋势?
3.设想如果AR应用于教育领域,会在哪些方面进行改变,试举出2~3例。
4.思考增强现实技术的潜在发展方向。
5.科学的道路从来都不是平坦的。从Google Glass来看,你有什么认识和体会?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。