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