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