張 逸,周 莉,陳 杰
(1.中國科學院微電子研究所,北京 100029;2.中國科學院大學,北京 100049)
近些年來,全世界因心血管疾病導致的人類死亡人數(shù)不斷增加。據(jù)世界衛(wèi)生組織的統(tǒng)計顯示,全世界平均每年因為心血管疾病而死亡的人數(shù)約為1 790 萬人,占所有居民疾病死亡人數(shù)的30%以上,遠高于其他疾病。對于心血管疾病發(fā)病的提前預防和診斷就顯得愈發(fā)重要。心律失常是心血管疾病發(fā)病前的常見癥狀。心律失常是指心臟跳動頻率或者節(jié)律出現(xiàn)異常的變化,一般是由心臟活動的起源或傳導障礙導致。心電圖(Electrocardiogram,ECG)具有成本低、使用方便、效率高和無創(chuàng)性等特點,是診斷心律失常最便捷的方法。目前最普遍的心律失常的診斷方法是依靠醫(yī)生經(jīng)驗進行診斷,診斷結果比較依賴醫(yī)生的診斷經(jīng)驗,面對大量的ECG 信號數(shù)據(jù),醫(yī)生可能會因為長時間的連續(xù)工作產(chǎn)生疲勞而出現(xiàn)漏診、誤診的情況。ECG 心律失常自動分類技術能夠提高ECG 心律失常分類的效率和準確率,避免因醫(yī)生的診斷經(jīng)驗不足或疲勞等引起的漏診、誤診,使醫(yī)生能對心律失常及時地作出診斷和治療,從而減少心血管疾病的發(fā)作,降低心血管疾病的死亡率。
ECG 心律失常分類算法一般分為3 個步驟:ECG信號提取與預處理、ECG 信號特征提取和ECG 心律失常分類。
ECG 信號在采集時通常包含許多噪聲,包括工頻干擾、肌電干擾、基線漂移等,嚴重影響ECG 信號中正常波形的識別和ECG 信號特征提取[1]。因此需要對ECG 信號進行預處理濾除心電噪聲。ECG 信號的濾波方法可分為傳統(tǒng)濾波方法和現(xiàn)代濾波方法。傳統(tǒng)濾波方法包括FIR 數(shù)字濾波器、IIR 數(shù)字濾波器等[2-3]。文獻[4]提出了一種帶有Kaiser 窗口的FIR 數(shù)字濾波器方法,用來去除ECG 信號中的干擾。現(xiàn)代濾波方法包括小波變換、自適應濾波算法、集合經(jīng)驗模態(tài)分解等。離散小波變換將ECG 信號分成不同頻帶,能很好地表示非平穩(wěn)信號,和傳統(tǒng)方法中的FIR數(shù)字濾波器相比,具有更好的效果[5]。文獻[6]使用集合經(jīng)驗模態(tài)分解方法對ECG 信號進行降噪,與傳統(tǒng)的降噪方法相比,它的降噪能力更強,降噪后的ECG信號質(zhì)量更好。
ECG 信號的特征提取主要是對ECG 信號的特征參數(shù)的準確提取。提取有效的ECG 信號特征、提取出的特征是否能區(qū)分不同信號的類別是準確進行心律失常分類的關鍵。目前ECG 信號的特征提取方法有時域頻域分析法、小波變換分析法、主成分分析法、獨立成分分析法和線性判別分析法等[7-9]。
ECG 信號特征提取之后,就需要對心律失常進行分類。近些年來,心律失常自動分類的方法主要有傳統(tǒng)的信號處理方法、傳統(tǒng)機器學習的方法、人工神經(jīng)網(wǎng)絡方法等[10]?;趥鹘y(tǒng)機器學習的心律失常自動分類過程步驟如下:首先根據(jù)醫(yī)學知識,人為構建多種類型心拍的模式空間,再通過模式空間提取ECG 心拍的特征,最后利用分類器實現(xiàn)ECG 分類。近些年來基于機器學習的方法被大量地用于解決心律失常分類的問題,主要有線性分類器、支持向量機(Support Vector Machine,SVM)、K 近鄰算法等。這些方法存在以下不足:泛化能力較弱、識別效果依賴于模式空間的人為構建,存在人為設計的局限性和復雜性;該類算法需要完成特征提取和分類兩個獨立任務,存在不同任務間數(shù)據(jù)重建的復雜性[11]。而基于人工神經(jīng)網(wǎng)絡的方法則不需要人工進行特征提取,輸入數(shù)據(jù)在經(jīng)過卷積層后能被自動提取特征?;谌斯ど窠?jīng)網(wǎng)絡的方法在ECG 心律失常分類中取得了較好的分類效果。
為了充分利用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)在解決圖像分類問題上強大的特征提取能力和泛化能力,該文使用二維CNN 對ECG 心律失常進行分類。CNN 是一類包含卷積計算且具有深度結構的前饋神經(jīng)網(wǎng)絡,被廣泛應用于圖像識別和計算機視覺等領域。通過將MIT-BIH 數(shù)據(jù)庫中的一維ECG 信號轉(zhuǎn)化成適合于輸入二維CNN模型的二維圖像數(shù)據(jù),不再需要人工對輸入數(shù)據(jù)進行噪聲過濾和特征提取。CNN 結構在處理ECG 心律失常分類任務時,可以使用原始ECG 圖像樣本作為網(wǎng)絡的輸入,不需要人工提取特征。卷積過程就是提取特征的過程,在訓練數(shù)據(jù)的過程中可以自動提取ECG 圖像的特征。將每個ECG 心拍的范圍定義為以R 峰為基準點,取R 峰前100 個采樣點和R 峰后140 個采樣點作為一個心拍。根據(jù)心拍范圍的定義,將一維連續(xù)的ECG 信號分成單獨的ECG 心拍并繪制為分辨率為64×64 的二維圖像。
圖1 ECG一維信號轉(zhuǎn)換為二維圖像
針對ECG 心律失常分類任務的相關要求,該研究設計了輕量化的二維CNN 結構,對ECG 圖像進行高精度的分類。所設計的CNN 采用的卷積模式為MobileNets[12]中提出的深度可分離卷積。深度可分離卷積將傳統(tǒng)卷積模式分成深度卷積(Depth-Wise convolution,DW)和逐點卷積(Poin-Wise convolution,PW)兩步進行。深度可分離卷積與標準卷積的區(qū)別如下:標準卷積的卷積核是用在所有的輸入通道上,而DW 卷積則是每個輸入通道只用一個卷積核進行卷積。PW 卷積的運算和標準卷積運算相似,只是采用尺寸為1×1×M(M為上一層的通道數(shù))的卷積核。將傳統(tǒng)卷積模式分成DW 卷積和PW 卷積兩步可以大大減少卷積核參數(shù)數(shù)量和卷積計算的復雜度。
基于MobileNetv2[13]中提出的倒殘差模塊思想,設計網(wǎng)絡的基礎模塊block。每個基礎模塊block 中都包含深度可分離卷積和SoftPool[14]池化層,如圖2所示。
圖2 網(wǎng)絡基礎模塊block
在每個模塊內(nèi)交替使用2 次1×1 的PW 卷積和1 次3×3 的DW 卷積,在DW 卷積后接SoftPool 池化層,可以減小特征圖的大小從而減小網(wǎng)絡的計算量,增大卷積的感受野。在前兩次卷積之后執(zhí)行BN 運算和ReLU 激活。BN 運算為批歸一化操作,對激活函數(shù)的輸入進行歸一化,可以加快模型訓練速度,提升模型的精度。ReLU 激活函數(shù)相比于其他的激活函數(shù)具有更小的計算量和可以避免梯度消失等問題。第三次卷積之后不進行非線性激活,保留線性輸出。該研究提出的CNN 網(wǎng)絡結構如圖3 所示。
圖3 CNN網(wǎng)絡結構
該文提出的網(wǎng)絡模型使用全局平均池化層(global average pooling)加Softmax 層替換全連接層作為網(wǎng)絡的分類器。由于全連接層的參數(shù)量太大,使用全局平均池化層替代之后可以減少網(wǎng)絡的參數(shù)量和計算量,還能避免全連接層帶來的過擬合風險,提升網(wǎng)絡的分類效果。
實驗使用由美國麻省理工學院提供的研究心律失常的MIT-BIH 數(shù)據(jù)庫來生成實驗數(shù)據(jù)集。MITBIH 數(shù)據(jù)庫中包含48 個雙通道動態(tài)ECG 記錄,每個記錄長度為30 min,以每通道每秒360 采樣點進行采樣。多個心臟學專家對每份數(shù)據(jù)進行了標注,得到每份數(shù)據(jù)的參考注釋。MIT-BIH 數(shù)據(jù)庫中注釋的主要心拍類型如表1 所示。
表1 MIT-BIH數(shù)據(jù)庫主要心拍類型
根據(jù)美國醫(yī)療儀器促進協(xié)會(Association for the Advancement of Medical Instrumentation,AAMI)的標準,將ECG 心拍類型分為5 類,需要把MIT-BIH 數(shù)據(jù)庫中注釋的心拍類型轉(zhuǎn)換為AAMI 的心拍類型。
表2 AAMI標準轉(zhuǎn)換MIT-BIH心拍類型
經(jīng)過ECG 輸入數(shù)據(jù)預處理后,可以從MIT-BIH的數(shù)據(jù)庫中生成96 577張ECG 圖像,按照8∶2的比例將生成的ECG 圖像數(shù)據(jù)集劃分為訓練集和測試集。
使用生成的ECG 圖像數(shù)據(jù)集對提出的CNN 網(wǎng)絡進行訓練和測試,測試結果如表3 和表4 所示。
表3 ECG測試集上的混淆矩陣
表4 ECG測試集上的測試結果比較
表3 給出了使用CNN 模型進行測試得到的混淆矩陣?;煜仃嚨牧写砹烁黝悇e的預測值,行代表了各類別的真實值,能夠表示各類別的真實值和預測值的分布情況。
為方便與其他方法進行分析比較,使用以下3個指標評估分類效果:準確率(Accuracy)、精確度(Precision)和召回率(Recall)。計算方式如下:
其中,TP表示某類別中正確檢測為該類別的樣本,F(xiàn)P表示某類別中錯誤檢測為該類別的樣本,TN表示某類別中正確檢測為非該類別的樣本,F(xiàn)N表示某類別中錯誤檢測為非該類別的樣本。
準確率能夠表示正確的測試結果占全部測試結果的比例。精確度表示某類別中所有檢測為該類別的結果中真陽性測試結果的比例。召回率則是表示某類別中正確鑒定為該類別的陽性檢測結果占全部該類別結果的比例。通過以上3 個指標,能夠準確評估提出的方法的分類效果。
表4 給出了該方法在測試集上的準確率、平均精確度和平均召回率,并與其他相關的ECG 自動分類方法進行比較。實驗結果顯示,該文提出的CNN模型在ECG 心律失常分類的準確率達到98.6%,與其他方法相比,該方法具有最高的準確率、平均精確度和平均召回率。
該文提出了一種基于二維卷積神經(jīng)網(wǎng)絡模型的心律失常分類方法,將MIT-BIH 數(shù)據(jù)庫中的ECG 信號轉(zhuǎn)換為二維ECG 圖像作為輸入對CNN 網(wǎng)絡進行訓練和測試。實驗表明,該方法在ECG 心律失常分類中達到了98.6%的分類準確率、98.5%的平均精確度和98.6%的平均召回率,實現(xiàn)了對ECG 心律失常的高精度自動分類。