武 一 田小森 張朝旭
(河北工業(yè)大學(xué)電子信息工程學(xué)院 天津 300400)
人體行為識(shí)別是人工智能與模式識(shí)別領(lǐng)域內(nèi)一個(gè)熱門研究方向,在智能家居、智慧醫(yī)療和體育競(jìng)技等領(lǐng)域都有著廣泛應(yīng)用[1-2]。人體行為識(shí)別主要分為基于視頻的人體行為識(shí)別和基于傳感器的人體行為識(shí)別兩個(gè)方向[3-4]。相對(duì)于視頻攝像頭,移動(dòng)或可穿戴傳感器具有普遍、不顯眼、廉價(jià)、易用等諸多優(yōu)點(diǎn),因此,基于傳感器數(shù)據(jù)的行為識(shí)別擁有更加廣泛的應(yīng)用場(chǎng)景[3]。
在深度學(xué)習(xí)興起之前,人體行為識(shí)別主要采用的是傳統(tǒng)機(jī)器學(xué)習(xí)的方法,包括決策樹[5]、支持向量機(jī)[6]、貝葉斯[7]、隱馬爾可夫[8]等算法,這種方法需要通過(guò)人工選取時(shí)域特征或頻域特征來(lái)進(jìn)行行為分類。然而人工特征提取對(duì)研究者的經(jīng)驗(yàn)要求比較高,模型通用性較差,在復(fù)雜的行為中,依靠人工提取特征將會(huì)是件很困難的事情。
隨著深度學(xué)習(xí)的快速發(fā)展,越來(lái)越多的深度學(xué)習(xí)算法被運(yùn)用到基于傳感器的行為識(shí)別領(lǐng)域。文獻(xiàn)[9]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)來(lái)對(duì)傳感器數(shù)據(jù)進(jìn)行卷積特征提取分析,該方法能夠從傳感器數(shù)據(jù)中提取平移不變性的局部特征,但不能夠捕捉原始傳感器數(shù)據(jù)中的時(shí)間依賴關(guān)系;文獻(xiàn)[10]采用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long short Term Memory,LSTM)對(duì)傳感器時(shí)序信號(hào)進(jìn)行特征提取,能夠?qū)鞲衅餍盘?hào)進(jìn)行有效的時(shí)序特征提取,但網(wǎng)絡(luò)訓(xùn)練參數(shù)過(guò)多,在提升網(wǎng)絡(luò)擬合能力時(shí)增加網(wǎng)絡(luò)層數(shù),將會(huì)導(dǎo)致網(wǎng)絡(luò)性能降低[11];文獻(xiàn)[12]將卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)進(jìn)行串行連接,能夠提取復(fù)雜活動(dòng)的細(xì)節(jié)特征,具有較強(qiáng)的擬合能力,但前層卷積操作使得長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)不能充分發(fā)揮對(duì)原始數(shù)據(jù)時(shí)序特征提取的作用;文獻(xiàn)[13]將卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)進(jìn)行并行連接,提出了全卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(Long short Term Memory Fully Convolution Network, LSTM-FCN),卷積操作能夠很好地提取局部特征,同時(shí)長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)能夠很好地發(fā)揮整體時(shí)序特征提取的功能,但在卷積局部特征提取過(guò)程中,由于卷積核尺寸固定,導(dǎo)致不能充分提取局部特征。
本文對(duì)LSTM-FCN算法進(jìn)行改進(jìn),并提出新的算法模型GRU-InFCN,改進(jìn)后的模型在時(shí)序信號(hào)分類問(wèn)題上有著高的準(zhǔn)確率和高的魯棒性,并成功地在開源的行為識(shí)別數(shù)據(jù)集(HAR)上進(jìn)行驗(yàn)證。
深度學(xué)習(xí)算法近年來(lái)才成長(zhǎng)起來(lái)的,其中卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)算法中的兩種主流算法,本文提出的算法模型主要是基于兩種算法的改進(jìn)與融合。
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),本質(zhì)在于構(gòu)建多個(gè)能夠提取數(shù)據(jù)特征的濾波器。其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心,卷積層的輸入為前一層的特征圖,通過(guò)卷積核來(lái)對(duì)部分區(qū)域加權(quán)求和,求和后的值通過(guò)非直線激勵(lì)函數(shù)映射得到每個(gè)神經(jīng)節(jié)點(diǎn)的特征值,如式(1)所示:
(1)
圖1 GRU計(jì)算單元結(jié)構(gòu)圖
整個(gè)計(jì)算公式如下:
rt=σ(Wr·[ht-1,xt]+br)
(2)
zt=σ(Wz·[ht-1,xt]+bz)
(3)
(4)
(5)
yt=σ(Wo·ht)
(6)
式中:rt和zt分別表示重置門和更新門的輸出;ht為GRU單元的輸出;σ表示非線性函數(shù);xt表示GRU單元的輸入;W表示GRU內(nèi)部計(jì)算單元間的權(quán)重參數(shù);b表示偏置。
Inception是GoogLeNet中多尺度特征融合模塊,該模塊創(chuàng)新性在于通過(guò)多尺度的卷積核對(duì)同一個(gè)輸入進(jìn)行卷積計(jì)算,再將計(jì)算結(jié)果進(jìn)行拼接。整個(gè)Inception結(jié)構(gòu)如圖2所示,針對(duì)同一個(gè)輸入,依次進(jìn)行1×1的卷積、1×1和3×3的串聯(lián)卷積、1×1和5×5的串聯(lián)卷積層、3×3的池化串聯(lián)1×1的卷積,隨后將上述四個(gè)部分的計(jì)算結(jié)果通過(guò)維度拼接,作為整個(gè)Inception模塊的輸出。
圖2 GoogleNet的Inception模塊
在GoogleNet之前的VGG16模型提出采用多層小尺寸卷積層的串聯(lián)來(lái)代替大尺寸的卷積層,能夠減少模型參數(shù),提高模型中的非線性因子,提高模型的擬合能力。GoogleNet中的Inception也采用了小尺度卷積層的串聯(lián)結(jié)構(gòu),同時(shí)Inception多種尺度的卷積通過(guò)不同的感受野去提取同一輸入的特征,能夠更充分地提取圖像特征。
本文提出的GRU-InFCN深度模型是在文獻(xiàn)[13]中LSTM-FCN模型的基礎(chǔ)上引入改進(jìn)的Inception模塊,算法模型結(jié)構(gòu)如圖3所示。
圖3 GRU-InFCN結(jié)構(gòu)圖
GRU-InFCN由GRU模塊和引入Inception結(jié)構(gòu)的全卷積神經(jīng)網(wǎng)絡(luò)模塊InFCN并行連接而成。在數(shù)據(jù)輸入后,分別進(jìn)入GRU模塊和InFCN模塊,GRU模塊是由兩個(gè)GRU層連接而成,InFCN模塊是由兩個(gè)Inception模塊后面連接一個(gè)全局池化層。Concat操作是指將兩個(gè)數(shù)組進(jìn)行連接,兩個(gè)模型的輸出特征矩陣在Concat結(jié)構(gòu)中進(jìn)行維度拼接,再使用Softmax分類器對(duì)拼接后的特征進(jìn)行分類。其中InFCN模塊中的全局池化層,能夠很好地消除由噪聲擾動(dòng)帶來(lái)的誤判,同時(shí)全局池化層的使用使得特征圖到特征向量的轉(zhuǎn)換更加簡(jiǎn)單,避免了使用全連接層帶來(lái)的大量參數(shù)導(dǎo)致模型過(guò)擬合的問(wèn)題。
在傳感器數(shù)據(jù)時(shí)序特征提取上,本文采用的是雙層GRU網(wǎng)絡(luò)結(jié)構(gòu),GRU網(wǎng)絡(luò)通過(guò)引入更少參數(shù)的門控單元,減小了LSTM的計(jì)算復(fù)雜度。在文獻(xiàn)[14]中對(duì)LSTM和GRU進(jìn)行對(duì)比分析,指出GRU和LSTM均能克服傳統(tǒng)RNN梯度消失的問(wèn)題,且在處理長(zhǎng)序列依賴問(wèn)題上效果均優(yōu)于傳統(tǒng)RNN算法。除此之外,GRU在時(shí)間效率上表現(xiàn)優(yōu)于LSTM,本文通過(guò)算法驗(yàn)證,結(jié)果符合文獻(xiàn)[15]中的結(jié)論,所以本文設(shè)計(jì)的模型中選用雙層GRU結(jié)構(gòu)來(lái)替代LSTM-FCN中的LSTM網(wǎng)絡(luò),作為整體時(shí)序特征提取的循環(huán)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)有利于提升整個(gè)模型的訓(xùn)練和預(yù)測(cè)時(shí)間性能。
傳感器數(shù)據(jù)是由多個(gè)一維時(shí)序數(shù)據(jù)并行排列而成,一維卷積能夠很好地實(shí)現(xiàn)傳感器數(shù)據(jù)局部特征提取[15],本文將GoogLeNet的Inception模塊進(jìn)行擴(kuò)展到一維卷積增強(qiáng)對(duì)傳感器數(shù)據(jù)的特征提取,擴(kuò)展的Inception模塊結(jié)構(gòu)如圖4所示。每個(gè)擴(kuò)展后的Inception模塊由長(zhǎng)度為1的一維卷積層、長(zhǎng)度為1的一維卷積層串聯(lián)長(zhǎng)度為3的一維卷積層、長(zhǎng)度為1的一維卷積層串聯(lián)長(zhǎng)度為5的一維卷積層、長(zhǎng)度為3的一維卷積層串聯(lián)長(zhǎng)度為1的一維卷積層等四個(gè)部分并聯(lián)而成。
圖4 本文擴(kuò)展的Inception模塊
整個(gè)結(jié)構(gòu)中采用不同長(zhǎng)度的卷積核對(duì)特征圖進(jìn)行卷積計(jì)算,提取了不同尺度的特征信息,同時(shí)長(zhǎng)度為1的一維卷積并聯(lián)連接還能起到殘存連接的效果,緩解了因網(wǎng)絡(luò)層數(shù)增加造成梯度消失和網(wǎng)絡(luò)退化等問(wèn)題。Inception模塊中的Convld子模塊均采用了Batch Normalization和ReLU激活函數(shù)。Inception模塊的輸出是四個(gè)子模塊的輸出在向量維度上的拼接。
為了驗(yàn)證基于GRU-InFCN的人體行為識(shí)別算法的性能,在Intel Core i7-7700HQ CPU,NVIDIA GTX 1080 GPU的電腦硬件基礎(chǔ)上,使用Ubuntu16.04作為操作環(huán)境,使用Keras2.0、Tensorflow搭建學(xué)習(xí)網(wǎng)絡(luò),編程語(yǔ)言為Python3.6,使用主要庫(kù)函數(shù)包括numpy、sklearn、matplotlib等。
本文使用的傳感器數(shù)據(jù)來(lái)自加州大學(xué)的開源的HAR數(shù)據(jù)集,該數(shù)據(jù)是通過(guò)Samsung Galaxy SII智能收集內(nèi)置的傳感器采集的,包括30個(gè)19~48歲志愿者完成六項(xiàng)人類日?;顒?dòng)過(guò)程中采集到的數(shù)據(jù),采樣頻率為50 Hz,滑動(dòng)窗口長(zhǎng)度為128,共計(jì)采集10 929個(gè)樣本。傳感器包括三軸加速度計(jì)和三軸陀螺儀,動(dòng)作包括常見的步行、上樓、下樓、坐、站立和躺下6類。按照樣本比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,分別為5 514、2 018和2 947個(gè)樣本,各動(dòng)作樣本分布情況如表1所示。
表1 HAR數(shù)據(jù)集樣本分布情況表
對(duì)本文提出的GRU-InFCN模型評(píng)估主要從三個(gè)方面進(jìn)行,對(duì)比其他文獻(xiàn)中的識(shí)別準(zhǔn)確率來(lái)進(jìn)行模型識(shí)別效果分析、分析該模型結(jié)構(gòu)設(shè)計(jì)的必要性和分析該模型的適應(yīng)性。針對(duì)以上三個(gè)方面的評(píng)估方法設(shè)計(jì)了以下實(shí)驗(yàn):
(1) GRU-InFCN模型人體行為識(shí)別評(píng)估實(shí)驗(yàn)。本文提出的網(wǎng)絡(luò)模型結(jié)構(gòu)為表2中的GRU-InFCN模型,表中GRU-FCN和GRU-InFCN是并行連接網(wǎng)絡(luò),且每一行的結(jié)構(gòu)表示并行網(wǎng)絡(luò)中的一個(gè)分支,表中w-n表示卷積核尺寸為w和數(shù)量為n。對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,對(duì)訓(xùn)練過(guò)程中模型的擬合程度進(jìn)行分析,然后在測(cè)試集上對(duì)模型行為識(shí)別效果進(jìn)行分析。
表2 不同的網(wǎng)絡(luò)模型結(jié)構(gòu)
續(xù)表2
(2) GRU-InFCN模型結(jié)構(gòu)設(shè)計(jì)必要性驗(yàn)證實(shí)驗(yàn)。通過(guò)對(duì)該模型子結(jié)構(gòu)中的單結(jié)構(gòu)模型或組合結(jié)構(gòu)模型進(jìn)行模型訓(xùn)練與測(cè)試,各種網(wǎng)絡(luò)結(jié)構(gòu)模型如表2所示。設(shè)計(jì)對(duì)比的網(wǎng)絡(luò)中有:?jiǎn)谓Y(jié)構(gòu)模型,如CNN、InFCN、雙層GRU;組合結(jié)構(gòu)模型,如CN-GRU、InFCN-GRU、并行LSTM-FCN和并行GRU-InFCN網(wǎng)絡(luò)(本文模型)。得到各模型行為識(shí)別準(zhǔn)確率,分析對(duì)比不同模型在測(cè)試集上的識(shí)別準(zhǔn)確率。
(3) GRU-InFCN模型適應(yīng)性驗(yàn)證實(shí)驗(yàn),使用不同的傳感器數(shù)據(jù)集來(lái)訓(xùn)練該模型,通過(guò)測(cè)試訓(xùn)練后的模型來(lái)對(duì)該模型的適應(yīng)性做出評(píng)估。
為了消除模型優(yōu)化方法和超參數(shù)對(duì)模型結(jié)果帶來(lái)的干擾,3.2節(jié)設(shè)計(jì)的實(shí)驗(yàn)中,各模型目標(biāo)函數(shù)均采用交叉熵?fù)p失,目標(biāo)函數(shù)優(yōu)化器均為adam,分類器均采用Softmax,初始學(xué)習(xí)率均是從0.01開始,每3 000次迭代衰減一次,每次衰減為衰減前的,dropout為0.5,最大遍歷次數(shù)為1 000。
(1) GRU-InFCN模型人體行為識(shí)別評(píng)估實(shí)驗(yàn)結(jié)果分析,圖5是模型訓(xùn)練過(guò)程中訓(xùn)練集、驗(yàn)證集的損失曲線與準(zhǔn)確率曲線,驗(yàn)證集的損失曲線和訓(xùn)練集的損失曲線相差較小,驗(yàn)證集的準(zhǔn)確率曲線和訓(xùn)練集的準(zhǔn)確率曲線基本重合,說(shuō)明該模型不存在明顯的過(guò)擬合現(xiàn)象,很好地?cái)M合了人體行為識(shí)別的復(fù)雜函數(shù)。
圖5 訓(xùn)練損失曲線和正確率曲線
表3是由測(cè)試數(shù)據(jù)生成的混淆矩陣,其中各動(dòng)作識(shí)別準(zhǔn)確率都在94%以上,步行、下樓、上樓、躺下四類動(dòng)作準(zhǔn)確率均在99%以上,且平均準(zhǔn)確率達(dá)到了97.76%,步行和躺下兩種動(dòng)作召回率達(dá)到了100%,這兩種動(dòng)作特征與其他動(dòng)作特征差距明顯,模型有效地提取出這些特征,并實(shí)現(xiàn)有效特征分類。坐和站立兩種動(dòng)作的識(shí)別準(zhǔn)確率和召回率均低于其他四類動(dòng)作,其主要原因在于兩種靜止?fàn)顟B(tài)的動(dòng)作特征差異小,傳感器捕捉的信息不足以對(duì)兩種動(dòng)作進(jìn)行精確的分類。
表3 HAR數(shù)據(jù)集人體行為識(shí)別混淆矩陣
上述實(shí)驗(yàn)結(jié)果與其他文獻(xiàn)中方法在HAR數(shù)據(jù)集上的結(jié)果進(jìn)行對(duì)比,表4是文獻(xiàn)方法和本文實(shí)驗(yàn)2中各模型準(zhǔn)確率對(duì)比,可以看出,本文提出的算法模型有著較高的優(yōu)越性。
表4 不同方法的平均準(zhǔn)確率
GRU-InFCN模型人體行為識(shí)別評(píng)估實(shí)驗(yàn)結(jié)果說(shuō)明,該模型在HAR數(shù)據(jù)集上能夠充分提取人體行為特征,并實(shí)現(xiàn)有效的人體行為識(shí)別。該模型避免了人為特征選取的復(fù)雜工作,自動(dòng)完成復(fù)雜特征提取,且能達(dá)到高的識(shí)別正確率。
(2) GRU-InFCN模型結(jié)構(gòu)設(shè)計(jì)必要性驗(yàn)證實(shí)驗(yàn),按照表2中各算法進(jìn)行模型搭建,將模型結(jié)果與本文提出的模型進(jìn)行平均準(zhǔn)確率對(duì)比。表4給出了各模型的準(zhǔn)確率。首先對(duì)比CNN、雙層GRU、InFCN等結(jié)構(gòu),表4中的大部分混合模型優(yōu)于單算法模型,混合算法對(duì)傳感器時(shí)間序列特征提取更充分;再對(duì)比文獻(xiàn)[13]中提出的GRU-FCN算法,可以看出引入Inception模塊后的GRU-InFCN取得了更好的行為分類效果,Inception模塊能夠用多個(gè)卷積尺度對(duì)時(shí)間序列進(jìn)行局部特征提取,使得特征提取更充分;對(duì)比串行InFCN-GRU算法,并行的GRU-InFCN結(jié)構(gòu)在HAR數(shù)據(jù)集上能夠達(dá)到更好的識(shí)別效果,前層卷積神經(jīng)網(wǎng)絡(luò)使得GRU不能從原始傳感器序列中充分提取整體時(shí)間序列特征。結(jié)合文獻(xiàn)[13]中并行LSTM-FCN算法的實(shí)驗(yàn)驗(yàn)證,可以看出并行結(jié)構(gòu)在時(shí)間序列分類上能夠取得很好的分類效果。
GRU-InFCN模型設(shè)計(jì)中各模塊的必要性驗(yàn)證實(shí)驗(yàn)結(jié)果說(shuō)明,通過(guò)CNN和GRU混合模型的算法可以一定程度上提升模型的性能,將Inception結(jié)構(gòu)擴(kuò)展到一維卷積處理也能起到提升網(wǎng)絡(luò)特征提取的能力,此外并行結(jié)構(gòu)在時(shí)間序列分類中能夠取得很好的分類效果。
(3) GRU-InFCN模型的適應(yīng)性驗(yàn)證實(shí)驗(yàn)分析,選取數(shù)據(jù)格式相近的無(wú)線傳感器人體行為識(shí)別數(shù)據(jù)集(Wireless Sensor Data Ming, WISDM),WISDW數(shù)據(jù)集是由三種不同手機(jī)中內(nèi)置的傳感器采集36個(gè)志愿者的日常行為數(shù)據(jù),總計(jì)10 981個(gè)數(shù)據(jù)樣本,按照樣本比例劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集,分別有6 176、2 059、2 746個(gè)樣本。使用WISDM數(shù)據(jù)集對(duì)GRU-InFCN模型進(jìn)行訓(xùn)練、測(cè)試,測(cè)試得到的混淆矩陣見表5,平均準(zhǔn)確率達(dá)到了99.09%,說(shuō)明本文提出的GRU-InFCN模型在基于傳感器數(shù)據(jù)的行為識(shí)別問(wèn)題上具有良好的適應(yīng)性。
表5 WISDM數(shù)據(jù)集人體行為識(shí)別混淆矩陣
本文提出了一種并行的GRU-InFCN模型,并成功將該模型運(yùn)用到人體行為識(shí)別問(wèn)題中。該模型將具有整體時(shí)間序列特征提取能力的GRU網(wǎng)絡(luò)和具有局部時(shí)間序列特征提取的一維卷積神經(jīng)網(wǎng)絡(luò)并行連接,并在一維卷積模塊引入基于一維擴(kuò)展的Inception結(jié)構(gòu)。設(shè)計(jì)實(shí)驗(yàn)對(duì)該網(wǎng)絡(luò)提取傳感器時(shí)間序列特征的能力進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果證明該模型對(duì)時(shí)間序列的特征提取能力優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)以及這兩種網(wǎng)絡(luò)的其他組合模型。該模型避免了復(fù)雜的特征工程,并在HAR數(shù)據(jù)集上獲得了更高的識(shí)別準(zhǔn)確率97.76%,同時(shí)通過(guò)實(shí)驗(yàn)證明,該模型在其他類似的傳感器信號(hào)數(shù)據(jù)集上也有著很好的分類能力。在傳感器行為識(shí)別問(wèn)題上,該模型具有很好的分類準(zhǔn)確性和適應(yīng)性。