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