下壁心肌梗死是一種病死率高的急性缺血性心臟病,易誘發惡性心律失常、心率衰竭、心源性休克等危及生命的并發癥。因而,開展對下壁心肌梗死準確高效的早期診斷研究具有重要的臨床價值。心電圖是早期診斷下壁心肌梗死最敏感的手段。本文提出了一種基于密集連接卷積神經網絡的下壁心肌梗死檢測方法。該方法將Ⅱ、Ⅲ和 aVF 導聯的原始心電信號串接數據作為模型的輸入,利用卷積層的尺度不變性提取心電信號中具有魯棒性的特征,并通過不同層間密集連接的方式加強了心電信號特征的傳遞,使得網絡能夠自動學習心電信號中魯棒性強且辨識度高的有效特征,從而實現下壁心肌梗死的準確檢測。本文還采用德國國家計量學研究所診斷公共心電數據庫進行驗證,本文模型的準確率、敏感性和特異性分別達到了 99.95%、100% 和 99.90%。在含有噪聲的情況下,模型的準確率、敏感性和特異性也均超過 99%。基于本文研究結果,期望今后可在臨床環境中引入本文方法,以幫助醫生快速診斷下壁心肌梗死。
引用本文: 熊鵬, 薛彥平, 劉明, 杜海曼, 王洪瑞, 劉秀玲. 基于密集連接卷積神經網絡的下壁心肌梗死檢測. 生物醫學工程學雜志, 2020, 37(1): 142-149. doi: 10.7507/1001-5515.201904028 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
引言
據《中國心血管病報告 2017》統計,我國心血管疾病患病人數達 2.9 億,心肌梗死(簡稱:心梗)的死亡率呈逐年上升的趨勢[1]。在心梗中,下壁心梗具有發病率高、致死率高等特點。心電圖(electrocardiogram,ECG)是早期診斷下壁心梗最敏感的方式。美國心臟協會/美國心臟病學學會明確指出,患者如果在到達急診后 10 min 內進行 ECG 檢查并做出相應的診療,能有效地縮短心肌總缺血時間、縮小梗死面積、減少并發癥[2-4]。因而,下壁心梗的早期診斷至關重要,確診后及時治療有助于患者的恢復,降低死亡率[5]。
在心梗自動診斷的研究中,Arif 等[6]從 12 導聯 ECG 信號中提取出 ECG 信號的 T 波、Q 波和 ST 段振幅電平偏差等時域特征,利用 K 最近鄰法(K-nearest neighbor,KNN)進行分類,下壁心梗的準確性和敏感性均在 90% 以上。此外,由于手工提取的特征維數大,導致檢測精度低,Liu 等[7]提出一種新的多特征分支卷積神經網絡用于心梗的自動檢測和定位,得到了較高的精度,但是仍存在網絡層數多、計算量大的缺陷。基于 12 導聯 ECG 信號的研究方法在下壁心梗檢測中雖取得了很好的成果,但是由于 12 導聯的 ECG 信號存在信息冗余,導致特征維數大、模型復雜,從而影響下壁心梗的檢測。
臨床研究表明,下壁心梗在Ⅱ、Ⅲ和 aVF 導聯的 ECG 信號上有著明確的表征。Sharma 等[8]使用平穩小波變換(stationary wavelet transform,SWT)將Ⅱ、Ⅲ和 aVF 共 3 個導聯 ECG 信號分解,并提取樣本熵等作為特征,利用支持向量機(support vector machine,SVM)和 KNN 進行分類,實驗取得很好的效果。但是,該方法的分類精度依賴于人工設計的特征,然而特征手工選擇的固定形式導致其泛化能力差,使得提取的特征具有一定的偶然性,從而影響分類算法的魯棒性。Reasat 等[9]將原始采樣頻率為 1 000 Hz 的 ECG 信號降采樣為 64 Hz,放入搭建好的淺層卷積神經網絡以自動檢測下壁心梗,避免了人工設計特征泛化能力差的缺陷,最終的準確度、敏感度和特異性均在 80% 以上。雖然該算法利用降采樣減少了模型輸入信號的維度,從而降低模型的復雜度,但降采樣帶來的信息丟失以及對同一時期導聯間關聯性的忽略導致該算法精度不高。現有的算法雖然取得了一定的效果,但是仍存在著信息丟失、手工設計特征泛化能力差和忽略導聯之間時間相關性等問題。再者,在實際臨床中 ECG 信號混雜的復雜噪聲,也使得現有方法很難從 ECG 信號中提取到魯棒性好且區分度高的特征。
基于上述原因分析,本文提出了基于密集連接卷積神經網絡(densely connected convolutional networks,DenseNet)的下壁心梗檢測方法。該方法使用了Ⅱ、Ⅲ和 aVF 共 3 個導聯的原始 ECG 數據,無需降采樣避免信息丟失;且基于導聯間的相關性,串接 3 個導聯的單心拍 ECG 數據并作為模型的輸入;然后構建 DenseNet 模型訓練,利用卷積層的尺度不變性提取 ECG 信號中具有魯棒性的特征,并通過密集塊之間的緊密連接獲取對特征更豐富的描述和判別,從而使得網絡能夠自動學習 ECG 信號的魯棒性強且具有區分度的特征,最終無需經過人工設計和選擇特征,得以實現下壁心梗精準的自動檢測。
1 方法
本文提出的下壁心梗檢測算法主要由以下三個步驟組成:ECG 數據的預處理、下壁心梗的特征提取及分類,具體的下壁心梗檢測框圖如圖 1 所示。首先將原始的Ⅱ、Ⅲ和 aVF 的 3 個導聯 ECG 信號利用離散小波變換去除噪聲并檢測 R 波分割心拍,得到干凈的單心拍 ECG 數據;然后利用 3 個下壁導聯間的相關性和單個導聯信號內的關聯性,將 3 個導聯的單心拍串接數據作為網絡的輸入信號;搭建 DenseNet 網絡,將數據送入網絡訓練,進行特征學習和提取;最終將提取到的特征向量送入多分類函數(Softmax)進行分類識別,從而完成下壁心梗的分類。
 圖1
				基于 DenseNet 的下壁心梗檢測框圖
			
												
				Figure1.
				Block diagram of inferior myocardial infarction detection based on DenseNet
						
				圖1
				基于 DenseNet 的下壁心梗檢測框圖
			
												
				Figure1.
				Block diagram of inferior myocardial infarction detection based on DenseNet
			
								1.1 數據及預處理
為了與現有算法進行對比,本文實驗中使用的 ECG 數據來自德國柏林本杰明富蘭克林大學心臟病系的邁克爾·奧夫教授(MichaelOeff,M.D.)和德國國家計量學研究所(Physikalisch-Technische Bundesanstalt,PTB)收集和處理的公共的 ECG 診斷數據庫(diagnostic ECG database)(網址為:https://physionet.org/physiobank/database/ptbdb/),即 PTB 診斷 ECG 數據庫。該數據庫包含 148 名心梗患者,52 名健康受試者,每條記錄包括常規的 12 導聯(Ⅰ、Ⅱ、Ⅲ、aVR、aVL、aVF、V1、V2、V3、V4、V5、V6)。每個信號以 1 000 個/s 樣本數字化,16 位分辨率在 ± 16.384 mV 范圍內[10]。
由肢體導聯(Ⅰ、Ⅱ、Ⅲ)和加壓導聯(aVR、aVL、aVF)構成的額面六軸系統 Einthoven 三角可知,心臟下部的形態變化對Ⅱ、Ⅲ和 aVF 會產生最大的影響[11-12]。基于醫學理論先驗信息的指導,3個導聯對于下壁心梗更具指征性。因而,本文選擇了 PTB 診斷 ECG 數據庫中 52 名健康受試者和 30 名下壁心梗患者(共 82 名)具有代表記錄的Ⅱ、Ⅲ和 aVF 下壁導聯數據,作為本文的數據集。其中下壁心梗的樣本為 10 396 個,健康的樣本為 10 447 個,兩種類型心拍的波形如圖 2 所示。
 圖2
				健康和下壁心梗的心拍
			
												
				Figure2.
				Heartbeats of the healthy and inferior myocardial infarction
						
				圖2
				健康和下壁心梗的心拍
			
												
				Figure2.
				Heartbeats of the healthy and inferior myocardial infarction
			
								對 PTB 診斷 ECG 數據庫中的原始 ECG 信號進行預處理,構建實驗所需要的數據集。利用離散小波變換對Ⅱ、Ⅲ和 aVF 導聯原始 ECG 信號的每個導聯信號進行降噪,濾除噪聲,得到干凈的 ECG 信號[13]。
在 ECG 信號中最明顯的特征波為 R 波,因而每個 ECG 數據以 R 峰為基準進行分割。本文使用潘·湯普金斯(Pan Tompkins)算法對 ECG 數據的 R 波峰進行檢測[14],然后根據信號一個完整的心動周期和采樣頻率,對每個 ECG 信號取 R 峰檢測前 250 個樣本和 R 峰檢測后 400 個樣本(共 651 個樣本)。
1.2 DenseNet 下壁心梗檢測模型
本文提出的 DenseNet 的下壁心梗檢測算法包括:輸入信號的構建,DenseNet 特征提取和 Softmax 分類。首先將預處理好的 3 個下壁導聯的單心拍數據進行串接作為模型的輸入信號,送入搭建好的 DenseNet 網絡進行訓練,提取關鍵特征;最后將提取的特征向量送入 Softmax 分類器,從而完成下壁心梗的分類。DenseNet 下壁心梗檢測模型結構圖如圖 3 所示。
 圖3
				DenseNet 下壁心梗檢測模型的結構圖
			
												
				Figure3.
				Structure diagram of inferior myocardial infarction detection based on DenseNet
						
				圖3
				DenseNet 下壁心梗檢測模型的結構圖
			
												
				Figure3.
				Structure diagram of inferior myocardial infarction detection based on DenseNet
			
								1.2.1 輸入信號的構建
將經過預處理的Ⅱ、Ⅲ、aVF 導聯的單心拍 ECG 數據進行串接,得到長度為 1 953 個樣本的單心拍 ECG 數據,構成實驗的數據集,則模型的輸入信號如式(1)所示:
|  | 
其中,x0 為模型的輸入信號,xⅡ、xⅢ 和 xaVF 分別為Ⅱ、Ⅲ和 aVF 導聯的單心拍 ECG 數據。
1.2.2 特征提取網絡
本文搭建的 DenseNet 下壁心梗檢測模型的特征提取部分主要包括密集塊和過渡層[15],其中每個密集塊由相互連接的批量標準化(batch normalization,BN)層[16]、修正線性單元(rectified liner uints,ReLU)層[17]和卷積層組成。
(1)密集塊
密集連接指網絡任何層和其后的所有層都有連接[18],這種連接有助于提高 ECG 信號特征的整體利用率。一個輸入為 x0 的 l 層網絡,每層都有一個非線性變換函數 H(·), 輸出用 xl 表示,則傳統的卷積神經網絡和密集連接的卷積神經網絡的第 l 層輸出如式(2)、式(3)所示:
|  | 
|  | 
其中,xl-1 為 l?1 層中產生的特征映射,[x0, x1,···, xl?1] 為 0, 1, ···, l?1 層中產生的特征映射的串聯。與傳統的卷積神經網絡相比,密集連接加強了 ECG 信號特征的傳遞,提高了信息在各個層間的流動,大大提高了 ECG 信號特征利用率,使得網絡能夠自動學習 ECG 信號中魯棒性強且具有區分度的特征,提高下壁心梗的檢測精度。密集連接的結構如圖 4 所示。
 圖4
				密集連接的結構圖
			
												
				Figure4.
				Structure diagram of dense connectivity
						
				圖4
				密集連接的結構圖
			
												
				Figure4.
				Structure diagram of dense connectivity
			
								在圖 4 中,Hl(·),(l∈N*)包括 BN 層、ReLU 層和卷積層,各部分功能如下:
BN:批量標準化,通過規范化操作將輸出信號規范化,加快網絡學習速率,縮短訓練時間,保證了網絡的穩定性。
ReLU:修正線性單元,其功能是對輸入的數據做非線性映射。
卷積層:卷積的主要目的是從輸入的 ECG 信號中提取特征,通過對卷積核進行細致的優化,能讓提取到的特征對噪聲具有更好魯棒性[19]。
(2)過渡層
過渡層包含卷積層和池化層。由于密集連接使得網絡參數增多,模型訓練緩慢,所以在卷積層中使用 1 × 1 卷積核和池化減少特征的數量,提高訓練速度。
(3)全局平均池化層
全局平均池化層主要計算每個特征映射的平均值,生成特征向量,無需優化參數,能有效避免過擬合。
1.2.3 Softmax 分類模型
Softmax 是一種有監督的分類模型,常作為深層網絡的最后一層。本文中將 DenseNet 網絡訓練得到的特征向量 h(i)送入 Softmax 中訓練,從而實現下壁心梗的分類。Softmax 結構如圖 5 所示,其中,i 為樣本數,m 為特征的維度,y(i)∈{ 0,1, ···, n}是類標簽,代表了 n 種不同類型的心拍。
 圖5
				Softmax 結構圖
			
												
				Figure5.
				Structure diagram of Softmax
						
				圖5
				Softmax 結構圖
			
												
				Figure5.
				Structure diagram of Softmax
			
								1.3 模型訓練
本文使用了隨機梯度下降算法,優化網絡參數。該算法以一個訓練樣本 x(i)和標簽 y(i)進行一次參數 θ 的更新,其更新公式如式(4)所示:
|  | 
其中 η 為學習速率, 為參數 θ 梯度,J(θ)為目標函數。
為參數 θ 梯度,J(θ)為目標函數。
選擇交叉熵損失函數(以符號 L 表示)來評估當前訓練得到的概率分布與真實分布的差異情況,一個 2 分類的交叉熵損失函數公式如式(5)所示:
|  | 
其中,y 為樣本的標簽 y∈{ 0,1}, p 為對應類別的概率。
模型使用梯度下降算法最小化交叉熵損失函數來更新網絡參數,訓練網絡收斂到全局最優值以得到模型最優解,從而實現下壁心梗的高精度分類。
2 結果和討論
2.1 評價指標
本文采用準確性(accuracy,Acc)(以符號 Acc 表示)、敏感性(sensitivity,Sen)(以符號 Sen 表示)和特異性(specificity,Spec)(以符號 Spec 表示) 三個參數對 Softmax 分類器的分類性能進行評估,并且采用混淆矩陣對分類結果進行分析。三個參數具體定義如式(6)~式(8)所示:
|  | 
|  | 
|  | 
其中,真陽性(true positive,TP)(符號記為:TP)代表了實際為正例被分類器劃分為正例的樣本數;真陰性(true negative,TN)(符號記為:TN)代表了實際為負例被分類器劃分為負例的樣本數;假陽性(false positive,FP)(符號記為:FP)代表了實際為負例被分類器劃分為正例的樣本數;假陰性(false negative,FN)(符號記為:FN)代表了實際為正例被分類器劃分為負例的樣本數。
2.2 參數設置
在密集塊中,模型的生長率(以符號 k 表示)決定網絡中每層產生的特征圖數量,增加 k 值,會使得網絡產生更多的特征圖,提高下壁心梗的識別率,同時也會造成網絡中參數的冗余。在本文中,通過比較不同 k 值的下壁心梗識別精度的變化以及模型的計算量來選取最優的 k 值。當 k 從 1 逐步增加時,精度變化平緩且不明顯,因此本文基于 k 的 4 倍取值變化對下壁心梗進行檢測。不同參數 k 的各項測試指標分布情況如表 1 所示。
 表1
                不同參數 k 的各項測試指標
		 	
		 			 				Table1.
    			Various test indicators of different parameters k
			
						表1
                不同參數 k 的各項測試指標
		 	
		 			 				Table1.
    			Various test indicators of different parameters k
       		
       				由表 1 可知,當 k 值不斷增加時,模型訓練的損失函數(以符號 Loss 表示)不斷減少,而準確性、敏感性和特異性逐漸增加。當 k 值取 20 時,模型測試的準確性、敏感性和特異性分別為 99.90%、99.90% 和 99.90%,相比 k 值取 16 時的測試結果有所降低。因而,從實驗精度和運行效率兩方面綜合考慮,本文選取 k 值為 16。
2.3 實驗結果與討論
本文使用 Keras 神經網絡框架構建 DenseNet 網絡。在訓練過程中,訓練次數設為 20 次,學習速率設為 0.1,k 值為 16。網絡設置了三個密集塊,兩個過渡層。其中,三個密集塊中的層數分別設為 3、2、2 層,DenseNet 網絡架構的詳細信息如表 2 所示。
 表2
                DenseNet 架構的詳細信息
		 	
		 			 				Table2.
    			Details of the structure of the DenseNet
			
						表2
                DenseNet 架構的詳細信息
		 	
		 			 				Table2.
    			Details of the structure of the DenseNet
       		
       				本文實驗數據集共包含 20 843 個心拍,將實驗數據按訓練集和測試集為 8:2 的比例劃分,劃分后的訓練和測試數據分布情況如表 3 所示。
 表3
                訓練和測試數據集分布情況
		 	
		 			 				Table3.
    			Data set distribution of train and test
			
						表3
                訓練和測試數據集分布情況
		 	
		 			 				Table3.
    			Data set distribution of train and test
       		
       				2.3.1 分類結果
本文采用混淆矩陣對 Softmax 的分類結果進行統計評估,根據式(6)~式(8)分別計算出兩種類型心拍的各項評估指標,得到下壁心梗檢測的混淆矩陣如表 4 所示。
 表4
                下壁心梗檢測的混淆矩陣
		 	
		 			 				Table4.
    			Confusion matrix of inferior myocardial infarction   detection
			
						表4
                下壁心梗檢測的混淆矩陣
		 	
		 			 				Table4.
    			Confusion matrix of inferior myocardial infarction   detection
       		
       				根據表 4 可以看出,在測試數據集中共包含 4 169 個樣本,其中,2 079 個下壁心梗樣本全部被正確識別出來,敏感性為 100%,漏檢率為 0;2 090 個健康樣本,2 088 個健康樣本被正確識別,2 個健康樣本被錯誤地劃分為下壁心梗,誤檢率很低。混淆矩陣的結果證明了本文方法在下壁心梗檢測方面呈現出優秀的性能,該方法檢測下壁心梗的準確性、敏感性和特異性分別為 99.95%、100% 和 99.90%。由此可見,利用本文方法可以對下壁心梗進行準確的檢測。
2.3.2 魯棒性分析
本文的噪聲數據采用美國麻省理工學院和貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)聯合構建的公共的噪聲壓力數據庫(Noise Stress Test Database)(網址為:https://www.physionet.org/physiobank/database/nstdb/),其中包括基線漂移(baseline wander,BW)、肌電干擾(muscle artifacts,MA)和電極干擾(electrode motion,EM)3 種噪聲數據[20]。本文選擇 BW、MA 和 EM 的合成噪聲模擬 ECG 信號受到干擾后發生的形變,采用信噪比(signal-to-noise ratio,SNR)(以符號 SNR 表示)來評價噪聲強弱,如式(9)所示:
|  | 
其中, 和
和 分別代表了 ECG 信號和合成噪聲的強度,在每一個 ECG 記錄中分別疊加 SNR 為 1.25、5、10 dB 的三種合成噪聲,生成含噪聲的 ECG 信號,來檢測算法的魯棒性。
分別代表了 ECG 信號和合成噪聲的強度,在每一個 ECG 記錄中分別疊加 SNR 為 1.25、5、10 dB 的三種合成噪聲,生成含噪聲的 ECG 信號,來檢測算法的魯棒性。
本文提出的下壁心梗檢測算法的魯棒性分析的實驗結果如表 5 所示。當 SNR 為 1.25 dB 時,本文方法準確性、敏感性和特異性分別為 99.14%、99.28% 和 99.00%;當 SNR 為 10 dB,本文方法的精度為 99.83%,敏感性和特異性分別為 99.86% 和 99.81%。魯棒性分析實驗的結果表明,對于信噪比較大(SNR=10 dB)或較小(SNR=1.25 dB)的含噪聲 ECG 信號,本文提出的算法都能取得很高的精度,準確率、敏感性和特異性均超過 99%,證明了本文提出的基于 DenseNet 下壁心梗檢測方法具有較強的抗干擾能力、魯棒性好。因而,在臨床環境中,對于含有復雜噪聲的 ECG 信號,該算法也能夠準確高效地實現下壁心梗的智能檢測。
 表5
                噪聲對下壁心梗檢測的結果
		 	
		 			 				Table5.
    			Comparison results of inferior myocardial infarction   detection with and without noise
			
						表5
                噪聲對下壁心梗檢測的結果
		 	
		 			 				Table5.
    			Comparison results of inferior myocardial infarction   detection with and without noise
       		
       				2.3.3 與其他方法對比結果
本文提出的基于 DenseNet 的下壁心梗檢測方法與現有的下壁心梗檢測方法的實驗結果進行了對比,基于公共的 PTB 診斷 ECG 數據的對比結果如表 6 所示。
 表6
                下壁心梗檢測的對比結果
		 	
		 			 				Table6.
    			Comparison results of inferior myocardial infarction detection
			
						表6
                下壁心梗檢測的對比結果
		 	
		 			 				Table6.
    			Comparison results of inferior myocardial infarction detection
       		
       				由表中數據可知,本文使用 Ⅱ、Ⅲ、aVF 導聯檢測下壁心梗,實驗結果取得了準確性為 99.95%、敏感性為 100% 和特異性為 99.90% 的良好效果。相比文獻[5-7]中使用的 12 導聯的 ECG 數據下壁心梗的檢測方法,本文的方法僅在特異性參數方面比 Liu 等[7]利用多分支卷積網絡進行下壁心梗定位的特異性略低,準確性和敏感性都高于文獻方法,證明了 3 個導聯對于下壁心梗的檢測更具醫學指征性,驗證了本文方法的有效性。
為了進一步證明本文方法對下壁心梗檢測具有良好的性能,與現有基于 Ⅱ、Ⅲ、aVF 的 3 個導聯下壁心梗檢測方法進行比較。由表 6 可知,文獻[8]中 SWT 和 KNN 分類算法的準確性、敏感性和特異性分別為 98.69%、98.67% 和 98.72%。文獻[9]中搭建了淺層的卷積神經網絡模型,實驗結果的準確性為 84.54%、敏感性為 85.33%、特異性為 84.09%。上述算法都取得了很好的實驗結果,但是相比文獻[8]中使用降采樣處理后的數據,進行手工設計提取特征的方法,本文方法使用的是原始 ECG 數據,僅對原始 ECG 信號進行去噪和分割心拍,保留了數據的所有特征;其次 DenseNet 網絡不需要設計特征并進行手工選擇,降低了計算的復雜度和特征設計的偶然性;不同層間密集連接的方式加強了 ECG 信號特征的傳遞,使得模型能夠獲得 ECG 信號中魯棒性強且辨識度高的有效特征。此外,相比文獻[9]將 3 個下壁導聯的數據分別送入網絡進行特征提取后堆疊特征,本文方法考慮到導聯間的關聯性,將 Ⅱ、Ⅲ 和 aVF 導聯的單心拍 ECG 數據進行串接,構建模型的輸入信號,完成下壁心梗的檢測。本文方法取得了優秀的性能表現,準確性、敏感性和特異性均高于文獻[8-9]中下壁心梗檢測方法,因而,該方法能夠滿足下壁心梗的檢測要求,實現下壁心梗的精準檢測。
3 結論
本文利用 DenseNet 網絡和 Softmax 分類器,構建 DenseNet 下壁心梗檢測模型,實現下壁心梗精準地自動檢測。本文提出的下壁心梗自動檢測模型是基于下壁心梗在多個導聯間的相關性和單個導聯中的 ECG 信號的改變,將 3 個下壁 ECG 信號的串接數據作為模型的輸入,利用卷積層的尺度不變性提取 ECG 信號中具有魯棒性的特征,并通過密集塊之間的緊密連接獲取對特征更豐富的描述和判別,從而使得 DenseNet 網絡自動學習 ECG 信號中魯棒性強且辨識度高的有效特征。除此之外,在網絡輸入數據時無需降采樣處理,保留了原始 ECG 信號的所有特征信息,避免了信息的丟失。對于下壁心梗的檢測,該模型的準確性、敏感性和特異性分別達到了 99.95%、100% 和 99.90%。在有噪聲干擾的情況下,模型也能取得很高的精度,準確率、敏感性和特異性均超過 99%。因此,或可在臨床環境中引入該方法,以幫助醫生快速診斷下壁心梗。另一方面,本文下壁心梗檢測模型的輸入只考慮了下壁導聯 ECG 信號的串接,沒有考慮 ECG 導聯信號的并行輸入,未來將在該模型上進行改進,實現 ECG 導聯數據的并行輸入,進一步提高下壁心梗的檢測精度。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
據《中國心血管病報告 2017》統計,我國心血管疾病患病人數達 2.9 億,心肌梗死(簡稱:心梗)的死亡率呈逐年上升的趨勢[1]。在心梗中,下壁心梗具有發病率高、致死率高等特點。心電圖(electrocardiogram,ECG)是早期診斷下壁心梗最敏感的方式。美國心臟協會/美國心臟病學學會明確指出,患者如果在到達急診后 10 min 內進行 ECG 檢查并做出相應的診療,能有效地縮短心肌總缺血時間、縮小梗死面積、減少并發癥[2-4]。因而,下壁心梗的早期診斷至關重要,確診后及時治療有助于患者的恢復,降低死亡率[5]。
在心梗自動診斷的研究中,Arif 等[6]從 12 導聯 ECG 信號中提取出 ECG 信號的 T 波、Q 波和 ST 段振幅電平偏差等時域特征,利用 K 最近鄰法(K-nearest neighbor,KNN)進行分類,下壁心梗的準確性和敏感性均在 90% 以上。此外,由于手工提取的特征維數大,導致檢測精度低,Liu 等[7]提出一種新的多特征分支卷積神經網絡用于心梗的自動檢測和定位,得到了較高的精度,但是仍存在網絡層數多、計算量大的缺陷。基于 12 導聯 ECG 信號的研究方法在下壁心梗檢測中雖取得了很好的成果,但是由于 12 導聯的 ECG 信號存在信息冗余,導致特征維數大、模型復雜,從而影響下壁心梗的檢測。
臨床研究表明,下壁心梗在Ⅱ、Ⅲ和 aVF 導聯的 ECG 信號上有著明確的表征。Sharma 等[8]使用平穩小波變換(stationary wavelet transform,SWT)將Ⅱ、Ⅲ和 aVF 共 3 個導聯 ECG 信號分解,并提取樣本熵等作為特征,利用支持向量機(support vector machine,SVM)和 KNN 進行分類,實驗取得很好的效果。但是,該方法的分類精度依賴于人工設計的特征,然而特征手工選擇的固定形式導致其泛化能力差,使得提取的特征具有一定的偶然性,從而影響分類算法的魯棒性。Reasat 等[9]將原始采樣頻率為 1 000 Hz 的 ECG 信號降采樣為 64 Hz,放入搭建好的淺層卷積神經網絡以自動檢測下壁心梗,避免了人工設計特征泛化能力差的缺陷,最終的準確度、敏感度和特異性均在 80% 以上。雖然該算法利用降采樣減少了模型輸入信號的維度,從而降低模型的復雜度,但降采樣帶來的信息丟失以及對同一時期導聯間關聯性的忽略導致該算法精度不高。現有的算法雖然取得了一定的效果,但是仍存在著信息丟失、手工設計特征泛化能力差和忽略導聯之間時間相關性等問題。再者,在實際臨床中 ECG 信號混雜的復雜噪聲,也使得現有方法很難從 ECG 信號中提取到魯棒性好且區分度高的特征。
基于上述原因分析,本文提出了基于密集連接卷積神經網絡(densely connected convolutional networks,DenseNet)的下壁心梗檢測方法。該方法使用了Ⅱ、Ⅲ和 aVF 共 3 個導聯的原始 ECG 數據,無需降采樣避免信息丟失;且基于導聯間的相關性,串接 3 個導聯的單心拍 ECG 數據并作為模型的輸入;然后構建 DenseNet 模型訓練,利用卷積層的尺度不變性提取 ECG 信號中具有魯棒性的特征,并通過密集塊之間的緊密連接獲取對特征更豐富的描述和判別,從而使得網絡能夠自動學習 ECG 信號的魯棒性強且具有區分度的特征,最終無需經過人工設計和選擇特征,得以實現下壁心梗精準的自動檢測。
1 方法
本文提出的下壁心梗檢測算法主要由以下三個步驟組成:ECG 數據的預處理、下壁心梗的特征提取及分類,具體的下壁心梗檢測框圖如圖 1 所示。首先將原始的Ⅱ、Ⅲ和 aVF 的 3 個導聯 ECG 信號利用離散小波變換去除噪聲并檢測 R 波分割心拍,得到干凈的單心拍 ECG 數據;然后利用 3 個下壁導聯間的相關性和單個導聯信號內的關聯性,將 3 個導聯的單心拍串接數據作為網絡的輸入信號;搭建 DenseNet 網絡,將數據送入網絡訓練,進行特征學習和提取;最終將提取到的特征向量送入多分類函數(Softmax)進行分類識別,從而完成下壁心梗的分類。
 圖1
				基于 DenseNet 的下壁心梗檢測框圖
			
												
				Figure1.
				Block diagram of inferior myocardial infarction detection based on DenseNet
						
				圖1
				基于 DenseNet 的下壁心梗檢測框圖
			
												
				Figure1.
				Block diagram of inferior myocardial infarction detection based on DenseNet
			
								1.1 數據及預處理
為了與現有算法進行對比,本文實驗中使用的 ECG 數據來自德國柏林本杰明富蘭克林大學心臟病系的邁克爾·奧夫教授(MichaelOeff,M.D.)和德國國家計量學研究所(Physikalisch-Technische Bundesanstalt,PTB)收集和處理的公共的 ECG 診斷數據庫(diagnostic ECG database)(網址為:https://physionet.org/physiobank/database/ptbdb/),即 PTB 診斷 ECG 數據庫。該數據庫包含 148 名心梗患者,52 名健康受試者,每條記錄包括常規的 12 導聯(Ⅰ、Ⅱ、Ⅲ、aVR、aVL、aVF、V1、V2、V3、V4、V5、V6)。每個信號以 1 000 個/s 樣本數字化,16 位分辨率在 ± 16.384 mV 范圍內[10]。
由肢體導聯(Ⅰ、Ⅱ、Ⅲ)和加壓導聯(aVR、aVL、aVF)構成的額面六軸系統 Einthoven 三角可知,心臟下部的形態變化對Ⅱ、Ⅲ和 aVF 會產生最大的影響[11-12]。基于醫學理論先驗信息的指導,3個導聯對于下壁心梗更具指征性。因而,本文選擇了 PTB 診斷 ECG 數據庫中 52 名健康受試者和 30 名下壁心梗患者(共 82 名)具有代表記錄的Ⅱ、Ⅲ和 aVF 下壁導聯數據,作為本文的數據集。其中下壁心梗的樣本為 10 396 個,健康的樣本為 10 447 個,兩種類型心拍的波形如圖 2 所示。
 圖2
				健康和下壁心梗的心拍
			
												
				Figure2.
				Heartbeats of the healthy and inferior myocardial infarction
						
				圖2
				健康和下壁心梗的心拍
			
												
				Figure2.
				Heartbeats of the healthy and inferior myocardial infarction
			
								對 PTB 診斷 ECG 數據庫中的原始 ECG 信號進行預處理,構建實驗所需要的數據集。利用離散小波變換對Ⅱ、Ⅲ和 aVF 導聯原始 ECG 信號的每個導聯信號進行降噪,濾除噪聲,得到干凈的 ECG 信號[13]。
在 ECG 信號中最明顯的特征波為 R 波,因而每個 ECG 數據以 R 峰為基準進行分割。本文使用潘·湯普金斯(Pan Tompkins)算法對 ECG 數據的 R 波峰進行檢測[14],然后根據信號一個完整的心動周期和采樣頻率,對每個 ECG 信號取 R 峰檢測前 250 個樣本和 R 峰檢測后 400 個樣本(共 651 個樣本)。
1.2 DenseNet 下壁心梗檢測模型
本文提出的 DenseNet 的下壁心梗檢測算法包括:輸入信號的構建,DenseNet 特征提取和 Softmax 分類。首先將預處理好的 3 個下壁導聯的單心拍數據進行串接作為模型的輸入信號,送入搭建好的 DenseNet 網絡進行訓練,提取關鍵特征;最后將提取的特征向量送入 Softmax 分類器,從而完成下壁心梗的分類。DenseNet 下壁心梗檢測模型結構圖如圖 3 所示。
 圖3
				DenseNet 下壁心梗檢測模型的結構圖
			
												
				Figure3.
				Structure diagram of inferior myocardial infarction detection based on DenseNet
						
				圖3
				DenseNet 下壁心梗檢測模型的結構圖
			
												
				Figure3.
				Structure diagram of inferior myocardial infarction detection based on DenseNet
			
								1.2.1 輸入信號的構建
將經過預處理的Ⅱ、Ⅲ、aVF 導聯的單心拍 ECG 數據進行串接,得到長度為 1 953 個樣本的單心拍 ECG 數據,構成實驗的數據集,則模型的輸入信號如式(1)所示:
|  | 
其中,x0 為模型的輸入信號,xⅡ、xⅢ 和 xaVF 分別為Ⅱ、Ⅲ和 aVF 導聯的單心拍 ECG 數據。
1.2.2 特征提取網絡
本文搭建的 DenseNet 下壁心梗檢測模型的特征提取部分主要包括密集塊和過渡層[15],其中每個密集塊由相互連接的批量標準化(batch normalization,BN)層[16]、修正線性單元(rectified liner uints,ReLU)層[17]和卷積層組成。
(1)密集塊
密集連接指網絡任何層和其后的所有層都有連接[18],這種連接有助于提高 ECG 信號特征的整體利用率。一個輸入為 x0 的 l 層網絡,每層都有一個非線性變換函數 H(·), 輸出用 xl 表示,則傳統的卷積神經網絡和密集連接的卷積神經網絡的第 l 層輸出如式(2)、式(3)所示:
|  | 
|  | 
其中,xl-1 為 l?1 層中產生的特征映射,[x0, x1,···, xl?1] 為 0, 1, ···, l?1 層中產生的特征映射的串聯。與傳統的卷積神經網絡相比,密集連接加強了 ECG 信號特征的傳遞,提高了信息在各個層間的流動,大大提高了 ECG 信號特征利用率,使得網絡能夠自動學習 ECG 信號中魯棒性強且具有區分度的特征,提高下壁心梗的檢測精度。密集連接的結構如圖 4 所示。
 圖4
				密集連接的結構圖
			
												
				Figure4.
				Structure diagram of dense connectivity
						
				圖4
				密集連接的結構圖
			
												
				Figure4.
				Structure diagram of dense connectivity
			
								在圖 4 中,Hl(·),(l∈N*)包括 BN 層、ReLU 層和卷積層,各部分功能如下:
BN:批量標準化,通過規范化操作將輸出信號規范化,加快網絡學習速率,縮短訓練時間,保證了網絡的穩定性。
ReLU:修正線性單元,其功能是對輸入的數據做非線性映射。
卷積層:卷積的主要目的是從輸入的 ECG 信號中提取特征,通過對卷積核進行細致的優化,能讓提取到的特征對噪聲具有更好魯棒性[19]。
(2)過渡層
過渡層包含卷積層和池化層。由于密集連接使得網絡參數增多,模型訓練緩慢,所以在卷積層中使用 1 × 1 卷積核和池化減少特征的數量,提高訓練速度。
(3)全局平均池化層
全局平均池化層主要計算每個特征映射的平均值,生成特征向量,無需優化參數,能有效避免過擬合。
1.2.3 Softmax 分類模型
Softmax 是一種有監督的分類模型,常作為深層網絡的最后一層。本文中將 DenseNet 網絡訓練得到的特征向量 h(i)送入 Softmax 中訓練,從而實現下壁心梗的分類。Softmax 結構如圖 5 所示,其中,i 為樣本數,m 為特征的維度,y(i)∈{ 0,1, ···, n}是類標簽,代表了 n 種不同類型的心拍。
 圖5
				Softmax 結構圖
			
												
				Figure5.
				Structure diagram of Softmax
						
				圖5
				Softmax 結構圖
			
												
				Figure5.
				Structure diagram of Softmax
			
								1.3 模型訓練
本文使用了隨機梯度下降算法,優化網絡參數。該算法以一個訓練樣本 x(i)和標簽 y(i)進行一次參數 θ 的更新,其更新公式如式(4)所示:
|  | 
其中 η 為學習速率, 為參數 θ 梯度,J(θ)為目標函數。
為參數 θ 梯度,J(θ)為目標函數。
選擇交叉熵損失函數(以符號 L 表示)來評估當前訓練得到的概率分布與真實分布的差異情況,一個 2 分類的交叉熵損失函數公式如式(5)所示:
|  | 
其中,y 為樣本的標簽 y∈{ 0,1}, p 為對應類別的概率。
模型使用梯度下降算法最小化交叉熵損失函數來更新網絡參數,訓練網絡收斂到全局最優值以得到模型最優解,從而實現下壁心梗的高精度分類。
2 結果和討論
2.1 評價指標
本文采用準確性(accuracy,Acc)(以符號 Acc 表示)、敏感性(sensitivity,Sen)(以符號 Sen 表示)和特異性(specificity,Spec)(以符號 Spec 表示) 三個參數對 Softmax 分類器的分類性能進行評估,并且采用混淆矩陣對分類結果進行分析。三個參數具體定義如式(6)~式(8)所示:
|  | 
|  | 
|  | 
其中,真陽性(true positive,TP)(符號記為:TP)代表了實際為正例被分類器劃分為正例的樣本數;真陰性(true negative,TN)(符號記為:TN)代表了實際為負例被分類器劃分為負例的樣本數;假陽性(false positive,FP)(符號記為:FP)代表了實際為負例被分類器劃分為正例的樣本數;假陰性(false negative,FN)(符號記為:FN)代表了實際為正例被分類器劃分為負例的樣本數。
2.2 參數設置
在密集塊中,模型的生長率(以符號 k 表示)決定網絡中每層產生的特征圖數量,增加 k 值,會使得網絡產生更多的特征圖,提高下壁心梗的識別率,同時也會造成網絡中參數的冗余。在本文中,通過比較不同 k 值的下壁心梗識別精度的變化以及模型的計算量來選取最優的 k 值。當 k 從 1 逐步增加時,精度變化平緩且不明顯,因此本文基于 k 的 4 倍取值變化對下壁心梗進行檢測。不同參數 k 的各項測試指標分布情況如表 1 所示。
 表1
                不同參數 k 的各項測試指標
		 	
		 			 				Table1.
    			Various test indicators of different parameters k
			
						表1
                不同參數 k 的各項測試指標
		 	
		 			 				Table1.
    			Various test indicators of different parameters k
       		
       				由表 1 可知,當 k 值不斷增加時,模型訓練的損失函數(以符號 Loss 表示)不斷減少,而準確性、敏感性和特異性逐漸增加。當 k 值取 20 時,模型測試的準確性、敏感性和特異性分別為 99.90%、99.90% 和 99.90%,相比 k 值取 16 時的測試結果有所降低。因而,從實驗精度和運行效率兩方面綜合考慮,本文選取 k 值為 16。
2.3 實驗結果與討論
本文使用 Keras 神經網絡框架構建 DenseNet 網絡。在訓練過程中,訓練次數設為 20 次,學習速率設為 0.1,k 值為 16。網絡設置了三個密集塊,兩個過渡層。其中,三個密集塊中的層數分別設為 3、2、2 層,DenseNet 網絡架構的詳細信息如表 2 所示。
 表2
                DenseNet 架構的詳細信息
		 	
		 			 				Table2.
    			Details of the structure of the DenseNet
			
						表2
                DenseNet 架構的詳細信息
		 	
		 			 				Table2.
    			Details of the structure of the DenseNet
       		
       				本文實驗數據集共包含 20 843 個心拍,將實驗數據按訓練集和測試集為 8:2 的比例劃分,劃分后的訓練和測試數據分布情況如表 3 所示。
 表3
                訓練和測試數據集分布情況
		 	
		 			 				Table3.
    			Data set distribution of train and test
			
						表3
                訓練和測試數據集分布情況
		 	
		 			 				Table3.
    			Data set distribution of train and test
       		
       				2.3.1 分類結果
本文采用混淆矩陣對 Softmax 的分類結果進行統計評估,根據式(6)~式(8)分別計算出兩種類型心拍的各項評估指標,得到下壁心梗檢測的混淆矩陣如表 4 所示。
 表4
                下壁心梗檢測的混淆矩陣
		 	
		 			 				Table4.
    			Confusion matrix of inferior myocardial infarction   detection
			
						表4
                下壁心梗檢測的混淆矩陣
		 	
		 			 				Table4.
    			Confusion matrix of inferior myocardial infarction   detection
       		
       				根據表 4 可以看出,在測試數據集中共包含 4 169 個樣本,其中,2 079 個下壁心梗樣本全部被正確識別出來,敏感性為 100%,漏檢率為 0;2 090 個健康樣本,2 088 個健康樣本被正確識別,2 個健康樣本被錯誤地劃分為下壁心梗,誤檢率很低。混淆矩陣的結果證明了本文方法在下壁心梗檢測方面呈現出優秀的性能,該方法檢測下壁心梗的準確性、敏感性和特異性分別為 99.95%、100% 和 99.90%。由此可見,利用本文方法可以對下壁心梗進行準確的檢測。
2.3.2 魯棒性分析
本文的噪聲數據采用美國麻省理工學院和貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)聯合構建的公共的噪聲壓力數據庫(Noise Stress Test Database)(網址為:https://www.physionet.org/physiobank/database/nstdb/),其中包括基線漂移(baseline wander,BW)、肌電干擾(muscle artifacts,MA)和電極干擾(electrode motion,EM)3 種噪聲數據[20]。本文選擇 BW、MA 和 EM 的合成噪聲模擬 ECG 信號受到干擾后發生的形變,采用信噪比(signal-to-noise ratio,SNR)(以符號 SNR 表示)來評價噪聲強弱,如式(9)所示:
|  | 
其中, 和
和 分別代表了 ECG 信號和合成噪聲的強度,在每一個 ECG 記錄中分別疊加 SNR 為 1.25、5、10 dB 的三種合成噪聲,生成含噪聲的 ECG 信號,來檢測算法的魯棒性。
分別代表了 ECG 信號和合成噪聲的強度,在每一個 ECG 記錄中分別疊加 SNR 為 1.25、5、10 dB 的三種合成噪聲,生成含噪聲的 ECG 信號,來檢測算法的魯棒性。
本文提出的下壁心梗檢測算法的魯棒性分析的實驗結果如表 5 所示。當 SNR 為 1.25 dB 時,本文方法準確性、敏感性和特異性分別為 99.14%、99.28% 和 99.00%;當 SNR 為 10 dB,本文方法的精度為 99.83%,敏感性和特異性分別為 99.86% 和 99.81%。魯棒性分析實驗的結果表明,對于信噪比較大(SNR=10 dB)或較小(SNR=1.25 dB)的含噪聲 ECG 信號,本文提出的算法都能取得很高的精度,準確率、敏感性和特異性均超過 99%,證明了本文提出的基于 DenseNet 下壁心梗檢測方法具有較強的抗干擾能力、魯棒性好。因而,在臨床環境中,對于含有復雜噪聲的 ECG 信號,該算法也能夠準確高效地實現下壁心梗的智能檢測。
 表5
                噪聲對下壁心梗檢測的結果
		 	
		 			 				Table5.
    			Comparison results of inferior myocardial infarction   detection with and without noise
			
						表5
                噪聲對下壁心梗檢測的結果
		 	
		 			 				Table5.
    			Comparison results of inferior myocardial infarction   detection with and without noise
       		
       				2.3.3 與其他方法對比結果
本文提出的基于 DenseNet 的下壁心梗檢測方法與現有的下壁心梗檢測方法的實驗結果進行了對比,基于公共的 PTB 診斷 ECG 數據的對比結果如表 6 所示。
 表6
                下壁心梗檢測的對比結果
		 	
		 			 				Table6.
    			Comparison results of inferior myocardial infarction detection
			
						表6
                下壁心梗檢測的對比結果
		 	
		 			 				Table6.
    			Comparison results of inferior myocardial infarction detection
       		
       				由表中數據可知,本文使用 Ⅱ、Ⅲ、aVF 導聯檢測下壁心梗,實驗結果取得了準確性為 99.95%、敏感性為 100% 和特異性為 99.90% 的良好效果。相比文獻[5-7]中使用的 12 導聯的 ECG 數據下壁心梗的檢測方法,本文的方法僅在特異性參數方面比 Liu 等[7]利用多分支卷積網絡進行下壁心梗定位的特異性略低,準確性和敏感性都高于文獻方法,證明了 3 個導聯對于下壁心梗的檢測更具醫學指征性,驗證了本文方法的有效性。
為了進一步證明本文方法對下壁心梗檢測具有良好的性能,與現有基于 Ⅱ、Ⅲ、aVF 的 3 個導聯下壁心梗檢測方法進行比較。由表 6 可知,文獻[8]中 SWT 和 KNN 分類算法的準確性、敏感性和特異性分別為 98.69%、98.67% 和 98.72%。文獻[9]中搭建了淺層的卷積神經網絡模型,實驗結果的準確性為 84.54%、敏感性為 85.33%、特異性為 84.09%。上述算法都取得了很好的實驗結果,但是相比文獻[8]中使用降采樣處理后的數據,進行手工設計提取特征的方法,本文方法使用的是原始 ECG 數據,僅對原始 ECG 信號進行去噪和分割心拍,保留了數據的所有特征;其次 DenseNet 網絡不需要設計特征并進行手工選擇,降低了計算的復雜度和特征設計的偶然性;不同層間密集連接的方式加強了 ECG 信號特征的傳遞,使得模型能夠獲得 ECG 信號中魯棒性強且辨識度高的有效特征。此外,相比文獻[9]將 3 個下壁導聯的數據分別送入網絡進行特征提取后堆疊特征,本文方法考慮到導聯間的關聯性,將 Ⅱ、Ⅲ 和 aVF 導聯的單心拍 ECG 數據進行串接,構建模型的輸入信號,完成下壁心梗的檢測。本文方法取得了優秀的性能表現,準確性、敏感性和特異性均高于文獻[8-9]中下壁心梗檢測方法,因而,該方法能夠滿足下壁心梗的檢測要求,實現下壁心梗的精準檢測。
3 結論
本文利用 DenseNet 網絡和 Softmax 分類器,構建 DenseNet 下壁心梗檢測模型,實現下壁心梗精準地自動檢測。本文提出的下壁心梗自動檢測模型是基于下壁心梗在多個導聯間的相關性和單個導聯中的 ECG 信號的改變,將 3 個下壁 ECG 信號的串接數據作為模型的輸入,利用卷積層的尺度不變性提取 ECG 信號中具有魯棒性的特征,并通過密集塊之間的緊密連接獲取對特征更豐富的描述和判別,從而使得 DenseNet 網絡自動學習 ECG 信號中魯棒性強且辨識度高的有效特征。除此之外,在網絡輸入數據時無需降采樣處理,保留了原始 ECG 信號的所有特征信息,避免了信息的丟失。對于下壁心梗的檢測,該模型的準確性、敏感性和特異性分別達到了 99.95%、100% 和 99.90%。在有噪聲干擾的情況下,模型也能取得很高的精度,準確率、敏感性和特異性均超過 99%。因此,或可在臨床環境中引入該方法,以幫助醫生快速診斷下壁心梗。另一方面,本文下壁心梗檢測模型的輸入只考慮了下壁導聯 ECG 信號的串接,沒有考慮 ECG 導聯信號的并行輸入,未來將在該模型上進行改進,實現 ECG 導聯數據的并行輸入,進一步提高下壁心梗的檢測精度。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	