張樂,陳樂翔
(商洛學院 電子信息與電氣工程學院,陜西商洛 726000)
慣性傳感器可以測量物體的加速度和角速度等運動參數,通過分析這些數據可以準確地識別出使用者所做的手勢,并將其轉換為控制命令,從而實現人機交互。因此,基于慣性傳感器的手勢識別就成為人機交互領域中備受關注的研究課題[1]。目前,實現手勢識別的方法有三類:基于數據手套的手勢識別方法[2]、基于微機電系統(Micro Electro Mechanical System,MEMS)慣性傳感器的手勢識別方法[3-4]和基于視覺的手勢識別方法[5-6]。基于數據手套的手勢識別方法需要大量的傳感器,操作不夠便捷和人性化,成本也相對較高,難以得到推廣。基于視覺的手勢識別技術在處理圖像和視頻方面已經非常成熟,但其依賴于設備的圖像處理能力和使用環境。例如,光照強度、環境背景和手部遮擋等因素都可能影響手勢識別的準確性,使得該方法的應用場景大大受限。基于加速度傳感器的手勢識別方法具有較強的環境抗干擾能力,越來越使研究者重視。荊雷等[7]利用動態時間規整(Dynamic Time Warping,DTW)算法實現了一種基于加速度信號的手勢識別,該方法更優于隱馬爾可夫模型,但實時性較差。劉珠峰等[8]通過在手勢信號重采樣階段進行中點補償等優化方法,提升了模型的訓練效率,取得了較好的識別效果。陳意等[9]通過提取加速度特征和加速度變化規律,利用決策樹算法實現了手勢識別,該方法不僅簡單有效,且魯棒性較好。隨著微電子技術的持續發展,各類MEMS傳感器被不斷地集成到智能終端,且智能終端的算力不斷提高,為研究基于智能終端的手勢識別研究應用提供了有利條件[10-12]。本文以智能手機MEMS慣性傳感器為載體,提出了LSTM-D和GRU-D模型,兩種模型均能有效提取各種手勢的運動學特征及設備的姿態變化規律,順利完成10類手勢識別。
與傳統的前饋神經網絡不同,循環神經網絡是一類具有短期記憶能力的神經網絡,能夠在一定程度上提升網絡模型的建模能力。然而,當給網絡輸入信息序列較長時,會出現梯度消失或梯度爆炸問題。
為了有效解決這種長程依賴問題,門控循環單元網絡在循環神經網絡的基礎上引入了門控機制用來控制神經網絡中信息的傳遞方式,從而成功地緩解了梯度爆炸和梯度消失問題。
長短期記憶網絡(Long Short-Term Memory,LSTM)由一系列的記憶單元構成,每個記憶單元結構如圖1所示。記憶單元有3個“門”:輸入門、輸出門和遺忘門,分別用于控制信息的保存、信息的輸出和信息的丟棄,從而控制信息傳遞的路徑。

圖1 LSTM記憶單元
圖1中,在LSTM網絡中,每個LSTM單元針對輸入進行計算的過程為:
其中,σ表示Sigmoid激活函數,tanh表示雙曲正切函數;it、ot、ft、ct和c~t分別表示輸入門、輸出門、遺忘門、記憶單元內容和新記憶單元內容;W表示權重矩陣;b表示偏置,比如bi表示輸入門的偏置向量;ht為時間t時的隱含層向量。⊙表示向量元素乘積,⊕表示向量元素和。
門控循環單元(Gated Recurrent Unit,GRU)網絡是一種比LSTM網絡更加簡單的循環神經網絡,其將LSTM記憶單元的遺忘門和輸入門信息進行合并,在不損失記憶能力的同時,縮減了“門”的數量,從而提升了網絡的訓練效率。GRU網絡的記憶單元如圖2所示。

圖2 GRU記憶單元
圖2中,在GRU網絡中,每個GRU單元針對輸入進行計算的過程為:
其中,rt、zt和xt分別表示重置門、更新門和輸入向量;⊙表示向量元素乘積,⊕表示向量元素和。
本文構建的手勢識別網絡模型以X網絡為核心,由X網絡和全連接網絡串聯構成的一種網絡結構,其中,X為LSTM或GRU,如圖3所示。數據首先進入到X網絡,X單元會對信息進行張量運算。X網絡由多層X層構成,且每層X層又由多個X單元構成。然后進入到Dropout層,用于丟棄一些神經元節點,從而防止模型過擬合。多層Dropout層和X層堆疊構成特征提取網絡,用于提取手勢數據信息中的關鍵特征。接著進入歸一化處理層,用于對中間層進行歸一化操作,使模型更易優化。再進入到全連接層,用于實現手勢分類任務。全連接層共3層,且最后一層采用softmax函數進行激活。

圖3 X-D網絡結構
測試集上的評價指標采用分類任務中常用的準確率(Accuracy,A)、召回率(Recall,R)、精準率(Precision,P)及 F1 分數(F1 Score,F1)評分。相關評價指標的計算公式為:
其中,FN、TP、FP和TN分別是假陰性(FalseNegative)、真陽性(Ture Positive)、假陽性(False Positive)和真陰性(Ture Negative)。
本文所使用的操作系統為Windows11,算法開發工具為Jupyter Notebook,深度學習框架為Tensorflow2.3版本。硬件配置采用第12代Gen Intel(R)Core(TM)i7-12700H CPU 處理器,NVIDIA RTX3060 16G顯卡。
本文以三維空間中的手寫數字開展手勢識別研究,手勢數據為智能手機端MEMS三軸加速度傳感器采集的加速度值。數據采集任務由55名年齡介于18~30歲的青年男女參與完成,其中男性34人,女性21人,采集數據的手機型號不限。數據采集人員通過手持移動智能手機,并在空間中書寫阿拉伯數字,每人每個阿拉伯數字書寫10遍,累計獲得5 500條數據。三維手寫數字的書寫筆畫的正視圖,如圖4所示,箭頭方向代表書寫數字時的手部運動方向。其中,數字“0”“1”和“8”允許兩種書寫筆跡,所有數字均一筆完成書寫。

圖4 手寫數字的書寫筆畫正視圖
將采集的5 500條數據進行人工標注,訓練集為3 272條,用于模型訓練。驗證集數據578條,用于訓練過程中調整模型的超參數和對模型的能力進行初步評估。測試集為1 650條,用于模型性能測試。
在手勢數據特征提取過程中,手勢數據的特征維度為3維,分別對應MEMS加速度傳感器X軸、Y軸和Z軸方向的加速度值,每43個加速度值為特征長度組成1個序列。
采用同一架構(如圖3所示),構建X-D網絡的兩種模型進行試驗。試驗控制單一變量,網絡參數及結構,如表1所示。網絡的第1層、第3層、第5層、第7層、第9層和第11層為具有120個隱藏節點X層。第2層、第4層、第6層、第8層和第10層為Dropout層,第12層為AlphaDropout層,所有丟棄層都隨機丟棄30% 的神經元及其對應的連接邊,用來防止模型過擬合。第13層為 Batch Normalization,減少網絡計算量使其學習率更穩定地進行梯度傳播。第14層為全連接層,含有200個隱藏節點,激活函數為Relu。第15層為全連接層,含有100個隱藏節點,激活函數為Relu。第16層為分類層,含有10個隱藏節點,激活函數為softmax。網絡的迭代周期設置為400,batch size設置為80。學習率設定使用指數衰減法,初始學習率設置為0.001,一階和二階矩估計的指數衰減率分別為0.9和0.99,模糊因子為1.0×10-8,優化器使用adam。

表1 X-D網絡結構參數
通過測試集分別對LSTM-D和GRU-D兩種網絡模型進行測試,二者的整體準確率分別為81% 和85% ,精確率分別為81.6% 和85.2% ,召回率分別為81.5% 和86.3% ,F1分數分別為81.6% 和85.8% 。每個數字的測試結果如圖5所示,測試結果用準確率、召回率、精準率及F1分數作為評價指標。

圖5 兩種模型的評價指標
由圖5可以看出,GRU-D模型的準確率、召回率、精準率及F1分數四項指標均高于LSTM-D模型,且GRU-D模型各個數字的評價指標相較LSTM-D模型更平穩。由此可以得出,GRU-D網絡比LSTM-D網絡表現更佳。
圖6為10×10的混淆矩陣,能夠清晰地顯示兩種模型對手勢識別的分類準確率。縱坐標為真實標簽,橫坐標為預測標簽。圖6中數值表示預測值被歸為某一類的比例,位于對角線上的數值越大表示有越多的序列被正確歸類。右側的條狀圖用于度量混淆矩陣中方格的灰度值,方格中的值越大,方格的顏色越深。LSTM-D模型對數字“8”的識別率最低,僅為71% 。對數字“3”的識別率最高,達到93% 。GRU-D網絡對數字“4”的識別率最低,僅為75% 。對數字“2”的識別率最高,達到了93% 。通過比較可以看出,GRU-D相較于LSTM-D整體分類能力更好。

圖6 兩種模型的混淆矩陣
在實際應用中模型的訓練及運算效率非常重要,為驗證模型的此兩項性能,在訓練周期為400的情況下,將兩種模型的訓練及預測測試集數據所用時長進行比較。每次保證運行條件相同,同時網絡結構和參數設置相同,試驗結果如表2所示。

表2 兩種模型運算性能比較
由表2可看出,在所有條件相同的情況下,LSTM-D模型訓練所消耗時長是GRU-D模型的1.68倍,LSTM-D模型測試時長是GRU-D模型的1.83倍。綜上所述,GRU-D模型的訓練和運算效率更高,更適合部署在嵌入式設備中,能夠更快速、更準確地識別手勢動作。
本文提出了一種基于門控循環網絡的模型結構,實現了基于MEMS加速度傳感器的手勢識別方法。通過比較LSTM-D和GRU-D兩種網絡模型在自建數據集上的表現可見,GRU-D網絡在兩種網絡模型中表現更好。通過比較兩種模型在較長訓練周期下的表現,發現GRU-D抗過擬合性強、準確率高。比較兩種網絡的運算性能并結合GRU-D模型的訓練情況,發現該網絡模型不易出現梯度爆炸或梯度消失,具有良好的穩定性,能夠快速準確地對手勢進行分類,可適用于大規模數據庫。因此,本文提出的網絡模型結構可為基于MEMS慣性傳感器的手勢識別提供新的方法。