權(quán)威銘,劉天一,張 雷
(南京師范大學(xué)電氣與自動化工程學(xué)院,江蘇 南京 210046)
科技的進步促使可穿戴設(shè)備飛速發(fā)展,這些設(shè)備正迅速改變著人們的生活及彼此互動的方式,并應(yīng)用到了越來越多的領(lǐng)域中,如醫(yī)療、體育、教育和社交[1,2]等。這些設(shè)備中的線性和非線性傳感器記錄的數(shù)據(jù)逐漸成為人工智能研究人員感興趣的內(nèi)容,對所采集的人體運動數(shù)據(jù)集通過卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)進行分類[3]和訓(xùn)練,可以得到關(guān)于人體動作的識別模型。歸功于傳感器技術(shù)和機器學(xué)習(xí)的快速發(fā)展,人體運動識別已經(jīng)得到了廣泛關(guān)注。
Figure 1 Action recognition model based on neural network圖1 基于神經(jīng)網(wǎng)絡(luò)的運動識別模型
由于內(nèi)部和外部多種因素的影響,人體動作十分復(fù)雜,往往是多種動作的結(jié)合,提高人體運動的識別準(zhǔn)確率一直是研究的難點。人體運動識別HAR(Human Activity Recognition)的研究主要分為2個主流方向,分別為基于圖像或視頻分析的人體運動識別[4]及基于傳感器數(shù)據(jù)的人體運動識別[5],其中前者能夠清晰監(jiān)測到人體當(dāng)前所處的狀態(tài),識別準(zhǔn)確率較高。孟勃等人[6]提出了基于四元數(shù)時空卷積的人體姿態(tài)識別方法,基于彩色圖像通道間的空間依賴性和環(huán)境顏色調(diào)整進行特征提取,提高了識別準(zhǔn)確率。但是,基于圖像或視頻的識別模型對硬件要求較高,且應(yīng)用場景較為單一,在大部分場合中無法做到便捷和安全,故需要開發(fā)一種更為安全可靠的識別方法。因此,基于可穿戴傳感器數(shù)據(jù)的運動識別逐漸成為了研究重點。人體在運動過程中,可穿戴傳感器會記錄身體各個部位產(chǎn)生的加速度信號。由于相似動作或不同動作的干擾,這些帶有時間序列的傳感器數(shù)據(jù)包含了肢體動作的特殊性,輸入到卷積神經(jīng)網(wǎng)絡(luò)后會產(chǎn)生相互關(guān)聯(lián),導(dǎo)致學(xué)習(xí)性能下降。
本文在運動識別的過程中通過新搭建的網(wǎng)絡(luò)結(jié)構(gòu),在每層卷積之前使用協(xié)方差矩陣變換來消除數(shù)據(jù)之間的相關(guān)性,包括網(wǎng)絡(luò)每一層的數(shù)據(jù)相關(guān)性和通道相關(guān)性。
隨著計算機性能的迅速提高,深度學(xué)習(xí)已經(jīng)應(yīng)用到生產(chǎn)生活中的各個方面。卷積神經(jīng)網(wǎng)絡(luò)CNN可以自動從數(shù)據(jù)中提取特征,更加高效地實現(xiàn)分類,因此逐漸成為當(dāng)前多個領(lǐng)域的研究熱點[7]。作為識別領(lǐng)域中的典型問題,人體運動識別HAR實質(zhì)上是將時間序列信號輸入神經(jīng)網(wǎng)絡(luò)進行分類判別,得到帶有活動類別的標(biāo)簽。將智能手機或可穿戴設(shè)備中的慣性傳感器采集到的數(shù)據(jù)看作多維張量,送入深度卷積神經(jīng)網(wǎng)絡(luò)中提取特征并進行分類[8]。具體過程是智能手機或者智能手表中攜帶的線加速度計、陀螺儀和距離傳感器等均會在用戶使用過程中記錄當(dāng)時的狀態(tài)數(shù)據(jù),人體運動識別算法將對這些數(shù)據(jù)進行有效的處理和分類,判斷人體當(dāng)時的運動狀態(tài)及受試者生理健康情況等。相較于基于圖像或視頻的識別方法,上述方法不受當(dāng)前所處位置的約束和復(fù)雜環(huán)境的影響,安全性高,數(shù)據(jù)采集方便,因此基于傳感器的人體運動識別廣泛應(yīng)用在醫(yī)療健康、體育賽事和人機交互等眾多新興技術(shù)領(lǐng)域中。該方法的整體處理流程如圖1所示,首先用戶佩戴智能設(shè)備實時采集人體運動數(shù)據(jù);然后對采集到的運動數(shù)據(jù)進行預(yù)處理;最后將數(shù)據(jù)送入卷積神經(jīng)網(wǎng)絡(luò)進行處理,自動識別出不同的運動類型。
在整個識別過程中,卷積是CNN的核心操作[9],其過程可以簡化為濾波器滑動遍歷所有輸入向量得到輸出特征圖。卷積操作實質(zhì)上是計算上一層數(shù)據(jù)的加權(quán)和,而多個卷積核的依次操作會得到一個新的二維矩陣,其核心操作是卷積核的權(quán)值共享,即每個神經(jīng)元使用相同的參數(shù)。目前在HAR任務(wù)上對卷積層的數(shù)據(jù)處理均使用歸一化層,其中批量歸一化BN(Batch Normalization)是深度學(xué)習(xí)領(lǐng)域中廣泛使用的減法和除法特征歸一化方案[10]。最初引入批量歸一化是為了解決反向傳播過程中的梯度問題,BN的使用加速了網(wǎng)絡(luò)的訓(xùn)練過程,使得一般網(wǎng)絡(luò)能快速收斂,但是對于小批量batch輸入,歸一化數(shù)據(jù)會產(chǎn)生偏差,導(dǎo)致過擬合現(xiàn)象,使測試精度下降。另一方面,在卷積神經(jīng)網(wǎng)絡(luò)中不同變量之間的直接和間接相關(guān)情況普遍存在[11],此時在卷積層之間提取特征會導(dǎo)致直接的依賴關(guān)系,這種不同信道之間的關(guān)聯(lián)(稱之為干擾)會隨著網(wǎng)絡(luò)進行傳遞,影響到下一卷積層。本文在每層卷積操作之前均使用協(xié)方差矩陣變換以消除相關(guān)性并重構(gòu)卷積層,將基于牛頓-拉夫遜算法的平方根倒數(shù)計算[12]應(yīng)用在深度學(xué)習(xí)中,作為一種去相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)來消除人體運動識別神經(jīng)網(wǎng)絡(luò)模型中每一層的相關(guān)性問題。
本文使用帶有協(xié)方差矩陣的重構(gòu)卷積層來代替帶有歸一化層的卷積結(jié)構(gòu),以此來構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)。與LeCun等人[13]搭建的卷積神經(jīng)網(wǎng)絡(luò)不同,本文網(wǎng)絡(luò)中的每一層都是自上而下的,通過尋求特征映射(而不是輸入)與學(xué)習(xí)濾波器的卷積來生成輸入信號。為了驗證本文網(wǎng)絡(luò)的有效性,本文在多個使用較多的公共基準(zhǔn)數(shù)據(jù)集上進行對比實驗。實驗結(jié)果表明,本文網(wǎng)絡(luò)相較于其它對比網(wǎng)絡(luò),在沒有增加任何額外成本的情況下進一步提高了性能和學(xué)習(xí)效率,測試精度比具有相同參數(shù)量的訓(xùn)練網(wǎng)絡(luò)的精度更高。
HAR作為一種典型的分類任務(wù),從按時間排序的人體活動中識別出人體動作,根據(jù)識別誤差不斷更新網(wǎng)絡(luò)。在整個分類任務(wù)中,特征提取是最重要的一個環(huán)節(jié)。早期研究人員使用傅里葉變換和小波變換[14]對運動加速產(chǎn)生的波形進行變換,但這種方法由于識別準(zhǔn)確率不高且非線性擬合不夠而逐漸被淘汰。卷積神經(jīng)網(wǎng)絡(luò)近些年在模式識別中應(yīng)用非常廣泛,已成為機器學(xué)習(xí)領(lǐng)域的主流方法之一。從20世紀末開始,計算機在數(shù)據(jù)處理中發(fā)揮了越來越重要的作用,從決策樹[15]、支持向量機[16]和樸素貝葉斯[17],再到現(xiàn)在的卷積神經(jīng)網(wǎng)絡(luò)(CNN)[18,19],從人工提取特征到現(xiàn)在的計算機自動提取特征,各種學(xué)習(xí)方法都發(fā)揮了重要作用。
在圖像識別任務(wù)中,將從圖像中提取的特征轉(zhuǎn)化為多維向量送入到神經(jīng)網(wǎng)絡(luò)中進行分類,其分類效果受特征影響較大。深度神經(jīng)網(wǎng)絡(luò)能夠從運動數(shù)據(jù)中提取到更有意義的特征,通過大規(guī)模數(shù)據(jù)訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)能夠進行更有針對性的識別,這給人體運動識別帶來了新的研究方向。Zeng等人[18]在2014年首次將CNN技術(shù)應(yīng)用于HAR,提出了一種用于運動識別的自動提取特征的方法,并通過實驗證明了其有效性。這一方法的使用,確立了基于卷積神經(jīng)網(wǎng)絡(luò)進行運動識別的研究方向。為了繼續(xù)提高識別準(zhǔn)確率,此后很多研究工作的重點放在了改進卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上。Jiang等人[20]將加速度計和陀螺儀的信號序列組合成一幅活動圖像,使深度卷積神經(jīng)網(wǎng)絡(luò)能夠自動從活動圖像中學(xué)習(xí)最優(yōu)特征。Hammerla等人[21]在數(shù)千個使用隨機采樣模型配置的識別實驗中,探索每種模型在HAR中的適用性,并使用Fanova框架探索了超參數(shù)設(shè)置對網(wǎng)絡(luò)精度的影響。
計算能力的提升使許多機器學(xué)習(xí)方法再次啟用并涌現(xiàn)出很多相關(guān)改進方法。Teng等人[22]采用了一種帶有局部損失的分層卷積神經(jīng)網(wǎng)絡(luò),以減小全局損失和占用內(nèi)存的影響。HAR中引入批量歸一化、梯度中心化[23]和注意力機制等優(yōu)化方法進一步提高了分類性能,其中批量歸一化用來改進隨機梯度下降,加快網(wǎng)絡(luò)訓(xùn)練和收斂速度,同時控制梯度爆炸和防止梯度消失。Golestani等人[24]使用循環(huán)神經(jīng)網(wǎng)絡(luò)作為一種新的特征提取方案應(yīng)用在運動識別中。本文在多種改進卷積神經(jīng)網(wǎng)絡(luò)方法的啟發(fā)下,將帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在人體運動識別上,以提高神經(jīng)網(wǎng)絡(luò)在公共數(shù)據(jù)集上的識別準(zhǔn)確率。
本節(jié)首先介紹帶有協(xié)方差矩陣的網(wǎng)絡(luò)卷積層,其網(wǎng)絡(luò)結(jié)構(gòu)基于傳統(tǒng)CNN模型。近年來針對神經(jīng)網(wǎng)絡(luò)出現(xiàn)了各種不同的改進方法,本文從協(xié)方差矩陣相關(guān)性變化中得到啟發(fā),在每層卷積之前對數(shù)據(jù)張量進行矩陣變換以消除相關(guān)性。在HAR原始訓(xùn)練數(shù)據(jù)輸入張量分為多個通道的時間序列信號的前提下,需要對數(shù)據(jù)進行預(yù)處理。本文對公共數(shù)據(jù)集基于滑動窗口策略進行切割處理,使信號按照時間序列被分割成多個相同大小的多維向量,以便網(wǎng)絡(luò)進行處理。
Figure 2 Convolutional neural network圖2 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)CNN是由全連接前饋神經(jīng)網(wǎng)絡(luò)發(fā)展而來的,是機器學(xué)習(xí)理論的一個分支,在圖像識別和分類領(lǐng)域應(yīng)用廣泛。二維卷積神經(jīng)網(wǎng)絡(luò)主要由卷積層(Convolution Layer)、池化層(Pooling Layer)及全連接層(Fully-connected Layer)組成,通過這些層的耦合疊加,構(gòu)建出一個完整的卷積神經(jīng)網(wǎng)絡(luò),如圖2所示。卷積層作為網(wǎng)絡(luò)的核心層,其激活函數(shù)一般采用ReLU進行非線性操作,從輸入數(shù)據(jù)中提取特征,該層產(chǎn)生了網(wǎng)絡(luò)中大部分的計算量,但可以通過局部連接和權(quán)值共享來降低參數(shù)量的同時提高運算速度。最后全連接層作為輸出層實現(xiàn)識別和分類,其激活函數(shù)一般采用Softmax。
卷積神經(jīng)網(wǎng)絡(luò)在處理傳感器數(shù)據(jù)時,一般采用二維卷積操作,其操作公式如式(1)所示:
B(i,j)=∑m=0,n=0K(m,n)*A(i-m,j-n)
(1)
其中,A表示上一層矩陣,K(·,·)表示卷積核,m×n表示卷積核大小,i×j表示卷積操作輸入的大小,m≤i,n≤j,B表示卷積后的特征輸出。應(yīng)用在神經(jīng)網(wǎng)絡(luò)時卷積層公式如式(2)所示:
(2)
Figure 3 Matrix operation of function im2col()圖3 函數(shù)im2col()矩陣操作
其中,output表示下一層輸入。每一個卷積核Wi對應(yīng)一個偏置bi,每層都通過卷積核與輸入Xi相乘后,再由激活函數(shù)進行非線性化得到上一層的特征圖。池化層不改變網(wǎng)絡(luò)的特征向量,只減少參數(shù)量,其輸出特征可能是由多個卷積核學(xué)習(xí)不同輸入特征的組合。利用損失函數(shù)得到實際輸出和期望輸出之間的誤差,并通過梯度反向傳播來更新卷積核的參數(shù),因此對于CNN而言,每層的結(jié)構(gòu)和參數(shù)都會影響數(shù)據(jù)處理的效率。
對于復(fù)雜的人體運動來說,可穿戴傳感器得到的數(shù)據(jù)往往存在很強的特征相關(guān)性,神經(jīng)網(wǎng)絡(luò)的卷積操作更是加深了這一相關(guān)性。對于每層神經(jīng)網(wǎng)絡(luò),其基本公式簡化后如式(3)所示:
f(X)=W*X+b
(3)
其中,矩陣乘法W*X中的W為二維卷積核,卷積核在數(shù)據(jù)上進行卷積操作時依次滑動,用常用函數(shù)im2col()可以將原數(shù)據(jù)轉(zhuǎn)化為以列的方式進行操作。在圖3中可以看到,處理后的X具有高度列相關(guān)性,這會在接下來的卷積過程中造成誤差并違反最優(yōu)條件,且通常使用批量歸一化也無法解決這一問題。
網(wǎng)絡(luò)的每一層通常會有多個輸入通道和多個內(nèi)核,在每個通道中調(diào)用im2col()函數(shù)來優(yōu)化卷積運算,本質(zhì)上并未改變數(shù)據(jù)結(jié)構(gòu),即將卷積核感受野對應(yīng)的區(qū)域轉(zhuǎn)化成1行(列)來存儲,將二維結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化為一維結(jié)構(gòu),通過水平合并每個通道的數(shù)據(jù)矩陣來構(gòu)建完整的層輸入數(shù)據(jù),實現(xiàn)優(yōu)化運算,縮短內(nèi)存訪問時間。最后合并所有內(nèi)核以獲得W,用矩陣矢量乘法計算X和W得到輸出Y。
本文搭建的卷積神經(jīng)網(wǎng)絡(luò)的核心操作是使用協(xié)方差矩陣變換,通過卷積神經(jīng)網(wǎng)絡(luò)重建每一層的輸入以便提取新特征,以此來逆校正數(shù)據(jù)之間的相關(guān)性。在前向計算過程中,協(xié)方差矩陣對于數(shù)據(jù)精度是有益的,并且在梯度下降訓(xùn)練中也可以更新校正后的梯度值。
對于數(shù)據(jù)矩陣XM,N,其中,N是樣本數(shù),M是特征數(shù),Cov是隨機張量之間協(xié)方差的一種矩陣表示,利用對稱正定矩陣來表示相關(guān)關(guān)系,此時計算公式如式(4)所示:
(4)
協(xié)方差矩陣一般用來計算數(shù)據(jù)的相關(guān)性,利用矩陣的可逆性來消除卷積神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)的相關(guān)性。對于矩陣逆運算,首先計算協(xié)方差矩陣D的近似平方倒數(shù),如式(5)所示:
(5)
然后將其乘以居中向量(X-μ)*D。在某種意義上,協(xié)方差矩陣的轉(zhuǎn)換可以消除數(shù)據(jù)方向和通道方向之間的相關(guān)影響。如果計算過程理想化,則轉(zhuǎn)換后的數(shù)據(jù)具有單位矩陣作為協(xié)方差的恒等矩陣式,如式(6)所示:
DT(X-μ)T(X-μ)*D=
(6)
但是,在實際運算過程中D往往利用式(7)所示的計算方法求得:
(7)
其中,∈·I用來提高穩(wěn)定性。然后,把協(xié)方差矩陣應(yīng)用在卷積過程中,將處理過的數(shù)據(jù)乘以卷積核W,通過矩陣乘法構(gòu)建整個卷積層用以消除相關(guān)性,具體如式(8)所示:
Y=(X-μ)*D*W+b
(8)
將第i層中的協(xié)方差運算表示為Di,下一卷積層的輸入Xi+1如式(9)所示:
Xi+1=gi(Wi*Di*Xi)
(9)
其中,Xi是來自第i層的輸入數(shù)據(jù),Di是在該輸入上進行協(xié)方差矩陣運算,Wi是每一卷積層中的權(quán)重矩陣,gi()是激活函數(shù),使網(wǎng)絡(luò)具有非線性分類的能力,本文采用ReLU激活函數(shù),如式(10)所示:
g(x)=max(0,x)
(10)
重新搭建的卷積層中改進了反向傳播更新梯度方式,每一層的卷積層重構(gòu)會引起權(quán)重變化,用W#來標(biāo)識新卷積層中權(quán)重矩陣,Y表示卷積之后的結(jié)果,可以推出式(11)和式(12):
X*W=X*D*W#=Y
(11)
W#=D-1*W
(12)
其中,W#是加入?yún)f(xié)方差后的卷積層權(quán)重值,此時對于損失函數(shù)Loss反向求導(dǎo)后如式(13)所示:
(13)
對于加入?yún)f(xié)方差后的一次梯度更新迭代如式(14)所示:
(14)
(15)
本節(jié)首先介紹本文實驗所用的數(shù)據(jù)集,然后介紹實驗過程及參數(shù)設(shè)置,最后給出實驗結(jié)果并進行分析。
由于本文數(shù)據(jù)集都是通過受試者攜帶傳感器獲得,這些數(shù)據(jù)集根據(jù)采集情況側(cè)重點各有不同。為了驗證本文所提網(wǎng)絡(luò)的準(zhǔn)確性,本文使用了被廣泛認可的4種HAR公共數(shù)據(jù)集,在4個數(shù)據(jù)集上使用相同的網(wǎng)絡(luò)結(jié)構(gòu),然后通過調(diào)整超參數(shù)使測試精度達到預(yù)期。本文所用精度指所有樣本中預(yù)測正確的樣本占全部樣本的比例。本文所用的4個公共數(shù)據(jù)集分別為UCI-HAR數(shù)據(jù)集[25]、PAMAP2數(shù)據(jù)集[16]、UniMiB SHAR數(shù)據(jù)集[26]和WISDM數(shù)據(jù)集[27]。
(1)UCI-HAR數(shù)據(jù)集的測試對象是年齡在19~48歲的30位志愿者,每個人在腰部均戴有智能手機(Samsung Galaxy S II),共采集6種活動,包括散步、上樓、躺下等簡單動作。采集頻率設(shè)置為50 Hz,捕獲手機中的三軸線加速度和角速度。視頻記錄整個實驗過程并手動標(biāo)記數(shù)據(jù)類型,后期對加速度計和陀螺儀的傳感器信號進行預(yù)處理,使用寬度為128,在2.56 s和50%重疊的窗口中滑動采樣。數(shù)據(jù)集隨機分為2組,70%的數(shù)據(jù)用于訓(xùn)練,30%的數(shù)據(jù)用于測試。
(2)PAMAP2數(shù)據(jù)集一共包含12種體育活動,屬于體育活動監(jiān)測類型數(shù)據(jù)集。按照不同的要求,受試者帶有3個慣性測量單位和心率監(jiān)測器,在主要部位如手腕、胸部和腳踝放置傳感器,分別進行12種不同的生活運動(如走路、跑步等)以獲取身體運動數(shù)據(jù),采樣頻率為100 Hz。該數(shù)據(jù)集可用于活動識別和強度估計。本文使用5.1 s的滑動窗口對傳感器數(shù)據(jù)進行切片,使重疊率在70%左右,并將數(shù)據(jù)集隨機切割成80%的訓(xùn)練數(shù)據(jù)和20%的測試數(shù)據(jù)。
(3)UniMiB SHAR是近些年專為人類活動識別和跌倒檢測而采集的數(shù)據(jù)集,數(shù)據(jù)主要來自受試者所攜帶的加速度計和陀螺儀,旨在挖掘傳感器在醫(yī)療領(lǐng)域的新作用。數(shù)據(jù)采集過程由30位志愿者參與,一共采集了11 771個樣本。本文實驗選擇其中的AF-17進行識別任務(wù),其中包含了9種日常生活活動和8種跌倒類型共17類。這17類識別任務(wù)活動類型相差不大,能用來檢測模型的性能。
(4)WISDM是使用智能手機和智能手表采集到的運動數(shù)據(jù)集,該數(shù)據(jù)集以20 Hz的采集速率對51位測試對象分別進行了18 min的日常生活動作采集。該數(shù)據(jù)集還包含了加速度計和陀螺儀的傳感器數(shù)據(jù),這些帶有時間序列的數(shù)據(jù)用不同的活動標(biāo)記區(qū)分開,并使用滑動窗口方法將其轉(zhuǎn)換為帶標(biāo)簽的分類活動,使數(shù)據(jù)可以用于構(gòu)建和評估生物測定以及相關(guān)識別研究。WISDM數(shù)據(jù)集一共包含1 098 213個樣本,其中70%用于訓(xùn)練,剩余30%用于測試。數(shù)據(jù)集可以在UCI機器學(xué)習(xí)數(shù)據(jù)儲存庫獲得。
WISDM和UCI-HAR數(shù)據(jù)集分屬不同實驗室采集,使用不同的樣本采集方式,且側(cè)重點不同。2個數(shù)據(jù)集都是6分類,包含走路、上下樓、坐和站立等簡單動作類型。本文通過這2個數(shù)據(jù)集上的對比實驗結(jié)果來分析本文所提網(wǎng)絡(luò)對相似動作的識別精度和網(wǎng)絡(luò)可遷移性。
PAMAP2和UNIMIB數(shù)據(jù)集,分別是12和17分類任務(wù),不但包括上述數(shù)據(jù)集中的簡單動作,還包含開關(guān)門、清理房間、踢足球和樓梯跌倒等相對復(fù)雜的動作。本文通過這2個數(shù)據(jù)集上的實驗結(jié)果來判斷本文所提網(wǎng)絡(luò)對復(fù)雜動作的識別能力和泛化能力。
本文的網(wǎng)絡(luò)結(jié)構(gòu)在每個公共數(shù)據(jù)集上均實驗3次,分別為帶有批量歸一化層的卷積神經(jīng)網(wǎng)絡(luò)(BN-CNN)、帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)(Cov-CNN)和基準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)。實驗中,網(wǎng)絡(luò)均由3層主卷積層組成,激活函數(shù)均為ReLU,在第2層卷積操作后加步長為2的最大池化層(Maxpooling),全連接之前對數(shù)據(jù)進行平均池化,以減少網(wǎng)絡(luò)的參數(shù)量,用以加速計算,全連接通過一個附加的Softmax激活函數(shù)進行最后的分類。基準(zhǔn)CNN流程為C(i)× 3——FC——Softmax,其中C(i)表示具有i個濾波器的卷積層,本文中每層數(shù)量分別設(shè)置為(64,128,256),F(xiàn)C的連接數(shù)取決于來自堆疊卷積層扁平化特征向量的維數(shù),每組實驗進行200輪次(Epoch)學(xué)習(xí), 每個Epoch均表示所有的數(shù)據(jù)完成了一次前向計算和反向傳播。學(xué)習(xí)率均設(shè)置為0.000 1。使用ADAM算法進行梯度優(yōu)化,該算法內(nèi)存要求小,計算高效,適用于稀疏梯度求解,被廣泛應(yīng)用于各種網(wǎng)絡(luò)優(yōu)化。本文實驗在Ubuntu 服務(wù)器上運行,CPU為Intel Core i7 6850 K,所用計算顯卡為NVIDIA GTX 3090,24 GB顯存。
在整個實驗中,本文通過調(diào)整超參數(shù)來尋找最優(yōu)值,包括調(diào)節(jié)濾波器尺寸K、卷積核數(shù)量和卷積步長等,不同數(shù)據(jù)集對應(yīng)的最優(yōu)超參數(shù)也不同。不同于固定尺寸的圖像數(shù)據(jù),傳感器數(shù)據(jù)相對不規(guī)則,濾波器和輸入向量之間的匹配也會有所不同。對于WISDM數(shù)據(jù)集和UCI-HAR數(shù)據(jù)集,濾波器尺寸K=(3,1)時往往能取得最佳性能;對于UniMiB SHAR等復(fù)雜數(shù)據(jù)集,需要增大K值才能獲得更好的性能,第1層卷積中K=(3,1),后面2層中K=(6,1),對于PAMAP2數(shù)據(jù)集3層卷積中均設(shè)置K=(6,1)。
基準(zhǔn)CNN網(wǎng)絡(luò)(CNN)、帶有批量歸一化層的卷積神經(jīng)網(wǎng)絡(luò)(BN-CNN)及帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)(Cov-CNN)在4個數(shù)據(jù)集上以及在不同Epoch時的實驗結(jié)果如表1所示。可以看到,本文搭建的網(wǎng)絡(luò)收斂速度明顯最快,且最優(yōu)值在前幾次迭代時就已經(jīng)出現(xiàn)。相似動作數(shù)據(jù)之間固有的相關(guān)性使運動數(shù)據(jù)識別相對復(fù)雜,使用帶有協(xié)方差的多層特征提取器與其他方法相比更容易消除相關(guān)性影響和提升網(wǎng)絡(luò)性能。
Table 1 Experimental results of different networks on 4 datasets表1 不同網(wǎng)絡(luò)在4個數(shù)據(jù)集上的實驗結(jié)果 %
圖4顯示了在4個數(shù)據(jù)集上2種網(wǎng)絡(luò)的測試精度曲線??梢钥闯觯诓煌瑪?shù)據(jù)集上本文網(wǎng)絡(luò)的測試精度均不低于帶有BN層的網(wǎng)絡(luò);從整體上看雖然2種網(wǎng)絡(luò)的收斂速度相近,但本文提出的網(wǎng)絡(luò)在多個Epoch下穩(wěn)定性更好,且200輪次內(nèi)本文網(wǎng)絡(luò)識別精度略勝于相同條件下的基于批量歸一化卷積神經(jīng)網(wǎng)絡(luò)。
Figure 4 Test accuracy curves on different datasets圖4 不同數(shù)據(jù)集上的測試精度曲線
在深度卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程中,測試精度可能出現(xiàn)小幅度震蕩或性能衰減,這一般是由標(biāo)簽噪聲引起的。盡管傳感器數(shù)據(jù)在預(yù)處理階段已經(jīng)按照時間被嚴格劃分到了相應(yīng)批次,但是與CIFAR-10或MINIST之類噪聲很少的圖像數(shù)據(jù)集不同,含有運動特征的數(shù)據(jù)流必須經(jīng)過滑動窗口分段后才能用于CNN,在獲取相鄰人體運動的數(shù)據(jù)特征時,滑動窗口在過渡區(qū)間不可避免地包含了來自2個活動的數(shù)據(jù),此時一般根據(jù)這些窗口的比例將數(shù)據(jù)標(biāo)記為單一動作,因此導(dǎo)致整體數(shù)據(jù)集出現(xiàn)了標(biāo)簽噪聲。因此,在網(wǎng)絡(luò)測試過程中,當(dāng)某一批次數(shù)據(jù)包含太多此類交叉窗口時,不可避免地會出現(xiàn)性能振蕩現(xiàn)象。
重新構(gòu)建卷積層使HAR性能得到了提升,且對卷積層結(jié)構(gòu)改變的同時,網(wǎng)絡(luò)的訓(xùn)練和測試時間也會發(fā)生變化,本文在UniMiB SHAR數(shù)據(jù)集上進行實驗,以探究不同網(wǎng)絡(luò)對數(shù)據(jù)的處理速度。首先基準(zhǔn)CNN和帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)在相同超參數(shù)的情況下進行訓(xùn)練,然后獲取訓(xùn)練和測試過程中所用時間,表2中給出了不同網(wǎng)絡(luò)在200個Epoch訓(xùn)練和測試時的平均使用時間。結(jié)果顯示,新搭建的網(wǎng)絡(luò)的測試時間變化很小,但是訓(xùn)練時間明顯增加,這是由于訓(xùn)練過程中協(xié)方差矩陣變換需要時間來計算和更新梯度值。
Table 2 Test time and training time of different networks on UniMiB SHAR dataset
目前,智能手機中集成了越來越多的傳感器,成為了可穿戴設(shè)備的理想型,已應(yīng)用于多種使用場景。本文網(wǎng)絡(luò)在此前基礎(chǔ)上加以改進,不但可以在公共數(shù)據(jù)集上執(zhí)行識別任務(wù),還可以將訓(xùn)練好的網(wǎng)絡(luò)移植到移動終端進行實時運動識別,并開發(fā)了基于智能手機傳感器的實時HAR應(yīng)用程序。該應(yīng)用程序已經(jīng)部署在Android客戶端,實驗設(shè)備是基于Android 10.0的Huawei Honor 20i智能手機。具體步驟如下:首先,將帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)在WISDM數(shù)據(jù)集上進行訓(xùn)練,在200個Epoch后確定網(wǎng)絡(luò)參數(shù),用權(quán)重的形式保存計算圖,得到關(guān)于權(quán)重的結(jié)構(gòu)化數(shù)據(jù)文件(Protobuf數(shù)據(jù)存儲結(jié)構(gòu));然后,將保存的BP文件加載到PyTorch Mobile中執(zhí)行;最后,在Android studio 部署打包為可執(zhí)行運動識別的應(yīng)用程序。該應(yīng)用程序能夠以智能設(shè)備攜帶的內(nèi)置加速度傳感器獲得的數(shù)據(jù)作為輸入,根據(jù)本地模型進行實時人體運動識別,例如上樓、下樓等。應(yīng)用程序用戶界面的屏幕截圖如圖5所示,識別結(jié)果包括識別出的動作類型和相應(yīng)概率。對于實時運動檢測的時間,本文使用TFLite工具來檢測帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)對人體運動的推理速度,結(jié)果顯示對每個動作的平均推斷時間在169 ms~205 ms。
此外,為了證明本文網(wǎng)絡(luò)相比于普通卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,將帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)和基準(zhǔn)CNN在WISDM數(shù)據(jù)集和PAMAP2數(shù)據(jù)集上的識別結(jié)果,以混淆矩陣的形式可視化?;煜仃噺V泛用于衡量分類模型的分類結(jié)果,以可視化矩陣的形式將測試結(jié)果按照真實類別與預(yù)測類別進行匯總,能直觀地看出分類效果,其中每一列代表網(wǎng)絡(luò)預(yù)測類別,每一行代表實際類別。識別結(jié)果如圖6和圖7所示。
Figure 5 Recognition interface of Android mobile phone圖5 基于安卓手機的識別界面
Figure 6 Confusion matrix on WISDM dataset圖6 WISDM數(shù)據(jù)集上的混淆矩陣
Figure 7 Confusion matrix on PAMAP2 dataset圖7 PAMAP2數(shù)據(jù)集上的混淆矩陣
從圖6和圖7可以看出,在6分類的WISDM數(shù)據(jù)集上,分類誤差主要集中在上樓和走路的動作識別過程中,在較復(fù)雜分類的PAMAP2數(shù)據(jù)集上也出現(xiàn)了走路動作識別錯誤的情況,這可能是由于這些運動的加速度和幅度相似更容易觸發(fā)同一傳感器所導(dǎo)致的;網(wǎng)絡(luò)對復(fù)雜動作分類效果較好,且應(yīng)用協(xié)方差矩陣的網(wǎng)絡(luò)識別準(zhǔn)確率有1%~2%的提升。可見,對基于可穿戴傳感器的HAR任務(wù)來說,本文提供了一種新的數(shù)據(jù)處理方法,在對數(shù)據(jù)進行批量歸一化后測試效果依舊不佳的情況下,可以考慮使用帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)。
在已有人體運動識別研究的基礎(chǔ)上,本文提出了一種帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的最大特點在于對數(shù)據(jù)進行卷積操作之前進行了不相關(guān)處理,增強了卷積過程中對特征的提取效果。在多個基準(zhǔn)數(shù)據(jù)集上比較了本文網(wǎng)絡(luò)及基準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)的分類效果,實驗結(jié)果表明:本文網(wǎng)絡(luò)通過解決數(shù)據(jù)之間相關(guān)性的問題,在人體運動識別上取得了較好的成績,帶有協(xié)方差矩陣的卷積神經(jīng)網(wǎng)絡(luò)在一定程度上改善了卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中的收斂性,在訓(xùn)練初期本文所提網(wǎng)絡(luò)能夠更快地達到穩(wěn)定,在第20個Epoch時基本收斂到最優(yōu)值。本文網(wǎng)絡(luò)在經(jīng)過參數(shù)調(diào)整后可以在不同數(shù)據(jù)集上取得良好的識別效果,具有較好的泛化能力。下一步會將網(wǎng)絡(luò)應(yīng)用在其它運動識別任務(wù)中,以便獲得更好的性能提升。