殷佳豪,劉世杰,鮑 宇,2,楊 軒,朱紫維
(1.中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116; 2.礦山數(shù)字化教育部工程研究中心,江蘇 徐州 221116)
心臟胸外按壓作為基本的緊急救助措施,要求施救者的動作具有較高的準(zhǔn)確度,以獲得良好的急救效果,同時避免潛在的二次傷害。對于成年人的心臟按壓,按壓深度是否在5 cm~6 cm之間是評判按壓規(guī)范有效的重要標(biāo)準(zhǔn)之一。傳統(tǒng)胸外按壓深度測量運(yùn)用最多的主要是對加速度二次積分得到距離,如文獻(xiàn)[1]使用慣性導(dǎo)航算法和加速度計監(jiān)測胸部按壓深度以及文獻(xiàn)[2]提出的加速度二次積分測量胸外按壓深度方法等。但在實際應(yīng)用中,考慮到噪聲的影響以及存在積分時延,上述方法存在積分漂移、誤差累積等問題[3]。
根據(jù)前期研究的實驗數(shù)據(jù)觀察,當(dāng)物體為有規(guī)律的往復(fù)運(yùn)動時,會產(chǎn)生有規(guī)律的加速度波形。當(dāng)胸外心臟按壓規(guī)范有效時,波形相似度較高;當(dāng)按壓距離差距超過5 mm時,波形與標(biāo)準(zhǔn)距離波形顯示具有明顯差異;當(dāng)按壓中間出現(xiàn)較大抖動和按壓間歇過長時,其波形顯示與標(biāo)準(zhǔn)波形也存在著明顯差異,這說明其波形信號的識別分類過程具有可學(xué)習(xí)的特征,可以利用人工智能的方法進(jìn)行學(xué)習(xí)并分類[4],從而達(dá)到物體往復(fù)運(yùn)動距離評估的目的。
卷積神經(jīng)網(wǎng)絡(luò)具備強(qiáng)大的特征提取能力,已廣泛應(yīng)用于圖像識別與目標(biāo)檢測領(lǐng)域。目前,已有部分學(xué)者研究利用卷積神經(jīng)網(wǎng)絡(luò)處理波形信號分類任務(wù),如文獻(xiàn)[5]利用卷積神經(jīng)網(wǎng)絡(luò)對天然地震波形信號的識別分類研究以及文獻(xiàn)[6]利用卷積神經(jīng)網(wǎng)絡(luò)識別雷達(dá)波形等,然而他們都需要大量標(biāo)簽數(shù)據(jù)作為訓(xùn)練集,而在胸外心臟按壓急救過程中需要在短時間內(nèi)連續(xù)多次按壓,難免存在測距遮擋、抖動等問題,同時在多數(shù)情況下按壓測距難以達(dá)到毫米級的高精度,從而較難得到大量高可信度的數(shù)據(jù)標(biāo)簽。為此,本文提出一種基于加權(quán)方差的弱監(jiān)督學(xué)習(xí)策略,對實驗中缺失或者可信度低的數(shù)據(jù)標(biāo)簽進(jìn)行修正,并通過建立卷積神經(jīng)網(wǎng)絡(luò)的加速度波形識別分類模型,對急救中胸外心臟按壓的波形進(jìn)行評估。
圖1(a)所示為本文設(shè)計的胸外按壓仿真數(shù)據(jù)采集平臺的基本架構(gòu),用以構(gòu)建胸外按壓加速度的數(shù)據(jù)集。該系統(tǒng)由按壓設(shè)備、傳感器模塊和按壓控制模塊3個部分組成。通過操作按壓設(shè)備模擬心臟胸外按壓動作,傳感器模塊由超聲波測距傳感器和加速度傳感器組成,前者采集按壓深度,以便得到初始的數(shù)據(jù)標(biāo)簽,后者采集加速度數(shù)據(jù),然后交由核心控制模塊進(jìn)行數(shù)據(jù)分析、波形預(yù)處理、控制與存儲。在硬件配置方面,本文使用三軸加速度計ADXL345和所提供的三軸加速傳感器MMA7361,其具有低功耗、高抗震的優(yōu)點[7];數(shù)據(jù)存儲設(shè)備選用SD卡,容量大,體積小,因不存在活動部件,其可靠性顯著高于硬盤。實地采集場景如圖1(b)所示。實際數(shù)據(jù)采集過程中的部分參數(shù)如表1所示。
圖1 實驗數(shù)據(jù)采集系統(tǒng)
表1 數(shù)據(jù)生成與采集過程的有關(guān)參考值
Table 1 Related reference values for data generation and acquisition process
相關(guān)參數(shù)參考值按壓采樣時間/ms100~400采樣頻率/Hz100~500按壓力度范圍/g0.5~2.5按壓標(biāo)準(zhǔn)距離/cm5~6采集批次18每批次按壓次數(shù)≥50
直接由傳感器輸出的原始波形數(shù)據(jù)規(guī)律性較弱,摻雜有操作失誤和電磁干擾導(dǎo)致的大量噪聲。另一方面,單一批次采集得到的多個波形數(shù)據(jù)之間不存在標(biāo)準(zhǔn)界限,信息粒度過大,很難對其進(jìn)行有效建模和分析,需要從中截取出單個波形進(jìn)行后續(xù)研究。整合上述步驟,形成數(shù)據(jù)預(yù)處理流程,主要包括噪聲抑制、脈沖波形定位及分割等操作,如圖2所示。
圖2 數(shù)據(jù)預(yù)處理過程
圖3(a)所示為直接通過傳感器采集得到的按壓加速度波形的可視化結(jié)果,可以清晰地看出其中存在大量白噪聲和毛刺,為數(shù)據(jù)分析和后續(xù)的波形分類帶來很多偶然性因素。因而本文先后采取低通控輻濾波和中值濾波對原始數(shù)據(jù)進(jìn)行去噪濾波處理,前者過濾不合適的白噪聲和錘擊異常[8],后者對周期性干擾有良好的抑制作用,平滑度高[9],濾波后效果如圖3(b)所示。
圖3 去噪濾波前后對比
經(jīng)過濾波處理的數(shù)據(jù)雖然具備了可利用的規(guī)律性,但是大量波形相互連接構(gòu)成的長序列數(shù)據(jù)給后續(xù)的特征提取和學(xué)習(xí)造成了很大困難,因而需要識別并定位其中每一次按壓的波形作為按壓效果評估的基本單元。本文根據(jù)波形的梯度值和振幅大小識別出單個波形,在截取波形時采用滑動窗口方法,共分為4個步驟:
步驟1創(chuàng)建滑動窗口A、B,分別存放傳感器采樣的原始數(shù)據(jù)和濾波后的波形數(shù)據(jù)。
步驟2設(shè)置波形曲線的突變閾值為重力加速度的21%,掃描步驟1中2個滑動窗口中的數(shù)據(jù)。
步驟3從檢測到的B突變點和A突變點所間隔的區(qū)域中選取優(yōu)化點作為起點,對窗口A幅寬進(jìn)行切割,直至下一次突變作為終止點,然后對起點到終止點之間的數(shù)據(jù)使用脈沖識別算法,判斷是否符合按壓波形特征。
步驟4若脈沖識別結(jié)果為“符合按壓波形特征”,則根據(jù)窗口A的結(jié)果,切割滑動窗口B。
其中步驟3中只有當(dāng)2個滑動窗口都出現(xiàn)突變才作為起點是為了防止將A窗口中的錘擊異?,F(xiàn)象作為脈沖起點。
步驟3中使用的脈沖識別算法如下:
1)幅寬PW判斷
脈沖幅寬應(yīng)滿足下式:
(1)
其中,PW表示脈沖的幅寬,Ts表示每次采樣時間,本文選擇t1=150 ms,t2=420 ms。
2)幅高PH的判斷
各傳感器使用的值不同,主要是因為加速度感知的數(shù)據(jù)不同,在加速度a上反映也不同,導(dǎo)致計算有差異,逆推公式如下:
(2)
其中,n表示采樣數(shù),a為采樣值,t為采樣周期,PMIN為按壓最小值,PMAX為按壓最大值,本文選擇PMIN=5 cm,PMAX=6 cm。
3)梯度判斷
規(guī)定一個脈沖中梯度變化為反向-正向-反向的變化,表現(xiàn)為二階導(dǎo)數(shù)存在2個極值點且極小值點min1在極大值點max2前面,上述2個點與橫坐標(biāo)位于此兩者之間的曲線的均值點stdval形成3個斜率,由于本文采用的是ADXL345的5 ms采樣,因而需符合min1與stdval的斜率為[1.3,3],stdval與max2的斜率為[1.5,6],min1與max2的斜率為[1.5,8]。
算法1按壓脈沖識別與波形分割
輸入一組胸外按壓波形數(shù)據(jù)
輸出每次按壓波形的起始點與終止點
//窗口A存放采樣值,窗口B存放濾波結(jié)果
winA←a,winB←a2,winA←winB
If sample_startp = 0
//對窗口進(jìn)行突變閾值檢測
For k ∈(1,Sample_checkpoint-1)
If |winB.data[k] -winB.data[k-1]|>sample_defaultstd*21%
尋找波形起始點
End if
End for
End if
Truncate PW of winB //截取winB的波形幅寬
For t ∈(0,n)
Calculate PH
If不符合式(1)、式(2)幅寬和幅高判斷條件
Continue
Else
獲得波形均值點stdval和2個極大值點
If不符合梯度判斷條件
Continue
End if
End if
calculate the distance of A
calculate the distance of B
//根據(jù)winB的結(jié)果截取winA的波形
Truncate winA reference winB
End
使用該算法處理全部18批次數(shù)據(jù),過濾并截取得到975個單次心臟胸外按壓加速度波形,將這些波形的起點對齊后整合在同一幅圖中。
胸外心臟按壓救助是否規(guī)范有效一般通過按壓深度來判定,本文采用超聲波測距的方法得到單次按壓的深度,然后根據(jù)按壓深度是是否位于5 cm~6 cm之間判斷本次按壓是否正確規(guī)范,從而建立數(shù)據(jù)集標(biāo)簽。而在實際按壓實驗中需要在短時間內(nèi)連續(xù)多次按壓,難免存在測距遮擋、抖動等問題,因此存在一定程度的標(biāo)簽數(shù)據(jù)缺失,為了解決這一問題,本文提出一種基于加權(quán)方差的弱監(jiān)督學(xué)習(xí)策略,從而對標(biāo)簽進(jìn)行修正。
由圖4(a)可知,由于截取后的波形長度并不一致,起點對齊后的各個波形具有不同終點,整體數(shù)據(jù)分布松散,不能很好地提取關(guān)鍵特征和進(jìn)行分類,因此將所有按壓曲線進(jìn)行轉(zhuǎn)換,從原點對齊轉(zhuǎn)換為最大值對齊,以便后期的處理,如圖4(b)所示。
圖4 波形對齊方式轉(zhuǎn)換
將波形數(shù)據(jù)轉(zhuǎn)換為最大值點對齊后,可以發(fā)現(xiàn)數(shù)據(jù)分布情況大為改善,并且可以忽略兩側(cè)端點的不一致性,本文對每條曲線以最大值點為界,左邊取50個點,右邊取20個點構(gòu)成數(shù)據(jù)集。匯總波形數(shù)據(jù)進(jìn)行比對,參考圖4(b)后得出3條規(guī)律,基本內(nèi)容已在概述中闡明,若干特征補(bǔ)充如下:
特征1規(guī)范的按壓動作產(chǎn)生的加速度波形的極大值點和極小值點均位于整體波形的中部。
特征2不規(guī)范的按壓動作產(chǎn)生的加速度波形存在極值點過于平滑或突兀的現(xiàn)象。
根據(jù)上述特征,本文設(shè)計一種基于數(shù)據(jù)離散程度的標(biāo)簽修正方法,主要考慮極值點處的方差值,為保證判別結(jié)果的全面性,對非極值點進(jìn)行主成分分析[10-11],提取極值點以外的關(guān)鍵信息。
主成分分析結(jié)果如表2所示,以累計信息占比97%為界,選取主成分1~5。綜合2個極值點和5個非極值點主成分,計算加權(quán)方差值,構(gòu)建數(shù)據(jù)離散程度的評估模型,具體如下所示:
weighted_vari=vari1×w1+vari2×w2+
vari3×w3+vari4×w4+vari5×w5+
varimin1×0.25+varimax2×0.25
(3)
(4)
(5)
表2 主成分分析結(jié)果
其中,式(3)為波形數(shù)據(jù)的加權(quán)方差計算公式,規(guī)定各極值點處方差的權(quán)重為常數(shù)0.25,其余成分的方差的權(quán)重由式(5)計算得出,式(4)中的N表示本批次數(shù)據(jù)中的波形總數(shù),u表示特定成分在所有波形上的均值。波形i在主成分j中的取值為Xij,其在主成分j上相對于其他波形的方差為varij。在本文模型中,極值點方差在離散度信息中占主導(dǎo)地位,其余成分的權(quán)重取決于該主成分的信息占比。
如圖5所示,將已獲得的波形數(shù)據(jù)代入離散度評估模型,設(shè)置加權(quán)方差閾值為所有波形加權(quán)方差的中位數(shù)。
圖5 加權(quán)方差模型劃分結(jié)果
從圖5可以看出,加權(quán)方差值大于閾值的波形視為偏離規(guī)范按壓的情況,標(biāo)注為反例,其余波形標(biāo)注為正例。再結(jié)合實驗中利用超聲波測距得到的標(biāo)簽,當(dāng)超聲波得到的按壓深度因為遮擋而缺失或者因為抖動等因素而明顯錯誤時,使用上述加權(quán)方差模型對本次按壓波形進(jìn)行劃分,從而實現(xiàn)了對標(biāo)簽的修正。
卷積神經(jīng)網(wǎng)絡(luò)具備強(qiáng)大的特征提取能力和平移等變性質(zhì),并在圖像識別和目標(biāo)檢測領(lǐng)域得到了成功的應(yīng)用。不同于二維圖像數(shù)據(jù),本文研究的波形數(shù)據(jù)屬于一維序列數(shù)據(jù),因而采用一維卷積核和一維池化方法。在一維網(wǎng)絡(luò)中,提取得到的特征向量可以直接首尾相接傳入全連接層和Softmax層進(jìn)行分類。圖6所示為本文提出的針對波形序列數(shù)據(jù)的卷積網(wǎng)絡(luò)分類器的模型結(jié)構(gòu)。實驗驗證結(jié)果表明,初始網(wǎng)絡(luò)模型存在訓(xùn)練速度緩慢、損失函數(shù)下降過程中發(fā)生震蕩等問題,需要采取優(yōu)化措施對模型進(jìn)行改進(jìn)。
圖6 一維卷積神經(jīng)網(wǎng)絡(luò)的詳細(xì)結(jié)構(gòu)
優(yōu)化1使用Mini-batch梯度下降策略[12-13]和滑動平均模型[14],前者將數(shù)據(jù)分為大小相同的batch再輸入網(wǎng)絡(luò),用于加速梯度下降過程,后者維護(hù)一個介于當(dāng)前值和更新后的值的影子變量,用以限制參數(shù)更新速度,提高模型穩(wěn)定性。影子變量的計算方法如下:
shadow_variable=shadow_variable×decay+
(1-decay)×variable
(6)
其中,variable為待更新參數(shù),decay為衰減率。
在訓(xùn)練過程中動態(tài)調(diào)節(jié)衰減率有助于提高訓(xùn)練速度和模型穩(wěn)定性,可采用步數(shù)num_step控制衰減率,計算公式如下:
(7)
優(yōu)化2使用Adam優(yōu)化算法代替隨機(jī)梯度下降算法來最小化損失函數(shù)。隨機(jī)梯度下降算法保持單一的學(xué)習(xí)率更新所有的權(quán)重,學(xué)習(xí)率在網(wǎng)絡(luò)訓(xùn)練過程中并不會改變。而Adam優(yōu)化算法結(jié)合了momentum和RMSprop梯度下降算法,通過計算梯度的一階矩估計和二階矩估計為不同的參數(shù)設(shè)計獨立的自適應(yīng)性學(xué)習(xí)率;此外,Adam算法具有很高的計算效率和較低的內(nèi)存需求,對于除學(xué)習(xí)率外其他參數(shù)的調(diào)試要求較低,使用較為方便。
優(yōu)化3理想的學(xué)習(xí)率在模型訓(xùn)練前期應(yīng)盡量加快特征學(xué)習(xí)過程,而在后期應(yīng)減緩學(xué)習(xí)過程,以免發(fā)生震蕩,即學(xué)習(xí)率應(yīng)在訓(xùn)練過程中遞減。經(jīng)測試直接使用Adam算法損失函數(shù)的波動仍較大,為了進(jìn)一步優(yōu)化模型,因此本文在Adam優(yōu)化算法的基礎(chǔ)上采用指數(shù)下降的學(xué)習(xí)率衰減策略[15],使得學(xué)習(xí)率隨著訓(xùn)練步數(shù)逐漸減小。
(8)
(9)
其中,α為學(xué)習(xí)率,α0為初始學(xué)習(xí)率,decay_rate為衰減因子,global_steps為當(dāng)前訓(xùn)練步數(shù),N為整個訓(xùn)練集樣本個數(shù),m為一個批處理中的樣本數(shù)目。
優(yōu)化4影響機(jī)器學(xué)習(xí)方法泛化性能的主要因素是過擬合問題,即模型會嘗試學(xué)習(xí)數(shù)據(jù)中的噪聲或人為特征,因而本文在模型中引入正則化處理,用以降低模型復(fù)雜度和不穩(wěn)定程度,從而避免過擬合的危險。常用的正則化方法有L1和L2正則化。
L1正則化為[16]:
(10)
L2正則化為[17]:
(11)
相比于L1正則化,L2正則化具有處處可導(dǎo)、便于優(yōu)化的特性,適合應(yīng)用于本文提出的模型。因此,在更新卷積神經(jīng)網(wǎng)絡(luò)全連接層和Softmax層的權(quán)重時加入L2正則化。另外Inverted Dropout正則化方法[18]是通過修改神經(jīng)網(wǎng)絡(luò)本身來實現(xiàn)的,即在進(jìn)行反向傳播時,根據(jù)設(shè)定的保留概率使一部分神經(jīng)元節(jié)點隨機(jī)失活,同時節(jié)點的輸出需要除以保留概率達(dá)到縮放修正的目的。Dropout在實踐中能很好地工作是因為其在訓(xùn)練階段阻止神經(jīng)元的共適應(yīng),但Dropout不會阻止參數(shù)增長,同時應(yīng)用L2正則化可以起到作用[19],故本文在全連接層中加入Inverted Dropout正則化技術(shù)。
圖7所示為采用不同的初始學(xué)習(xí)率和衰減率的訓(xùn)練正確率曲線,引入學(xué)習(xí)率衰減策略后,分類正確率表現(xiàn)出良好的穩(wěn)定性。綜合多次實驗結(jié)果表明,本文將初始學(xué)習(xí)率α0設(shè)置為0.005,衰減率decay_rate設(shè)置為0.98,在此條件下的分類正確率可以達(dá)到99.4%。
圖7 不同學(xué)習(xí)率和衰減率下的分類正確率
Fig.7 Classification accuracy rate at different learning rates and decay rates
本文嘗試了不使用正則化、使用L2正則化、Dropout以及將兩者結(jié)合的正則化方法來防止過擬合,實驗結(jié)果如表3所示。在相同數(shù)據(jù)集上,同時使用L2正則化和Dropout技術(shù)能夠獲得最高的正確率。
表3 不同正則化對分類正確率的影響
Table 3 Effects of different regularizations on classification accuracy %
正則化方法訓(xùn)練集正確率測試集正確率不使用正則化99.592.5L2正則化98.594.2InvertedDropout99.697.5L2正則化+InvertedDropout99.498.8
本文結(jié)合Mini-batch梯度下降、學(xué)習(xí)率衰減、L2正則化、Inverted Dropout等方法對模型進(jìn)行了優(yōu)化,表4顯示了各種優(yōu)化算法中參數(shù)的含義及其具體設(shè)置。
表4 一維卷積神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
Table 4 One-dimensional convolutional neural network parameter settings
參數(shù)名稱含義參數(shù)取值m一個批處理中的樣本數(shù)目40decay滑動平均衰減率0.98α0初始學(xué)習(xí)率0.005decay_rate學(xué)習(xí)率衰減速率0.98λL2正則化參數(shù)0.0001keep_prodropout保留概率0.8
為了評估本文提出的基于一維卷積神經(jīng)網(wǎng)絡(luò)的胸外心臟按壓波形識別與傳統(tǒng)識別方法相比的優(yōu)勢,在相同數(shù)據(jù)集上進(jìn)行多次實驗,結(jié)果如表5所示。
表5 不同算法的正確率
測試結(jié)果表明,傳統(tǒng)的基于加速度二次積分的距離判斷方法正確率只能達(dá)到89.20%左右,而一般的機(jī)器學(xué)習(xí)算法,如Logistics回歸方法存在欠擬合問題,而決策樹算法得到的樹形分類結(jié)構(gòu)過于復(fù)雜,存在過擬合風(fēng)險。本文提出的基于一維卷積神經(jīng)網(wǎng)絡(luò)的分類模型正確率可以達(dá)到99.40%,較大地提升了胸外心臟按壓波形的識別正確率,并且模型具有較好的魯棒性和泛化能力。
本文在波形分割和標(biāo)簽修正的基礎(chǔ)上,提出了一維卷積神經(jīng)網(wǎng)絡(luò)的心臟胸外按壓波形識別算法。對實驗采集的原始數(shù)據(jù)進(jìn)行去噪濾波處理,使用滑動窗口模型進(jìn)行脈沖識別與波形分割,得到起點對齊的單次按壓波形。給出一種基于加權(quán)方差的弱監(jiān)督學(xué)習(xí)策略解決部分?jǐn)?shù)據(jù)標(biāo)簽缺失的問題,并結(jié)合Softmax分類器構(gòu)建一維卷積神經(jīng)網(wǎng)絡(luò)對按壓波形進(jìn)行分類,使用Adam優(yōu)化算法、Dropout和L2正則化、學(xué)習(xí)率衰減等方法對模型進(jìn)行優(yōu)化。實驗結(jié)果表明,與傳統(tǒng)的基于加速度二次積分的距離判斷方法相比,卷積神經(jīng)網(wǎng)絡(luò)達(dá)到了99.4%的正確率,具有更好的評估識別效果。在實際人工胸外按壓時,影響急救的成功率不僅只有單次按壓,還有按壓頻率,如對溺水人員進(jìn)行救助時,常采用30次胸外按壓輔以2次人工呼吸等方法,因此下一步研究需要結(jié)合按壓頻率、救助類型等因素對胸外心臟按壓是否規(guī)范有效做進(jìn)一步的評估。