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