心電(ECG)信號是心律失常和心肌梗死診斷的重要依據。為進一步提升心律失常和心肌梗死分類效果,提出了一種基于Convolutional vision Transformer(CvT)和多模態圖像融合的心電分類算法。通過格拉姆求和角場(GASF)、格拉姆差分角場(GADF)和遞歸圖(RP)將ECG一維信號轉化成三種不同模態的二維圖像,并融合生成包含了更多特征的多模態融合圖像。CvT-13模型對融合后的圖像進行處理可以兼顧局部和全局信息,從而有效提升了分類性能。在MIT-BIH心律失常數據集和PTB心肌梗死數據集上,該算法對五種心律失常分類的綜合準確率達到99.9%,對心肌梗死分類的綜合準確率達到99.8%。實驗表明,高精度計算機輔助的智能分類方法具有一定的優越性,可以有效提高心律失常以及心肌梗死等心臟疾病的診斷效率。
引用本文: 李國權, 朱雙青, 劉梓潼, 林金朝, 龐宇. 基于CvT-13和多模態圖像融合的心電分類算法. 生物醫學工程學雜志, 2023, 40(4): 736-742. doi: 10.7507/1001-5515.202301026 復制
0 引言
心電圖(electrocardiogram,ECG)可以記錄心臟的電活動,從而提供對心臟電活動的總結性評估。心電圖是診斷心律失常和心肌梗死(myocardial infarction,MI)等嚴重心血管綜合征的重要依據。心電圖儀和心電監測設備可記錄重要的心血管信息,然而記錄環境及受試者疾病等差異使心電信號分類具有較高的挑戰性[1]。臨床醫生每天需要面對大量患者,僅靠人工識別異常心跳工作量十分艱巨,疲勞工作也會增加誤診率,因此利用高精度計算機輔助解釋可節省臨床專家大量時間和精力,并減少誤診[2]。
近年來,深度學習在ECG分類任務中取得了不錯的成效[3]。基于深度學習的分類方法不需要有關數據和所選特征的專業知識輔助,可以從數據中自適應地學習代表性特征,減少對人工特征提取的過度依賴[4]。卷積神經網絡(convolutional neural network,CNN)能有效提取特征,得到了廣泛應用。CNN主要分為兩大類:時間序列上的一維CNN和時頻譜圖上的二維 CNN。前者以原始ECG作為輸入,后者側重于ECG信號的頻率特性,利用頻譜圖作為二維CNN的輸入進行分類,但兩類方法模式單一、缺少時間關系,存在局限性[2]。文獻[5]提出一種基于小波分解和一維GoogLeNet的精確分類方法,利用小波分解得到時頻域信息,將多維數據作為輸入,從而提高了分類精度。文獻[6]使用雙向長短時記憶網絡和CNN提取特征,捕獲ECG序列前后依賴關系,通過并行架構和多路特征融合時空注意力機制進行分類工作。文獻[7]提出了一種基于灰度ECG圖像的深度二維CNN心律失常分類方法,將一維ECG信號轉化為二維圖像,不再需要噪聲濾除和特征提取。文獻[8-9]通過短時傅立葉變換,將一維ECG時間序列轉化為二維頻譜圖,實驗證明,與一維相比,二維表示的ECG提供了更準確的心跳分類。文獻[10]使用格拉姆角場(Gramian angular fields,GAF)將一維的ECG信號轉換為二維圖像,利用改進深度殘差網絡進行分類。對比單模態信號的局限性,特征融合協同分類達到了更高的精度[11]。文獻[12]提出多模態圖像融合(multimodal image fusion,MIF)和多模態特征融合(multimodal feature fusion,MFF)框架,與單一ECG模態相比,多模態融合取得了更好的性能。在多模態圖像融合框架中,經過圖像融合生成多模態融合圖像作為輸入,由于多種圖像轉換算法突出的特征不同,融合后一張圖像攜帶的信息更多,但所選擇的分類網絡未能很好地提取融合后的特征,導致分類效果并不理想。在多模態特征融合框架中,先提取特征,再進行特征融合,以獲得唯一且相互依賴的信息,從而達到了更好的分類性能,但在此框架中,引入了門限融合網絡,各模塊提取特征過程彼此獨立,權值決定特征融合時各部分的權重,因此無法共享不同模態特定數據,缺少全局信息關聯。
隨著可穿戴監測儀和移動設備的發展,基于手工定制特征的深度學習分類方法已不能滿足需求,亟需自動化解決方案。ECG本質上是非歐幾里得時間序列,用CNN處理會降低精度[13],這激發了Transformer在ECG處理中的應用。Vision Transformer(ViT)[14]是第一個完全依賴Transformer體系結構并獲得大規模有競爭力的圖像分類性能的模型,但是其參數量非常大,使用中小規模數據集訓練難以收斂。CNN具有平移、尺度、扭曲不變性、局部感受野、權重共享、空間降采樣以及提取局部特征等特性,而Transformer具有動態注意力機制、提取全局特征、具有更好泛化能力等優點。Convolutional vision Transformer(CvT)網絡將卷積操作與注意力機制深度融合,可極大地降低模型參數量,同時加強局部特征提取能力,使整個網絡兼備提取局部、全局特征的能力[15]。
針對現有算法的不足,本文提出了一個基于CvT-13和多模態圖像融合的心電分類算法。首先提出了一種多模態圖像融合的框架,分別使用GADF、RP、GASF算法將一維的ECG序列轉換成三種不同的二維灰度圖像,相當于ECG信號的三種不同模態,以增加特征信息多樣性和互補性,然后利用所提融合框架將三個模態分別對應于RGB彩色圖像的三個通道從而形成一幅包含更全面特征信息的多模態融合圖像。在此基礎上,采用CvT-13模型學習多模態圖像的細節和整體特征,建立局部和全局關聯,避免了冗余信息對有用信息的影響,同時保持了較低的運算成本。此外,在訓練過程中采用了SMOTE技術[3-4]來降低樣本數據集中不同類別數據不均衡對分類性能的影響。最后采用真實數據集進行了訓練和測試。
1 CvT分類模型與數據集
1.1 CvT分類模型
近兩年來,Transformer在很多視覺任務中均表現出優秀的性能。自從ViT將Transformer遷移到分類任務上取得了不錯的性能,各種Transformer網絡相繼應用于圖像分類。眾所周知,CNN能捕獲局部特征,極其適合解決視覺任務,但是CNN不能建立全局長距離聯系,而ViT十分擅長建立圖像像素之間的長距離聯系,但卻欠缺建立局部關系的能力[15],因此,CvT將卷積引入ViT架構的兩個核心部分,整體架構如圖1所示。第一,Transformer被劃分為多個階段,形成Transformer層次結構。在每個階段的開始包括一個Convolutional Token Embedding,逐漸減少序列長度,同時捕獲局部信息。第二,將Transformer模塊中每個self-attention塊之前的Linear Projection替換成Convolutional Projection,采用深度可分離卷積操作,使模型能進一步捕獲局部語義信息。CvT將卷積融入Transformer,兼顧了局部感受野、權重共享、動態注意力以及全局感受野等優點,應用在圖像分類領域也取得了更好的性能。CvT流程分為Stage1、Stage2、Stage3三步,每個Stage包含一個Convolutional Token Embedding模塊和一個Convolutional Transformer Block。CvT-13擁有13個Transformer Blocks,Stage1中的kernel_size=7,stride = 4,head = 1,depth = 1;Stage2中的kernel_size = 3,stride = 2,head = 3,depth = 2;Stage3中的kernel_size = 3,stride = 2,head = 6,depth = 10。模型各模塊結構的詳細信息及模型的具體參數如表1所示。其中 和
是第 i 個MHSA模塊中頭部數量和嵌入維度,
是第i個MLP的expansion ratio值,模型的參數量為19.98 M。


1.2 數據集
本文采用的數據集包含了完整的MIT-BIH心律失常數據集[16],以及部分PTB診斷ECG數據集[17]。實驗中使用重采樣到125 Hz采樣頻率的ECG導聯II作為輸入,將幅值歸一化到0到1之間,定位每個R峰位置,以所有RR時間間隔的中值作為標準周期T。在分割時,對于每個R峰,選擇信號長度等于1.2T的信號部分,預定長度為188。每個心拍長度為188個樣本點,如果心拍不足188個樣本點時用0填充。該心拍分割方法也被文獻[12, 18]等多個文獻采用。
1.2.1 MIT-BIH心律失常數據集
MIT-BIH數據集包含來自47名受試者的心電圖記錄,以360 Hz的采樣率記錄。每個心跳都由至少兩名心臟病專家進行注釋。根據醫療器械促進協會(Association for the Advancement of Medical Instrumentation,AAMI)EC57標準將MIT-BIH心律失常數據集分成五大類,即N(正常或者束支傳導阻滯節拍)、S(室上性異常節拍)、V(心室異常節拍)、F(融合節拍)和Q(未能分類的節拍)。
1.2.2 PTB診斷ECG數據集
PTB診斷數據集包含290名受試者的549條心電圖記錄:148名被診斷為MI,52名健康對照,其余被診斷為7種不同的疾病。每條記錄包含來自以1 000 Hz頻率采樣的12條導聯的ECG信號。
2 ECG分類算法
2.1 基于CvT-13和多模態圖像融合的ECG分類算法
目前,很多研究著眼于將ECG信號作為時序序列處理,應用一維信號分類方法。與一維相比,ECG的二維表示從不同角度展示了特征信息,本文利用多模態圖像融合框架,選擇不同的算法將ECG信號轉換成多幅二維圖像,進而形成包含時空相關性及更豐富特征的單個融合圖像,最后利用圖像分類網絡進行分類。具體流程如下:
步驟1:數據集處理。MIT-BIH心律失常數據集存在兩種劃分方式,分別基于患者內范式和基于患者間范式。為了驗證本文算法在不同患者之間的適用性,分別進行兩種劃分方式的分類實驗。
(1)基于患者內范式的數據集劃分。由于MIT-BIH心律失常數據集存在樣本不平衡的問題,如果按照患者間劃分的方法,則可能出現某些心律失常種類只存在于測試集或者大部分存在于測試集的情況,因此會影響部分分類的識別性能。為解決此問題,本文采用了MIT-BIH數據集隨機劃分的策略,則可能存在訓練集和測試集之中有來自相同患者的數據。此外,MIT-BIH數據集不同類別之間存在數據不均衡,因此,本文使用SMOTE技術[3-4]對訓練集中的小類進行數據均衡,測試集不做均衡以保持數據的真實性。PTB診斷數據集則不做任何均衡數據處理,使用原始數據集。均衡前后MIT-BIH的數據集和PTB診斷數據集大小如表2、3所示。


(2)基于患者間范式的數據集劃分。考慮到患者間特異性對分類結果的影響,本文將MIT-BIH數據集中的心電記錄按照患者來源劃分為訓練集和測試集,避免同一個患者的心拍樣本同時出現在訓練集和測試集中,這種劃分方式取自真實場景,比基于患者內范式的劃分方式更加具有實際意義。具體采用的數據集劃分情況為:訓練集患者編號為DS1 = {101, 106, 108, 109, 112, 114, 115, 116, 118, 119, 122, 124, 201, 203, 205, 207, 208, 209, 215, 220, 223, 230},測試集患者編號為DS2 = {100, 103, 105, 111, 113, 117, 121, 123, 200, 202, 210, 212, 213, 214, 219, 221, 222, 228, 231, 232, 233, 234}。需要額外說明的是,在采用患者間范式進行測試時,由于102、104、107、217號患者都佩戴了可能干擾分析的心臟起搏器,所以未采用這四個患者的數據。表4顯示的是患者間訓練集和測試集各類心律失常標簽的數量。由于F和Q能夠用于訓練和測試的心律失常樣本數偏少,未包含在分類范圍之內。

步驟2:對于均衡后的ECG訓練集和未經處理的測試集分別使用GADF[19]、RP[20-21]和GASF[19]圖像轉換算法,將一維ECG序列轉換成三種類型的二維圖像,形成同一ECG信號的三種不同模態,多方面顯示數據信息。
步驟3:將ECG序列轉換后得到的GADF、RP和GASF灰度圖像作為RGB圖像中的三個通道,組合起來便形成三通道多模態圖像,因此多模態圖像是彩色圖像。這種多模態圖像并不是將灰度圖像直接轉換成彩色圖像,而是由原始數據經過不同的統計方式形成,因此本文合成的多模態圖像具有ECG信號的統計特征,所攜帶的信息量也比單一模式圖像更多。
步驟4:將轉換后的二維圖像重新調整為224 × 224的大小,作為CvT-13網絡的輸入。算法流程圖如圖2所示。

2.2 評價指標
為了衡量所設計方法在心律失常和心肌梗死檢測中的分類效果,本文將準確度Acc(accuracy)、精確度P(precision)、召回率R(recall)和F1值作為評價指標,計算公式如下:
![]() |
![]() |
![]() |
![]() |
其中,TP = 真陽性,表示正類中正確分類的樣本數;TN = 真陰性,表示負類中正確分類的樣本數;FP = 假陽性,表示正類中錯誤分類的樣本數;FN = 假陰性,表示負類中錯誤分類的樣本數。
3 實驗分析
3.1 實驗設置
本文所有的數據處理和ECG分類部分均基于python語言和pytorch框架。分類模型訓練使用RTX 3090,輸入圖片大小為224 × 224,初始學習率為0.000 25,batch size = 32,優化器為AdmW,weight decay = 0.05,end epoch = 800。
3.2 心律失常分類結果
為了驗證本文算法的分類性能,將劃分好的MIT-BIH心律失常訓練集分別轉變為GADF圖、RP圖、GASF圖和多模態融合圖,評估了均衡前后和兩種數據集劃分方式的分類效果。具體如表5所示。

從實驗結果可以看出,單一模式圖像分類效果較差,整體精度不高,特別是S類和F類,因此僅使用單一模式圖像不能有效區分這兩種心律失常。在多模態融合圖像分類中,S類和F類的分類效果都有了很大的提升,總體的分類準確度達到99.9%,證明了本文所提多模態融合方案能夠有效增加特征多樣性,提升分類精度。從均衡前后各項指標可以看出,均衡之前的S類和F類各項指標并不理想,這是由于均衡前訓練集中這兩類的心拍樣本太少,S類有2 223個心拍,而F類只有641個心拍,導致模型更多關注于多樣本類別的特征學習,忽視了少樣本類別,造成分類效果不好。均衡之后增加了S類和F類的心拍樣本,在分類結果上也有了明顯提升,證明了數據均衡可以緩解樣本不均衡帶來的分類不理想問題。
此外,本文還對比了患者內范式和患者間范式的效果。根據表中數據可以得出,本文方法對N、S、V三類整體分類準確度為97.7%,其中N類和V類的分類精度高于S類。與基于患者內范式的分類性能相比,基于患者間范式的各項指標有所下降,主要是因為患者間差異性大于個體內差異性所導致。表6[4-6, 12, 22]為本文算法與其他同樣采用患者內劃分的算法之間的對比,從表中數據可以清晰地看出,本文方法在準確度、精確度、召回率和F1值方面均取得了最優的成績。從推理速度角度分析,當測試集的batch size = 128時,模型推理一個測試樣本的推理時間為1 144 μs。從結果來看,提出的模型能夠在實現較好分類效果的情況下,保證了較低的推理時間。

3.3 心肌梗死分類結果
本文使用PTB診斷ECG數據集中的心肌梗死和健康對照類別進行分類實驗,將ECG信號轉化成三種灰度圖和多模態融合圖像,實驗結果如表7所示,M表示心肌梗死,N表示正常。從實驗結果看,如果僅僅使用RP圖,效果最差,準確度僅有97.1%。多模態融合圖攜帶的信息更多,因此效果最好,分類準確度達到99.8%,較單一RP圖像準確度提升了2.7%。為了進一步展示本文方法的有效性,表8[12, 23-24]中列出了不同算法之間的對比,從各項評價指標的數值來看,本文方法在心肌梗死分類任務上表現最好,準確度、精確度、召回率和F1值均能達到99.8%,由此表明,本文所提方法對于心肌梗死也具有很好的分類效果。


4 結論
為了進一步提升心律失常和心肌梗死分類精確度,本文提出基于CvT-13和多模態圖像融合的ECG分類算法,分別利用GADF、RP和GASF方法將ECG信號轉化成三種模態圖像。在轉換過程中,保留了時間信息,并能從不同角度突出一維信號不能顯示的信息。多模態圖像融合是將三種模態圖像看作是RGB圖像三個正交通道,將它們融合成一張彩色圖像,因此融合后的圖像擁有更加豐富的互補信息,從而緩解了單個模態在一維和二維形式中的弱點,可以很容易地利用圖像分類網絡執行后續分類任務。在分類任務上采用具有CNN和Transformer優點的CvT-13網絡,能夠兼顧局部和全局特征并有效提取多模態融合圖像的特征,準確地完成分析和分類任務,在心律失常和心肌梗死數據集上表現優異,準確率超過99.8%,提高了心電信號分類性能。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:李國權主要負責論文思路和實驗設計;朱雙青主要負責實驗設計和論文寫作;劉梓潼主要負責數據收集和數據分析;林金朝主要負責論文思路和實驗設計;龐宇主要負責數據分析和論文寫作。
0 引言
心電圖(electrocardiogram,ECG)可以記錄心臟的電活動,從而提供對心臟電活動的總結性評估。心電圖是診斷心律失常和心肌梗死(myocardial infarction,MI)等嚴重心血管綜合征的重要依據。心電圖儀和心電監測設備可記錄重要的心血管信息,然而記錄環境及受試者疾病等差異使心電信號分類具有較高的挑戰性[1]。臨床醫生每天需要面對大量患者,僅靠人工識別異常心跳工作量十分艱巨,疲勞工作也會增加誤診率,因此利用高精度計算機輔助解釋可節省臨床專家大量時間和精力,并減少誤診[2]。
近年來,深度學習在ECG分類任務中取得了不錯的成效[3]。基于深度學習的分類方法不需要有關數據和所選特征的專業知識輔助,可以從數據中自適應地學習代表性特征,減少對人工特征提取的過度依賴[4]。卷積神經網絡(convolutional neural network,CNN)能有效提取特征,得到了廣泛應用。CNN主要分為兩大類:時間序列上的一維CNN和時頻譜圖上的二維 CNN。前者以原始ECG作為輸入,后者側重于ECG信號的頻率特性,利用頻譜圖作為二維CNN的輸入進行分類,但兩類方法模式單一、缺少時間關系,存在局限性[2]。文獻[5]提出一種基于小波分解和一維GoogLeNet的精確分類方法,利用小波分解得到時頻域信息,將多維數據作為輸入,從而提高了分類精度。文獻[6]使用雙向長短時記憶網絡和CNN提取特征,捕獲ECG序列前后依賴關系,通過并行架構和多路特征融合時空注意力機制進行分類工作。文獻[7]提出了一種基于灰度ECG圖像的深度二維CNN心律失常分類方法,將一維ECG信號轉化為二維圖像,不再需要噪聲濾除和特征提取。文獻[8-9]通過短時傅立葉變換,將一維ECG時間序列轉化為二維頻譜圖,實驗證明,與一維相比,二維表示的ECG提供了更準確的心跳分類。文獻[10]使用格拉姆角場(Gramian angular fields,GAF)將一維的ECG信號轉換為二維圖像,利用改進深度殘差網絡進行分類。對比單模態信號的局限性,特征融合協同分類達到了更高的精度[11]。文獻[12]提出多模態圖像融合(multimodal image fusion,MIF)和多模態特征融合(multimodal feature fusion,MFF)框架,與單一ECG模態相比,多模態融合取得了更好的性能。在多模態圖像融合框架中,經過圖像融合生成多模態融合圖像作為輸入,由于多種圖像轉換算法突出的特征不同,融合后一張圖像攜帶的信息更多,但所選擇的分類網絡未能很好地提取融合后的特征,導致分類效果并不理想。在多模態特征融合框架中,先提取特征,再進行特征融合,以獲得唯一且相互依賴的信息,從而達到了更好的分類性能,但在此框架中,引入了門限融合網絡,各模塊提取特征過程彼此獨立,權值決定特征融合時各部分的權重,因此無法共享不同模態特定數據,缺少全局信息關聯。
隨著可穿戴監測儀和移動設備的發展,基于手工定制特征的深度學習分類方法已不能滿足需求,亟需自動化解決方案。ECG本質上是非歐幾里得時間序列,用CNN處理會降低精度[13],這激發了Transformer在ECG處理中的應用。Vision Transformer(ViT)[14]是第一個完全依賴Transformer體系結構并獲得大規模有競爭力的圖像分類性能的模型,但是其參數量非常大,使用中小規模數據集訓練難以收斂。CNN具有平移、尺度、扭曲不變性、局部感受野、權重共享、空間降采樣以及提取局部特征等特性,而Transformer具有動態注意力機制、提取全局特征、具有更好泛化能力等優點。Convolutional vision Transformer(CvT)網絡將卷積操作與注意力機制深度融合,可極大地降低模型參數量,同時加強局部特征提取能力,使整個網絡兼備提取局部、全局特征的能力[15]。
針對現有算法的不足,本文提出了一個基于CvT-13和多模態圖像融合的心電分類算法。首先提出了一種多模態圖像融合的框架,分別使用GADF、RP、GASF算法將一維的ECG序列轉換成三種不同的二維灰度圖像,相當于ECG信號的三種不同模態,以增加特征信息多樣性和互補性,然后利用所提融合框架將三個模態分別對應于RGB彩色圖像的三個通道從而形成一幅包含更全面特征信息的多模態融合圖像。在此基礎上,采用CvT-13模型學習多模態圖像的細節和整體特征,建立局部和全局關聯,避免了冗余信息對有用信息的影響,同時保持了較低的運算成本。此外,在訓練過程中采用了SMOTE技術[3-4]來降低樣本數據集中不同類別數據不均衡對分類性能的影響。最后采用真實數據集進行了訓練和測試。
1 CvT分類模型與數據集
1.1 CvT分類模型
近兩年來,Transformer在很多視覺任務中均表現出優秀的性能。自從ViT將Transformer遷移到分類任務上取得了不錯的性能,各種Transformer網絡相繼應用于圖像分類。眾所周知,CNN能捕獲局部特征,極其適合解決視覺任務,但是CNN不能建立全局長距離聯系,而ViT十分擅長建立圖像像素之間的長距離聯系,但卻欠缺建立局部關系的能力[15],因此,CvT將卷積引入ViT架構的兩個核心部分,整體架構如圖1所示。第一,Transformer被劃分為多個階段,形成Transformer層次結構。在每個階段的開始包括一個Convolutional Token Embedding,逐漸減少序列長度,同時捕獲局部信息。第二,將Transformer模塊中每個self-attention塊之前的Linear Projection替換成Convolutional Projection,采用深度可分離卷積操作,使模型能進一步捕獲局部語義信息。CvT將卷積融入Transformer,兼顧了局部感受野、權重共享、動態注意力以及全局感受野等優點,應用在圖像分類領域也取得了更好的性能。CvT流程分為Stage1、Stage2、Stage3三步,每個Stage包含一個Convolutional Token Embedding模塊和一個Convolutional Transformer Block。CvT-13擁有13個Transformer Blocks,Stage1中的kernel_size=7,stride = 4,head = 1,depth = 1;Stage2中的kernel_size = 3,stride = 2,head = 3,depth = 2;Stage3中的kernel_size = 3,stride = 2,head = 6,depth = 10。模型各模塊結構的詳細信息及模型的具體參數如表1所示。其中 和
是第 i 個MHSA模塊中頭部數量和嵌入維度,
是第i個MLP的expansion ratio值,模型的參數量為19.98 M。


1.2 數據集
本文采用的數據集包含了完整的MIT-BIH心律失常數據集[16],以及部分PTB診斷ECG數據集[17]。實驗中使用重采樣到125 Hz采樣頻率的ECG導聯II作為輸入,將幅值歸一化到0到1之間,定位每個R峰位置,以所有RR時間間隔的中值作為標準周期T。在分割時,對于每個R峰,選擇信號長度等于1.2T的信號部分,預定長度為188。每個心拍長度為188個樣本點,如果心拍不足188個樣本點時用0填充。該心拍分割方法也被文獻[12, 18]等多個文獻采用。
1.2.1 MIT-BIH心律失常數據集
MIT-BIH數據集包含來自47名受試者的心電圖記錄,以360 Hz的采樣率記錄。每個心跳都由至少兩名心臟病專家進行注釋。根據醫療器械促進協會(Association for the Advancement of Medical Instrumentation,AAMI)EC57標準將MIT-BIH心律失常數據集分成五大類,即N(正常或者束支傳導阻滯節拍)、S(室上性異常節拍)、V(心室異常節拍)、F(融合節拍)和Q(未能分類的節拍)。
1.2.2 PTB診斷ECG數據集
PTB診斷數據集包含290名受試者的549條心電圖記錄:148名被診斷為MI,52名健康對照,其余被診斷為7種不同的疾病。每條記錄包含來自以1 000 Hz頻率采樣的12條導聯的ECG信號。
2 ECG分類算法
2.1 基于CvT-13和多模態圖像融合的ECG分類算法
目前,很多研究著眼于將ECG信號作為時序序列處理,應用一維信號分類方法。與一維相比,ECG的二維表示從不同角度展示了特征信息,本文利用多模態圖像融合框架,選擇不同的算法將ECG信號轉換成多幅二維圖像,進而形成包含時空相關性及更豐富特征的單個融合圖像,最后利用圖像分類網絡進行分類。具體流程如下:
步驟1:數據集處理。MIT-BIH心律失常數據集存在兩種劃分方式,分別基于患者內范式和基于患者間范式。為了驗證本文算法在不同患者之間的適用性,分別進行兩種劃分方式的分類實驗。
(1)基于患者內范式的數據集劃分。由于MIT-BIH心律失常數據集存在樣本不平衡的問題,如果按照患者間劃分的方法,則可能出現某些心律失常種類只存在于測試集或者大部分存在于測試集的情況,因此會影響部分分類的識別性能。為解決此問題,本文采用了MIT-BIH數據集隨機劃分的策略,則可能存在訓練集和測試集之中有來自相同患者的數據。此外,MIT-BIH數據集不同類別之間存在數據不均衡,因此,本文使用SMOTE技術[3-4]對訓練集中的小類進行數據均衡,測試集不做均衡以保持數據的真實性。PTB診斷數據集則不做任何均衡數據處理,使用原始數據集。均衡前后MIT-BIH的數據集和PTB診斷數據集大小如表2、3所示。


(2)基于患者間范式的數據集劃分。考慮到患者間特異性對分類結果的影響,本文將MIT-BIH數據集中的心電記錄按照患者來源劃分為訓練集和測試集,避免同一個患者的心拍樣本同時出現在訓練集和測試集中,這種劃分方式取自真實場景,比基于患者內范式的劃分方式更加具有實際意義。具體采用的數據集劃分情況為:訓練集患者編號為DS1 = {101, 106, 108, 109, 112, 114, 115, 116, 118, 119, 122, 124, 201, 203, 205, 207, 208, 209, 215, 220, 223, 230},測試集患者編號為DS2 = {100, 103, 105, 111, 113, 117, 121, 123, 200, 202, 210, 212, 213, 214, 219, 221, 222, 228, 231, 232, 233, 234}。需要額外說明的是,在采用患者間范式進行測試時,由于102、104、107、217號患者都佩戴了可能干擾分析的心臟起搏器,所以未采用這四個患者的數據。表4顯示的是患者間訓練集和測試集各類心律失常標簽的數量。由于F和Q能夠用于訓練和測試的心律失常樣本數偏少,未包含在分類范圍之內。

步驟2:對于均衡后的ECG訓練集和未經處理的測試集分別使用GADF[19]、RP[20-21]和GASF[19]圖像轉換算法,將一維ECG序列轉換成三種類型的二維圖像,形成同一ECG信號的三種不同模態,多方面顯示數據信息。
步驟3:將ECG序列轉換后得到的GADF、RP和GASF灰度圖像作為RGB圖像中的三個通道,組合起來便形成三通道多模態圖像,因此多模態圖像是彩色圖像。這種多模態圖像并不是將灰度圖像直接轉換成彩色圖像,而是由原始數據經過不同的統計方式形成,因此本文合成的多模態圖像具有ECG信號的統計特征,所攜帶的信息量也比單一模式圖像更多。
步驟4:將轉換后的二維圖像重新調整為224 × 224的大小,作為CvT-13網絡的輸入。算法流程圖如圖2所示。

2.2 評價指標
為了衡量所設計方法在心律失常和心肌梗死檢測中的分類效果,本文將準確度Acc(accuracy)、精確度P(precision)、召回率R(recall)和F1值作為評價指標,計算公式如下:
![]() |
![]() |
![]() |
![]() |
其中,TP = 真陽性,表示正類中正確分類的樣本數;TN = 真陰性,表示負類中正確分類的樣本數;FP = 假陽性,表示正類中錯誤分類的樣本數;FN = 假陰性,表示負類中錯誤分類的樣本數。
3 實驗分析
3.1 實驗設置
本文所有的數據處理和ECG分類部分均基于python語言和pytorch框架。分類模型訓練使用RTX 3090,輸入圖片大小為224 × 224,初始學習率為0.000 25,batch size = 32,優化器為AdmW,weight decay = 0.05,end epoch = 800。
3.2 心律失常分類結果
為了驗證本文算法的分類性能,將劃分好的MIT-BIH心律失常訓練集分別轉變為GADF圖、RP圖、GASF圖和多模態融合圖,評估了均衡前后和兩種數據集劃分方式的分類效果。具體如表5所示。

從實驗結果可以看出,單一模式圖像分類效果較差,整體精度不高,特別是S類和F類,因此僅使用單一模式圖像不能有效區分這兩種心律失常。在多模態融合圖像分類中,S類和F類的分類效果都有了很大的提升,總體的分類準確度達到99.9%,證明了本文所提多模態融合方案能夠有效增加特征多樣性,提升分類精度。從均衡前后各項指標可以看出,均衡之前的S類和F類各項指標并不理想,這是由于均衡前訓練集中這兩類的心拍樣本太少,S類有2 223個心拍,而F類只有641個心拍,導致模型更多關注于多樣本類別的特征學習,忽視了少樣本類別,造成分類效果不好。均衡之后增加了S類和F類的心拍樣本,在分類結果上也有了明顯提升,證明了數據均衡可以緩解樣本不均衡帶來的分類不理想問題。
此外,本文還對比了患者內范式和患者間范式的效果。根據表中數據可以得出,本文方法對N、S、V三類整體分類準確度為97.7%,其中N類和V類的分類精度高于S類。與基于患者內范式的分類性能相比,基于患者間范式的各項指標有所下降,主要是因為患者間差異性大于個體內差異性所導致。表6[4-6, 12, 22]為本文算法與其他同樣采用患者內劃分的算法之間的對比,從表中數據可以清晰地看出,本文方法在準確度、精確度、召回率和F1值方面均取得了最優的成績。從推理速度角度分析,當測試集的batch size = 128時,模型推理一個測試樣本的推理時間為1 144 μs。從結果來看,提出的模型能夠在實現較好分類效果的情況下,保證了較低的推理時間。

3.3 心肌梗死分類結果
本文使用PTB診斷ECG數據集中的心肌梗死和健康對照類別進行分類實驗,將ECG信號轉化成三種灰度圖和多模態融合圖像,實驗結果如表7所示,M表示心肌梗死,N表示正常。從實驗結果看,如果僅僅使用RP圖,效果最差,準確度僅有97.1%。多模態融合圖攜帶的信息更多,因此效果最好,分類準確度達到99.8%,較單一RP圖像準確度提升了2.7%。為了進一步展示本文方法的有效性,表8[12, 23-24]中列出了不同算法之間的對比,從各項評價指標的數值來看,本文方法在心肌梗死分類任務上表現最好,準確度、精確度、召回率和F1值均能達到99.8%,由此表明,本文所提方法對于心肌梗死也具有很好的分類效果。


4 結論
為了進一步提升心律失常和心肌梗死分類精確度,本文提出基于CvT-13和多模態圖像融合的ECG分類算法,分別利用GADF、RP和GASF方法將ECG信號轉化成三種模態圖像。在轉換過程中,保留了時間信息,并能從不同角度突出一維信號不能顯示的信息。多模態圖像融合是將三種模態圖像看作是RGB圖像三個正交通道,將它們融合成一張彩色圖像,因此融合后的圖像擁有更加豐富的互補信息,從而緩解了單個模態在一維和二維形式中的弱點,可以很容易地利用圖像分類網絡執行后續分類任務。在分類任務上采用具有CNN和Transformer優點的CvT-13網絡,能夠兼顧局部和全局特征并有效提取多模態融合圖像的特征,準確地完成分析和分類任務,在心律失常和心肌梗死數據集上表現優異,準確率超過99.8%,提高了心電信號分類性能。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:李國權主要負責論文思路和實驗設計;朱雙青主要負責實驗設計和論文寫作;劉梓潼主要負責數據收集和數據分析;林金朝主要負責論文思路和實驗設計;龐宇主要負責數據分析和論文寫作。