首页 理论教育 数字建筑与增强打印技术:移动设备增强现实图书系统

数字建筑与增强打印技术:移动设备增强现实图书系统

时间:2023-10-29 理论教育 版权反馈
【摘要】:手持设备增强现实图书系统可以为书本带来新的内容呈现方式,为书本增添新的活力。下面介绍的手持设备增强现实图书系统的Android客户端使用 metaio的AR引擎。手持设备增强现实图书系统的Android应用除了支持文字信息外还支持三种多媒体数据类型:图片、视频、3D模型。在手持设备增强现实图书系统中的视频对象需要先进行转码使其适用于客户端应用。

数字建筑与增强打印技术:移动设备增强现实图书系统

通过应用前面介绍的手持设备增强现实系统的设计和Web服务系统的设计来实现手持设备增强现实图书系统的原型。手持设备增强现实图书系统可以为书本带来新的内容呈现方式,为书本增添新的活力。手持设备增强现实可以让读者更直接的感受书本内容,加强视觉上的感受。读者与书本的交互更是可以让其加深记忆,有助于阅读内容的理解和记忆。在互联网快速发展的今天,网络媒体以其极强的时效性,广泛的传播面,多媒体化的信息,不断增强的互动性,使得纸质媒体逐渐显现劣势。但对于目前的纸质媒体也是无可替代的,因为网络媒体受到诸多因素的限制。纸质媒体不必当心停电,断网,而且技术要求低。如今大多数纸质媒体逐渐向网络媒体转型。移动设备增强现实与书本交互的开发与实现,可以为纸质媒体在转型的阶段,提供更好的过渡。通过手持设备增强现实图书系统的Android客户端设计和实现,Web服务端的设计和实现,以客户端和服务端之间的数据交换方式来介绍手持设备增强现实图书系统的原型。

(1)Android客户端设计

用户开启Android应用后,等待应用完成初始化。完成初始化后,应用通过图像捕捉模块从设备的摄像头获取图像数据流,并将获取到的数据流交由AR引擎处理。AR引擎通过解析每一帧图像数据,将解析结果传递给虚拟对象控制模块。控制模块根据AR引擎传递来的数据查看是否有成功匹配的对象,如有成功匹配的对象,则将预先设定的匹配对象的虚拟对象进行坐标转换呈现到屏幕上,等等人机交互模块的反馈。用户通过人机交互模块来与虚拟对象互动,比如拖动虚拟物体,旋转虚拟物体等等。

手持设备增强现实应用的关键在于AR引擎,好的引擎可以高效准确的识别目标,跟踪目标。目前可用的AR引擎有很多,比如ARToolkit, mixare, wikitude,metaio等。各个引擎都具有各自的特色和优点。下面介绍的手持设备增强现实图书系统的Android客户端使用 metaio的AR引擎。AR引擎的关键作用就是对目标的识别和跟踪。metaio的AR引擎可以识别多种类型的目标。最简单也是各个引擎最普遍使用的ID标示由黑白方块以及一个黑边框构成。metaio的AR引擎可供使用的ID标示有512个,虽然可以自行扩展ID标示,但扩展ID标示需要在黑边框内填充更多黑白方块,使得数据密度增加,会导致识别率和准确率之下降。metaio还可以识别图片类型标示,这里标示与ID标示有相似之处,以平面图片作为识别目标,现将要识别的目标图片外轮廓用高灰度比的实线描边。像ID标示一样用黑边框来分离背景环境。再将处理好带描边的图片作为AR引擎的参照目标, AR引擎会通过该图片去匹配现实目标。metaio的AR引擎还支持一种自然标示,就是说可以将任何对象作为识别目标,用户先对将要识别的对象,场景,或是周围环境进行拍照,将该照片作为AR引擎的识别目标。当手持设备的摄像头再次对准这些目标的时候AR引擎就可以识别出目标。metaio对于识别二维平面对象的自然标示精度很高,并且快速高效,对于识别三维环境对象的精度会有所下降,毕竟三维环境的干扰因素,以及计算难度相比二维环境要高一个数量级。除此之外 metaio 还可以识别 LLA (latitude, longitude and altitude)码,QR 码以及条形码,这些识别码都可以作为增强现实的附加信息来读取。

AR引擎完成标示的识别后将识别到的信息发送给虚拟对象控制模块,并继续跟踪目标,将目标的变化信息实时传递给虚拟对象控制模块。虚拟对象控制模块接收到AR引擎的识别信息后,通过判断识别的对象并进行坐标转换展示预先设定好的对应的虚拟对象。

手持设备增强现实图书系统的Android应用除了支持文字信息外还支持三种多媒体数据类型:图片、视频、3D模型。增强现实中图片内容的现实是最为简单的需求,对视频中的目标对象覆盖一层适当的图片,使原来的目标增加了额外的信息。比如为图书中的主角图像更换衣服,或是佩戴首饰、帽子、眼镜等。还可以更换角色的背景、天气等。目前该应用支持jpg、 png以及bmp三种图片格式作为虚拟对象。

以视频作为增强现实的虚拟对象可以携带更大的信息量。由于手持设备的图形计算能力和视频解码能力有限,目前只支持3G2这一种视频格式作为虚拟交互对象。并且对3G2的编码方式有特殊的要求,视频内容必须以MEPG4编码。分辨率可以随手持设备的性能而定,大分辨率的视频需要更强大的硬件性能,否则会导致系统的卡顿,从而降低了用户的体验。音频必须要以AAC编码。(www.xing528.com)

在手持设备增强现实图书系统中的视频对象需要先进行转码使其适用于客户端应用。可使用SUPER为系统中的视频进行转码,SUPER作为一款全能型转码软件,可以实现各个视频音频格式之间进行转换。手持设备增强现实图书系统的Android应用支持的3D模型有3种格式OBJ,MD2,FBXo对于静态高素质的三维模型可以用OBJ格式导出再交由应用调用。MD2格式可以实现高效的动态三维模型,但由于本身的限制MD2所生产的模型素质相对于OBJ会较低。介于两者之间的就是FBX 了。

系统中所需的3D模型通过3D MAX建模,贴图然后导出交由Android应用使用。

(2)服务端设计

手持设备增强现实图书系统的手持设备上的应用中所需的多媒体信息,如图片、文字、视频、3D模型都是从服务端实时获取的,若是将这些多媒体信息提前加载的话会使得应用不堪负重,使得应用的体积变得异常庞大,会是应用加载缓慢,而且会大大降低应用的扩展性。所以数据存储的任务就交给了服务端。不仅虚拟对象可以从服务端获取,配置信息也交给服务端来管理。应用中对于虚拟对象与目标的匹配参数的配置和调用都通过XML文件实现,所以应用可以通过下载服务端最新的XML匹配文件来更新应用中的虚拟对象匹配。这样手持设备上的应用只需要负责增强现实的功能,从而大大提升了应用的扩展性。对于系统而言大大提升了应用的复用性。例如原本对应两本图书需要两个应用来实现两本图书的交互,而这样的设计只需要一个应用通过下载对应图书的匹配配置文件就可以实现与该书的增强现实交互了。手持设备增强现实图书系统对与服务没有特殊的要求,而且对系统的性能要求也并不高,所以Web服务系统可以设计的相对简单一点。当手持设备通过JSON与Web服务进行数据通信。当手持设备上的应用程序开始运行,初始化程序的时候需要向Web服务系统请求最新的对象匹配数据。这时手持设备的应用程序通过将自身的信息,已经认证信息编码成JSON格式发送给Web服务系统。Web服务系统的通信模块接收到JSON后,将JSON解码并判认证信息是否合法,若是非法信息则抛弃。然后通信模块将合法的JSON信息中包含的内容传递给数据解析模块。数据解析模块解析通信模块所发送的内容,然后根据解析后得到的请求类型、请求编号以及附加内容,生成相应的数据地址,再将地址和附加内容发给数据存储模块去数据存储系统中读取,或是写入数据。当数据存储模块接受到的是读取指令,则从数据存储系统中读取相应地址的数据,并将数据返回给通信模块,让通信模块将数据编码成JSON返回给手持设备。

手持设备上的应用程序完成初始化后便可以开始目标的识别工作,当应用程序识别到目标时,开始査询目标对应的虚拟对象是否已有缓存,若没有则再次对Web服务系统请求虚拟对象数据。应用程序获取虚拟对象数据后,将数据缓存到手持设备中,以备下次使用,并开始对预期之下一个虚拟对象进行预加载,先从Web服务端请求相应数据,减少用户等待时间。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈