李大丁 楊夢琴 薄龍偉 樊雪崧 孫琳
內(nèi)容摘要:博物館及文化遺產(chǎn)地的數(shù)字化工作日益成為文物本體保護和文化弘揚的重要一環(huán)。近年來體感技術(shù)的迅速發(fā)展為文化遺產(chǎn)地的數(shù)字化保護與展示提供了新的思路,結(jié)合體感技術(shù)開發(fā)的計算機程序展示敦煌石窟,具有表現(xiàn)力強、交互性好、操作簡單等優(yōu)點。本文結(jié)合Kinect與Leap Motion兩種體感設(shè)備,介紹了體感技術(shù)在敦煌數(shù)字化展示的幾類應(yīng)用,并簡單闡述了其實現(xiàn)過程。
關(guān)鍵詞:敦煌;體感技術(shù);數(shù)字化保護
中圖分類號: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年代中期,敦煌研究院倡導(dǎo)將計算機技術(shù)應(yīng)用于敦煌石窟的保護研究,到今天,以計算機科學(xué)為核心的文物數(shù)字化已經(jīng)全面介入敦煌石窟的保護、弘揚和利用的工作中。
近年來,隨著微電子芯片的制造工藝和運算能力的持續(xù)爆炸性增長,虛擬現(xiàn)實和人機交互技術(shù)成為了信息產(chǎn)業(yè)的發(fā)展熱點。分別于2011年和2013年向電子消費類市場推出的Kinect和Leap Motion,正是當(dāng)前最有代表性的兩款結(jié)合虛擬現(xiàn)實技術(shù)和人機交互技術(shù)的裝置。這兩款引發(fā)熱議的體感控制設(shè)備也給文化遺產(chǎn)單位的數(shù)字化保護應(yīng)用帶來了創(chuàng)新的空間,同時也在博物館的參觀展示環(huán)節(jié),為觀眾提供了娛樂性更強的沉浸體驗。
在體感交互技術(shù)還未應(yīng)用于博物館內(nèi)容展示的年代,博物館通常使用特定的設(shè)備,比如各種投影環(huán)境,播放預(yù)制的媒體展示內(nèi)容,觀眾單向接受內(nèi)容。逐漸地對交互功能內(nèi)容的需求出現(xiàn)了。內(nèi)容展示方通常會為節(jié)目定制用于實現(xiàn)交互功能的控制裝置,比如有各種按鍵的操作臺、鍵盤鼠標的變種設(shè)備等。雖然能夠?qū)崿F(xiàn)觀眾與內(nèi)容的雙向交互需求,但缺點是特定操控裝置只能對應(yīng)特定節(jié)目,開發(fā)成本和維護成本高昂。
體感控制設(shè)備的出現(xiàn)將博物館交互展示的技術(shù)再次向前推進。本文論述了Kinect和Leap Motion兩款體感交互設(shè)備結(jié)合敦煌莫高窟現(xiàn)有的數(shù)字化素材開發(fā)的三個應(yīng)用實例。
2 體感全景瀏覽系統(tǒng)
全景影像隨著攝影采集設(shè)備和計算機圖像拼接技術(shù)的普及逐漸被大眾所熟悉。它以在線或者離線的方式展示特定環(huán)境的360°全視角影像。本系統(tǒng)的目的是使觀眾通過簡單的揮動手臂,實現(xiàn)對全景影像的瀏覽控制。
目前比較成熟的全景圖片制作技術(shù)是將拍攝到的各個角度的照片通過全景軟件合成,并輸出SWF格式的文件,由于該格式可以方便在Web網(wǎng)頁中嵌入并支持多平臺的播放器,因而獲得了最廣泛的應(yīng)用。但是絕大部分全景圖片瀏覽程序的交互方式為鼠標和鍵盤,適合個人計算機使用環(huán)境,很難部署到需要大屏幕及需要更加吸引觀眾的展廳等環(huán)境。而以體感設(shè)備為交互工具操作進行瀏覽全景圖片,可以達到遠距離操作、無需直接接觸、增強趣味性的效果。體感交互全景圖瀏覽系統(tǒng)的實現(xiàn)效果如圖1所示。
使用Kinect全景影像瀏覽的實現(xiàn)步驟:
(1)分析全景圖瀏覽中需要實現(xiàn)的功能,如鏡頭向左轉(zhuǎn)、向上轉(zhuǎn)、視角放大等功能,并為每個操作設(shè)計交互良好的動作。在本系統(tǒng)中,設(shè)計了表1所示的動作及對應(yīng)的操作。
(2)使用Kinect編程,為動作設(shè)計識別算法,以監(jiān)測動作的發(fā)生[1]。
(3)將動作識別程序與全景圖瀏覽的SWF播放器關(guān)聯(lián)。
(4)動作識別程序監(jiān)測到某個動作發(fā)生后,利用WindowsAPI向正在播放全景圖的SWF播放器發(fā)送模擬鍵盤指令[2]。如當(dāng)左臂水平抬起的動作被識別后,會發(fā)送鍵盤左方向鍵的指令。
(5)SWF播放器接收到指令后會觸發(fā)相應(yīng)的操作,如當(dāng)接收到鍵盤左方向鍵的指令后視角會向左轉(zhuǎn)動。
3 體感瀏覽多媒體資料的實現(xiàn)
體感多媒體資料瀏覽系統(tǒng)同時支持Kinect與Leap Motion兩個體感設(shè)備,可以按場景選擇配置。其系統(tǒng)架構(gòu)如圖2所示。
體感多媒體資料瀏覽系統(tǒng)分為主模塊、多媒體信息處理模塊和體感識別模塊三部分。
主模塊是整個系統(tǒng)的核心,負責(zé)系統(tǒng)與用戶的交互、顯示系統(tǒng)界面以及調(diào)度多媒體信息處理模塊與體感識別模塊,通過模塊的調(diào)用與進程的調(diào)度控制系統(tǒng)整體有序地運行,同時,完成系統(tǒng)的初始化、管理系統(tǒng)的整體資源等工作。
多媒體信息處理模塊由圖像處理、音頻處理、視頻處理三部分組成,其中封裝了對圖像、音頻、和視頻的相關(guān)操作。該模塊的主要任務(wù)是加載相關(guān)多媒體文件,并在主模塊的調(diào)用下,對相應(yīng)的文件進行相應(yīng)的變換與處理,如對圖片資料的縮略圖創(chuàng)建、縮放旋轉(zhuǎn)、調(diào)整播放進度等。最后將處理結(jié)果返回給主模塊進行前臺展示與交互。
體感識別模塊完成用戶接口中的信息輸入以及對所采集數(shù)據(jù)的分析,以便完成動作與手勢識別。該模塊調(diào)用硬件設(shè)備Kinect和Leap Motion收集用戶的動作與手勢數(shù)據(jù),并通過動作識別和手勢識別的算法做相應(yīng)的計算與處理,然后將識別到的動作結(jié)果返回給主模塊,以便主模塊對用戶的動作請求做出相應(yīng)的回應(yīng)。
3.1 Kinect動作識別
為了實現(xiàn)Kinect的動作識別,按動作過程中人體骨骼關(guān)節(jié)位置的相對以及絕對變化的特點,將一個動作從開始到結(jié)束的整個過程分成若干段。每一段都用一些關(guān)節(jié)與關(guān)節(jié)之間、骨骼與環(huán)境之間的位置關(guān)系來描述和限定,這被稱為對動作的定義[3]。在注冊動作時,將欲被識別的動作依次注冊到骨骼數(shù)據(jù)管道上,Kinect的骨骼體感數(shù)據(jù)流從管道中依次流過注冊的手勢,即依次被每個注冊的動作獲取。每個動作獲取到數(shù)據(jù)之后依次匹配它所包含的段,若第一段匹配成功,則后面的數(shù)據(jù)匹配下一段,直到所有的段都成功匹配,說明此動作識別成功,并觸發(fā)該事件[4]。反之,如果某一段匹配失敗,對該動作識別到此為止,后續(xù)數(shù)據(jù)流到來時重新從第一段開始匹配,如圖3所示。
3.2 Leap Motion手勢識別
Leap Motion的編程SDK(Softwaredevelopmentkit)中封裝了對幾個基本手勢的判斷與識別[5]。但是SDK中的識別算法對手勢的活動范圍、動作幅度的判斷條件比較寬泛,導(dǎo)致識別的準確度不是很高。為了解決以上問題,本系統(tǒng)根據(jù)所設(shè)計的手勢特點以及普通人的活動習(xí)慣,對SDK中的手勢進行了進一步的判斷與過濾,并在每次事件觸發(fā)的時候保存或者更新一個時間戳,根據(jù)當(dāng)前和上次觸發(fā)手勢事件的時間戳之差來判斷是否為重復(fù)事件,從而實現(xiàn)了重復(fù)手勢的過濾。
3.3 動作與手勢
根據(jù)人體的交互特點和動作習(xí)慣設(shè)計了表2中針對Leap Motion和Kinect的手勢與動作,對系統(tǒng)進行操作。
4 體感交互問答系統(tǒng)
許多文化遺產(chǎn)單位的展陳場所布置了多媒體交互節(jié)目,涉及的內(nèi)容與展覽內(nèi)容緊密相關(guān)。但是大部分的游戲仍交互使用鍵盤、鼠標以及觸屏這些傳統(tǒng)方式。將體感設(shè)備應(yīng)用于這類交互展示節(jié)目中,可以使展示體驗更加生動有趣。體感答題系統(tǒng)的操作界面如圖4—5所示。
4.1 體感交互問答系統(tǒng)的設(shè)計
體感交互問答系統(tǒng)由體感交互模塊、數(shù)據(jù)訪問模塊和UI展示模塊三部分組成,體感交互與數(shù)據(jù)訪問模塊為UI展示模塊提供所需的內(nèi)容和數(shù)據(jù),UI展示模塊負責(zé)引導(dǎo)用戶,展示內(nèi)容與結(jié)果。
體感交互模塊主要管理體感設(shè)備Kinect并采集Kinect的體感數(shù)據(jù),對數(shù)據(jù)分析處理,通過動作識別算法識別出特定的動作,將動作和用戶的運動狀況通知UI展示模塊。
數(shù)據(jù)訪問模塊主要負責(zé)讀取題庫中的題目,加載相關(guān)的圖片等資源,將讀取到的數(shù)據(jù)反序列化為程序容易操作的題目對象。
UI展示模塊負責(zé)展示系統(tǒng)的UI界面,是信息輸出的渠道,引導(dǎo)用戶完成游戲,通過體感交互模塊和數(shù)據(jù)訪問模塊提供的數(shù)據(jù),控制游戲流程,管理動畫效果,在不同的界面之間切換,如空閑展示界面、答題界面、答案展示界面、結(jié)果輸出界面等。
4.2 體感交互問答系統(tǒng)的實現(xiàn)
體感交互問答系統(tǒng)面向Windows平臺,使用C#語言開發(fā),利用WPF技術(shù)開發(fā)出了界面美觀、動畫豐富的問答系統(tǒng)。出于擴展性和團隊協(xié)作的考慮,采用了MVVM框架架構(gòu)。MVVM是Model-View-View Model的縮寫。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應(yīng)對客戶日益復(fù)雜的需求變化[6]。MVVM模式和MVC(Model-View-Controller)模式一樣,主要目的是分離視圖(View)和模型(Model),其模式如圖6所示。
MVVM架構(gòu)有如下優(yōu)點:
(1)低耦合。View(視圖)獨立于Model(模型)的變化和修改,一個View Model可以綁定到不同的View上,當(dāng)View變化的時候,Model可以不改變,而當(dāng)Model變化的時候,View也不用改變。
(2)可重用??梢园岩徊糠忠晥D邏輯放在同一個View Model里面,讓很多View重用視圖邏輯。
(3)獨立開發(fā)。開發(fā)人員可專注于數(shù)據(jù)和業(yè)務(wù)邏輯的開發(fā),而設(shè)計人員可專注于UI設(shè)計,提高開發(fā)效率。
由于展覽的客觀需要,題庫中題目的數(shù)量不是非常多,沒有必要使用數(shù)據(jù)庫等大型的數(shù)據(jù)系統(tǒng),故本系統(tǒng)采用了XML(Extensible Markup Language)文件來保存題庫信息,并且使用序列化與反序列化技術(shù)實現(xiàn)題庫中文本信息與程序中使用的題目對象之間的高效轉(zhuǎn)換與解析。此外,為了易于對題庫的編輯,單獨開發(fā)了可視化的題庫維護程序。
4.3 動作與手勢
根據(jù)系統(tǒng)的特點,體感交互問答系統(tǒng)采用了追蹤用戶手臂運動軌跡與監(jiān)測動作相結(jié)合的動作識別方式。其各自的功能如表3所示。
其中關(guān)于動作識別的算法與本文第二小節(jié)中的介紹一致,只是對于動作的定義不同。此外,在手臂的移動軌跡追蹤到后,需要將手臂的活動范圍平滑地映射到屏幕上,采用的算法如下[7]:
(1)采用KinectSDK中提供的映射接口將全身骨骼都映射到屏幕之中,得到活動手掌的屏幕坐標(x1,y1);
(2)算出用戶上半身占全身的比例r;
(3)計算最終的屏幕映射坐標,即用手掌相對于全身的映射坐標除以比例r:
x=x1/r,y=y1/r
得到的坐標(x,y)即為最終的映射坐標。
5 結(jié)束語
體感交互問答系統(tǒng)目前已在敦煌研究院蘭州分院的“數(shù)字敦煌展”與觀眾見面。通過敦煌研究院內(nèi)部的試驗和許多觀眾的反饋,我們認為在動作識別算法與平滑度等方面,還存在許多優(yōu)化和改進的空間。
本文記錄的僅僅是將體感設(shè)備應(yīng)用于文化遺產(chǎn)地內(nèi)容展示的一次淺顯嘗試。在隨后的工作中,我們將深入挖掘體感設(shè)備對空間、色彩、動作及運動特征等信息的理解與調(diào)用,希望能與敦煌元素碰撞出更多精彩的火花。
參考文獻:
[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.