瞿文鳳
摘? 要:心電圖(ECG)信號基本上與人體心臟的電活動相對應(yīng),所以心電圖通常在醫(yī)療領(lǐng)域被用來檢測心血管疾病。通過計算機對心電信號進行自動分類,可以幫助醫(yī)生更有效地進行心血管疾病的診斷,提高準確率。該文提出了一種一維卷積神經(jīng)網(wǎng)絡(luò)模型,可從原始心電數(shù)據(jù)中提取有效特征并實現(xiàn)自動分類。該模型實現(xiàn)了對5種典型心律失常信號的分類,即正常心搏(N)、室上性早搏(S)、室性早搏(V)、心室融合心跳(F)、未分類心跳(Q)。在MIT-BIH心律失常數(shù)據(jù)庫上的實驗結(jié)果表明,該方法的分類準確率較高,達到了97.8%,并且穩(wěn)定性也較高。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò)? 心電信號分類? 小波變換? 心律失常
中圖分類號:TP391 ? ?文獻標識碼:A 文章編號:1672-3791(2019)08(b)-0008-04
當(dāng)代社會,心血管疾病已經(jīng)成為威脅人們生命健康的重大殺手[1]。心律失常作為心血管疾病中發(fā)病率最高的典型之一,對其進行精確的分類一直是生物醫(yī)學(xué)領(lǐng)域的研究熱點。
心電信號檢測是診斷心律失常最有效的手段之一。傳統(tǒng)診斷心律失常的過程一般需要有經(jīng)驗的心臟病專家仔細研究心電圖,既繁瑣又費時。因此,在過去的幾十年里,計算機輔助診斷(CAD)算法被應(yīng)用于心律失常的自動分析,算法主要包括信號預(yù)處理、波形檢測、特征提取和疾病分類4個步驟[2]。這種傳統(tǒng)的基于機器學(xué)習(xí)的研究方法雖然在特定的數(shù)據(jù)集上取得了較為顯著的研究成果,但其嚴重依賴人工設(shè)計特征,算法工作量大,所以在實際應(yīng)用中尚未達到令人滿意的效果。
近年來,隨著人工智能技術(shù)的興起,以卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)為代表的深度學(xué)習(xí)技術(shù)發(fā)展火熱,其優(yōu)勢在于可以通過訓(xùn)練網(wǎng)絡(luò)參數(shù)從海量數(shù)據(jù)中自動學(xué)習(xí)得到深層次特征而無需人工設(shè)計特征,其在多種任務(wù),例如圖像分類與定位、語音識別等領(lǐng)域都展現(xiàn)出了十分強大的性能[3]。雖然CNN在圖像識別領(lǐng)域應(yīng)用比較廣泛,但是ECG信號具有與圖像比較相似的局部與整體的相關(guān)性,因而也可以將CNN應(yīng)用到ECG信號處理領(lǐng)域,該文處理的ECG心拍是一維信號,故該文所提出的CNN模型也是一維的。該模型可以直接對以下5種ECG心律失常類型進行分類,包括正常心搏(N)、室上性早搏(S)、室性早搏(V)、心室融合心跳(F)、未分類心跳(Q)。這5種類型是根據(jù)AAMI的標準劃分的。
1? 方法
1.1 數(shù)據(jù)預(yù)處理
1.1.1 數(shù)據(jù)降噪
心電信號是一種微弱的生理電信號,易受噪聲干擾。常見的噪聲主要包含肌電干擾、基線漂移和工頻干擾[4]這三種。為了提取有用的心電信息,必須要對心電信號進行降噪處理。因此,該文通過結(jié)合小波閾值法和小波分解重構(gòu)算法[5]進行噪聲的濾除。其中,小波閾值法通過設(shè)置一個合適的閾值將閾值以下的噪聲系數(shù)置零,保留閾值以上的信號系數(shù),然后對閾值處理后的小波進行信號重構(gòu),得到降噪后的信號。采用小波分解重構(gòu)算法將原始信號分解為多級,每一級分解為高頻和低頻信息。最后,通過確定有效信號的頻率范圍對信號進行重構(gòu),即可得到降噪后的信號。通過這兩種算法的有機結(jié)合,前者可以有效地濾除肌電干擾和工頻干擾,后者進行基線漂移的校正,從而完成信號降噪工作。
1.1.2 數(shù)據(jù)分段
心電信號進行降噪處理后,由于一條充分長的心電記錄中包含的信息太多,可能包含了很多種類型的心拍,直接全局處理不利于精細的識別,故而需要對其進行分段處理。首先進行R波峰的檢測。常用方法是小波變換[6]。該文在樣條小波的基礎(chǔ)上,采用B-樣條小波函數(shù)作為尺度函數(shù),將心電信號進行4個尺度的小波分解,得出模極大值對過零點,即對應(yīng)R波峰值點。在成功檢測出R波峰后,以R點位置為基準分割信號。在R點左右兩側(cè)選取100個采樣點,可得到一段長度為201個采樣點的心電信號,然后,運用下采樣函數(shù)將心電數(shù)據(jù)長度減少到130個采樣點。本工作共提取到109450個心電樣本數(shù)據(jù)。
1.1.3 數(shù)據(jù)擴充與歸一化
數(shù)據(jù)的擴充可以有效地減少過擬合,保持類之間的均衡分布[7]。根據(jù)心電類數(shù)據(jù)具有周期性的特點,通過“平移起點法”,包括N、S、V、F、Q等5類的心電樣本總數(shù)增加到453050個。最終利用Z-score歸一化方法[8]對每個樣本數(shù)據(jù)進行歸一化,解決幅值縮放問題,消除偏移效應(yīng),經(jīng)過處理后的心電信號可直接輸入到CNN模型中進行訓(xùn)練和測試。
1.2 CNN模型
該文所提出的CNN模型主要由特征提取和分類兩部分組成。特征提取部分負責(zé)對心電信號自動提取有效特征,而分類部分負責(zé)利用提取的特征對心電信號進行準確分類。
1.2.1 特征提取部分
特征提取部分主要由卷積層和池化層組成。卷積層由若干卷積單元組成,每個卷積單元的參數(shù)都是通過反向傳播算法最優(yōu)化得到的。卷積運算的目的是提取輸入的不同特征,從低級特征中迭代提取更復(fù)雜的特征。卷積層的輸出表達式如式(1)所示:
(1)
其中Xjl為對應(yīng)于第l層的第j個卷積核的特征向量;Mj為當(dāng)前神經(jīng)元的感受野(接受域);而Wij1為分配給第l層的第j個卷積核的權(quán)重系數(shù);f(*)為一個非線性激活函數(shù)。
池化層(亦名下采樣層),其具體操作與卷積層的操作基本相同,只不過池化層的卷積核只取對應(yīng)位置的最大值、平均值等(最大池化、平均池化),并且不經(jīng)過反向傳播的修改。其作用是可以忽略目標的傾斜、旋轉(zhuǎn)之類的相對位置的變化,以此提高精度,同時降低了特征圖的維度并且一定程度上可以避免過擬合。其公式如式(2)所示:
(2)
其中down(*)為下采樣函數(shù);βjl為權(quán)重系數(shù);bjl為偏置系數(shù)。
1.2.2 分類部分
分類部分主要是全連接層。全連接層是將經(jīng)過多個卷積層和池化層的特征圖中的特征進行整合,獲取特征具有的高層含義,之后用于分類。
1.2.3 1D-CNN模型
CNN通常運用于圖像領(lǐng)域,處理二維數(shù)據(jù)?;谛碾娦盘柺且痪S的,故該文對CNN模型進行了調(diào)整。優(yōu)化后的CNN心電分類模型如圖1所示。其基本結(jié)構(gòu)包括一個輸入層、兩個卷積層(C1、C3)、兩個池化層(S2、S4)、一個全連接層(FC)和一個輸出層。通過卷積層和池化層交替執(zhí)行提取特征,并將提取到的特征作為全連接層的輸入進行分類。
在卷積層C1中,使用28個7×1的卷積核對輸入的ECG 信號進行卷積操作,得到28個特征圖,每個特征圖的大小為(1×124)。在池化層S2中,對C1的每個特征圖進行尺度為2×1的最大池化操作,特征圖個數(shù)仍為28,經(jīng)池化之后每個特征圖的大小為(1×62)。C3也設(shè)置了28個卷積核,用7×1的卷積核對S2進行卷積,此時特征圖大小為(1×56)。在S4層中,對C3的每個特征圖進行尺度為2×1的最大池化操作,特征圖個數(shù)為28,此時特征圖的大小為(1×28)。FC是一個全連接層,輸出層設(shè)置5個神經(jīng)元,使用Softmax函數(shù)分別輸出每個類,即N、S、V、F、Q這5種類型。
2? 實驗與結(jié)果分析
2.1 實驗數(shù)據(jù)
該文所使用的數(shù)據(jù)集來源于MIT-BIH心律失常數(shù)據(jù)庫[9]。該數(shù)據(jù)庫包含48組記錄,每組記錄時長約30min,采樣率為360Hz。并且每組記錄均包含兩個導(dǎo)聯(lián)的ECG數(shù)據(jù)。基于該實驗研究的是一維模型,故從每組記錄中選取第II導(dǎo)聯(lián)的心電圖記錄共44條,來訓(xùn)練驗證該方法的可行性。根據(jù)AAMI標準[10],(102,104,107,217)這4條記錄被排除,因為這些記錄在后期處理時信號質(zhì)量較差。
2.2 實驗結(jié)果
該文采用了十倍交叉驗證策略[11]。將生成的心電樣本數(shù)據(jù)隨機分為10等份?;谔岢龅哪P?,其中的9份被用作訓(xùn)練集,剩余的1份被用于測試集,交叉驗證重復(fù)10次實驗。然后,在每一次實驗中評估性能指標(準確率、靈敏度和特異性)。最后,通過評估10次結(jié)果的平均值,得到算法總體性能。
2.2.1 卷積層參數(shù)的選擇
在卷積層中,卷積核的大小和數(shù)量可以影響到模型的質(zhì)量,當(dāng)學(xué)習(xí)率一定時,為了使得模型最優(yōu)化,該文進行了4組對比實驗。在每組實驗中所設(shè)置的卷積核個數(shù)不同,分別為3,5,7,9。實驗結(jié)果表明,4組實驗的錯誤率隨卷積核個數(shù)的增加而變化。當(dāng)卷積核大小分別為7和9時,實驗錯誤率隨卷積核個數(shù)的增加而改變的趨勢相對穩(wěn)定。并且當(dāng)特征圖個數(shù)為28時,錯誤率幾乎達到最小值。Lecun最近的評論表明,在計算精度相同的情況下,選擇較小尺寸的卷積核更好。為了防止卷積核尺寸過大而導(dǎo)致計算復(fù)雜,該文最終確定卷積核的大小為7,每層特征圖的最優(yōu)個數(shù)為28。
2.2.2 學(xué)習(xí)率的選定
為了研究學(xué)習(xí)率對錯誤率是否有影響,在卷積核大小和數(shù)量固定的情況下,該文設(shè)定了不同大小的學(xué)習(xí)率,研究實驗的錯誤率和訓(xùn)練時間。實驗結(jié)果表明,當(dāng)學(xué)習(xí)率小于0.1時,實驗錯誤率都是2.5%左右。然而隨著學(xué)習(xí)率的提高,訓(xùn)練時間也逐漸減少。例如,當(dāng)學(xué)習(xí)率為0.001時,收斂速度最慢;反之,當(dāng)學(xué)習(xí)率為0.1時,數(shù)據(jù)收斂速度更快,訓(xùn)練時間最短。當(dāng)學(xué)習(xí)率大于0.1時,錯誤率呈不規(guī)則變化,時而增加,時而減少。據(jù)認為,這種現(xiàn)象是由于學(xué)習(xí)率過快,導(dǎo)致數(shù)據(jù)無法收斂??傊粌H要保證正確率,還要設(shè)定合適的學(xué)習(xí)率來減少訓(xùn)練時間。所以該文最終選定學(xué)習(xí)率為0.1。
2.2.3 迭代次數(shù)的選擇
為了準確研究迭代次數(shù)與測試正確率之間的關(guān)系,該文在固定卷積核大小、數(shù)量和學(xué)習(xí)率的前提下,通過調(diào)整迭代次數(shù)來評估測試集的正確率。實驗結(jié)果表明,隨著迭代次數(shù)的增加,錯誤率呈下降趨勢并逐漸趨于平穩(wěn)。當(dāng)?shù)螖?shù)為50時,錯誤率高達15%;而迭代次數(shù)達到300時錯誤率為3.5%。當(dāng)?shù)螖?shù)設(shè)置為300、350、400時錯誤率保持不變。此時,需要考慮訓(xùn)練時間。當(dāng)其他參數(shù)固定時,每個訓(xùn)練步驟的時間成本是相似的,訓(xùn)練越多,所需時間越長。
2.2.4 性能評價
CNN模型比較消耗計算資源,而且神經(jīng)網(wǎng)絡(luò)的任何變化都需要新的訓(xùn)練,這會非常消耗時間和資源,這個方面需要優(yōu)化和重視。所以該文選擇所有階段的最優(yōu)參數(shù),在上述優(yōu)化參數(shù)的基礎(chǔ)上得到訓(xùn)練模型,其中模型的學(xué)習(xí)率設(shè)為0.1,兩層卷積層的卷積核大小均為7。對于最大池化操作,兩個池化層的采樣因子都為2,迭代次數(shù)為300次。最后的測試結(jié)果表明,該方法的準確度為97.8%。實驗結(jié)果的混淆矩陣如表1所示。其中N、S、V、F、Q分別代表5種心律失常心拍類型。
最后,該文還與前人研究的心電分類算法進行比較。如表2所示,與以前研究者所提出的方法和實驗成果相比,該文所提出的方法提高了心電分類的準確率。
3? 結(jié)語
心電信號是用于診斷和預(yù)防心律失常等心血管疾病的有效手段,對其進行精確的分類具有重要的臨床意義。該文在前人研究的工作基礎(chǔ)上,提出了一種一維的卷積神經(jīng)網(wǎng)絡(luò)模型,首先對MIT-BIH心律失常數(shù)據(jù)庫的數(shù)據(jù)利用小波變換相關(guān)算法進行預(yù)處理操作,再將經(jīng)過預(yù)處理的心電數(shù)據(jù)輸入到CNN模型中進行訓(xùn)練和測試。最后經(jīng)實驗驗證該文所提出的模型可有效地對N、S、V、F、Q等5種心律失常類型進行分類,且分類的穩(wěn)定性和準確率較高,為進一步提高心電圖自動分類的效果實現(xiàn)了有益的探索。
參考文獻
[1] 陳偉偉,高潤霖,劉力生,等.《中國心血管病報告2016》概要[J].中國循環(huán)雜志,2017,32(6):521-530.
[2] Selcan Kaplan Berkaya, Alper Kursat Uysal, Efnan Sora Gunal, et al. A survey on ECG analysis[J].Biomedical Signal Processing and Control,2018(43):216-235.
[3] Chatfield K, Simonyan K,VedaldiA, et al. Return of the Devil in the Details: Delving Deep into Convolutional Nets[J].Computer Science,2014(156):52-54.
[4] Alyasseri ZA,Khader AT,Al-Betar MA,et al. Hybridizing beta-hill climbing with wavelet transform for denoising ECG signals[J].InfSci(Ny),2018(429):229-246.
[5] 焦運良,邢計元,靳堯凱.基于小波變換的心電信號閾值去噪算法研究[J].信息技術(shù)與網(wǎng)絡(luò)安全,2019,38(5):62-66.
[6] Ismaiel,F(xiàn)atima Osman Mohamed. Classification of Cardiac Arrhythmias Based on Wavelet Transform and Neural Networks[D].Sudan University of Science&Technology,2015.
[7] Paolo Vecchiotti, Giovanni Pepe, Emanuele Principi, et al. Detection of activity and position of speakers by using Deep Neural Networks and Acoustic Data Augmentation[J].Expert Systems With Applications, 2019.
[8] Jin Lin-peng, Dong Jun. Deep learning research on clinical electrocardiogram analysis[J].Science China: Information Sciences,2015,45(3):398-416.
[9] Ritu Singh, Rajesh Mehta,Navin Rajpal. Efficient wavelet families for ECG classification using neural classifiers[J].Procedia Computer Science,2018(132):11-21.
[10] Brian Young,Johann-Jakob Schmid.Updates to IEC/AAMI ECG standards, a new hybrid standard[A].Journal of Electrocardiology[C].2018.
[11] Han Meng,Ding Jian.An improvement and implementation of BP algorithm based on cross-validation[J].Computer Engineering and Design,2008,29 (14):3738-3739.
[12] N.P.Joshi, P.S.Topannavar, Support vector machine based heartbeat classification[A].In Proc.of 4th IRF Int. Conf[C].2014:140-144.
[13] M. Zubair,J. Kim,C.Yoon. An Automated ECG Beat Classification System Using Convolutional Neural Networks[A].International Conference In IT Convergence and Security(ICITCS)[C].2016:1-5.
[14] Wei Jiang, Seong G,Kong. Block-based neural networks for personalized ECG signal classification[J].IEEE Transactions on Neural Networks,2007,8(6):1750-1761.
[15] 陳宇飛,張博,林楠,等.一種高效檢測心律不齊的深度學(xué)習(xí)算法[J].小型微型計算機系統(tǒng),2018,39(11):2436-2440.