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