孫彥璽,陳繼斌,武東輝
(鄭州輕工業(yè)大學建筑環(huán)境工程學院,鄭州 450002)
在過去的幾十年里,人體活動識別(human activity recognition,HAR)因其在醫(yī)療康復、運動監(jiān)測、智能看護和人機交互等諸多領(lǐng)域的突出應用,引起了模式識別、普適計算和人機交互等領(lǐng)域研究人員的廣泛關(guān)注[1]。在早期的研究中,對人體活動識別的研究主要集中在計算機視覺領(lǐng)域,即研究人員通過對圖像或視頻采集設(shè)備采集到的圖片集合或視頻片段進行分析,以此實現(xiàn)對特定動作的識別和目標的偵測[2-3]。而伴隨著傳感器技術(shù)和無線通信技術(shù)的快速發(fā)展,體感網(wǎng)(body sensor network,BSN)和體域網(wǎng)(body area network,BAN)等人體監(jiān)測技術(shù)也逐漸興起[4-5],使得各種能夠準確采集人體活動信息的加速度計、陀螺儀、磁力計等傳感器可以被集成在智能可穿戴設(shè)備中成為現(xiàn)實,這些可穿戴設(shè)備具備體積小、功耗低、數(shù)據(jù)采集自由等優(yōu)勢,更加適合用于人體活動的長期記錄、計算和移動過程中的持續(xù)交互[6],從而促進了基于可穿戴傳感器的人體活動識別在現(xiàn)實社會的應用與發(fā)展。
人體活動識別可以被認為是一種典型的模型識別(pattern recognition, PR)問題,這類問題通常可以由支持向量機、K近鄰分類器、決策樹分類器和隱馬爾科夫模型等傳統(tǒng)的機器學習方法實現(xiàn)[7]。文獻[8]使用了K近鄰算法(K-nearest neighbor, KNN)來比較從加速度計信號中提取不同分類特征時對人體活動識別準確率的影響。文獻[9]采用了支持向量機(support vector machine, SVM)對患者的運動及聲音數(shù)據(jù)進行分類以求實現(xiàn)對病人和老年人跌倒行為的監(jiān)測。文獻[10]采用多特征隱馬爾科夫模型(hidden markov model, HMM)融合的方法用于對復雜動態(tài)手勢識別問題的研究。文獻[11]采用決策樹分類器(decision tree, DT)對提出的一種多傳感器分布式活動識別系統(tǒng)進行識別準確率和計算執(zhí)行時間的測試。盡管利用機器學習方法可以實現(xiàn)對人體活動的識別,但是這些方法需要依賴研究人員提前進行手工特征的提取,而人體執(zhí)行的某種特定活動可能是較為復雜的運動機制,那么僅靠人為選擇的特征來實現(xiàn)復雜活動的準確識別并非易事[12]。
近年來,深度學習技術(shù)得到快速發(fā)展,并在圖像分類[13]和視頻動作識別[3,14]等眾多領(lǐng)域取得顯著成績,同時也為基于傳感器的人體活動識別問題帶來了新的解決方案。與機器學習方法不同,深度學習方法能夠從原始低級傳感器讀數(shù)中自動學習到人體活動數(shù)據(jù)的高級抽象特征,這些特征能夠很好表征原始的人體活動數(shù)據(jù),有利于實現(xiàn)對人體活動的準確分類。文獻[15]提出了一種一維卷積神經(jīng)網(wǎng)絡(luò)(1-dimensional convolutional neural network,1D-CNN)用于對基于慣性傳感器的人體活動識別,并在公開的HAR數(shù)據(jù)集上使用準確率、精確率、召回率和F1等評價指標表明了該方法具有較好的活動識別性能。文獻[16]提出了一種長短時記憶(long short term memory, LSTM)遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)來進行人體活動識別,該方法可以實現(xiàn)特征的自動提取和融合,分類效果較好。文獻[17]提出了一種基于時間序列的雙向長短時記憶網(wǎng)絡(luò)(bidirectional LSTM, BiLSTM)用于對基于智能手機傳感器的人體活動識別任務。文獻[18]提出一種結(jié)合CNN強大的特征提取能力和LSTM優(yōu)秀的時間序列處理能力的組合網(wǎng)絡(luò)用于對跌倒行為的檢測。
為進一步提高對基于傳感器的人體活動識別的分類效果,同時又不依賴于手工設(shè)計的特征,提出了一種基于CNN-BiLSTM的人體活動識別方法,該方法結(jié)合了CNN可以自動提取人體活動數(shù)據(jù)的深層次有意義特征的能力和BiLSTM能夠?qū)W習數(shù)據(jù)特征在前后兩個方向上的長期依賴性的優(yōu)點,在公開數(shù)據(jù)集上的實驗結(jié)果表明了我們提出方法的有效性與穩(wěn)定性。
基于CNN-BiLSTM的人體活動識別模型主要由輸入層、CNN特征提取層、BiLSTM層、全連接層和softmax層構(gòu)成,其模型結(jié)構(gòu)示意圖如圖1所示。
圖1 CNN-BiLSTM模型示意圖
基于CNN-BiLSTM網(wǎng)絡(luò)的人體活動識別方法的分類過程如下:首先,將輸入的人體活動數(shù)據(jù)序列經(jīng)過CNN層進行空域特征提?。蝗缓?,將得到的數(shù)據(jù)特征輸入BiLSTM層進行時序特征篩選更新;其次,再經(jīng)過全連接層將篩選后得到的人體活動特征通過權(quán)重矩陣映射至樣本標記空間;最后通過softmax層進行分類計算,并選擇具有最大預測概率的類別作為輸入數(shù)據(jù)樣本的預測類別。
1.1.1 基于CNN的特征提取
卷積神經(jīng)網(wǎng)絡(luò)(CNN)能夠從信號中提取特征,并在圖像識別[19]和目標檢測[20]等方面取得了很好的效果。近年來,CNN也常被用于人體活動傳感器數(shù)據(jù)的特征提取,并用于人體活動分類任務??紤]到CNN可以自動提取人體活動數(shù)據(jù)的深層次隱含特征,能夠避免手工特征提取帶來的諸多不利,因此將CNN作為所提CNN-BiLSTM網(wǎng)絡(luò)模型的特征提取單元引入。
由圖1所示,CNN-BiLSTM模型共包含3個CNN特征提取層(每層由卷積層、批歸一化層、非線性激活層和最大池化層構(gòu)成)。其中,卷積層(Convolution)可以實現(xiàn)對人體活動數(shù)據(jù)的特征提取,是CNN層的最為關(guān)鍵一層;批歸一化層(Batch Normalization)可以對提取的特征進行歸一化處理,加快模型的訓練速度和降低對網(wǎng)絡(luò)初始化的敏感性;非線性激活層(Leaky Relu)可以促進批歸一化之后特征的映射;最大池化層(Maxpooling)則起到了壓縮數(shù)據(jù)、降低維度的作用。
卷積層采用權(quán)值共享和局部連接對人體活動數(shù)據(jù)虛擬圖像進行特征提取,其計算公式為
(1)
式(1)中:gm,n為卷積核的第m行和第n列的權(quán)值;m和n分別為卷積核的寬度和高度;xi+m,j+n為虛擬圖像中第i+m行和第j+n列元素;gb為卷積核的偏置;Ti,j為卷積后得到的特征圖的第i行和第j列元素;σ為激活函數(shù)。
選用Leaky Relu函數(shù)作為激活函數(shù),其定義為
(2)
式(2)中:s為一個小于1的非負數(shù),當s取0時,Leaky Relu激活函數(shù)退化為Relu函數(shù);x為函數(shù)的輸入。Leaky Relu激活函數(shù)可以解決當Relu激活函數(shù)的輸入值為負時,其輸出始終為零,導致的神經(jīng)元“死亡”問題。
池化層常用的池化方式有最大池化和平均池化,即取池化區(qū)域內(nèi)取值最大的元素或者所有元素的平均值作為新的樣本數(shù)據(jù)以替代卷積后得到的特征圖繼續(xù)參與模型訓練,從而起到壓縮數(shù)據(jù)、降低維度的作用,選用最大池化方式,池化后特征圖大小可表示為
W2=(W1-F+2P)/S+1
(3)
H2=(H1-F+2P)/S+1
(4)
式中:W1、W2、H1、H2分別為池化前后特征圖的寬度(水平方向的長度)與高度(垂直方向的長度);F為同特征圖對應方向上卷積核的寬度與高度;P為特征圖邊緣填充的數(shù)量;S為同特征圖對應方向上步幅的長度。
CNN-BiLSTM模型的3個卷積層的卷積核的個數(shù)依次為32、64、128,卷積核大小分別為(1,9)、(1,7)、(1,5),步長均為(1,2),即垂直方向步長為1,水平方向步長為2,同時采用same模式進行padding操作;3個非線性激活層激活因子均為0.1;3個最大池化層的池化核大小均為(1,3),步長均為(1,2)。
1.1.2 基于BiLSTM的雙向特征學習
LSTM是RNN的改進,于1997年由Hochreiter 等[21]提出。LSTM通過在RNN隱藏層上引入門函數(shù)(遺忘門、輸入門、輸出門)和記憶單元,實現(xiàn)了信息的有效篩選和更新,解決了RNN處理序列或時間序列數(shù)據(jù)時容易導致的梯度消失問題[22]。LSTM層單個LSTM細胞(cell)內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 LSTM細胞內(nèi)部結(jié)構(gòu)
t時刻遺忘激活ft、輸入激活it、候選單元gt、細胞狀態(tài)ct、輸出激活ot、隱藏狀態(tài)輸出ht的表達式分別為
ft=σ(Wf[ht-1,xt]+bf)
(5)
it=σ(Wi[ht-1,xt]+bi)
(6)
gt=tanh(Wg[ht-1,xt]+bg)
(7)
ct=ft⊙ct-1+it⊙gt
(8)
ot=σ(Wo[ht-1,xt]+bo)
(9)
ht=ot⊙tanh(ct)
應強化質(zhì)量安全監(jiān)管措施,建立公平有序的市場環(huán)境。在受到進口乳制品的強烈沖擊下,國內(nèi)乳制品行業(yè)的信任危機還未解除。隨著消費者收入的提高,安全已經(jīng)成為乳制品購買選擇的關(guān)鍵詞。因此要重塑消費者對國內(nèi)乳制品行業(yè)的信心,應著力建立以乳制品安全為核心的法規(guī)體系,將乳制品的安全監(jiān)控落實到生產(chǎn)的源頭上,并嚴格監(jiān)控生產(chǎn)過程,實時進行安全生產(chǎn)評估并及時消除可能存在的安全隱患。
(10)
式中:ht-1為上一時刻隱藏狀態(tài)的輸出信息;xt為當前時刻的輸入信息;Wf、Wi、Wg、Wo和bf、bi、bg、bo分別為遺忘門、輸入門、候選單元和輸出門的權(quán)值向量和偏置項;⊙為Hadamard乘積(向量的元素相乘);tanh為雙曲正切激活函數(shù),經(jīng)過其處理后將得到輸出介于[-1,1]的值;σ為sigmoid狀態(tài)激活函數(shù),經(jīng)過其處理后將得到輸出介于[0,1]的值。
LSTM網(wǎng)絡(luò)結(jié)構(gòu)表明:遺忘激活ft越大,表明上一時刻細胞狀態(tài)ct-1被寫進當前時刻的信息越多;輸入激活it越大,代表候選輸入gt被寫進當前時刻的信息越多,即遺忘激活ft和輸入激活it共同決定了當前時刻細胞狀態(tài)ct對不同輸入信息的接收程度。輸出激活ot則確定了當前時刻隱藏狀態(tài)的輸出ht。通過以上的各門限的控制便實現(xiàn)了人體活動傳感器時序信息的選擇性遺忘和保留。
雙向長短時記憶網(wǎng)絡(luò)(BiLSTM)是LSTM網(wǎng)絡(luò)的改進,它由一個前向LSTM層和一個后向LSTM層構(gòu)成[23]。相較于LSTM僅能在單個方向上進行特征學習,BiLSTM可以實現(xiàn)對數(shù)據(jù)的雙向特征學習,能夠更好的獲取人體活動時序數(shù)據(jù)特征之間的相關(guān)性,因此將BiLSTM作為CNN-BiLSTM模型的特征學習單元引入。BiLSTM結(jié)構(gòu)示意圖如圖3所示。
圖3 BiLSTM模型結(jié)構(gòu)
t時刻BiLSTM層隱藏狀態(tài)輸出yt可以定義為
(11)
1.1.3 全連接層和softmax分類層
CNN-BiLSTM模型的全連接層可以減少對所提取特征信息的損失,相對于CNN層和BiLSTM層是將原始人體活動數(shù)據(jù)映射至隱層特征空間進行特征提取和學習,全連接層則是將學習到的原始數(shù)據(jù)的特征表示映射到樣本標記空間,起到了分類器的作用;softmax分類層最終實現(xiàn)對人體活動的分類計算,其計算公式為
(12)
softmax函數(shù)的分類結(jié)果表示輸入樣本被劃分為每個類別時的所屬概率,且所屬概率和為1。
作為對比建立的僅具備時間特征學習的LSTM網(wǎng)絡(luò)模型主要由序列輸入層、flatten展開層、LSTM層、全連接層和softmax分類層構(gòu)成。其中,輸入層樣本大小為(24,410,1),并使用flatten展開層將多維輸入數(shù)據(jù)一維化,隱藏單元的數(shù)量設(shè)置為128,全連接層有13個隱藏節(jié)點,softmax分類層最終實現(xiàn)人體活動的分類。而BiLSTM模型與LSTM模型相比,只需將LSTM層替換為BiLSTM層,其他各項參數(shù)的設(shè)定則與LSTM模型一致,僅以LSTM為例,建立的人體活動識別分類模型示意圖如圖4所示。
圖4 LSTM分類模型示意圖
實驗基于Windows10 專業(yè)版64位操作系統(tǒng),處理器為Core i5-6500U CPU @3.20 GHz,內(nèi)存為16 G,所有模型的訓練和測試均采用Matlab2020b Deep Learning Toolbox深度學習工具箱實現(xiàn)。
實驗采用公開的DaLiAc數(shù)據(jù)集[24]進行人體活動識別研究。數(shù)據(jù)采集過程由放置在參與者右臀部、胸部、右手腕和左腳踝的4個6軸慣性傳感器節(jié)點完成,每個慣性傳感器節(jié)點包含三軸加速度計和三軸陀螺儀。其中,加速度計的量程為±6g,手腕、胸部、臀部傳感器節(jié)點的陀螺儀范圍為±500(°)/s,踝關(guān)節(jié)傳感器節(jié)點的陀螺儀范圍為±2 000(°)/s,數(shù)據(jù)的采樣頻率為204.8 Hz。該實驗有19名健康受試者參與(女性8名,男性11名,年齡26±8 歲,身高(177±11)cm,體重(75.2±14.2)kg,偏差mean ± std),共采集了13項人體活動。DaLiAc數(shù)據(jù)集包含的活動類別及對應標簽如表1所示。
表1 活動及對應標簽
采用滑動窗口技術(shù)對原始人體活動數(shù)據(jù)進行樣本分割以便送入模型進行訓練,實驗時取滑動窗口的長度為410(數(shù)據(jù)采樣頻率的2倍取整),且相鄰窗口之間存在50%的數(shù)據(jù)重疊,因此輸入模型的單個樣本數(shù)據(jù)的大小為(24,410,1)(4個6軸傳感器)。經(jīng)過樣本分割后數(shù)據(jù)集的總樣本數(shù)為22 320個,實驗時隨機選擇80%的(17 856個)樣本作為訓練集,剩余20%的(4 464個)樣本作為測試集。所有模型的最小批尺寸設(shè)置為500,最大訓練輪數(shù)設(shè)置為20,初始學習率設(shè)置為0.001,學習率下降因子設(shè)置為0.1,學習率下降期設(shè)置為10,優(yōu)化器采用Adam,代價函數(shù)采用交叉熵。
LSTM模型、BiLSTM模型和CNN-BiLSTM模型是在訓練集進行訓練的。模型訓練過程的準確率曲線如圖5所示,橫坐標為訓練過程中的迭代次數(shù),縱坐標為人體活動的識別準確率。同時這3個模型訓練過程的損失函數(shù)曲線如圖6所示。
圖5 3種模型訓練過程準確率曲線
圖6 3種模型訓練過程損失值曲線
從圖5中可以看出,CNN-BiLSTM具有最快的速度使得訓練集分類準確率達到穩(wěn)定狀態(tài),而LSTM的準確率達到穩(wěn)定狀態(tài)所需要的時間是最長的,且隨著迭代次數(shù)的增加CNN-BiLSTM模型的分類準確率逐漸上升至最高。
從圖6中可以看出,CNN-BiLSTM具有最快的速度使得訓練集損失函數(shù)值達到接近0的穩(wěn)定狀態(tài),BiLSTM模型和LSTM模型分別次之,且隨著迭代次數(shù)的增加CNN-BiLSTM模型的損失值逐漸降低至最小。綜合圖5和圖6可以看出,在模型的收斂速度方面,性能依次降低的是CNN-BiLSTM模型、BiLSTM模型和LSTM模型。
LSTM、BiLSTM和CNN-BiLSTM模型在測試集上的預測分類混淆矩陣如圖7所示。3個混淆矩陣的含義如下:分別為14行14列,下側(cè)數(shù)字1~13表示真實待分類的13種人體活動類別,左側(cè)數(shù)字1~13表示模型預測分類出的13種人體活動類別。最后一列(右下角除外)上面的百分比表示模型正確預測出該類別的正樣本數(shù)占實際預測出該類別正樣本數(shù)的比例,即精確率(precision)。最后一行(右下角除外)上面的百分比表示模型正確預測出該類別的正樣本數(shù)占該類別總正樣本數(shù)的比例,即召回率(recall)。右下角格子上面的百分比代表模型對13種人體活動做出正確分類的總體識別準確率。
圖7 3種模型在測試集上的預測分類混淆矩陣
由3個混淆矩陣可以看出,提出的CNN-BiLSTM模型的總體準確率最高,達到了97.7%,相比較LSTM和BiLSTM模型的79.7%和81.5%,分別有18%和16.2%的提升。比較LSTM和BiLSTM的分類結(jié)果也可以發(fā)現(xiàn),BiLSTM具有更好的人體活動識別性能,這是因為BiLSTM充分考慮了人體活動傳感器時序數(shù)據(jù)的前后信息具有關(guān)聯(lián)性的特點,其能夠從前后兩個方向?qū)W習人體活動時間序列數(shù)據(jù)的前后信息之間的長距離依賴性,而LSTM只能從單方向上學習人體活動數(shù)據(jù)的特征。
為了更好地說明所提CNN-BiLSTM模型的有效性和穩(wěn)定性,除上述模型的收斂速度和模型的準確性進行分析外,引入F1-score綜合評價指標進行模型的評估。通過混淆矩陣可以得到各個活動類別下的精確率Precision和召回率Recall,然后在此基礎(chǔ)上可以進一步計算出各個活動類別下的F1綜合評價指標,精準率、召回率和F1評價指標的計算公式為
(13)
(14)
(15)
式中:TP為活動類別A被模型正確分類為A的樣本數(shù)目;FP為非活動類別A被模型錯誤分類為A的樣本數(shù)數(shù)目;FN為活動類別A被模型錯誤分類為其他類別的樣本數(shù)目。
F1綜合評價指標作為精確率和召回率的調(diào)和均值,其能夠更加客觀全面的對比分析3種模型對不同人體活動類別的分類效果。圖8給出了3種模型在測試集上對13種人體活動類別的F1指標對比情況??梢钥闯?,LSTM模型和BiLSTM模型的F1指標的值波動很大,說明了這兩種模型對不同類別活動的識別結(jié)果具有較大差異;而CNN-BiLSTM模型的F1指標的值波動很小,且基本可以穩(wěn)定在[0.95,1]區(qū)間,說明了CNN-BiLSTM模型對于不同類別人體活動的識別分類結(jié)果具有極佳的穩(wěn)定性。
圖8 3種模型F1指標對比
基于可穿戴傳感器來記錄和跟蹤人們的日?;顒邮菍崿F(xiàn)醫(yī)療保健和運動輔助監(jiān)測等許多現(xiàn)實應用的重要途徑,因此構(gòu)建識別率高、穩(wěn)定性強的人體活動識別模型以提升對基于傳感器的人體活動的識別能力是極具現(xiàn)實意義的。提出一種基于CNN-BiLSTM的人體活動識別方法,該方法結(jié)合了CNN可以從原始人體活動傳感器時序數(shù)據(jù)中自動提取深層次時不變特征的能力和BiLSTM可以雙向?qū)W習特征之間長期依賴關(guān)系的優(yōu)點,并且在DaLiAc數(shù)據(jù)集上與LSTM模型和BiLSTM模型進行了仿真對比實驗,通過比較3個模型訓練過程的收斂速度、測試集上的預測分類性能和F1評價指標的情況,得出以下結(jié)論。
(1)BiLSTM網(wǎng)絡(luò)能夠?qū)崿F(xiàn)特征的雙向?qū)W習,其對不同人體活動的識別分類效果優(yōu)于LSTM。
(2)所提CNN-BiLSTM模型對13種人體活動的整體分類準確率高達97.7%,優(yōu)于僅具備時間特征學習的LSTM和BiLSTM。
(3)CNN-BiLSTM模型對具體每一類別活動分類的F1評價指標均高于0.95,展現(xiàn)了該模型用于人體活動識別時的有效性和可靠性。