心律失常是一種常見的威脅人類健康的心血管疾病,其主要的確診手段靠心電圖(ECG)。采用計算機技術實現心律失常自動分類可有效避免人工誤差,提高診斷效率并降低成本。心律失常自動分類算法大多集中于一維時序信號的處理,其魯棒性不足。為此,本文提出一種基于格拉姆角和場(GASF)和改進的Inception-ResNet-v2的心律失常圖像分類方法。首先使用變分模態分解進行去噪,用深度卷積生成對抗網絡進行數據擴增,然后使用GASF將一維時序心電信號轉換為二維圖像,并使用改進的Inception-ResNet-v2網絡實現AAMI推薦的五種(N、V、S、F和Q)心律失常分類。在MIT-BIH心律失常數據庫測試實驗表明:在患者內(intra-patient)和患者間(inter-patient)范式下分別獲得了99.52%和95.48%的整體分類精度。本文改進的Inception-ResNet-v2網絡的心律失常分類表現優于其他方法,為基于深度學習的心律失常自動分類提供了一種新途徑。
引用本文: 萬相奎, 羅靖, 劉揚, 陳云帆, 彭興衛, 王晞. 基于格拉姆角和場和改進的Inception-ResNet-v2的心律失常圖像分類方法. 生物醫學工程學雜志, 2023, 40(3): 465-473. doi: 10.7507/1001-5515.202207049 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
0 引言
《中國心血管健康與疾病報告2021》[1]指出,目前我國心血管病患者已達3.3億,成為國民健康的頭號威脅。心律失常是常見且嚴重的心血管疾病,臨床診斷主要依靠心電圖(electrocardiogram,ECG)和專業醫生的輔助診斷[2]。由于心律失常具有隱蔽性、復雜性和突發性的特點,傳統的心律失常診斷存在誤診風險且費時費工。因此,研究設計計算機輔助的心律失常自動分類系統具有重要意義。
現有的計算機輔助心律失常自動分類主要有傳統機器學習和深度學習方法[3]。傳統機器學習方法主要是基于形態學特征通過人工經驗提取來實現分類。常用的方法有決策樹[4]、隨機森林[5]、K最近鄰算法[6-7]和隱馬爾可夫模型[8]等。傳統機器學習方法依賴于人工經驗的特征提取,難以適應患者的個體差異性,泛化能力弱[9],而深度學習方法不依賴人工經驗的特征提取,可從數據中自動學習到更復雜的特征信息[10]。在心律失常的分類研究中,卷積神經網絡(convolutional neural network,CNN)挖掘特征信息的優異表現受到廣泛關注,使用一維卷積從ECG信號中進行特征提取和分類成為主流方法。如文獻[11-13],使用一維心電數據作為輸入,再結合波形屬性、連續波之間的間距以及每個波的振幅和周期等特征進行分類。
雖然一維卷積能夠在一定程度上捕捉時間序列的非線性特征,但它未充分考慮時間序列中的時間相關性,并且存在空間分辨率較低的問題[14]。研究表明,相比于一維卷積,二維卷積能夠提供更精確的分類效果[15-16]。Huang等[17]在時域信號中通過短時傅里葉變換將輸入的一維ECG信號轉換為二維頻譜圖,然后使用CNN進行心律失常分類,性能優于一維模型。Wang等[18]提出了一種結合連續小波變換和CNN的心電信號自動分類方法。使用連續小波變換將心電信號分解成不同的時頻分量構建心電信號二維圖像,最后結合RR區間特征對五種類型的心律失常進行分類,其分類準確度為98.74%。Zyout等[19]使用虹膜光譜圖和尺度譜圖兩種不同的頻譜表示ECG信號,然后使用兩種不同深度的CNN網絡分別獲得了98.3%和94.4%的分類準確度。然而,上述方法容易丟失特征信息,處理效率低,解釋性差。
本文根據上述問題,從二維ECG圖像的構建、數據預處理及二維CNN的優化方法出發,提出了一種基于格拉姆角和場(Gramian angular summation field,GASF)和改進的Inception-ResNet-v2的心律失常圖像分類方法,旨在提高心律失常分類的準確性和提供一種數據平衡的有效方法。
1 本文算法
本文提出的基于GASF和Inception-ResNet-v2的心律失常圖像分類算法結構如圖1所示,算法流程包括:使用變分模態分解(variational mode decomposition,VMD)去噪和深度卷積生成對抗網絡(deep convolutional generative adversarial network,DCGAN)對數據進行平衡,然后使用GASF將一維ECG轉換為相應的二維ECG圖像,最后使用改進的Inception-ResNet-v2網絡對心律失常圖像進行分類。
 圖1
				本文算法框架概覽
			
												
				Figure1.
				Overview of the algorithm framework in this paper
						
				圖1
				本文算法框架概覽
			
												
				Figure1.
				Overview of the algorithm framework in this paper
			
								1.1 數據來源
本文的實驗數據來源于MIT-BIH心律失常數據庫[20],下文簡稱MITDB。該數據庫以360 Hz的采樣頻率記錄了48名患者的心跳信息。根據注釋和美國醫療器械促進協會(Association for the Advancement of Medical Instrumentation,AAMI)EC57標準,把15種心律失常劃分為5類心律失常組:正常心拍(normal beat,N)、室上性異位心拍(supraventricular premature beat,S)、心室異位心拍(ventricular ectopic beat,V)、融合心拍(fusion beat,F)和未知心拍(unknown beat,Q)。
1.2 數據預處理
1.2.1 VMD去噪
ECG信號的噪聲主要有肌電干擾、工頻干擾和基線漂移[21]。VMD去噪[22]是經驗模態分解的一種改進,具有優秀的去噪效果和抑制模態混疊的特點,通過VMD可以將輸入信號 分解成
分解成 個具有確定中心頻率和有限帶寬的固有模態函數(intrinsic mode functions,IMF)[23]
個具有確定中心頻率和有限帶寬的固有模態函數(intrinsic mode functions,IMF)[23]  和殘余項
和殘余項 ,則
,則 可以用式(1)表示,其中,
可以用式(1)表示,其中, 為原始信號,
為原始信號, 為噪聲。
為噪聲。
|  | 
本文利用VMD進行去噪,以MITDB109信號為例,去噪效果如圖2所示。首先對ECG信號進行8級VMD分解,得到8個從低頻到高頻的IMF分量。基線漂移分布在低頻區域小于1 Hz,工頻干擾分布在高頻區域大于60 Hz[24]。通過對IMF分量進行功率譜分析,發現IMF1含有1 Hz的基線漂移,IMF8含有大于60 Hz的高頻噪聲。去除基線漂移和工頻噪聲分量后,將其余IMF分量求和進行信號重構。
 圖2
				VMD去噪效果
			
												
				Figure2.
				Effect of VMD denoising
						
				圖2
				VMD去噪效果
			
												
				Figure2.
				Effect of VMD denoising
			
								1.2.2 DCGAN數據平衡
本文根據MITDB的注釋,以R峰為中心截取一個心拍(分別向R峰左截取0.28 s,向R峰右截取0.56 s),則MITDB的AAMI標準心拍中N類數量為89 992個,V類數量為6 996個,S類數量為2 777個,F類數量為802個,Q類數量為14個。MIT-BIH的心跳數量分布極不平衡,在不平衡的數據集中,一些類別的樣本很少,這可能導致深度學習模型分類能力不足,甚至完全忽略這些類。因此,對稀少樣本進行數據平衡是必要的。本文采用無監督數據平衡[25]的方法,使用DCGAN生成一維心拍樣本,以平衡V、S、F和Q類心拍數據。DCGAN生成的樣本接近真實樣本的分布,既保留了原始心拍特征,又與原始心拍有所不同,從而提升了模型的泛化能力。
本文提出的DCGAN結構如圖3所示,包括生成器(Generator,G)和鑒別器(Discriminator,D)兩個部分。G通過接收噪聲向量生成新的心電樣本,D將真實心拍數據和G生成的假數據同時輸入進行區分。為了增強性能,改進了G和D之間的反饋機制,并通過交替訓練兩個網絡來使合成的心電數據更好地反映原始數據的特征和分布。DCGAN結構的具體超參數如表1和表2所示。
 圖3
				DCGAN結構
			
												
				Figure3.
				DCGAN structure
						
				圖3
				DCGAN結構
			
												
				Figure3.
				DCGAN structure
			
								 表1
                生成器的超參數
		 	
		 			 				Table1.
    			Hyperparameters of the generator
			
						表1
                生成器的超參數
		 	
		 			 				Table1.
    			Hyperparameters of the generator
       		
       				 表2
                鑒別器的超參數
		 	
		 			 				Table2.
    			Hyperparameters of the discriminator
			
						表2
                鑒別器的超參數
		 	
		 			 				Table2.
    			Hyperparameters of the discriminator
       		
       				DCGAN生成器和鑒別器的目標損失函數采用交叉熵損失函數計算損失率,并結合Adam優化器進行優化。Adam優化器初始學習率設置為0.000 2,beta1設置為0.5,beta2設置為0.999。經過2 000次交替訓練,獲得了最佳的心電信號合成效果。V、S、F和Q的合成心跳如圖4所示。
 圖4
				DCGAN合成心拍
			
												
				Figure4.
				DCGAN synthetic heart beat
						
				圖4
				DCGAN合成心拍
			
												
				Figure4.
				DCGAN synthetic heart beat
			
								1.2.3 GASF轉換二維圖像
GASF是一種將一維時間序列數據轉換為二維圖像的編碼方法。它的原理是用極坐標來表示時間序列數據,利用基于極坐標的時間相關守恒Gram矩陣將時間序列轉換為圖像[26]。基于圖像分類的思想,本文采用GASF將數據平衡后的一維心電信號進行編碼,保留心電信號的時間依賴性,將其轉換為大小為 的二維圖像。圖5展示了由一維心電信號轉換而成的二維圖像。
的二維圖像。圖5展示了由一維心電信號轉換而成的二維圖像。
 圖5
				一維心拍轉換為圖像
			
												
				Figure5.
				One-dimensional heart beats converted to images
						
				圖5
				一維心拍轉換為圖像
			
												
				Figure5.
				One-dimensional heart beats converted to images
			
								1.3 心律失常圖像分類網絡
1.3.1 卷積注意力模塊
卷積注意力模塊(convolutional block attention module,CBAM)[27]融合了通道注意力模塊(channel attention module,CAM)和空間注意力模塊(spatial attention module,SAM),是一種輕量級通用模塊。它可以將給定的中間特征映射沿著通道和空間兩個單獨的維度依次判斷注意映射,然后將注意映射乘以輸入特征映射,進行自適應特征細化[28],從而聚焦有用信息,抑制無用信息。CBAM結構如圖6所示。
 圖6
				CBAM結構
			
												
				Figure6.
				CBAM structure
						
				圖6
				CBAM結構
			
												
				Figure6.
				CBAM structure
			
								CAM的作用是提取注意力對象。假設中間輸入特征圖為 ,通過最大池化和平均池化對輸入特征圖進行壓縮,得到兩組特征圖大小為
,通過最大池化和平均池化對輸入特征圖進行壓縮,得到兩組特征圖大小為 的特征通道,最后通過包含隱含層的共享網絡(shared multilayer perceptron,Shard MLP)更新注意力對象的權值,計算表達式如式(2)所示。
的特征通道,最后通過包含隱含層的共享網絡(shared multilayer perceptron,Shard MLP)更新注意力對象的權值,計算表達式如式(2)所示。
|  '/> | 
其中 為sigmoid函數,CAM特征圖大小
為sigmoid函數,CAM特征圖大小 ,
, 和
和 為Shared MLP的權重,
為Shared MLP的權重, 為衰減因子,
為衰減因子, 和
和 是平均池化和最大池化的特征圖。
是平均池化和最大池化的特征圖。
SAM的作用是獲取注意力對象的位置。通過最大池化和平均池化聚合特征圖的通道信息,然后連接卷積層生成二維注意力特征圖,特征圖的大小為 ,計算表達式見式(3)。
,計算表達式見式(3)。
|  '/> | 
其中,SAM特征圖大小 ,
, 和
和 是平均和最大池化操作后的特征圖,
是平均和最大池化操作后的特征圖, 表示卷積層的卷積核是
表示卷積層的卷積核是 。
。
1.3.2 改進的Inception-ResNet-v2模型
Inception-ResNet-v2是Google團隊Szegedy等[29]基于Inception v4網絡結合ResNet的優點提出的一種高性能圖像分類網絡,其在ILSVRC圖像分類基準測試中取得了當下最好的成績。Inception-resNet-v2網絡的主干結構如圖7所示,主要由stem、Inception-ResNet-A、Inception-ResNet-B、Inception-ResNet-C、Reduction-A和Reduction-B模塊堆疊組成。
 圖7
				Inception-ResNet-v2 主干結構
			
												
				Figure7.
				Backbone structure of Inception-ResNet-v2
						
				圖7
				Inception-ResNet-v2 主干結構
			
												
				Figure7.
				Backbone structure of Inception-ResNet-v2
			
								Inception模塊是Inception系列網絡的核心模塊,該模塊包括多個分支,每個分支使用不同大小的卷積核來提取特征,然后將這些特征進行拼接,形成最終的輸出。Reduction模塊用于減小特征圖的尺寸,并提高網絡的計算效率。該模塊包括一個池化層和多個卷積層,用于將輸入特征圖壓縮為較小的尺寸,并增加特征的抽象性。Inception-ResNet模塊結合了ResNet網絡的殘差連接和Inception模塊的多尺度特征提取功能,用于加深網絡的層數并提高網絡性能。該模塊的每個分支包括一個Inception模塊和一個殘差連接,用于提取不同尺度的特征并融合這些特征,從而保證網絡的梯度傳播和網絡性能的穩定性。
一個完整心動周期波形主要由P波、QRS復合波和T波組成,其中QRS波是ECG信號中最大的波形,是判斷發生心律失常與否的重要依據。根據這個特點,本文利用注意力機制去自適應關注QRS波,抑制對其他波的關注,進而提高模型的分類性能。這是本文對Inception-Restnet-v2進行改進的思想來源。因此,針對心律失常分類任務,本文在Inception-ResNet-v2中的Inception-ResNet-C模塊中的卷積層引入CBAM注意力機制對網絡進行改進。引入注意力機制的Inception-ResNet-C模塊的結構如圖8所示。
 圖8
				加入CBAM的Inception-ResNet-C網絡結構
			
												
				Figure8.
				Inception-ResNet-C network structure added by CBAM
						
				圖8
				加入CBAM的Inception-ResNet-C網絡結構
			
												
				Figure8.
				Inception-ResNet-C network structure added by CBAM
			
								2 實驗與結果分析
2.1 實驗平臺與評價指標
本文所有實驗軟件環境基于Pytorch深度學習框架下進行開發,硬件環境的GPU為AMD EPYC 7543 32-Core Processor,GPU為RTX3090 24 GB。實驗選擇準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)、陽性預測值(positive predictive value,Ppv)來定量評估模型的性能[30],計算方法如下式。
|  | 
|  | 
|  | 
2.2 DCGAN有效性實驗
實驗步驟如下:① 在intra-patient范式中,將稀少的V、S、F和Q類的心拍數量擴充至89 000個,并將數據集分為70%的訓練集和30%的測試集。② 在inter-patient范式中,根據AAMI標準,將MITDB數據庫48個患者的數據按患者的個體差異性劃分訓練集(DS1)和測試集(DS2)。將訓練集DS1中的V、S、F和Q類心拍增加到45 700個。③ 網絡迭代訓練100次,訓練過程中使用交叉熵函數計算損失率,批次大小設置為64。網絡的權重和偏置優化使用自定義的Adam衰減策略:初始學習率設置為0.001,每經過10個epoch學習的衰減為原來的0.1。
如表3所示,在inter-patient范式下使用DCGAN平衡數據后,整體準確率提高了5.94%,性能明顯改善。在intra-patient范式下,平衡數據集后整體準確率提高了1.47%。對于特征相似的V類和S類的Sen分別提升了1.19%和6.15%。綜上所述,使用DCGAN平衡數據集有助于提高模型的分類性能。
 表3
                數據集平衡前后性能表現
		 	
		 			 				Table3.
    			Performance before and after balancing data sets
			
						表3
                數據集平衡前后性能表現
		 	
		 			 				Table3.
    			Performance before and after balancing data sets
       		
       				2.3 本文方法與不同分類網絡的比較
本文設計了兩組實驗,分別在MITDB intra-patient范式和inter-patient范式下對VGG16、ResNet50、原始Inception-ResNet-v2和本文方法進行測試對比,以驗證改進的模型對心律失常圖像分類的表現。此外,還將本文方法與其他文獻中的一維心律失常分類方法進行了對比。
2.3.1 在MITDB intra-patient范式下的性能比較
使用3.2節intra-patient范式實驗步驟,對VGG16、ResNet50和原始Inception-ResNet-v2模型進行訓練,性能如表4所示,本文改進后的方法在MITDB數據集intra-patient范式下,性能優于其他幾種圖像分類網絡。相較于原始的Inception-ResNet-v2網絡,改進的Inception-ResNet-v2網絡中V類的Sen和Ppv分別提升了0.87%和0.65%,S類的Sen提升了3.5%,一定程度上提高了對V類和S類的識別能力,表明了改進網絡的有效性。
 表4
                intra-patient范式下模型性能對比
		 	
		 			 				Table4.
    			Comparison of model performance under intra-patient paradigm
			
						表4
                intra-patient范式下模型性能對比
		 	
		 			 				Table4.
    			Comparison of model performance under intra-patient paradigm
       		
       				2.3.2 在MITDB inter-patient范式下的性能比較
使用3.2節inter-patient范式實驗步驟,VGG16、ResNet50和原始Inception-ResNet-v2在DS2的性能表現如表5所示,改進的Inception-ResNet-v2的性能表現依然優于其他分類網絡,相較于原始的Inception-ResNet-v2網絡,V類和S類的Sen分別提升了2.76%和5.56%。
 表5
                inter-patient范式下模型性能對比
		 	
		 			 				Table5.
    			Comparison of model performance under the inter-patient paradigm
			
						表5
                inter-patient范式下模型性能對比
		 	
		 			 				Table5.
    			Comparison of model performance under the inter-patient paradigm
       		
       				2.3.3 與其他分類方法對比
本算法與多個使用MITDB測試的一維心律失常分類方法[12-13,31-34]進行比較,結果如表6所示,本文方法的性能優于一維時序心律失常分類方法,體現了二維圖像分類在心律失常識別中的優勢。
 表6
                與一維分類方法的比較
		 	
		 			 				Table6.
    			Comparison with one-dimensional classification method
			
						表6
                與一維分類方法的比較
		 	
		 			 				Table6.
    			Comparison with one-dimensional classification method
       		
       				3 討論
在本文的心律失常分類任務中,VGG16在MITDB intra-patient范式和inter-patient范式下的性能表現并不是最好,通過增加網絡的深度來獲得更高的分類精度會導致梯度消失和梯度爆炸。為了解決這類問題,研究者引入了殘差結構,通過對卷積層前后的恒等運算,可以跳過不需要特征提取的卷積層,進而可以訓練更深的網絡。從本文的實驗結果可知,更深的ResNet50相較于VGG16網絡表現更好,在MITDB intra-patient范式和inter-patient范式下分別獲得了98.46%和91.74%的分類精度。Inception-ResNet-v2網絡結合了Inception和ResNet網絡的優點,解決了網絡加深帶來的計算問題,提升了分類精度。
由于ECG異常信號和正常信號之間的差別很小,本文在Inception-ResNet-C模塊中引入輕量級CBAM注意力機制進行改進。利用卷積層中的每個卷積核學習ECG信號的不同特征表示,并在每個通道特征映射中將特征圖縮小為一個標量,通過注意向量和上層特征對不同通道的重要性進行調整,讓網絡自適應地選擇每個位置的重要性,從而突出QRS波的位置信息。此外,為了避免網絡訓練過多關注數量較多的樣本,使用DCGAN進行數據平衡。表4和表5表明,在心律失常分類任務中,改進的Inception-ResNet-v2網絡相較其他網絡,分類性能更好。
從表5可知,在MITDB inter-patient范式下,網絡模型的分類性能普遍較差,特別是對S、F和Q類的性能很差,一方面是因為這幾類樣本數量較少,其次是因為inter-patient范式是根據不同患者的特征進行分類,存在個體差異性。盡管如此,本文方法在inter-patient范式下的性能還是優于其他網絡。
4 結論
針對心律失常的特點,本文提出了一種基于注意力機制的心律失常圖像分類方法,采用改進的Inception-ResNet-v2網絡結合GASF進行心律失常圖像分類。其中在數據預處理部分,提出了一種基于DCGAN的數據平衡方法,以解決不平衡數據集對分類模型性能的影響。實驗結果表明,在MITDB數據集intra-patient和inter-patient范式下,整體分類準確率分別為99.52%和95.48%,相較于主流的圖像分類方法和一維分類方法,有更好的性能表現。算法適用于云平臺進行長程遠程輔助診斷系統。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:萬相奎負責概念化和監督工作。羅靖負責方法論、編程和文章寫作。劉揚負責調查和可視化工作。彭興衛和王晞負責實驗驗證。陳云帆負責寫作、評論與編輯。
0 引言
《中國心血管健康與疾病報告2021》[1]指出,目前我國心血管病患者已達3.3億,成為國民健康的頭號威脅。心律失常是常見且嚴重的心血管疾病,臨床診斷主要依靠心電圖(electrocardiogram,ECG)和專業醫生的輔助診斷[2]。由于心律失常具有隱蔽性、復雜性和突發性的特點,傳統的心律失常診斷存在誤診風險且費時費工。因此,研究設計計算機輔助的心律失常自動分類系統具有重要意義。
現有的計算機輔助心律失常自動分類主要有傳統機器學習和深度學習方法[3]。傳統機器學習方法主要是基于形態學特征通過人工經驗提取來實現分類。常用的方法有決策樹[4]、隨機森林[5]、K最近鄰算法[6-7]和隱馬爾可夫模型[8]等。傳統機器學習方法依賴于人工經驗的特征提取,難以適應患者的個體差異性,泛化能力弱[9],而深度學習方法不依賴人工經驗的特征提取,可從數據中自動學習到更復雜的特征信息[10]。在心律失常的分類研究中,卷積神經網絡(convolutional neural network,CNN)挖掘特征信息的優異表現受到廣泛關注,使用一維卷積從ECG信號中進行特征提取和分類成為主流方法。如文獻[11-13],使用一維心電數據作為輸入,再結合波形屬性、連續波之間的間距以及每個波的振幅和周期等特征進行分類。
雖然一維卷積能夠在一定程度上捕捉時間序列的非線性特征,但它未充分考慮時間序列中的時間相關性,并且存在空間分辨率較低的問題[14]。研究表明,相比于一維卷積,二維卷積能夠提供更精確的分類效果[15-16]。Huang等[17]在時域信號中通過短時傅里葉變換將輸入的一維ECG信號轉換為二維頻譜圖,然后使用CNN進行心律失常分類,性能優于一維模型。Wang等[18]提出了一種結合連續小波變換和CNN的心電信號自動分類方法。使用連續小波變換將心電信號分解成不同的時頻分量構建心電信號二維圖像,最后結合RR區間特征對五種類型的心律失常進行分類,其分類準確度為98.74%。Zyout等[19]使用虹膜光譜圖和尺度譜圖兩種不同的頻譜表示ECG信號,然后使用兩種不同深度的CNN網絡分別獲得了98.3%和94.4%的分類準確度。然而,上述方法容易丟失特征信息,處理效率低,解釋性差。
本文根據上述問題,從二維ECG圖像的構建、數據預處理及二維CNN的優化方法出發,提出了一種基于格拉姆角和場(Gramian angular summation field,GASF)和改進的Inception-ResNet-v2的心律失常圖像分類方法,旨在提高心律失常分類的準確性和提供一種數據平衡的有效方法。
1 本文算法
本文提出的基于GASF和Inception-ResNet-v2的心律失常圖像分類算法結構如圖1所示,算法流程包括:使用變分模態分解(variational mode decomposition,VMD)去噪和深度卷積生成對抗網絡(deep convolutional generative adversarial network,DCGAN)對數據進行平衡,然后使用GASF將一維ECG轉換為相應的二維ECG圖像,最后使用改進的Inception-ResNet-v2網絡對心律失常圖像進行分類。
 圖1
				本文算法框架概覽
			
												
				Figure1.
				Overview of the algorithm framework in this paper
						
				圖1
				本文算法框架概覽
			
												
				Figure1.
				Overview of the algorithm framework in this paper
			
								1.1 數據來源
本文的實驗數據來源于MIT-BIH心律失常數據庫[20],下文簡稱MITDB。該數據庫以360 Hz的采樣頻率記錄了48名患者的心跳信息。根據注釋和美國醫療器械促進協會(Association for the Advancement of Medical Instrumentation,AAMI)EC57標準,把15種心律失常劃分為5類心律失常組:正常心拍(normal beat,N)、室上性異位心拍(supraventricular premature beat,S)、心室異位心拍(ventricular ectopic beat,V)、融合心拍(fusion beat,F)和未知心拍(unknown beat,Q)。
1.2 數據預處理
1.2.1 VMD去噪
ECG信號的噪聲主要有肌電干擾、工頻干擾和基線漂移[21]。VMD去噪[22]是經驗模態分解的一種改進,具有優秀的去噪效果和抑制模態混疊的特點,通過VMD可以將輸入信號 分解成
分解成 個具有確定中心頻率和有限帶寬的固有模態函數(intrinsic mode functions,IMF)[23]
個具有確定中心頻率和有限帶寬的固有模態函數(intrinsic mode functions,IMF)[23]  和殘余項
和殘余項 ,則
,則 可以用式(1)表示,其中,
可以用式(1)表示,其中, 為原始信號,
為原始信號, 為噪聲。
為噪聲。
|  | 
本文利用VMD進行去噪,以MITDB109信號為例,去噪效果如圖2所示。首先對ECG信號進行8級VMD分解,得到8個從低頻到高頻的IMF分量。基線漂移分布在低頻區域小于1 Hz,工頻干擾分布在高頻區域大于60 Hz[24]。通過對IMF分量進行功率譜分析,發現IMF1含有1 Hz的基線漂移,IMF8含有大于60 Hz的高頻噪聲。去除基線漂移和工頻噪聲分量后,將其余IMF分量求和進行信號重構。
 圖2
				VMD去噪效果
			
												
				Figure2.
				Effect of VMD denoising
						
				圖2
				VMD去噪效果
			
												
				Figure2.
				Effect of VMD denoising
			
								1.2.2 DCGAN數據平衡
本文根據MITDB的注釋,以R峰為中心截取一個心拍(分別向R峰左截取0.28 s,向R峰右截取0.56 s),則MITDB的AAMI標準心拍中N類數量為89 992個,V類數量為6 996個,S類數量為2 777個,F類數量為802個,Q類數量為14個。MIT-BIH的心跳數量分布極不平衡,在不平衡的數據集中,一些類別的樣本很少,這可能導致深度學習模型分類能力不足,甚至完全忽略這些類。因此,對稀少樣本進行數據平衡是必要的。本文采用無監督數據平衡[25]的方法,使用DCGAN生成一維心拍樣本,以平衡V、S、F和Q類心拍數據。DCGAN生成的樣本接近真實樣本的分布,既保留了原始心拍特征,又與原始心拍有所不同,從而提升了模型的泛化能力。
本文提出的DCGAN結構如圖3所示,包括生成器(Generator,G)和鑒別器(Discriminator,D)兩個部分。G通過接收噪聲向量生成新的心電樣本,D將真實心拍數據和G生成的假數據同時輸入進行區分。為了增強性能,改進了G和D之間的反饋機制,并通過交替訓練兩個網絡來使合成的心電數據更好地反映原始數據的特征和分布。DCGAN結構的具體超參數如表1和表2所示。
 圖3
				DCGAN結構
			
												
				Figure3.
				DCGAN structure
						
				圖3
				DCGAN結構
			
												
				Figure3.
				DCGAN structure
			
								 表1
                生成器的超參數
		 	
		 			 				Table1.
    			Hyperparameters of the generator
			
						表1
                生成器的超參數
		 	
		 			 				Table1.
    			Hyperparameters of the generator
       		
       				 表2
                鑒別器的超參數
		 	
		 			 				Table2.
    			Hyperparameters of the discriminator
			
						表2
                鑒別器的超參數
		 	
		 			 				Table2.
    			Hyperparameters of the discriminator
       		
       				DCGAN生成器和鑒別器的目標損失函數采用交叉熵損失函數計算損失率,并結合Adam優化器進行優化。Adam優化器初始學習率設置為0.000 2,beta1設置為0.5,beta2設置為0.999。經過2 000次交替訓練,獲得了最佳的心電信號合成效果。V、S、F和Q的合成心跳如圖4所示。
 圖4
				DCGAN合成心拍
			
												
				Figure4.
				DCGAN synthetic heart beat
						
				圖4
				DCGAN合成心拍
			
												
				Figure4.
				DCGAN synthetic heart beat
			
								1.2.3 GASF轉換二維圖像
GASF是一種將一維時間序列數據轉換為二維圖像的編碼方法。它的原理是用極坐標來表示時間序列數據,利用基于極坐標的時間相關守恒Gram矩陣將時間序列轉換為圖像[26]。基于圖像分類的思想,本文采用GASF將數據平衡后的一維心電信號進行編碼,保留心電信號的時間依賴性,將其轉換為大小為 的二維圖像。圖5展示了由一維心電信號轉換而成的二維圖像。
的二維圖像。圖5展示了由一維心電信號轉換而成的二維圖像。
 圖5
				一維心拍轉換為圖像
			
												
				Figure5.
				One-dimensional heart beats converted to images
						
				圖5
				一維心拍轉換為圖像
			
												
				Figure5.
				One-dimensional heart beats converted to images
			
								1.3 心律失常圖像分類網絡
1.3.1 卷積注意力模塊
卷積注意力模塊(convolutional block attention module,CBAM)[27]融合了通道注意力模塊(channel attention module,CAM)和空間注意力模塊(spatial attention module,SAM),是一種輕量級通用模塊。它可以將給定的中間特征映射沿著通道和空間兩個單獨的維度依次判斷注意映射,然后將注意映射乘以輸入特征映射,進行自適應特征細化[28],從而聚焦有用信息,抑制無用信息。CBAM結構如圖6所示。
 圖6
				CBAM結構
			
												
				Figure6.
				CBAM structure
						
				圖6
				CBAM結構
			
												
				Figure6.
				CBAM structure
			
								CAM的作用是提取注意力對象。假設中間輸入特征圖為 ,通過最大池化和平均池化對輸入特征圖進行壓縮,得到兩組特征圖大小為
,通過最大池化和平均池化對輸入特征圖進行壓縮,得到兩組特征圖大小為 的特征通道,最后通過包含隱含層的共享網絡(shared multilayer perceptron,Shard MLP)更新注意力對象的權值,計算表達式如式(2)所示。
的特征通道,最后通過包含隱含層的共享網絡(shared multilayer perceptron,Shard MLP)更新注意力對象的權值,計算表達式如式(2)所示。
|  '/> | 
其中 為sigmoid函數,CAM特征圖大小
為sigmoid函數,CAM特征圖大小 ,
, 和
和 為Shared MLP的權重,
為Shared MLP的權重, 為衰減因子,
為衰減因子, 和
和 是平均池化和最大池化的特征圖。
是平均池化和最大池化的特征圖。
SAM的作用是獲取注意力對象的位置。通過最大池化和平均池化聚合特征圖的通道信息,然后連接卷積層生成二維注意力特征圖,特征圖的大小為 ,計算表達式見式(3)。
,計算表達式見式(3)。
|  '/> | 
其中,SAM特征圖大小 ,
, 和
和 是平均和最大池化操作后的特征圖,
是平均和最大池化操作后的特征圖, 表示卷積層的卷積核是
表示卷積層的卷積核是 。
。
1.3.2 改進的Inception-ResNet-v2模型
Inception-ResNet-v2是Google團隊Szegedy等[29]基于Inception v4網絡結合ResNet的優點提出的一種高性能圖像分類網絡,其在ILSVRC圖像分類基準測試中取得了當下最好的成績。Inception-resNet-v2網絡的主干結構如圖7所示,主要由stem、Inception-ResNet-A、Inception-ResNet-B、Inception-ResNet-C、Reduction-A和Reduction-B模塊堆疊組成。
 圖7
				Inception-ResNet-v2 主干結構
			
												
				Figure7.
				Backbone structure of Inception-ResNet-v2
						
				圖7
				Inception-ResNet-v2 主干結構
			
												
				Figure7.
				Backbone structure of Inception-ResNet-v2
			
								Inception模塊是Inception系列網絡的核心模塊,該模塊包括多個分支,每個分支使用不同大小的卷積核來提取特征,然后將這些特征進行拼接,形成最終的輸出。Reduction模塊用于減小特征圖的尺寸,并提高網絡的計算效率。該模塊包括一個池化層和多個卷積層,用于將輸入特征圖壓縮為較小的尺寸,并增加特征的抽象性。Inception-ResNet模塊結合了ResNet網絡的殘差連接和Inception模塊的多尺度特征提取功能,用于加深網絡的層數并提高網絡性能。該模塊的每個分支包括一個Inception模塊和一個殘差連接,用于提取不同尺度的特征并融合這些特征,從而保證網絡的梯度傳播和網絡性能的穩定性。
一個完整心動周期波形主要由P波、QRS復合波和T波組成,其中QRS波是ECG信號中最大的波形,是判斷發生心律失常與否的重要依據。根據這個特點,本文利用注意力機制去自適應關注QRS波,抑制對其他波的關注,進而提高模型的分類性能。這是本文對Inception-Restnet-v2進行改進的思想來源。因此,針對心律失常分類任務,本文在Inception-ResNet-v2中的Inception-ResNet-C模塊中的卷積層引入CBAM注意力機制對網絡進行改進。引入注意力機制的Inception-ResNet-C模塊的結構如圖8所示。
 圖8
				加入CBAM的Inception-ResNet-C網絡結構
			
												
				Figure8.
				Inception-ResNet-C network structure added by CBAM
						
				圖8
				加入CBAM的Inception-ResNet-C網絡結構
			
												
				Figure8.
				Inception-ResNet-C network structure added by CBAM
			
								2 實驗與結果分析
2.1 實驗平臺與評價指標
本文所有實驗軟件環境基于Pytorch深度學習框架下進行開發,硬件環境的GPU為AMD EPYC 7543 32-Core Processor,GPU為RTX3090 24 GB。實驗選擇準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)、陽性預測值(positive predictive value,Ppv)來定量評估模型的性能[30],計算方法如下式。
|  | 
|  | 
|  | 
2.2 DCGAN有效性實驗
實驗步驟如下:① 在intra-patient范式中,將稀少的V、S、F和Q類的心拍數量擴充至89 000個,并將數據集分為70%的訓練集和30%的測試集。② 在inter-patient范式中,根據AAMI標準,將MITDB數據庫48個患者的數據按患者的個體差異性劃分訓練集(DS1)和測試集(DS2)。將訓練集DS1中的V、S、F和Q類心拍增加到45 700個。③ 網絡迭代訓練100次,訓練過程中使用交叉熵函數計算損失率,批次大小設置為64。網絡的權重和偏置優化使用自定義的Adam衰減策略:初始學習率設置為0.001,每經過10個epoch學習的衰減為原來的0.1。
如表3所示,在inter-patient范式下使用DCGAN平衡數據后,整體準確率提高了5.94%,性能明顯改善。在intra-patient范式下,平衡數據集后整體準確率提高了1.47%。對于特征相似的V類和S類的Sen分別提升了1.19%和6.15%。綜上所述,使用DCGAN平衡數據集有助于提高模型的分類性能。
 表3
                數據集平衡前后性能表現
		 	
		 			 				Table3.
    			Performance before and after balancing data sets
			
						表3
                數據集平衡前后性能表現
		 	
		 			 				Table3.
    			Performance before and after balancing data sets
       		
       				2.3 本文方法與不同分類網絡的比較
本文設計了兩組實驗,分別在MITDB intra-patient范式和inter-patient范式下對VGG16、ResNet50、原始Inception-ResNet-v2和本文方法進行測試對比,以驗證改進的模型對心律失常圖像分類的表現。此外,還將本文方法與其他文獻中的一維心律失常分類方法進行了對比。
2.3.1 在MITDB intra-patient范式下的性能比較
使用3.2節intra-patient范式實驗步驟,對VGG16、ResNet50和原始Inception-ResNet-v2模型進行訓練,性能如表4所示,本文改進后的方法在MITDB數據集intra-patient范式下,性能優于其他幾種圖像分類網絡。相較于原始的Inception-ResNet-v2網絡,改進的Inception-ResNet-v2網絡中V類的Sen和Ppv分別提升了0.87%和0.65%,S類的Sen提升了3.5%,一定程度上提高了對V類和S類的識別能力,表明了改進網絡的有效性。
 表4
                intra-patient范式下模型性能對比
		 	
		 			 				Table4.
    			Comparison of model performance under intra-patient paradigm
			
						表4
                intra-patient范式下模型性能對比
		 	
		 			 				Table4.
    			Comparison of model performance under intra-patient paradigm
       		
       				2.3.2 在MITDB inter-patient范式下的性能比較
使用3.2節inter-patient范式實驗步驟,VGG16、ResNet50和原始Inception-ResNet-v2在DS2的性能表現如表5所示,改進的Inception-ResNet-v2的性能表現依然優于其他分類網絡,相較于原始的Inception-ResNet-v2網絡,V類和S類的Sen分別提升了2.76%和5.56%。
 表5
                inter-patient范式下模型性能對比
		 	
		 			 				Table5.
    			Comparison of model performance under the inter-patient paradigm
			
						表5
                inter-patient范式下模型性能對比
		 	
		 			 				Table5.
    			Comparison of model performance under the inter-patient paradigm
       		
       				2.3.3 與其他分類方法對比
本算法與多個使用MITDB測試的一維心律失常分類方法[12-13,31-34]進行比較,結果如表6所示,本文方法的性能優于一維時序心律失常分類方法,體現了二維圖像分類在心律失常識別中的優勢。
 表6
                與一維分類方法的比較
		 	
		 			 				Table6.
    			Comparison with one-dimensional classification method
			
						表6
                與一維分類方法的比較
		 	
		 			 				Table6.
    			Comparison with one-dimensional classification method
       		
       				3 討論
在本文的心律失常分類任務中,VGG16在MITDB intra-patient范式和inter-patient范式下的性能表現并不是最好,通過增加網絡的深度來獲得更高的分類精度會導致梯度消失和梯度爆炸。為了解決這類問題,研究者引入了殘差結構,通過對卷積層前后的恒等運算,可以跳過不需要特征提取的卷積層,進而可以訓練更深的網絡。從本文的實驗結果可知,更深的ResNet50相較于VGG16網絡表現更好,在MITDB intra-patient范式和inter-patient范式下分別獲得了98.46%和91.74%的分類精度。Inception-ResNet-v2網絡結合了Inception和ResNet網絡的優點,解決了網絡加深帶來的計算問題,提升了分類精度。
由于ECG異常信號和正常信號之間的差別很小,本文在Inception-ResNet-C模塊中引入輕量級CBAM注意力機制進行改進。利用卷積層中的每個卷積核學習ECG信號的不同特征表示,并在每個通道特征映射中將特征圖縮小為一個標量,通過注意向量和上層特征對不同通道的重要性進行調整,讓網絡自適應地選擇每個位置的重要性,從而突出QRS波的位置信息。此外,為了避免網絡訓練過多關注數量較多的樣本,使用DCGAN進行數據平衡。表4和表5表明,在心律失常分類任務中,改進的Inception-ResNet-v2網絡相較其他網絡,分類性能更好。
從表5可知,在MITDB inter-patient范式下,網絡模型的分類性能普遍較差,特別是對S、F和Q類的性能很差,一方面是因為這幾類樣本數量較少,其次是因為inter-patient范式是根據不同患者的特征進行分類,存在個體差異性。盡管如此,本文方法在inter-patient范式下的性能還是優于其他網絡。
4 結論
針對心律失常的特點,本文提出了一種基于注意力機制的心律失常圖像分類方法,采用改進的Inception-ResNet-v2網絡結合GASF進行心律失常圖像分類。其中在數據預處理部分,提出了一種基于DCGAN的數據平衡方法,以解決不平衡數據集對分類模型性能的影響。實驗結果表明,在MITDB數據集intra-patient和inter-patient范式下,整體分類準確率分別為99.52%和95.48%,相較于主流的圖像分類方法和一維分類方法,有更好的性能表現。算法適用于云平臺進行長程遠程輔助診斷系統。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:萬相奎負責概念化和監督工作。羅靖負責方法論、編程和文章寫作。劉揚負責調查和可視化工作。彭興衛和王晞負責實驗驗證。陳云帆負責寫作、評論與編輯。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
                                                                    
                                                                        
                                                                        
                                                                         
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	