体感技术在敦煌艺术交互展示中的应用初探
2015-05-30李大丁杨梦琴薄龙伟樊雪崧孙琳
李大丁 杨梦琴 薄龙伟 樊雪崧 孙琳
内容摘要:博物馆及文化遗产地的数字化工作日益成为文物本体保护和文化弘扬的重要一环。近年来体感技术的迅速发展为文化遗产地的数字化保护与展示提供了新的思路,结合体感技术开发的计算机程序展示敦煌石窟,具有表现力强、交互性好、操作简单等优点。本文结合Kinect与Leap Motion两种体感设备,介绍了体感技术在敦煌数字化展示的几类应用,并简单阐述了其实现过程。
关键词:敦煌;体感技术;数字化保护
中图分类号:K854.3 文献标识码:A 文章编号:1000-4106(2015)05-0115-05
The Application of Somatosensory Recognition
in the Preservation and Presentation of Dunhuang Caves
LI Dading1 YANG Mengqin2 BO Longwei3 FAN Xuesong1 SUN Lin4
(1. Network Center, Dunhuang Academy, Dunhuang, Gansu 736200;
2. School of Communication, Northwest Normal University, Lanzhou, Gansu 730070;
3. Cultural Relics Digitization Institute, Dunhuang Academy, Dunhuang, Gansu 736200;
4. Gansu Institute of Political Science and Law, Lanzhou, Gansu 730070)
Abstract: The Dunhuang Caves are known as a museum of Oriental art where a huge quantity of ancient artistic relics is kept. So far, the preservation of Dunhuang culture mainly focuses on heritage restoration, collection, storage, and processing of digital information while exhibitions of cultural heritage are based on photos or physical relics. During recent years, the rapid development of somatosensory technology has provided new concepts for the protection and representation of artistic and cultural relics. Computer software based on this technology can benefit the performance, interaction, and operation aspects of Dunhuang culture exhibitions. This paper combines two somatosensory recognition sensors—Kinect and Leap Motion and introduces how this technology has been applied in Dunhuang digital presentations.
Keywords: Dunhuang; somatosensory technology; digital technology-based conservation
1 前 言
自20世纪80年代中期,敦煌研究院倡导将计算机技术应用于敦煌石窟的保护研究,到今天,以计算机科学为核心的文物数字化已经全面介入敦煌石窟的保护、弘扬和利用的工作中。
近年来,随着微电子芯片的制造工艺和运算能力的持续爆炸性增长,虚拟现实和人机交互技术成为了信息产业的发展热点。分别于2011年和2013年向电子消费类市场推出的Kinect和Leap Motion,正是当前最有代表性的两款结合虚拟现实技术和人机交互技术的装置。这两款引发热议的体感控制设备也给文化遗产单位的数字化保护应用带来了创新的空间,同时也在博物馆的参观展示环节,为观众提供了娱乐性更强的沉浸体验。
在体感交互技术还未应用于博物馆内容展示的年代,博物馆通常使用特定的设备,比如各种投影环境,播放预制的媒体展示内容,观众单向接受内容。逐渐地对交互功能内容的需求出现了。内容展示方通常会为节目定制用于实现交互功能的控制装置,比如有各种按键的操作台、键盘鼠标的变种设备等。虽然能够实现观众与内容的双向交互需求,但缺点是特定操控装置只能对应特定节目,开发成本和维护成本高昂。
体感控制设备的出现将博物馆交互展示的技术再次向前推进。本文论述了Kinect和Leap Motion两款体感交互设备结合敦煌莫高窟现有的数字化素材开发的三个应用实例。
2 体感全景浏览系统
全景影像随着摄影采集设备和计算机图像拼接技术的普及逐渐被大众所熟悉。它以在线或者离线的方式展示特定环境的360°全视角影像。本系统的目的是使观众通过简单的挥动手臂,实现对全景影像的浏览控制。
目前比较成熟的全景图片制作技术是将拍摄到的各个角度的照片通过全景软件合成,并输出SWF格式的文件,由于该格式可以方便在Web网页中嵌入并支持多平台的播放器,因而获得了最广泛的应用。但是绝大部分全景图片浏览程序的交互方式为鼠标和键盘,适合个人计算机使用环境,很难部署到需要大屏幕及需要更加吸引观众的展厅等环境。而以体感设备为交互工具操作进行浏览全景图片,可以达到远距离操作、无需直接接触、增强趣味性的效果。体感交互全景图浏览系统的实现效果如图1所示。
使用Kinect全景影像浏览的实现步骤:
(1)分析全景图浏览中需要实现的功能,如镜头向左转、向上转、视角放大等功能,并为每个操作设计交互良好的动作。在本系统中,设计了表1所示的动作及对应的操作。
(2)使用Kinect编程,为动作设计识别算法,以监测动作的发生[1]。
(3)将动作识别程序与全景图浏览的SWF播放器关联。
(4)动作识别程序监测到某个动作发生后,利用WindowsAPI向正在播放全景图的SWF播放器发送模拟键盘指令[2]。如当左臂水平抬起的动作被识别后,会发送键盘左方向键的指令。
(5)SWF播放器接收到指令后会触发相应的操作,如当接收到键盘左方向键的指令后视角会向左转动。
3 体感浏览多媒体资料的实现
体感多媒体资料浏览系统同时支持Kinect与Leap Motion两个体感设备,可以按场景选择配置。其系统架构如图2所示。
体感多媒体资料浏览系统分为主模块、多媒体信息处理模块和体感识别模块三部分。
主模块是整个系统的核心,负责系统与用户的交互、显示系统界面以及调度多媒体信息处理模块与体感识别模块,通过模块的调用与进程的调度控制系统整体有序地运行,同时,完成系统的初始化、管理系统的整体资源等工作。
多媒体信息处理模块由图像处理、音频处理、视频处理三部分组成,其中封装了对图像、音频、和视频的相关操作。该模块的主要任务是加载相关多媒体文件,并在主模块的调用下,对相应的文件进行相应的变换与处理,如对图片资料的缩略图创建、缩放旋转、调整播放进度等。最后将处理结果返回给主模块进行前台展示与交互。
体感识别模块完成用户接口中的信息输入以及对所采集数据的分析,以便完成动作与手势识别。该模块调用硬件设备Kinect和Leap Motion收集用户的动作与手势数据,并通过动作识别和手势识别的算法做相应的计算与处理,然后将识别到的动作结果返回给主模块,以便主模块对用户的动作请求做出相应的回应。
3.1 Kinect动作识别
为了实现Kinect的动作识别,按动作过程中人体骨骼关节位置的相对以及绝对变化的特点,将一个动作从开始到结束的整个过程分成若干段。每一段都用一些关节与关节之间、骨骼与环境之间的位置关系来描述和限定,这被称为对动作的定义[3]。在注册动作时,将欲被识别的动作依次注册到骨骼数据管道上,Kinect的骨骼体感数据流从管道中依次流过注册的手势,即依次被每个注册的动作获取。每个动作获取到数据之后依次匹配它所包含的段,若第一段匹配成功,则后面的数据匹配下一段,直到所有的段都成功匹配,说明此动作识别成功,并触发该事件[4]。反之,如果某一段匹配失败,对该动作识别到此为止,后续数据流到来时重新从第一段开始匹配,如图3所示。
3.2 Leap Motion手势识别
Leap Motion的编程SDK(Softwaredevelopmentkit)中封装了对几个基本手势的判断与识别[5]。但是SDK中的识别算法对手势的活动范围、动作幅度的判断条件比较宽泛,导致识别的准确度不是很高。为了解决以上问题,本系统根据所设计的手势特点以及普通人的活动习惯,对SDK中的手势进行了进一步的判断与过滤,并在每次事件触发的时候保存或者更新一个时间戳,根据当前和上次触发手势事件的时间戳之差来判断是否为重复事件,从而实现了重复手势的过滤。
3.3 动作与手势
根据人体的交互特点和动作习惯设计了表2中针对Leap Motion和Kinect的手势与动作,对系统进行操作。
4 体感交互问答系统
许多文化遗产单位的展陈场所布置了多媒体交互节目,涉及的内容与展览内容紧密相关。但是大部分的游戏仍交互使用键盘、鼠标以及触屏这些传统方式。将体感设备应用于这类交互展示节目中,可以使展示体验更加生动有趣。体感答题系统的操作界面如图4—5所示。
4.1 体感交互问答系统的设计
体感交互问答系统由体感交互模块、数据访问模块和UI展示模块三部分组成,体感交互与数据访问模块为UI展示模块提供所需的内容和数据,UI展示模块负责引导用户,展示内容与结果。
体感交互模块主要管理体感设备Kinect并采集Kinect的体感数据,对数据分析处理,通过动作识别算法识别出特定的动作,将动作和用户的运动状况通知UI展示模块。
数据访问模块主要负责读取题库中的题目,加载相关的图片等资源,将读取到的数据反序列化为程序容易操作的题目对象。
UI展示模块负责展示系统的UI界面,是信息输出的渠道,引导用户完成游戏,通过体感交互模块和数据访问模块提供的数据,控制游戏流程,管理动画效果,在不同的界面之间切换,如空闲展示界面、答题界面、答案展示界面、结果输出界面等。
4.2 体感交互问答系统的实现
体感交互问答系统面向Windows平台,使用C#语言开发,利用WPF技术开发出了界面美观、动画丰富的问答系统。出于扩展性和团队协作的考虑,采用了MVVM框架架构。MVVM是Model-View-View Model的缩写。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化[6]。MVVM模式和MVC(Model-View-Controller)模式一样,主要目的是分离视图(View)和模型(Model),其模式如图6所示。
MVVM架构有如下优点:
(1)低耦合。View(视图)独立于Model(模型)的变化和修改,一个View Model可以绑定到不同的View上,当View变化的时候,Model可以不改变,而当Model变化的时候,View也不用改变。
(2)可重用。可以把一部分视图逻辑放在同一个View Model里面,让很多View重用视图逻辑。
(3)独立开发。开发人员可专注于数据和业务逻辑的开发,而设计人员可专注于UI设计,提高开发效率。
由于展览的客观需要,题库中题目的数量不是非常多,没有必要使用数据库等大型的数据系统,故本系统采用了XML(Extensible Markup Language)文件来保存题库信息,并且使用序列化与反序列化技术实现题库中文本信息与程序中使用的题目对象之间的高效转换与解析。此外,为了易于对题库的编辑,单独开发了可视化的题库维护程序。
4.3 动作与手势
根据系统的特点,体感交互问答系统采用了追踪用户手臂运动轨迹与监测动作相结合的动作识别方式。其各自的功能如表3所示。
其中关于动作识别的算法与本文第二小节中的介绍一致,只是对于动作的定义不同。此外,在手臂的移动轨迹追踪到后,需要将手臂的活动范围平滑地映射到屏幕上,采用的算法如下[7]:
(1)采用KinectSDK中提供的映射接口将全身骨骼都映射到屏幕之中,得到活动手掌的屏幕坐标(x1,y1);
(2)算出用户上半身占全身的比例r;
(3)计算最终的屏幕映射坐标,即用手掌相对于全身的映射坐标除以比例r:
x=x1/r,y=y1/r
得到的坐标(x,y)即为最终的映射坐标。
5 结束语
体感交互问答系统目前已在敦煌研究院兰州分院的“数字敦煌展”与观众见面。通过敦煌研究院内部的试验和许多观众的反馈,我们认为在动作识别算法与平滑度等方面,还存在许多优化和改进的空间。
本文记录的仅仅是将体感设备应用于文化遗产地内容展示的一次浅显尝试。在随后的工作中,我们将深入挖掘体感设备对空间、色彩、动作及运动特征等信息的理解与调用,希望能与敦煌元素碰撞出更多精彩的火花。
参考文献:
[1]Cutler R,Davis L S.Robust real-time periodic motion detection,analysis,and applications[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000, 22(8):781-796.
[2]Kinect for Windows Programming Guide[DB/OL].[2013-08-30].https://msdn.microsoft.com/en-us/
library/hh855348.aspx.
[3]Smisek J,Jancosek M,Pajdla T.3D with Kinect//[M] Consumer Depth Cameras for Computer Vision.Lond-
on:Springer,2013: 3-25.
[4]Khoshelham K,Elberink S O.Accuracy and resoluti-
on of kinect depth data for indoor mapping applic-
ations[J].Sensors, 2012, 12(2):1437-1454.
[5]Leap Motion[DB/OL].[2013-01-12].https://www.leapmotion.com/.
[6]Freeman A.Windows Presentation Foundation//[M]
Introducing Visual C# 2010.Apress,2010:1069-1098.
[7]Meenakshi Panwar, Pawan Singh Mehra. Hand gesture recognition for human computer interaction//[C]Proceedings of the 2011 IEEE International Co-
nference on Image Information Processing,Waknaghat, 2011.