朱連章,陳殿明,郭加樹,張紅霞
(中國石油大學(華東) 計算機與通信工程學院,山東 青島 266580)
隨著科學技術的飛速發展,便攜式和穿戴式智能設備逐漸在生活與工作領域中發揮著重要的作用,如人機交互、虛擬現實、運動和醫療保健等[1]。而通過利用智能設備和計算機技術處理人體行為數據從而實現行為識別成為了國內外的研究熱點。
目前人體行為識別的研究主要有兩種方式,一是通過錄像、拍照的方式獲取人體行為的視頻、圖像數據[2-3],并對數據進行處理分析。然而該方法較為復雜,不僅對采集、處理數據的設備要求較高,而且計算量龐大,另一方面可能存在各種無法預料的環境因素對數據處理造成不同程度的干擾,并且在隱私保護、便攜性等方面也表現出不足;另一種通過單一或多種傳感器獲得多維動作數據[4],再對數據進行處理分析從而實現行為識別。
隨著智能終端設備領域的不斷發展與進步,在智能終端上集成豐富的傳感設備已經非常方便,例如加速度傳感器、磁力計、陀螺儀、全球定位系統等已經可以集成在如智能手機、智能手環等可便攜、穿戴的設備上,這樣就為智能終端設備應用于行為識別提供了可行性[5-6]。
Ling等[7]用5個小雙軸加速度傳感器同時佩戴在四肢和右髖部位來收集個體日常動作數據,并比較不同分類器后發現使用決策樹能夠獲得最佳性能,識別準確率為84%。Tapia等[8]利用心率監視器以及附在四肢及腰部的五個三軸加速度計來組成識別系統,對三十個體育項目動作進行識別,獲得了80.6%的識別準確率。文獻[9-10]中使用了神經網絡與深度學習,雖然特征提取工程量小,但是網絡結構簡單,且識別準確率不足。李鋒等[11]使用單一的加速度傳感器進行識別,雖然識別準確率達到96.13%,但特征提取工程量太大,需要專業的運動領域知識,實用性不足。
針對上述問題,提出了一種改進的基于協同長短期記憶模塊的神經網絡,并基于該神經網絡構建了人體行為識別模型,并通過實驗對其進行驗證。
RNN是包含循環的網絡,在RNN網絡結構中,隱層節點讀取輸入層的信息,然后在輸出信息的同時,通過循環結構將信息輸入下一步從而實現信息的傳遞。RNN的鏈式結構與時間序列類的數據結構契合,是一種適合處理該類數據的神經網絡結構。RNN在語音識別、語言建模等領域都取得了一定的成就。但是隨著RNN模塊之間的間距增加,RNN會很難達到長范圍的依賴,從而出現梯度消失[12]問題。
長短期記憶(long short term memory,LSTM)網絡由Hochreiter & Schmidhuber在1997提出[13]。Alex Graves近期對其進行了改良和推廣,將LSTM應用在很多領域,并取得了相當大的成功[14-16]。
RNN模塊結構簡單,比如有的結構中只有一個單一的tanh層,而LSTM通過刻意的設計來避免梯度消失問題。
圖1是標準LSTM模塊的內部結構。

圖1 單個LSTM模塊結構
LSTM的關鍵就在細胞狀態Ct-1→Ct,細胞狀態類與傳送帶相似,直接在整個鏈上運行,只有少量的線性信息交互,使得細胞信息便于保持。
LSTM通過特別設計的一種被稱為“門”(gates)的結構來擁有增加或去除細胞狀態上的信息的能力。
遺忘門的原理如式1所示:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
輸入門的原理如式2所示:
(2)
細胞更新狀態的方式如式3所示:
(3)
輸出門原理如式4所示:
(4)
Gers & Schmidhuber提出了基于peephole connection變體結構的LSTM[17],該結構使各門層也接受細胞狀態的輸入,實驗結果表示基于這種變體結構的神經網絡比普通的LSTM網絡表現更好。楊年峰研究了步態特征及其影響因素,并為量化描述人體運動協調規律提供了有效手段[18]。受peephole connection結構與人體運動協調規律的啟發,文中對LSTM模塊的結構進行了改進。
設計了協同LSTM模塊(synergistical LSTM,S-LSTM),新的結構中對于更新細胞狀態信息時,遺忘門與輸入門以同步互補的方式替換標準結構中的分離式更新方法,更改后的細胞狀態信息更新方法如式5所示:
(5)
S-LSTM模塊的內部結構如圖2所示。

圖2 S-LSTM模塊結構
模塊中將peephole connection結構應用在細胞歷史狀態與遺忘門之間,由于式5中的更改方式使得遺忘門與輸入門同步互補更新,記憶細胞狀態在輸出部分于式4中已有體現,故而輸入門與輸出門部分不再添加peephole connection結構。此時遺忘門與輸入門的更新方式如式6所示:
(6)
文中所用的S-LSTM神經網絡由以下部分構成:輸入層、6個S-LSTM層、Softmax分類層和輸出層。
文中構建了基于S-LSTM網絡的人體行為識別模型,如圖3所示。

圖3 基于S-LSTM網絡的人體行為識別模型
使用調整后的Z-score標準化方法對數據進行預處理,Z-score標準化公式如式7所示:
(7)
其中,μ為均值;σ為標準差。
文中對式7做了一定的變更,如式8所示:
(8)
為避免特定動作使某一軸數據固定從而導致式7出現除零錯誤,引入極小量ε。
使用的數據集來自公開的UCI機器學習知識庫(smartphone-based recognition of human activities and postural transitions data set)[19],實驗數據由30名年齡在19~48歲的志愿者完成,采集設備為Samsung Galaxy S Ⅱ,通過使用加速度傳感器與陀螺儀以50 Hz的頻率獲取加速度與角速度數據。志愿者在實驗中執行了由6項行為動作組成的活動:3項靜態活動(站立、坐立和躺平)和3項動態活動(行走、上樓和下樓)。傳感器信號數據通過噪聲濾波處理,在50%重疊的固定寬度的滑動窗口(2.56 s)中采樣,然后使用Butterworth低通濾波器分離身體加速度和重力,最終得到10 929個樣本。
實驗基于Windows 10專業版(版本號1607),處理器為Intel Core i7(2.5 GHz),內存為8 G,使用支持訓練神經網絡的NVIDIA顯卡來提升訓練速度。為了驗證提出模型的有效性,選擇深度卷積神經網絡CNN和標準LSTM神經網絡在相同的數據集上進行實驗對比。
實驗所用數據集被分為兩部分:訓練集占70%,測試集占30%。將樣本標簽數據做one-hot處理,使其與樣本數據對應。鑒于顯存容量有限,使用mini-batches方法來進行批梯度下降。由于已經做了標準化處理(見式8),L2損失函數相比于L1損失函數變現更佳,所以實驗中均使用L2,優化器使用Adam,各模型的學習率都設為0.002,迭代次數為1 000。
三種網絡模型在實驗中隨著迭代次數增加,不斷優化參數,并在數據集上進行識別準確率的驗證對比。各模型在訓練集和測試集上的表現分別如圖4和圖5所示。

圖4 各模型在訓練過程中的識別準確率

圖5 各模型在測試過程中的識別準確率
可以看到,隨著迭代次數的增加,各模型的準確率不斷上升,剛開始CNN的收斂速度最快,S-LSTM次之,LSTM最慢,各模型在測試集上的識別準確率要低于在訓練集上的表現。
因為實驗本身在一定程度上受參數隨機初始化效果的影響,所以對各模型在測試集上都進行5次實驗,然后取其平均準確率作為對比依據,其對比結果如表1所示。

表1 各模型在測試集上的平均識別準確率 %
由表1可知,三種模型中,S-LSTM表現最好,準確率達到95.81%,而CNN表現平穩,識別準確率為91.53%,而標準LSTM在迭代過程中的識別準確率波動較大,但最終與CNN相差較小,為90.47%。實驗結果表明,提出的基于S-LSTM神經網絡的人體行為識別模型表現最好,是一種有效的人體行為識別方法。
基于S-LSTM神經網絡的模型實現了人體行為識別,通過與CNN、標準LSTM神經網絡模型在UCI人體行為識別數據集上進行了實驗對比,表明該方法識別效果最好,說明該方法適合處理人體行為時域數據,能夠充分挖掘其數據特征,提高識別準確率。實驗使用的是加速度傳感器與陀螺儀獲取的6軸傳感數據,目前隨著科技的發展,更多的傳感器可以集成在便攜智能終端設備上,比如磁力計、GPS、攝像頭和麥克風等,可以大大豐富數據的多維性。相信在未來的工作中,人們可以通過使用更優秀的網絡模型和方法處理基于多傳感器的人體行為數據,從而更好地提升識別準確率。