閆廣輝,史卓,馬洋洋,蒙倩怡,安亞磊,王中帥
(桂林電子科技大學(xué),桂林 541004)
地面互動投影系統(tǒng)是在地面上投射出一個特定的虛擬場景,給平凡無奇的地面帶來動態(tài)的真實體驗樂趣。當(dāng)操作者進(jìn)入該虛擬畫面內(nèi),系統(tǒng)就通過攝像頭跟蹤捕捉操作者的動作并將數(shù)據(jù)傳輸給軟件。軟件引擎再綜合處理各種數(shù)據(jù),同時對操作者的動作做出反饋,給人一種新奇的交互性娛樂體驗。這種互動體驗來得方便且更吸引人的眼球。系統(tǒng)保持逼真性,采用目標(biāo)與背景分離技術(shù),基于時間序列的編碼建模算法,對每個像素或者一組像素建立時間序列模型,在每個像素點進(jìn)行抽樣,根據(jù)顏色、扭曲尺度和亮度邊界聚類,從而建立隨時間不斷更新的動態(tài)背景模型。在動態(tài)背景的基礎(chǔ)上,將紅外攝像機(jī)采集的實時數(shù)據(jù)以背景模型為掩模進(jìn)行差分處理,處理后的圖像經(jīng)過頻域濾波,通過目標(biāo)分離算法得到每個目標(biāo)的位置坐標(biāo)和輪廓信息。然后對目標(biāo)進(jìn)行跟蹤,將跟蹤的目標(biāo)的位置信息轉(zhuǎn)換成控制信號,實現(xiàn)互動與控制。由于Flash文件具有短小精悍、設(shè)計界面友好、操作方便等特點,桂電導(dǎo)覽系統(tǒng)采用Flash技術(shù)開發(fā),應(yīng)用ActionScript腳本語言來編寫程序,嵌入到地面互動投影軟件中使用,結(jié)合Photoshop、航拍等攝影應(yīng)用知識將桂電的信息轉(zhuǎn)成圖片或視頻的信息,作為Flash開發(fā)的素材。Flash生成文件要制作成exe格式,打開Flash發(fā)布文件后要以全屏方式進(jìn)行,同時要隱藏鼠標(biāo)指針,進(jìn)行互動投影的特效就是鼠標(biāo)滑過的特效。先是使用團(tuán)隊中無人機(jī)、單反等攝影設(shè)備去將桂電的兩個校區(qū)的大致風(fēng)景拍下來,使用PC和Photoshop等軟件處理和制作成360度全景圖。其次要去各學(xué)院查詢或網(wǎng)上收集各學(xué)院的基本信息。然后則需要按要求開發(fā)Flash程序,解決bug問題,做到最好的用戶交互體驗。
該地面互動投影校園導(dǎo)航系統(tǒng)是采用虛擬仿真、紅外圖像識別技術(shù)研發(fā)。
(1)無人機(jī)航拍校園各部特征建筑,及單反相機(jī)拍攝校園地面各關(guān)鍵角落,作為校園全景地面投影素材;
(2)動態(tài)采集目標(biāo)圖像的紅外信號采集部分;裝設(shè)在紅外信號采集部分前邊的,且用于濾除可見光的紅外濾光片;連接于所述紅外信號采集部分,用于將所采集的目標(biāo)圖像進(jìn)行分析,并根據(jù)分析后所產(chǎn)生的數(shù)據(jù)動態(tài)改變虛擬背景的圖像處理部分;連接于所述圖像處理部分,且用于呈現(xiàn)改變后的虛擬背景的成像部分。可解決人體與虛擬背景無法分割的問題,從而提高畫面的精度,消除局部陰影的干擾。
(3)紅外感應(yīng)器接收互動者腳部與該區(qū)域互動信號進(jìn)行分割(主要為腳部動作與虛擬背景)并將其處理為位置坐標(biāo)等數(shù)據(jù)發(fā)送回控制主機(jī),主機(jī)再還原圖像,投影儀將處理后的圖像及場景切換投影到地面進(jìn)行互動顯示,并實時更新。
裝置1:溫度檢測及識別
裝置2:聲音檢測及識別
裝置3:影像動作檢測及識別
裝置4:紅外檢測及識別

圖1 系統(tǒng)硬件組成
(1)ActionScript最初是一種簡單的腳本語言,目前的Flash用戶使用的ActionScript 3.0版本已經(jīng)是一款強(qiáng)大的編程語言,它標(biāo)志著Flash發(fā)展進(jìn)化過程中的一個重要階段。設(shè)計ActionScript 3.0的意圖是創(chuàng)建一種簡便快捷地構(gòu)建互動功能強(qiáng)大的互聯(lián)網(wǎng)應(yīng)用程序的語言,這種應(yīng)用程序多用于Flash互動性的開發(fā)。它的語法類似JavaScript,多用于Flash程序開發(fā)。它的發(fā)展速度相當(dāng)?shù)目?到目前為此,它的功能強(qiáng)大,類庫豐富,在Flash互動場景系統(tǒng)設(shè)計開發(fā)方面起到了關(guān)鍵的作用。ActionScript 3.0為Flash提供強(qiáng)大的編程語言,簡化了開發(fā)的過程。
(2)監(jiān)聽事件是在ActionScript3.0中對象間通信的主要方式,它們就是Flash中的對象所廣播的消息,任何設(shè)置好偵聽這些消息的對象都會接收到事件。事件模型主要包含三個概念:事件對象、事件流和事件偵聽器。一般的事件偵聽器代碼如下:
事件接收對象.addEventListener(事件類,事件類型,事件處理函數(shù));
Function事件處理函數(shù)(事件實例:事件類){//此處是為響應(yīng)事件而執(zhí)行的腳本}
這個結(jié)構(gòu)包含了以下三個要點:首先,先要確認(rèn)偵聽的是什么事件;然后,要明確指出誰接收事件;最后,通過事件函數(shù)來處理接收事件后的情況。
(3)為了確定陰影部分是否與目標(biāo)建筑重合,判斷是否需要展現(xiàn)該目標(biāo)的信息圖像,在ActionScript3.0中有3種基本的碰撞檢測的方法,分別是hitTestPoint()、hitTestObject()和BitmapData.hitTest()。在該系統(tǒng)中使用了hitTestObject方法來測試校園場景的各部分圖像部件是否與鼠標(biāo)(體驗者的陰影)發(fā)生碰撞,其語法格式為:對象1.hitTestObject(對象2),檢測對象1是否與對象2相互碰撞,如果發(fā)生碰撞則返回true,沒有發(fā)生碰撞則返回false。可以根據(jù)體驗者的移動即陰影部分的變化,控制系統(tǒng)及時顯示建筑簡介圖像及語音介紹,實現(xiàn)互動體驗。
(4)運行方式:在Flash CS6軟件中進(jìn)行系統(tǒng)開發(fā),然后導(dǎo)出swf文件,利用地面投影系統(tǒng)自帶的技術(shù)把swf文件轉(zhuǎn)換成cmd文件,最后添加到地面互動投影系統(tǒng)中播放。

圖2 校園全景的swf文件
(1)系統(tǒng)結(jié)構(gòu):

圖3 校園全景地面互動系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)主要分成視頻投影部分和互動功能實現(xiàn)兩個主要部分,具體實現(xiàn)為:①在軟件使用前會一直播放桂電校區(qū)的航拍制作的視頻,同時用戶可以在地面投影部分進(jìn)行漫游互動;②通過觸摸遮擋等交互選中某棟教學(xué)樓時,會彈出該教學(xué)樓所屬學(xué)院的一些基本信息如專業(yè)、實驗室等等;③通過語音交互來簡介學(xué)院信息;④實現(xiàn)各類操作對用戶的影響和場景變更等內(nèi)在邏輯腳本部分,該腳本是由ActionScript語言編寫,包括控制腳本、對象生成回收腳本、場景變更腳本、物理邏輯腳本和記錄腳本;⑤還有就是課題中最重要的實現(xiàn)非接觸地面互動投影的陰影控制部分。
(2)交互功能的實現(xiàn):
FlashPlayer運行系統(tǒng)時可以偵聽鼠標(biāo)事件,執(zhí)行場景切換及展現(xiàn)建筑的介紹圖像操作。本系統(tǒng)是通過鼠標(biāo)移動的控制方式實現(xiàn)。體驗者陰影部分的控制功能等同于鼠標(biāo)滑動。具體的實現(xiàn)是:首先攝像機(jī)來捕捉和采集參與者影像和動作數(shù)據(jù)。其次通過數(shù)據(jù)處理器處理收集的數(shù)據(jù),實現(xiàn)參與者漫游的同步互動,分析和處理攝像機(jī)采集到的影像和動作數(shù)據(jù),并把這些數(shù)據(jù)和處理器中原有數(shù)據(jù)進(jìn)行合成處理。然后在把同步的互動效果投影到地面顯示出來。
(3)互動漫游功能:
觀眾可以自由地在一塊地面上進(jìn)行漫游校園,以達(dá)到增強(qiáng)現(xiàn)實的效果。觀眾可以用腳踩,滑動手等遮擋紅外線的方式,切換到不同的場景,場景內(nèi)采用的是360度的真實照片,讓觀眾有一種身臨其境的感覺,其中教學(xué)樓、校道、綠化植物等都栩栩如生地呈現(xiàn)在觀眾的眼前。觀眾在選中教學(xué)樓時,可以獲取學(xué)院的一些基本信息,甚至可以有語音交互功能,節(jié)省陪同人員的精力。

圖4 圖書館簡介效果展示
地面互動投影不需要任何外接設(shè)備就可以實現(xiàn)互動,它在交互時是不需要觸碰到實物的,只要在地面上踩來踩去就可以進(jìn)行互動,也可以把手伸到投影下,揮動手利用投下的陰影互動,這些都是不需要實物觸摸的,這就是它交互方式的獨特新穎性。它能營造出超現(xiàn)實的光影特效或者使體驗者體驗到主人公式的新奇體驗,這是單純的燈光和傳統(tǒng)游戲無法實現(xiàn)的,讓消費者身臨其境,流連忘返。同時經(jīng)過測試,基于Flash的腳本語言的校園全景導(dǎo)覽系統(tǒng)運行穩(wěn)定,具有操作簡單、運行成本低、實現(xiàn)無人看守、交互式導(dǎo)覽、自動語音解說功能,技術(shù)先進(jìn),互動方式新穎獨特。帶來的是長久的利益,而不是一時的新鮮熱鬧,對于社會創(chuàng)造更多的經(jīng)濟(jì)價值,帶動整個行業(yè)的快速發(fā)展,可以進(jìn)一步向商業(yè)應(yīng)用發(fā)展,應(yīng)用前景廣闊!
[1]夏敏捷.Flash ActionScript3.0游戲設(shè)計[M].北京:清華大學(xué)出版社,2014.
[2]黎學(xué)堅.基于Flash Builder的魔法書互動投影系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2012
[3]Christopher Griffith.實戰(zhàn)Flash游戲開發(fā)(第2版)[M].北京:人民郵電出版社,2012.
[4]鮑豫鴻,王吉.基于人機(jī)交互技術(shù)的智能多媒體互動投影系統(tǒng)的開發(fā)和應(yīng)用[J].哈爾濱:煤炭技術(shù),2013.
[5]施靈佳,陳超群.一種互動投影裝置[P].上海,2017.
[6]徐曉君.一種地面互動投影系統(tǒng)[P].上海,2012.
[7]Spuy,R.V.D.ActionScript 3.0游戲設(shè)計基礎(chǔ)[M].北京:電子工業(yè)出版社,2013.
[8]熊智宇,凌云,鄒立新.一種沉浸式互動投影系統(tǒng)[P].南昌,2017.
[9]Rosenzweig.G.ActionScript 3.0 Game Programming[M].北京:人民郵電出版社,2012.
[10]欒英博.智能圖書館中實景導(dǎo)航系統(tǒng)的研究與實現(xiàn)[D].北京:北京郵電大學(xué),2014.