文獻標識碼: A
文章編號: 0258-7998(2013)04-0121-03
隨著信息技術(shù)的不斷發(fā)展,以用戶為中心的設(shè)計理念已經(jīng)成為人機交互的發(fā)展趨勢,用戶可以更方便、自然地使用計算機。3G時代的到來,智能手機、重力感應(yīng)、無線WiFi(無線局域網(wǎng)通信方式)等一系列新技術(shù)的應(yīng)用也已進入實用階段[1-2]。這些技術(shù)不僅使得移動設(shè)備的功能更強大,也開創(chuàng)了新的人機交互接口,其中最具代表性的就是基于體感交互的人機接口。
體感交互是通過人的肢體動作變化進行操作的一種人機交互方式??臻g手勢是一種自然、直觀、易于學習的人機交互手段,是體感交互的重要組成部分之一。傳統(tǒng)的手勢識別是通過攝像頭捕捉手勢,并利用計算機視覺算法識別手勢,這種方法計算量非常大,需要消耗大量的手持設(shè)備系統(tǒng)資源。目前更方便的方法是利用移動設(shè)備內(nèi)置的傳感器(如加速度傳感器、陀螺儀、磁力儀等)來進行識別。利用內(nèi)置傳感器進行識別的優(yōu)勢是手勢識別能在設(shè)備本身進行,并且識別精度不受燈光條件或者攝像頭質(zhì)量的影響[3],因此其成本和能耗最低。近年來,移動智能終端發(fā)展十分迅速,很多廠商都為自己的產(chǎn)品配備了三軸陀螺儀等體感設(shè)備,如最早采用該技術(shù)的蘋果iPhone4,這使得利用移動設(shè)備內(nèi)置傳感器開發(fā)體感交互應(yīng)用成為可能。
目前的系統(tǒng)將智能終端作為外設(shè)[4],可直接通過WiFi進行通信。使用配備三軸加速計和陀螺儀的智能移動終端捕獲手勢命令,以WiFi網(wǎng)絡(luò)作為信息傳遞載體,將手勢命令傳輸?shù)椒?wù)器,從而達到在演講時控制幻燈片放映控制的目的。這種基于WiFi和體感交互的演示方式,能克服傳統(tǒng)USB激光筆操作方式單一、接收距離有限等問題,并能提供更好的用戶體驗。
1 系統(tǒng)結(jié)構(gòu)
基于WiFi和體感交互的演示系統(tǒng)由客戶端和服務(wù)端兩部分組成,系統(tǒng)總體框架圖如圖1所示。服務(wù)端運行在裝有Windows操作系統(tǒng)的計算機上,主要負責監(jiān)聽客戶端消息以及控制幻燈片的放映;客戶端運行在移動智能終端上,主要負責接收用戶輸入(包括手勢輸入),并且發(fā)送命令至服務(wù)端??蛻舳送ㄟ^WiFi連接到服務(wù)端所在的局域網(wǎng),從而實現(xiàn)雙方的通信。在設(shè)計中,客戶端可以是各個平臺的移動終端,本研究是基于運行iOS操作系統(tǒng)的iPad2平板電腦和iPhone4手機。利用iPad2和iPhone4內(nèi)置的三軸陀螺儀捕獲數(shù)據(jù),并通過識別算法解析為相應(yīng)的手勢。整個系統(tǒng)包含:體感模塊、手勢識別模塊和基于WiFi的通信模塊。體感層通過移動設(shè)備內(nèi)置的三軸陀螺儀傳感器獲取信息,通過三軸陀螺儀,可以獲得設(shè)備在每一時刻三個方向上的加速度值,并針對某一時間段內(nèi)陀螺儀傳回的加速度值進行分析,即可對手勢動作進行識別。手勢識別層基于體感層獲取的信息,利用訓練好的識別算法識別手勢。通信層將識別結(jié)果傳遞給外部設(shè)備,以觸發(fā)設(shè)備進行相應(yīng)的操作。
2 系統(tǒng)設(shè)計
2.1體感層
手勢的選擇和設(shè)計不僅影響到用戶體驗,還影響到識別準確率。PYLVANAINEN T認為大規(guī)模的手勢集合是不切實際的,因為這么多手勢需要使用者去逐一學習,影響使用效果[1]。LIU J[5]等研究中的識別結(jié)果表明,選擇合適的手勢集合對提高識別精度具有重要意義。越復(fù)雜的手勢需要定義的特征就越多,雖然能獲得較高的識別率,但是復(fù)雜的手勢需要使用者去了解并且記住所對應(yīng)的意義。
在本文的研究中,主要利用移動設(shè)備內(nèi)置的三軸陀螺儀來捕獲數(shù)據(jù),并通過旋轉(zhuǎn)來設(shè)置手勢??紤]到移動設(shè)備具有X、Y、Z三軸,本文可定義6個基本的旋轉(zhuǎn)。
三軸陀螺儀可以測定6個方向的角速度量,多用于航海、航天等導(dǎo)航、定位系統(tǒng),能夠精確地確定運動物體的方位,目前多用于智能手機。本研究基于Ipad2內(nèi)置的三軸數(shù)字陀螺儀捕獲手勢數(shù)據(jù),每隔0.05 s獲取一次X、Y、Z軸方向的加速度。通過對獲取的數(shù)據(jù)進行分析,即可對表1中定義的手勢動作進行識別。圖2、圖3所示分別為通過三軸陀螺儀捕獲到的向上翻轉(zhuǎn)手勢、向左翻轉(zhuǎn)手勢在X、Y、Z軸方向的加速度。
2.2 識別層
在進行識別之前,首先要創(chuàng)建手勢模板庫。模板庫的建立主要步驟如下:
(1) 投影。由于用戶操作的差異性,不同使用者做同一個動作的幅度和角速度有所差別,即使是同一個用戶,不同時間重復(fù)同一個動作的幅度和角速度也有不同,這就需要針對基準平面對X、Y、Z三軸方向的加速度進行投影操作。
(2) 濾波。過濾掉樣本中可能存在的噪聲信號,本研究中使用低通濾波。
(3) 歸一化。
(4) 主元分析求取閾值。為了察覺到翻轉(zhuǎn)的發(fā)生,識別層持續(xù)捕獲三軸陀螺儀傳感器傳來的數(shù)據(jù)。傳遞到識別層的數(shù)據(jù)是一個三維數(shù)組,分別對應(yīng)于陀螺儀X、Y、Z軸的加速度改變。如果數(shù)組中某一維的值超過了閾值,就能夠識別出對應(yīng)于這個軸的某一手勢,即某一翻轉(zhuǎn)動作。由圖2、圖3可以看出每一個翻轉(zhuǎn)手勢動作都會產(chǎn)生一個尖峰。如圖2所示向上翻轉(zhuǎn)時X軸方向的加速度是最大的,經(jīng)過多次實驗驗證當X軸方向的加速度大于9 m/s2時,可以認為手勢為向上翻轉(zhuǎn)。
(5) 建立手勢模板庫??紤]到手勢設(shè)備的運算能力,為了提高效率,實際運行過程中基于自適應(yīng)模板匹配的方法進行手勢識別,主要流程如圖4所示。
實驗證明,此種方法能在不影響手勢識別率的情況下降低手勢識別計算量,從而縮短手勢識別時間,讓系統(tǒng)更快地響應(yīng)用戶,提高用戶體驗。
2.3 通信層
iOS設(shè)備通過WiFi接入計算機所在局域網(wǎng),并通過Socket與計算機進行通信。
系統(tǒng)使用UDP協(xié)議作為傳輸層協(xié)議進行Socket通信。
本系統(tǒng)的應(yīng)用層協(xié)議報文分為三部分,第一部分為應(yīng)用標識符,第二部分為命令標示,之后為命令附加信息部分。每一部分信息用中括號“[]”包圍,附加信息部分可根據(jù)命令分為多段信息。
3 系統(tǒng)實現(xiàn)
本系統(tǒng)基于XCode開發(fā)平臺,并采用Socket和Office對象模型綜合設(shè)計與開發(fā)??紤]到演示系統(tǒng)的易學性、易用性,在客戶端僅提供文件列表顯示及簡單控制。由于iPad相對于智能手機來說屏幕較大,所有功能都可在一個屏幕中顯示,在客戶端的界面設(shè)計上不需分屏設(shè)計,便于用戶操作,具有良好的用戶體驗[6]。
文件列表展示區(qū)占據(jù)界面的三分之二。界面下方三分之一為功能操作區(qū),其中左側(cè)為初始設(shè)置功能區(qū),負責搜索主機、讀取文件目錄、手勢開關(guān)以及倒計時設(shè)置。右側(cè)為幻燈片放映控制區(qū)域,主要負責控制幻燈片的播放和翻頁。
為了免去客戶端和服務(wù)端的IP地址輸入步驟,設(shè)置局域網(wǎng)內(nèi)主機搜索功能??蛻舳嗽诰钟蚓W(wǎng)內(nèi)發(fā)送廣播報文,服務(wù)端監(jiān)聽到廣播報文后發(fā)送響應(yīng)報文,雙方各自記錄對方的IP地址,為后續(xù)通信做好準備。
服務(wù)端設(shè)置幻燈片文件目錄,當監(jiān)聽到客戶端獲取文件列表的請求時,將文件目錄及文件列表信息發(fā)送至客戶端??蛻舳私邮蘸?,以列表形式展現(xiàn)給用戶,用戶選擇要進行播放的幻燈片文件,并且執(zhí)行播放操作后,客戶端發(fā)送對應(yīng)的播放命令至服務(wù)端,命令中包含要播放的幻燈片文件名以及路徑。服務(wù)端收到播放命令時,解析出文件路徑,如果文件存在,則調(diào)用Microsoft Office PowerPoint接口啟動幻燈片的播放。
客戶端主要負責接收用戶輸入、展示數(shù)據(jù)以及發(fā)送控制命令。程序啟動后,首先自動搜索主機與局域網(wǎng)內(nèi)的主機配對??蛻舳耸盏絹碜苑?wù)端的回應(yīng)后,在界面上顯示遠程主機的IP,并激活“讀取目錄”功能選項。此時,用戶可讀取遠程服務(wù)端設(shè)置的幻燈片文件目錄中的文件列表,選擇要放映的文件,并通過手勢體感交互來控制幻燈片的播放。當某一方向上的角速度值超過設(shè)定的臨界值時,便判定設(shè)備在該方向上發(fā)生了翻轉(zhuǎn)。捕獲到設(shè)備的翻轉(zhuǎn)后,在主線程上發(fā)送響應(yīng)命令至服務(wù)端,服務(wù)端查找當前正在播放的幻燈片,并進行相應(yīng)操作。同時,也可以通過手勢開關(guān)選擇使用功能按鍵進行翻頁操作。
本文設(shè)計并實現(xiàn)了一個基于WiFi和體感交互的演示系統(tǒng)?;谥悄?a class="innerlink" href="http://ihrv.cn/tags/手持終端" title="手持終端" target="_blank">手持終端系統(tǒng)內(nèi)置的三軸陀螺儀捕獲手勢數(shù)據(jù),通過對手勢數(shù)據(jù)進行分析實現(xiàn)手勢識別,并提出一種自適應(yīng)模板匹配方法進行手勢識別,在不降低識別率的情況下提高了識別效率。本文的研究也可以擴展移植應(yīng)用到各個主流移動平臺上。
參考文獻
[1] PYLVANAINEN T. Accelerometer based gesture recognition using continuous HMMs[C]. IbPRIA, 2005.
[2] NIEZEN G, HANCKE G P.Evaluating and optimising accelerometer-based gesture recognition techniques for mobile devices[C]. AFRICON, 2009.
[3] Wang Xian, TARRIO P, METOLA E, et al. Gesture recognition using mobile phone’s inertial sensors[C].Distributed Computing and Artificial Intelligence,2012.
[4] JANG I, PARK W. A gesture-based control for handheld devices using accelerometer[C].CIARP,2004.
[5] LIU J, WANG Z, ZHONG L,et al. uWave: accelerometer based personalized gesture recognition and its applications[J]. Pervasive and Mobile Computing,2009,5(6):657-675.
[6] 戴立慧.基于WiFi體感交互軟件設(shè)計與開發(fā)[D].杭州:浙江科技學院,2012.