文獻標識碼: A
文章編號: 0258-7998(2013)07-0121-03
球形顯示器[1]是一款新型的球體屏幕演示設(shè)備,,采用球體背投屏幕替代平面的背投屏幕,特殊光學(xué)鏡頭和投影儀置于球體的底部,,將普通的平面影像進行特殊的變換,,投射到球形屏幕上,形成一個內(nèi)投的球體影像,,使球幕成為一個炫目的360°屏幕,。高清的影像配上多點觸摸互動功能,給人以全新的視覺體驗和精神享受,。相比于平面顯示,,球形顯示觸摸系統(tǒng)具有360°視角、非可見半球,、影像隨位置與高度變化,、有限顯示無邊界及大地坐標系等特點?;谇蛐物@示的互動系統(tǒng)是一項嶄新的多點觸摸應(yīng)用,,它能充分發(fā)揮球形顯示器的優(yōu)點,實現(xiàn)用戶與球幕之間360°全方位豐富多彩的互動,帶來全新有趣的交互體驗,。對基于球形顯示多點觸摸系統(tǒng)的研究具有重要的實際意義和廣泛的應(yīng)用價值,。
1 系統(tǒng)構(gòu)建
1.1 系統(tǒng)結(jié)構(gòu)
一個多點觸摸系統(tǒng)主要由顯示屏、攝像頭,、投影儀,、紅外燈和計算機組成,利用受抑全內(nèi)反射多點觸摸技術(shù)(FTIR)開發(fā)基于球形顯示的多點觸摸系統(tǒng),。顯示屏選用觸摸球幕,,由于球幕顯示的特殊性,需要一個特殊的球幕鏡頭對平面影像做相應(yīng)變換,,另外還需要一個反射鏡用來通過可見光線反射紅外光,。
本系統(tǒng)選用直徑為70 cm的球幕,球幕下面有一個開口,,紅外光線經(jīng)過開口進入球幕,。選擇將2個紅外燈(波長780 nm、功率200 mw的圓形紅外燈)安裝在觸摸球幕下方的開口邊緣的內(nèi)側(cè),,使紅外光線能均勻地照射到觸摸球幕上,。紅外攝像頭采用感光效果較好的CCD攝像頭,由于采集的是紅外光,,需要安裝一個780 nm濾光片濾除可見光,,攝像頭安裝在觸摸球幕下方的開口靠中間的位置,使得攝像頭能拍到整個球幕,。反射鏡安裝在球幕鏡頭里面,,目的是為了增加投影儀的投射距離。球幕鏡頭對應(yīng)設(shè)置有反射鏡片的反射光通路和透射光通路,,反射光通路正對紅外攝像頭,,透射光通路位于投影儀的投射方向上,反射鏡能通過其他光線反射紅外光,。球幕鏡頭采用寬角度的魚眼鏡頭,,安裝在觸摸球幕的正下方,魚眼鏡頭的作用是將平面影像做相應(yīng)的變形,,從而能在三維球幕上平滑地顯示出來,。投影儀的選擇主要考慮亮度、投影距離及分辨率,,本系統(tǒng)選用1 024×768分辨率,、3 000標準光亮度的NEC NP63+投影儀。采用頻率為3.3 GHz的Intel 酷睿i3系列處理器,,4 GB內(nèi)存和Windows XP sp2操作系統(tǒng)的主機來處理多點觸摸系統(tǒng)的軟件,。
1.2 安裝和調(diào)試
根據(jù)多點觸摸系統(tǒng)的硬件結(jié)構(gòu)進行安裝和調(diào)試,,攝像頭擺放位置盡量靠近球幕鏡頭,并且垂直朝上,,安裝后需保持固定,,在使用中不能出現(xiàn)移動或偏移等現(xiàn)象。2個紅外燈安裝在底盤固定的位置即可,,投影機和主機固定在底盤的下方,。
系統(tǒng)的調(diào)試主要分為測試電源和紅外燈、調(diào)節(jié)投影屏幕,、調(diào)整紅外攝像頭的焦距和捕捉范圍,。接上電源后,紅外燈需一直保持常亮狀態(tài),,調(diào)節(jié)投影儀可使球幕成像清晰,,攝像頭要求采集到的畫面完整且在中間成像。
2 軟件實現(xiàn)及互動應(yīng)用
系統(tǒng)的硬件搭建完成后,,需要完成軟件部分的實現(xiàn),。軟件部分包括觸摸點跟蹤模塊、手勢識別模塊和互動應(yīng)用程序,。在具體實現(xiàn)中,,需要修改坐標系統(tǒng)使其適用于球形顯示并改進相應(yīng)的算法提高運算速度。
2.1 球幕坐標系統(tǒng)
球幕上顯示的內(nèi)容是二維輸入圖片經(jīng)過投影變換得到的,,映射關(guān)系如圖1所示,。二維圖片的中心位置映射到球幕的頂點(北極),圖中任意一點與中心點之間的距離轉(zhuǎn)換為球幕上距離頂點的維度跨度值,,球幕上顯示的內(nèi)容為以中心點為圓心的內(nèi)切圓,,圖片的四角不會顯示出來,最外圍一圈(圓周)則壓縮成球幕的底點(南極),。
2.2 觸點跟蹤模塊
觸摸點跟蹤的作用是將攝像頭采集到的原始圖像信息,經(jīng)過相應(yīng)處理得到觸點信息,,并經(jīng)TUIO通信協(xié)議發(fā)送給手勢識別模塊,。目前,國外有很多開源觸點跟蹤軟件,,如Touchlib和CCV(Community Core Vision)[3]等,,采用計算機圖像處理庫OpenCV直接處理圖像和視頻流,從而能夠非常準確地檢測到觸摸點信息,,這些信息最后通過TUIO協(xié)議發(fā)送,。本系統(tǒng)使用CCV進行觸點跟蹤,由于CCV基于平面顯示屏,,因此需要對CCV進行相應(yīng)地修改,,使其適用于球形顯示屏。
CCV是一個開源觸點跟蹤軟件。它需要一個攝像頭或者視頻來提供數(shù)據(jù)輸入,。經(jīng)過數(shù)據(jù)處理之后,,輸出追蹤數(shù)據(jù)(如觸點坐標和觸點大小等)。CCV能夠與各種網(wǎng)絡(luò)攝像頭或視頻采集設(shè)備協(xié)同工作,,通過支持TUIO/OSC/XML的應(yīng)用程序進行數(shù)據(jù)連接,,并且支持包括FTIR、DI,、DSI,、LLP、LED-LP等在內(nèi)的多種基于光學(xué)的多點觸摸硬件方案,。
當(dāng)手指觸摸屏幕時,,CCV軟件能將觸點信息檢測出來,并在屏幕的相應(yīng)位置顯示白點,。但通常情況下,,白點的位置與實際觸摸的位置不一致,因此必須對坐標位置進行校正,,這也是CCV軟件運行非常重要的一個步驟,。
使用三角網(wǎng)格對坐標進行校正,將兩幅圖像劃分成相同個數(shù)的三角形網(wǎng)格,,對每一個三角形進行坐標映射,。當(dāng)手指觸摸時,通過判斷觸摸點所落在的三角形內(nèi),,達到最終校正目的,。CCV軟件標準校正是在屏幕上生成9×10共90個校準點,呈矩形分布,。從左上角的第一個校準點開始從左至右,、從上至下開始校正。測試中發(fā)現(xiàn)將校準點設(shè)成矩形,,分布在球形顯示屏上的校準效果不理想,,必須修改CCV軟件,將其校準點成圓形分布。經(jīng)過校正后,,CCV軟件開始準確地對觸摸點進行跟蹤,,并點擊平滑處理、高通濾波,、觸點增強等按鈕對觸點進行處理,,最終能正確清晰地得到觸點信息。
2.3 手勢識別模塊
當(dāng)觸點信息被準確地追蹤后,,通過手勢識別程序便可將輸入觸點軌跡解釋為相應(yīng)的手勢命令,,再傳遞給應(yīng)用程序?qū)崿F(xiàn)最終交互的功能,。本文采用C#語言編寫手勢識別程序,手勢識別程序?qū)⒁詣討B(tài)鏈接庫形式為應(yīng)用程序提供交互功能,。程序框架中交互元素由IGestureListener類定義,,觸點信息CursorPoint經(jīng)過軌跡合成為Trace,再對軌跡分組成Group,,Group即為待識別的手勢,。Group手勢信息通過GroupGRManager類進行手勢事件訂閱,然后通過GestureRecognizer類進行手勢識別,,識別成功后,,將以事件的形式傳遞給應(yīng)用程序。
由于觸摸球幕坐標體系的特殊性,標準的手勢(如移動,、旋轉(zhuǎn),、縮放等)需要重新定義。
2.3.3 縮放
觸摸球面上的縮放手勢和平面上類似,,都可以根據(jù)兩點之間距離的變化來表示,。但是由于球形顯示的有限性,基于球形顯示的縮放手勢的放大系數(shù)必須限制在一定范圍內(nèi),,超過一定的值可能會導(dǎo)致部分影像無法顯示,。
2.3.4互動應(yīng)用
觸點跟蹤模塊和手勢識別模塊完成后,就可以開發(fā)應(yīng)用程序驗證系統(tǒng)的交互功能,。目前比較流行的開發(fā)語言有C/C++,、C#、Flash ,、Python等,一些比較成熟的多點觸摸應(yīng)用程序都是使用C#開發(fā),。不同的開發(fā)語言有各自的優(yōu)勢,用戶可以根據(jù)自己的需要和實際情況自行選擇開發(fā)語言,,本文使用C#開發(fā)一些互動應(yīng)用程序,,以展示該系統(tǒng)多觸點手勢交互的能力,進而從不同方面驗證了多點觸摸交互系統(tǒng)的特性,,例如圖片查看器,。傳統(tǒng)的圖片查看器都是通過鼠標和鍵盤進行操作,但旋轉(zhuǎn)和縮放操作會比較麻煩,,這里利用多點觸摸的優(yōu)勢,使用C#開發(fā)了可支持移動,、縮放和旋轉(zhuǎn)操作的基于球形顯示的多點觸摸圖片查看器,。通過該程序用戶能夠用多個手指進行圖片操作,驗證了標準手勢(如移動,、旋轉(zhuǎn)和縮放等)在球形顯示器上的手勢識別功能,。
本文介紹了一種基于球形顯示的多點觸摸系統(tǒng),分別從硬件搭建和軟件實現(xiàn)兩方面闡述了系統(tǒng)的具體實現(xiàn)過程,。在軟件實現(xiàn)過程中,針對觸摸球幕的特殊性建立了適合球形顯示的地理坐標系統(tǒng),然后對觸點跟蹤軟件CCV進行了修改,使其適用于球形顯示,。完成了觸點跟蹤和手勢識別模塊,,選用Flash和C#開發(fā)應(yīng)用程序進行了多點觸摸互動應(yīng)用,顯示出多點觸摸系統(tǒng)帶來的交互性和便捷性,。
參考文獻
[1] BENKO H, WILSON A D, BALAKRISHNAN R. Sphere: multi-touch interactions on a spherical display[J]. UIST,2008,2(3):67-69.
[2] KETTNER S, MADDEN C, ZIEGLER R. Direct rotational interaction with a spherical projection creativity and cognition symposium on interaction[C]. Systems, Practice and Theory,2004.
[3] KALTENBRUNNER M, BENCINA R. CCV: a computer vision framework for table-based tangible interaction[J]. In Proceedings of the 1st International Conference on Tangible and Embedded Interaction, ACM, 2007,7(5):74.