惠 丹
(西安理工大學(xué),陜西 西安 710048)
目前,隨著可穿戴設(shè)備的普及,越來越多的人開始使用例如智能手表等設(shè)備。可穿戴設(shè)備主要使用觸摸屏作為交互手段(如智能手表),然而為了保證便攜性,可穿戴設(shè)備的觸摸屏很難提供足夠大的面積來實(shí)現(xiàn)各種交互,這樣的限制也導(dǎo)致用戶在使用觸摸屏?xí)r很容易出現(xiàn)誤觸或操作錯(cuò)誤。因此如何提高可穿戴設(shè)備觸摸屏手勢識(shí)別的準(zhǔn)確率成為了重要的研究方向。
本文以智能手表為例,提出一種基于深度學(xué)習(xí)算法卷積神經(jīng)網(wǎng)絡(luò)(CNN)分類模型的用戶手勢識(shí)別系統(tǒng)。該手勢識(shí)別系統(tǒng)利用智能手表上的加速度傳感器獲取用戶的手勢數(shù)據(jù),通過訓(xùn)練CNN模型,使機(jī)器可以通過對比加速度傳感器在三個(gè)向量軸的數(shù)據(jù)差異以及數(shù)據(jù)的時(shí)間長短來實(shí)現(xiàn)對用戶手勢識(shí)別分類的目的。
如圖1所示,本系統(tǒng)由可穿戴設(shè)備(智能手表)、智能手機(jī)和PC端組成。設(shè)定10種手勢模式進(jìn)行實(shí)驗(yàn),首先通過加速度傳感器采集參與實(shí)驗(yàn)者在智能手表上的手勢交互數(shù)據(jù)(包括三個(gè)加速度軸的數(shù)據(jù)以及手勢的執(zhí)行時(shí)間),然后使用藍(lán)牙收集數(shù)據(jù)并傳輸?shù)街悄苁謾C(jī)上,利用已開發(fā)好的手機(jī)應(yīng)用把手機(jī)采集到的數(shù)據(jù)樣本進(jìn)行批處理,再把數(shù)據(jù)樣本通過WiFi共享到PC端,PC端把數(shù)據(jù)樣本集導(dǎo)入CNN神經(jīng)網(wǎng)絡(luò)識(shí)別手勢模型并最終返回識(shí)別結(jié)果[1]。
圖1 系統(tǒng)總體架構(gòu)
當(dāng)前大部分可穿戴設(shè)備中都裝備有加速度傳感器。本文選擇配備了三軸加速度傳感器和藍(lán)牙通信模塊的安卓智能手表作為實(shí)驗(yàn)設(shè)備,三軸加速度傳感器用于收集x、y、z軸上加速度的數(shù)據(jù)值[2]。
在執(zhí)行數(shù)據(jù)收集時(shí),用戶首先從已開發(fā)的安卓應(yīng)用中的模式列表選擇手勢模型的類型,然后智能手表將采集到的傳感器數(shù)據(jù)通過藍(lán)牙模塊發(fā)送到智能手機(jī)。手機(jī)獲取所收集數(shù)據(jù)后,整理成數(shù)據(jù)集并發(fā)送到PC端,PC端顯示基于接收到的數(shù)據(jù)的手勢模型分類結(jié)果。本研究中由于智能手機(jī)的計(jì)算性能有限,無法使用移動(dòng)設(shè)備來訓(xùn)練機(jī)器學(xué)習(xí)模型,因此本文使用云計(jì)算平臺(tái)來實(shí)現(xiàn)。移動(dòng)設(shè)備和PC端通過WiFi進(jìn)行數(shù)據(jù)通信,PC端獲取手勢交互數(shù)據(jù)集后,利用CNN模型判斷手勢類型并發(fā)送結(jié)果。本研究使用TensorFlow進(jìn)行實(shí)驗(yàn)。
由于智能手表的觸摸屏面積有限,因此本文在二維平面上選擇9個(gè)點(diǎn)來確定手勢模型,這樣不僅符合用戶在使用智能手表的交互習(xí)慣[3],也能最大限度測試該系統(tǒng)在實(shí)際交互場景下的識(shí)別準(zhǔn)確率。
本文選取10種手勢模型(如圖2所示)作為實(shí)驗(yàn)手勢模型,選擇這10種手勢模型是因?yàn)樗鼈兎嫌脩粼谑褂弥悄苁直頃r(shí)大部分的交互場景[4-5],并且這10組手勢模型中組和組之間有一定的相似性,這樣可以更好地測試系統(tǒng)的性能。
圖2 10種實(shí)驗(yàn)手勢模型
實(shí)驗(yàn)參與者在佩戴的智能手表上執(zhí)行給定的10組手勢。圖2中的9個(gè)參考點(diǎn)是為了方便參與者而提供的。實(shí)驗(yàn)參與者按照自己的使用習(xí)慣去進(jìn)行手勢操作(如姿勢、手型、動(dòng)作等)。
(1)
這樣,Ax、Ay、Az就組成了智能手表收集的初始手勢樣本數(shù)據(jù)。通過實(shí)驗(yàn)對比可以發(fā)現(xiàn),在測試不同的手勢模型時(shí),加速度傳感器的運(yùn)行時(shí)間以及所獲取的x、y、z軸上的加速度值是不同的。例如,在P1模式下加速度值有兩個(gè)數(shù)據(jù)波動(dòng),而在P9模式下加速度值有三個(gè)以上的數(shù)據(jù)波動(dòng),并且兩種手勢在執(zhí)行時(shí)間上的差異約為0.8 s。因此可以通過CNN模型訓(xùn)練機(jī)器分析不同手勢模型的數(shù)據(jù),并最終實(shí)現(xiàn)手勢識(shí)別的目的[6]。
本文通過CNN神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對10種手勢模型的分類。為了使用CNN模型,需要對輸入數(shù)據(jù)大小進(jìn)行修正。本研究在實(shí)驗(yàn)中把獲取數(shù)據(jù)的時(shí)長固定為10 s,所收集的手勢以10 Hz頻率采樣,每個(gè)數(shù)據(jù)大小為100。因此,輸入數(shù)據(jù)的總大小為1×100×3,其中x、y和z軸各有100個(gè)數(shù)據(jù)。圖3顯示了CNN模型的設(shè)計(jì)結(jié)構(gòu)。CNN模型一般由輸入層、隱藏層和輸出層組成,而本文設(shè)計(jì)的CNN模型分為輸入層、卷積層、池化層、全連通層和輸出層。輸入層根據(jù)輸入格式分類數(shù)據(jù);隱藏層由卷積層、池化層組成,卷積層計(jì)算連通區(qū)域與其自身加權(quán)值之間的卷積[7],池化層進(jìn)行下采樣,對特征信息稀疏處理,減少數(shù)據(jù)運(yùn)算量;在完全連接層中,所有節(jié)點(diǎn)都是相互連接的,每個(gè)節(jié)點(diǎn)的結(jié)果由權(quán)重矩陣做乘法并設(shè)定一個(gè)偏差值對數(shù)據(jù)重新擬合,減少特征信息的損失;在輸出層,通過Softmax分類器處理后的數(shù)據(jù)按概率返回分類結(jié)果。
圖3 CNN神經(jīng)網(wǎng)絡(luò)
本文設(shè)計(jì)的CNN模型的總體結(jié)構(gòu)如圖3所示。其中Conv、Pool和Full分別是卷積層、池化層和完全連接層的縮寫,卷積層feature map的初始數(shù)值為9,每次增加2倍,池化層使用max pooling方法減少運(yùn)算數(shù)據(jù)。為了避免過度擬合,該網(wǎng)絡(luò)共設(shè)有3個(gè)全連接層,其中dropout rate設(shè)置為0.5。本研究中使用了ReLU作為激活函數(shù),交叉熵作為成本函數(shù),ADAM作為優(yōu)化器。這樣做的目的是為了使整個(gè)CNN網(wǎng)絡(luò)在處理數(shù)據(jù)時(shí)保證特征信息的損失降到最低,并且訓(xùn)練參數(shù)(如權(quán)值和偏差)可以實(shí)時(shí)更新,這樣可以提高運(yùn)算效率并保證識(shí)別的準(zhǔn)確性。
為了對模型的性能進(jìn)行評價(jià),本實(shí)驗(yàn)共收集了3 000組實(shí)驗(yàn)數(shù)據(jù)?;谶@個(gè)數(shù)據(jù)集,對提出的手勢識(shí)別系統(tǒng)進(jìn)行訓(xùn)練和測試。訓(xùn)練和測試過程通過3次驗(yàn)證以保證性能評估結(jié)果的可靠性,各手勢模型的數(shù)據(jù)樣本量均為300組。
本實(shí)驗(yàn)使用準(zhǔn)確率(Accurary)、精確率(Precision)、召回率(Recall)三個(gè)評估指標(biāo)對該手勢模型識(shí)別系統(tǒng)進(jìn)行性能評估。
上述公式中,True Positive(TP)表示將正類預(yù)測為正類數(shù);True Negative(TN)表示將負(fù)類預(yù)測為負(fù)類數(shù);False Positive(FP)表示將負(fù)類預(yù)測為正類數(shù);False Negative(FN)表示將正類預(yù)測為負(fù)類數(shù)。這三個(gè)評估指標(biāo)是在深度學(xué)習(xí)性能評估中最常使用到的[8]。
通過實(shí)驗(yàn),該手勢模型識(shí)別系統(tǒng)性能的詳細(xì)評估結(jié)果如表1所示。
表1 系統(tǒng)性能評估結(jié)果
由實(shí)驗(yàn)結(jié)果可以得出該手勢模型識(shí)別系統(tǒng)的三項(xiàng)性能指標(biāo)都很高,均在97%以上,其中P1、P6、P9和P10都顯示出極高的識(shí)別準(zhǔn)確率,達(dá)到99%以上。P7和P8的準(zhǔn)確率在97%以上,而P3的準(zhǔn)確率相對較低,為94.2%(如表2所示)。由于P2和P3、P5和P6具有相似的特征,因此,系統(tǒng)會(huì)出現(xiàn)誤判。此外,P1與P2,P3與P8,P4與P7、P9,P5與P6、P8等均有誤判的情況出現(xiàn),但是總體而言該系統(tǒng)的識(shí)別準(zhǔn)確率是令人滿意的,并且誤判率可以通過增大訓(xùn)練數(shù)據(jù)樣本量進(jìn)行降低[9-10]。
表2 各手勢模型識(shí)別準(zhǔn)確率
隨著可穿戴設(shè)備越來越多地被人們使用,用戶需要更加舒適便捷的人機(jī)交互,然而由于可穿戴設(shè)備尺寸和體積的限制,需要提高可穿戴設(shè)備的手勢識(shí)別率以提升交互體驗(yàn)。因此,本文以智能手表為例提出基于深度學(xué)習(xí)算法的手勢識(shí)別系統(tǒng)。該系統(tǒng)對設(shè)定的10組手勢的識(shí)別準(zhǔn)確率達(dá)到97.5%,并且準(zhǔn)確率、精確率和召回率三項(xiàng)系統(tǒng)性能指標(biāo)都達(dá)到了97%以上,而且隨著訓(xùn)練樣本的數(shù)據(jù)量增大,該系統(tǒng)的準(zhǔn)確率還可以繼續(xù)提高。該系統(tǒng)不僅可以提高可穿戴設(shè)備的手勢識(shí)別率,還可以用來識(shí)別用戶的個(gè)人生物信息,因此可以將該系統(tǒng)擴(kuò)展到如數(shù)字簽名、個(gè)人安全或用戶標(biāo)識(shí)等其他領(lǐng)域。