心律失常類型的判斷是早期心血管疾病預防和診斷的關鍵,因此心電圖(ECG)分析作為醫生診斷的重要依據得到了廣泛應用。由于受到不同患者間ECG信號形態差異大、類別分布不平衡等因素影響,現有的心律失常自動檢測算法在識別過程中存在一定的困難。本文提出了一種變尺度融合網絡模型用于心律類型的自動識別,利用改進后的ECG生成網絡(EGAN)模塊解決了ECG數據不平衡問題,并以灰度遞歸圖(GRP)和頻譜圖形式對ECG信號進行二維重現,結合模型的分支結構,實現了變長心拍的自動分類。研究結果采用麻省理工學院與貝斯以色列醫院(MIT-BIH)心律失常數據庫進行驗證,對其中八種心律類型進行區分,平均準確率達到了99.36%,敏感性和特異性分別為96.11%、99.84%,未來期望本方法可用于臨床輔助診斷以及智能穿戴設備等。
引用本文: 劉子龍, 陳鵬. 基于變尺度融合網絡模型的心電數據識別算法. 生物醫學工程學雜志, 2022, 39(3): 570-578. doi: 10.7507/1001-5515.202112045 復制
引言
近年來,包括高血壓、冠心病在內的心血管疾病成為危害全球人類健康的一大公共衛生問題,發病率與死亡率常年居高不下,且隨著社會發展發病人群逐漸年輕化。據統計,每年因該類疾病死亡的人數約占全球死亡人數的三分之一[1]。由心血管疾病引發的死因大多為房顫導致,該類型的心律失常可能引起成年人的心臟驟停,因此心律失常的早期預防與診斷的重要性不言而喻[2]。心電圖(electrocardiogram,ECG)可通過在皮膚上放置電極來測量,具有無創、便捷、費用較低等特點[3]。臨床中,ECG數據常被用作心律失常的分析與診斷依據,然而由于ECG信號存在著多種類型的波形和狀態,且受到患者狀態以及患者間差異影響,即便有經驗的專家也很難準確判斷所有類型。
近年來,人們對ECG信號分析進行了廣泛的研究,創建了多種針對心律失常分類的算法。傳統方法一般是由兩個模塊組成,特征提取模塊和分類器訓練模塊。特征提取模塊中常用的方法包括時域、頻域特征提取和特征統計等,如卡爾曼濾波器、小波變換、主成分分析(principal component analysis,PCA)[4]。用于分類上述特征提取后的模型包括隱馬爾科夫模型(hidden Markov model,HMM)、支持向量機(support vector machines,SVM)、決策樹等[5-6]。其中許多分類算法都基于人工神經網絡,歸于其良好的建模能力,例如:利用小波變換和模糊神經網絡檢測心律失常的方法、基于SVM和粒子群優化分類算法、基于離散小波變幻的統計特征作為網絡輸入訓練的方法等[7-8]。傳統的機器學習方法中,前期ECG信號的分析與特征提取對結果的影響至關重要,然而此類方法都依賴于專業知識,存在著一定局限性[9]。近年來,隨著深度神經網絡在許多研究領域的廣泛應用,都取得了不錯的效果,例如:用于特定ECG信號分類的一維卷積神經網絡(convolutional neural networks,CNN)、基于深度二維CNN的心律失常分類等[10-11]。基于深度學習的方法具有自動提取特征的能力,無需人工干預,通常來說泛化能力要強于傳統的機器學習方法,在許多多類型心律識別場景中已經能達到95%以上的準確率,部分二分類場景下準確率達到了99%,但受限于ECG數據規模以及方法無法進一步提高[12-13]。
目前針對ECG數據分類研究領域中,大多數基于計算機的自動ECG信號分類算法均存在如下缺陷:① 心拍長度受患者身體狀態、患病類型等因素影響,統一尺度的分割方式易出現心拍信息殘缺和冗余,而各個時間點的信號值對心拍而言都具有相同的重要度,不恰當的分割方式可能會改變其原始含義[14];② 針對一維ECG信號的數據增強方式較少,且普遍存在波形還原度低、信息丟失等缺陷,導致模型泛化能力不佳;③ 主流的單輸入網絡模型結構簡單,且輸入信息單一,導致提取特征能力有限[15]。
基于上述原因,本文提出了一種針對不平衡ECG數據的變尺度融合網絡模型,解決了現有心律失常檢測算法中無法處理變長心拍,以及在數據分布不平衡和單一ECG信號情況下識別準確率較低的問題,并通過實驗驗證了該方法的有效性。為后續大數據背景下,利用人工智能方法實現心律失常的精確分析以及相關疾病的輔助診斷提供新方向。在不久的將來,期望本方法能應用于心血管疾病患者的臨床輔助診斷,及早預防和治療,降低病死率。
1 數據處理方法
1.1 數據集介紹
本文選用國際上公認的三大標準ECG信號數據庫之一,麻省理工學院與貝斯以色列醫院(Massachusetts institute of technology and Beth Israel hospital,MIT-BIH)( 網址為:http://physionet.org/physiobank/database/mitdb/) [16] 的心律失常數據庫作為研究數據來源,并按照美國醫療器械促進協會(the association for the advancement of medical instrumentation,AAMI)的標準選擇了較為常見的七種異常心律類型與正常心搏(normal beat,NOR)制作數據集,分別為:心室融合心跳(fusion of ventricular and normal beat,FVN)、左束支傳導阻滯心搏(left bundle branch block beat,LBBB)、起搏心搏(paced beat,PAB)、室性早搏(premature ventricular contraction,PVC)、右束支傳導阻滯心搏(right bundle branch block beat,RBBB)、室性逸搏(ventricular escape beat,VEB)、心室顫動波(ventricular flutter wave,VFW)、NOR。該數據庫包含47位患者的48條半小時雙通道ECG數據記錄,通常用于評估心律失常檢測算法的性能。每條記錄中心拍的心律失常類型均有專家標注,信號的采樣頻率為360 Hz。為提高實驗結果可信度,劃分數據集時,測試集與訓練集隨機選擇且無重疊數據。
1.2 R波檢測與心拍分割
在ECG信號的分析與診斷過程中,需先對ECG信號波形進行檢測與定位。其中最為關鍵的便是R波波峰位置的定位,本文采用經典的潘-拓普金斯(Pan-Tompkins)算法得到R峰的位置,常見的心拍切割方式為R峰左右分別取固定采樣點數作為一個完整心拍[17-18]。鑒于心拍長度受不同患者以及不同心律類型影響,本研究根據文獻[19]以及數據庫中真實數據分析得出動態心拍分割方法:取與當前R峰位置相鄰的前一個R-R間期的40%,以及相鄰后一個R-R間期的60%組成一個完整心拍,其公式描述如式(1)所示:
![]() |
其中,Beat(n)代表第n個心拍范圍,Rp(n)、Rp(n ? 1)、Rp(n + 1)分別表示第n個R峰及其前后相鄰R峰所在位置。實際處理中,R-R間期利用相鄰R峰間的采樣點數獲取。
1.3 二維特征圖轉換
1.3.1 灰度遞歸圖
遞歸圖具有對數據噪聲敏感度低、平穩性要求低、適用于小數據量等優點,通過二維圖像表現出原始時間序列的周期性與不規則周期性,常被廣泛作為可視化的工具[20]。現今該方法已從傳統工業領域擴展到生物信號分析,例如Zeng等[21]將腦電信號轉換為遞歸圖,然后從中提取出結構特征以提高癲癇病的識別準確率,其有效性得到了驗證。
傳統遞歸圖僅具備0和1的距離描述,會丟失許多細節信息,為充分反映出時間序列中的復雜信息,本文將點對之間的距離做0~255灰度值的歸一化處理,如式(2)所示:
![]() |
其中,i和j分別表示同一序列中對應點所在位置,N為序列長度,m和τ分別為嵌入維數和延遲時間,Rij為點對i和j間距離,Rmax 為點對距離集合中的最大值。經上述處理后可生成包含細節紋理信息的灰度遞歸圖(gray recurrence plot,GRP)。
1.3.2 頻譜圖
與語音、腦電數據等信息類似,ECG信號中還存在著大量的頻率與能量信息[22]。因此,本文將ECG信號進行短時傅里葉變換(short-time fourier transform,STFT)處理,與二維灰度波形圖相比,經STFT后得到的頻譜圖具有更豐富的特征信息[23]。數學描述如式(3)所示:
![]() |
其中,代表輸入信號在時間與頻率上的二維輸出,
表示輸入信號在采樣點n處的幅值,
為窗函數,N為窗長度。
經上述兩種轉換方法處理,選取四種類型的心拍信號,將其原始信號、頻譜圖與 GRP 進行對比,結果如圖1所示。從圖1中可以看出,不同類型的心拍信號在兩種特征圖上的區分難易度不同。因此,本文選擇二者相結合的方式作為融合網絡兩條分支的輸入,提供給網絡盡可能多的特征作為區分信息,以識別不同類型的ECG信號。

1.4 數據增強
本文使用的心拍信號取自MIT-BIH心律失常數據庫中七種異常心律類型和正常心搏,包含FVN類型803個、LBBB類型8 072個、PAB類型7 024個、PVC類型7 130個、RBBB類型7 256個、VEB類型106個、VFW類型472個、NOR類型75 052個。鑒于該數據集存在嚴重的數量分布不平衡現象,因此后續采用ECG數據生成手段進行數據增強處理。
為保證生成心拍波形特性與樣本相似,本文設計了一種ECG生成對抗網絡(ECG generative adversarial networks,EGAN)模型。其生成器與判別器均采用長短時記憶網絡(long short-term memory networks,LSTM)結構,最大化對時間序列的分析與學習能力,并保留各個采樣點間的時序特性[24]。本文改進了原有損失函數,將對抗損失與形態損失相結合,對抗損失基于沃瑟斯坦(Wasserstein)距離,其數學描述Lg如式(4)所示:
![]() |
其中,為生成器函數,
為判別器參數函數,
為真實數據分布,
為生成數據分布,E表示期望。本文利用Wasserstein距離計算生成數據與真實數據間最小變化代價,同時選取了歐氏距離作為形態損失,用于量化生成器生成的心拍序列與原始心拍序列間的差異。如式(5)所示:
![]() |
其中,N為生成器生成的心拍序列,O為原始心拍序列,為形態損失函數。
綜上分析,本研究中EGAN模塊判別器的總損失如式(6)所示:
![]() |
其中,α和γ為可調參數,二者均為0~1間小數,且滿足和等于0,用于調整對抗損失與形態損失權重對總損失的影響, 為總損失。
訓練中為得到高質量心拍數據,本文將采用損失函數與動態時間規整(dynamic time warping,DTW)算法結合的方式完成最優模型獲取[25]。首先利用多個相鄰損失函數差值判斷模型的穩態,如式(7)所示:
![]() |
其中,n為當前訓練輪次,ε為可調閾值。模型滿足上述條件后,可視為達到暫時穩態,接著根據DTW算法驗證是否需要繼續訓練,如式(8)所示:
![]() |
其中,i和j分別表示離散序列q和c中的位置,為當前格點的距離,
為累積距離,當i和j分別達到序列末端時,所求累積距離即為兩序列的DTW距離。
本研究針對FVN、VEB、VFW三類數據進行ECG數據生成,如圖2所示,展示了EGAN模塊生成FVN類型數據的訓練過程。訓練開始時,產生的數據分布隨機且無規則,如圖2中第10輪對應所示。隨著訓練的進行,網絡逐漸學習心拍中特征的分布,到50輪左右,對QRS波群與其他區域有了一定的區分。當訓練輪數到100輪左右,生成的ECG數據已經具備心拍的基本特征,經式(7)判斷已達到穩態,然而此時數據中還存在較多噪聲。為滿足本文對數據質量的要求,后續訓練中結合DTW算法評估,將訓練控制在170輪左右結束。

2 網絡設計
本文設計了一種適用于不平衡ECG數據以及變長心拍的心律失常自動分類系統,如圖3所示。該系統包含EGAN模塊與變尺度融合網絡,前者以非監督學習模式實現ECG數據的擴充;后者與傳統單分支ECG分類網絡不同,其并行結構能同時關注相空間特征、時頻域等多維度信息,變尺度特征提取 (variable-scale feature extraction, VFE) 模塊能夠有效地捕獲不同尺寸心拍的深度信息,最后利用融合結構整合心拍的多維度信息實現心律失常的檢測。

2.1 EGAN模塊
本文設計的EGAN模塊如圖3中左虛線框所示,其中包含生成器與判別器。生成器利用了LSTM結構良好的時序建模能力,高維隨機噪聲作為生成器的輸入,判別器用于判斷“假數據”與真實樣本的差距,并反饋給生成器。研究中采用了對抗損失與形態損失相結合的方式提高生成心拍數據質量,減少了數據中噪點的產生,改善了心拍的生成效果,同時利用DTW算法優化了EGAN模塊的訓練過程。
2.2 變尺度融合網絡結構
本文設計的變尺度融合網絡為核心分類網絡,如圖3中右虛線框所示,該網絡由兩條并行分支組成,二者的輸入分別為心拍的GRP與頻譜圖。原始一維ECG信號由于不同類別間波形形態的相似性以及噪聲的存在,導致部分類別有時難以區分[26]。GRP能夠以圖像的形式描述出ECG序列在相空間中的周期性與非周期性變化,頻譜圖中包含了時間序列的時域、頻域等多維度信息,與原始波形的微小變化相比,經上述兩種形式轉換后的特征圖不僅能減弱噪聲的影響,還能達到豐富ECG信息并突出不同類別間差別的目的。
鑒于殘差塊結構在圖像特征提取階段的良好的表現,其跳躍連接能將有效信息通過深層網絡傳播。因此,本文設計的VFE模塊中深度特征提取主要由三個改進子殘差塊和一個外圍跳躍連接完成,后續加入了擠壓與激勵(squeeze-and-excitation,SE)模塊和及空間金字塔池化(spatial pyramid pooling,SPP)層,前者用于各個通道的權重分配,使模型關注更感興趣的特征區域,后者解決了網絡輸入尺度不定的問題,模塊對應結構如圖4所示。

子殘差塊主要由三層卷積結構以及分支上的最大池化層組成,利用最大池化層保留前面層級的主要特征紋理信息,同時避免了部分特征的重復計算,該結構的輸入輸出描述如式(9)所示:
![]() |
其中, 、
分別表示第l層的輸入與輸出特征向量,
為最大池化操作,
為主干上的運算操作,包括卷積、激活函數和標準化處理。本文在三個子殘差塊外圍加入了一個含有平均池化層的跳躍連接,主要目的是保留初始卷積后的特征背景信息,避免部分特征信息的丟失,提高模型特征提取能力,此時特征提取部分的輸入關系如式(10)所示:
![]() |
其中, 為經過3個子結構后的輸出特征向量,
為平均池化操作,β為值小于1的超參數,可由人工設定或網絡訓練獲得。
VFE模塊中的SE模塊能夠通過訓練調整分配到各個通道上的權重,提高網絡對重要特征的學習能力,最后經SPP層匯聚特征和統一特征尺寸。SPP層利用不同尺寸的窗口對前一層的特征進行池化,并且將池化后的特征融合為一個固定尺寸的特征作為后續的輸入,在解決輸入圖像尺寸不固定問題的同時,還能進一步挖掘圖片的潛在信息[27]。
本文中變尺度融合網絡由兩個對稱分支結構組成,利用兩個卷積層對輸入進行初步特征提取,然后經VFE模塊提取圖像中的深度信息以及固定特征維度。為防止訓練中出現梯度消失現象,在部分卷積層與激活函數之間加入了批標準化處理(batch normalization,BN)層,激活函數采用一種自門控激活函數Swish。由于最終特征由兩個分支網絡匯聚,為避免過擬合情況出現,在連接兩個分支之前各加入了隨機失活(dropout)層,dropout率設置為0.5。分支特征經展平拼接后,加入兩個全連接層,最終利用柔性最大(Softmax)回歸實現多分類目的。
3 實驗設計與結果分析
3.1 實驗環境和評價指標
本文的實驗數據集均取自美國MIT-BIH心律失常數據庫,軟硬件環境包含:用于網絡訓練加速的顯卡為英偉達顯卡(NVIDIA GTX 2080 Ti,NVIDIA Corporation NASDAQ:NVDA,美國),用于搭建網絡模型的深度學習框架PyTorch(1.6.0,Facebook Inc,美國),用于ECG數據處理與模型訓練的編程語言主要為Python(3.6,Google Inc,美國)。
為評估心律失常分類算法的效果,本文采用準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)、特異度(specificity,Spe)、陽性預測值(Positive predictive value,Ppv)作為指標來衡量,其計算公式如式(11)~式(14)所示:
![]() |
![]() |
![]() |
![]() |
其中,真陽性(true positive,TP)代表正樣本被正確分類的個數,真陰性(true negative,TN)代表負樣本被正確分類的個數,假陽性(false positive,FP)代表負樣本被錯誤地分類為正樣本的個數,假陰性(false negative,FN)代表正樣本被錯誤地分類為負樣本的個數。
后續訓練中本文將擴充后的ECG數據集重新劃分,每類隨機取5 500個心拍,其中4 400個作為訓練集,1 100個作測試集。
3.2 模型性能分析
本研究模型訓練階段的精度和損失值變化曲線如圖5所示。從圖5中可以看出,本文所設計的融合網絡在初始階段,模型的精度和損失值變化較快。隨著訓練中模型參數的優化更新,僅驗證集曲線存在小幅振蕩,大約經30個迭代周期后趨于收斂,訓練過程中整體速度較快且無大幅震蕩,模型擬合較好,無過擬合情況出現。

同一數據集下,將本文方法與目前常用的單輸入CNN模型進行對比,結果如圖6所示。從圖6中可以看出單輸入CNN模型較難從ECG數據中提取出關鍵信息,導致網絡擬合速度慢且振蕩大,最終驗證集精度穩定在95%左右。本文提出的變尺度融合網絡模型能夠獲取單個完整心拍的深度信息,所設計的VFE結構針對不同大小心拍輸入的特征提取能力強,結合多維度多網絡分支方式大幅提高了模型的分類效果。

3.3 驗證方式與結果對比
研究過程中采用五折交叉驗證方法確保評估系統的穩定性與可靠性,為減少交叉驗證中隨機劃分數據造成的偏差,本文獨立執行了5次驗證程序,并以5次實驗的平均值作為最終分類結果,得到的混淆矩陣如圖7所示。最終模型在測試集的平均精度達到了99.36%,而未使用EGAN模塊訓練的模型在測試集上精度僅為97.71%。從圖7中可分析出,由于FVN、VEB、VFW三類ECG樣本數據量過小且特征相似度不高,模型對其識別效果較差,單類的識別精度僅分別為63.13%、75.00%、70.00%。當數據集中加入了EGAN模塊生成的心拍數據后,三類的識別精度大幅提升,達到了99.45%、100%、99.45%,說明利用該方式獲得的ECG數據已經與原樣本十分相似,通過提供更豐富的特征樣本,提高模型泛化能力。

本文與近年來ECG信號識別相關文獻的結果對比如表1所示。表中所有方法采用的原始數據均源自MIT-BIH心律失常數據庫,且文獻中的ECG類別均包含于本文選擇的八種類型之中。Acharya 等[28]設計了一種由九層卷積網層組成的深層神經網絡,針對增強后的五種心拍片段進行識別,準確率達到了94.03%,由于大多數據是利用均值和標準差等手段生成,模型對原樣本數據識別能力仍較弱;Oh 等[29]對ECG數據中的心拍采用動態劃分,并提出了一種串行CNN+LSTM分類模型,識別準確率達到了98.10%,但最終需要通過形變等手段固定網絡輸入的尺寸,部分類型心拍形變后識別難度高,實際應用效果不佳;Zhou等[30]利用CNN的特征提取能力與極限學習機(extreme learning machine,ELM)相結合,大幅提高了模型收斂速度,針對四種ECG信號類型的識別準確率達到了98.77%,但網絡的特征提取能力有限,導致模型泛化能力不強;Zhu等[31]利用人工提取出19種ECG信號特征,然后利用SVM實現四種心律失常類型區分,識別準確率達到了97.80%,但該類方法識別效果依賴于專業的人工特征提取,分類難度隨類別增多而上升。在ECG數據分布不平衡的情況下,本文提出的變尺度融合網絡平均準確率達到了99.36%,靈敏度為96.11%,特異度為99.84%,陽性預測值為98.91%。實驗結果表明,本文方法的ECG數據識別效果要優于近年來主流相關文獻中的方法,具備一定的研究與實際應用價值。

4 總結
ECG信號特征作為早期心血管疾病診斷的重要生物信號特征,如何高效識別其類型成為近年來相關領域的研究熱點。本文在現有數據集分布不平衡情況下,提出了一種全新的變尺度融合網絡模型用于心律失常識別,有效地解決了數據傾斜、心拍尺度不一、算法識別準確率不高等問題。本文設計了EGAN模塊與變尺度融合模型,分別實現ECG數據的生成與高效分類。為最大程度保留ECG數據中的有效信息,本文對心拍進行不定長分割,在并行網絡中加入核心的VFE模塊以提高網絡的特征提取能力。基于MIT-BIH心律失常數據庫中數據,對所設計模型進行驗證,完成八種重要類型ECG數據的識別。實驗結果表明,本方法在患者內模式下,識別準確率達到了99.36%,敏感度、特異度與陽性預測值分別為96.11%、99.84%和98.91%。相同數據集下,與近年來幾種主流算法進行對比,證明了所提出方法的有效性。
本文所提出的心律失常自動檢測模型未來有望應用于臨床診斷。隨著硬件技術的發展,還可應用于可穿戴設備,實現遠程醫療以及醫療機器人等服務。由于目前研究還僅限于MIT-BIH心律失常數據庫,部分類型ECG數據來源個體單一,且難以根據患者間模式設計數據增強手段以及分類,導致在其他數據集中表現不佳。隨著日后數據庫種類與數量的擴展,本模型結構可以進行調整以獲得更好的泛化能力,達到理想的實際應用效果。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:劉子龍副教授負責本研究算法的設計與實驗指導、研究計劃的安排;陳鵬主要負責算法的平臺搭建、程序設計、實驗數據的記錄分析以及論文編寫、修訂。
倫理聲明:本文所用實驗數據均來自公開數據庫,不涉及倫理問題。
引言
近年來,包括高血壓、冠心病在內的心血管疾病成為危害全球人類健康的一大公共衛生問題,發病率與死亡率常年居高不下,且隨著社會發展發病人群逐漸年輕化。據統計,每年因該類疾病死亡的人數約占全球死亡人數的三分之一[1]。由心血管疾病引發的死因大多為房顫導致,該類型的心律失常可能引起成年人的心臟驟停,因此心律失常的早期預防與診斷的重要性不言而喻[2]。心電圖(electrocardiogram,ECG)可通過在皮膚上放置電極來測量,具有無創、便捷、費用較低等特點[3]。臨床中,ECG數據常被用作心律失常的分析與診斷依據,然而由于ECG信號存在著多種類型的波形和狀態,且受到患者狀態以及患者間差異影響,即便有經驗的專家也很難準確判斷所有類型。
近年來,人們對ECG信號分析進行了廣泛的研究,創建了多種針對心律失常分類的算法。傳統方法一般是由兩個模塊組成,特征提取模塊和分類器訓練模塊。特征提取模塊中常用的方法包括時域、頻域特征提取和特征統計等,如卡爾曼濾波器、小波變換、主成分分析(principal component analysis,PCA)[4]。用于分類上述特征提取后的模型包括隱馬爾科夫模型(hidden Markov model,HMM)、支持向量機(support vector machines,SVM)、決策樹等[5-6]。其中許多分類算法都基于人工神經網絡,歸于其良好的建模能力,例如:利用小波變換和模糊神經網絡檢測心律失常的方法、基于SVM和粒子群優化分類算法、基于離散小波變幻的統計特征作為網絡輸入訓練的方法等[7-8]。傳統的機器學習方法中,前期ECG信號的分析與特征提取對結果的影響至關重要,然而此類方法都依賴于專業知識,存在著一定局限性[9]。近年來,隨著深度神經網絡在許多研究領域的廣泛應用,都取得了不錯的效果,例如:用于特定ECG信號分類的一維卷積神經網絡(convolutional neural networks,CNN)、基于深度二維CNN的心律失常分類等[10-11]。基于深度學習的方法具有自動提取特征的能力,無需人工干預,通常來說泛化能力要強于傳統的機器學習方法,在許多多類型心律識別場景中已經能達到95%以上的準確率,部分二分類場景下準確率達到了99%,但受限于ECG數據規模以及方法無法進一步提高[12-13]。
目前針對ECG數據分類研究領域中,大多數基于計算機的自動ECG信號分類算法均存在如下缺陷:① 心拍長度受患者身體狀態、患病類型等因素影響,統一尺度的分割方式易出現心拍信息殘缺和冗余,而各個時間點的信號值對心拍而言都具有相同的重要度,不恰當的分割方式可能會改變其原始含義[14];② 針對一維ECG信號的數據增強方式較少,且普遍存在波形還原度低、信息丟失等缺陷,導致模型泛化能力不佳;③ 主流的單輸入網絡模型結構簡單,且輸入信息單一,導致提取特征能力有限[15]。
基于上述原因,本文提出了一種針對不平衡ECG數據的變尺度融合網絡模型,解決了現有心律失常檢測算法中無法處理變長心拍,以及在數據分布不平衡和單一ECG信號情況下識別準確率較低的問題,并通過實驗驗證了該方法的有效性。為后續大數據背景下,利用人工智能方法實現心律失常的精確分析以及相關疾病的輔助診斷提供新方向。在不久的將來,期望本方法能應用于心血管疾病患者的臨床輔助診斷,及早預防和治療,降低病死率。
1 數據處理方法
1.1 數據集介紹
本文選用國際上公認的三大標準ECG信號數據庫之一,麻省理工學院與貝斯以色列醫院(Massachusetts institute of technology and Beth Israel hospital,MIT-BIH)( 網址為:http://physionet.org/physiobank/database/mitdb/) [16] 的心律失常數據庫作為研究數據來源,并按照美國醫療器械促進協會(the association for the advancement of medical instrumentation,AAMI)的標準選擇了較為常見的七種異常心律類型與正常心搏(normal beat,NOR)制作數據集,分別為:心室融合心跳(fusion of ventricular and normal beat,FVN)、左束支傳導阻滯心搏(left bundle branch block beat,LBBB)、起搏心搏(paced beat,PAB)、室性早搏(premature ventricular contraction,PVC)、右束支傳導阻滯心搏(right bundle branch block beat,RBBB)、室性逸搏(ventricular escape beat,VEB)、心室顫動波(ventricular flutter wave,VFW)、NOR。該數據庫包含47位患者的48條半小時雙通道ECG數據記錄,通常用于評估心律失常檢測算法的性能。每條記錄中心拍的心律失常類型均有專家標注,信號的采樣頻率為360 Hz。為提高實驗結果可信度,劃分數據集時,測試集與訓練集隨機選擇且無重疊數據。
1.2 R波檢測與心拍分割
在ECG信號的分析與診斷過程中,需先對ECG信號波形進行檢測與定位。其中最為關鍵的便是R波波峰位置的定位,本文采用經典的潘-拓普金斯(Pan-Tompkins)算法得到R峰的位置,常見的心拍切割方式為R峰左右分別取固定采樣點數作為一個完整心拍[17-18]。鑒于心拍長度受不同患者以及不同心律類型影響,本研究根據文獻[19]以及數據庫中真實數據分析得出動態心拍分割方法:取與當前R峰位置相鄰的前一個R-R間期的40%,以及相鄰后一個R-R間期的60%組成一個完整心拍,其公式描述如式(1)所示:
![]() |
其中,Beat(n)代表第n個心拍范圍,Rp(n)、Rp(n ? 1)、Rp(n + 1)分別表示第n個R峰及其前后相鄰R峰所在位置。實際處理中,R-R間期利用相鄰R峰間的采樣點數獲取。
1.3 二維特征圖轉換
1.3.1 灰度遞歸圖
遞歸圖具有對數據噪聲敏感度低、平穩性要求低、適用于小數據量等優點,通過二維圖像表現出原始時間序列的周期性與不規則周期性,常被廣泛作為可視化的工具[20]。現今該方法已從傳統工業領域擴展到生物信號分析,例如Zeng等[21]將腦電信號轉換為遞歸圖,然后從中提取出結構特征以提高癲癇病的識別準確率,其有效性得到了驗證。
傳統遞歸圖僅具備0和1的距離描述,會丟失許多細節信息,為充分反映出時間序列中的復雜信息,本文將點對之間的距離做0~255灰度值的歸一化處理,如式(2)所示:
![]() |
其中,i和j分別表示同一序列中對應點所在位置,N為序列長度,m和τ分別為嵌入維數和延遲時間,Rij為點對i和j間距離,Rmax 為點對距離集合中的最大值。經上述處理后可生成包含細節紋理信息的灰度遞歸圖(gray recurrence plot,GRP)。
1.3.2 頻譜圖
與語音、腦電數據等信息類似,ECG信號中還存在著大量的頻率與能量信息[22]。因此,本文將ECG信號進行短時傅里葉變換(short-time fourier transform,STFT)處理,與二維灰度波形圖相比,經STFT后得到的頻譜圖具有更豐富的特征信息[23]。數學描述如式(3)所示:
![]() |
其中,代表輸入信號在時間與頻率上的二維輸出,
表示輸入信號在采樣點n處的幅值,
為窗函數,N為窗長度。
經上述兩種轉換方法處理,選取四種類型的心拍信號,將其原始信號、頻譜圖與 GRP 進行對比,結果如圖1所示。從圖1中可以看出,不同類型的心拍信號在兩種特征圖上的區分難易度不同。因此,本文選擇二者相結合的方式作為融合網絡兩條分支的輸入,提供給網絡盡可能多的特征作為區分信息,以識別不同類型的ECG信號。

1.4 數據增強
本文使用的心拍信號取自MIT-BIH心律失常數據庫中七種異常心律類型和正常心搏,包含FVN類型803個、LBBB類型8 072個、PAB類型7 024個、PVC類型7 130個、RBBB類型7 256個、VEB類型106個、VFW類型472個、NOR類型75 052個。鑒于該數據集存在嚴重的數量分布不平衡現象,因此后續采用ECG數據生成手段進行數據增強處理。
為保證生成心拍波形特性與樣本相似,本文設計了一種ECG生成對抗網絡(ECG generative adversarial networks,EGAN)模型。其生成器與判別器均采用長短時記憶網絡(long short-term memory networks,LSTM)結構,最大化對時間序列的分析與學習能力,并保留各個采樣點間的時序特性[24]。本文改進了原有損失函數,將對抗損失與形態損失相結合,對抗損失基于沃瑟斯坦(Wasserstein)距離,其數學描述Lg如式(4)所示:
![]() |
其中,為生成器函數,
為判別器參數函數,
為真實數據分布,
為生成數據分布,E表示期望。本文利用Wasserstein距離計算生成數據與真實數據間最小變化代價,同時選取了歐氏距離作為形態損失,用于量化生成器生成的心拍序列與原始心拍序列間的差異。如式(5)所示:
![]() |
其中,N為生成器生成的心拍序列,O為原始心拍序列,為形態損失函數。
綜上分析,本研究中EGAN模塊判別器的總損失如式(6)所示:
![]() |
其中,α和γ為可調參數,二者均為0~1間小數,且滿足和等于0,用于調整對抗損失與形態損失權重對總損失的影響, 為總損失。
訓練中為得到高質量心拍數據,本文將采用損失函數與動態時間規整(dynamic time warping,DTW)算法結合的方式完成最優模型獲取[25]。首先利用多個相鄰損失函數差值判斷模型的穩態,如式(7)所示:
![]() |
其中,n為當前訓練輪次,ε為可調閾值。模型滿足上述條件后,可視為達到暫時穩態,接著根據DTW算法驗證是否需要繼續訓練,如式(8)所示:
![]() |
其中,i和j分別表示離散序列q和c中的位置,為當前格點的距離,
為累積距離,當i和j分別達到序列末端時,所求累積距離即為兩序列的DTW距離。
本研究針對FVN、VEB、VFW三類數據進行ECG數據生成,如圖2所示,展示了EGAN模塊生成FVN類型數據的訓練過程。訓練開始時,產生的數據分布隨機且無規則,如圖2中第10輪對應所示。隨著訓練的進行,網絡逐漸學習心拍中特征的分布,到50輪左右,對QRS波群與其他區域有了一定的區分。當訓練輪數到100輪左右,生成的ECG數據已經具備心拍的基本特征,經式(7)判斷已達到穩態,然而此時數據中還存在較多噪聲。為滿足本文對數據質量的要求,后續訓練中結合DTW算法評估,將訓練控制在170輪左右結束。

2 網絡設計
本文設計了一種適用于不平衡ECG數據以及變長心拍的心律失常自動分類系統,如圖3所示。該系統包含EGAN模塊與變尺度融合網絡,前者以非監督學習模式實現ECG數據的擴充;后者與傳統單分支ECG分類網絡不同,其并行結構能同時關注相空間特征、時頻域等多維度信息,變尺度特征提取 (variable-scale feature extraction, VFE) 模塊能夠有效地捕獲不同尺寸心拍的深度信息,最后利用融合結構整合心拍的多維度信息實現心律失常的檢測。

2.1 EGAN模塊
本文設計的EGAN模塊如圖3中左虛線框所示,其中包含生成器與判別器。生成器利用了LSTM結構良好的時序建模能力,高維隨機噪聲作為生成器的輸入,判別器用于判斷“假數據”與真實樣本的差距,并反饋給生成器。研究中采用了對抗損失與形態損失相結合的方式提高生成心拍數據質量,減少了數據中噪點的產生,改善了心拍的生成效果,同時利用DTW算法優化了EGAN模塊的訓練過程。
2.2 變尺度融合網絡結構
本文設計的變尺度融合網絡為核心分類網絡,如圖3中右虛線框所示,該網絡由兩條并行分支組成,二者的輸入分別為心拍的GRP與頻譜圖。原始一維ECG信號由于不同類別間波形形態的相似性以及噪聲的存在,導致部分類別有時難以區分[26]。GRP能夠以圖像的形式描述出ECG序列在相空間中的周期性與非周期性變化,頻譜圖中包含了時間序列的時域、頻域等多維度信息,與原始波形的微小變化相比,經上述兩種形式轉換后的特征圖不僅能減弱噪聲的影響,還能達到豐富ECG信息并突出不同類別間差別的目的。
鑒于殘差塊結構在圖像特征提取階段的良好的表現,其跳躍連接能將有效信息通過深層網絡傳播。因此,本文設計的VFE模塊中深度特征提取主要由三個改進子殘差塊和一個外圍跳躍連接完成,后續加入了擠壓與激勵(squeeze-and-excitation,SE)模塊和及空間金字塔池化(spatial pyramid pooling,SPP)層,前者用于各個通道的權重分配,使模型關注更感興趣的特征區域,后者解決了網絡輸入尺度不定的問題,模塊對應結構如圖4所示。

子殘差塊主要由三層卷積結構以及分支上的最大池化層組成,利用最大池化層保留前面層級的主要特征紋理信息,同時避免了部分特征的重復計算,該結構的輸入輸出描述如式(9)所示:
![]() |
其中, 、
分別表示第l層的輸入與輸出特征向量,
為最大池化操作,
為主干上的運算操作,包括卷積、激活函數和標準化處理。本文在三個子殘差塊外圍加入了一個含有平均池化層的跳躍連接,主要目的是保留初始卷積后的特征背景信息,避免部分特征信息的丟失,提高模型特征提取能力,此時特征提取部分的輸入關系如式(10)所示:
![]() |
其中, 為經過3個子結構后的輸出特征向量,
為平均池化操作,β為值小于1的超參數,可由人工設定或網絡訓練獲得。
VFE模塊中的SE模塊能夠通過訓練調整分配到各個通道上的權重,提高網絡對重要特征的學習能力,最后經SPP層匯聚特征和統一特征尺寸。SPP層利用不同尺寸的窗口對前一層的特征進行池化,并且將池化后的特征融合為一個固定尺寸的特征作為后續的輸入,在解決輸入圖像尺寸不固定問題的同時,還能進一步挖掘圖片的潛在信息[27]。
本文中變尺度融合網絡由兩個對稱分支結構組成,利用兩個卷積層對輸入進行初步特征提取,然后經VFE模塊提取圖像中的深度信息以及固定特征維度。為防止訓練中出現梯度消失現象,在部分卷積層與激活函數之間加入了批標準化處理(batch normalization,BN)層,激活函數采用一種自門控激活函數Swish。由于最終特征由兩個分支網絡匯聚,為避免過擬合情況出現,在連接兩個分支之前各加入了隨機失活(dropout)層,dropout率設置為0.5。分支特征經展平拼接后,加入兩個全連接層,最終利用柔性最大(Softmax)回歸實現多分類目的。
3 實驗設計與結果分析
3.1 實驗環境和評價指標
本文的實驗數據集均取自美國MIT-BIH心律失常數據庫,軟硬件環境包含:用于網絡訓練加速的顯卡為英偉達顯卡(NVIDIA GTX 2080 Ti,NVIDIA Corporation NASDAQ:NVDA,美國),用于搭建網絡模型的深度學習框架PyTorch(1.6.0,Facebook Inc,美國),用于ECG數據處理與模型訓練的編程語言主要為Python(3.6,Google Inc,美國)。
為評估心律失常分類算法的效果,本文采用準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)、特異度(specificity,Spe)、陽性預測值(Positive predictive value,Ppv)作為指標來衡量,其計算公式如式(11)~式(14)所示:
![]() |
![]() |
![]() |
![]() |
其中,真陽性(true positive,TP)代表正樣本被正確分類的個數,真陰性(true negative,TN)代表負樣本被正確分類的個數,假陽性(false positive,FP)代表負樣本被錯誤地分類為正樣本的個數,假陰性(false negative,FN)代表正樣本被錯誤地分類為負樣本的個數。
后續訓練中本文將擴充后的ECG數據集重新劃分,每類隨機取5 500個心拍,其中4 400個作為訓練集,1 100個作測試集。
3.2 模型性能分析
本研究模型訓練階段的精度和損失值變化曲線如圖5所示。從圖5中可以看出,本文所設計的融合網絡在初始階段,模型的精度和損失值變化較快。隨著訓練中模型參數的優化更新,僅驗證集曲線存在小幅振蕩,大約經30個迭代周期后趨于收斂,訓練過程中整體速度較快且無大幅震蕩,模型擬合較好,無過擬合情況出現。

同一數據集下,將本文方法與目前常用的單輸入CNN模型進行對比,結果如圖6所示。從圖6中可以看出單輸入CNN模型較難從ECG數據中提取出關鍵信息,導致網絡擬合速度慢且振蕩大,最終驗證集精度穩定在95%左右。本文提出的變尺度融合網絡模型能夠獲取單個完整心拍的深度信息,所設計的VFE結構針對不同大小心拍輸入的特征提取能力強,結合多維度多網絡分支方式大幅提高了模型的分類效果。

3.3 驗證方式與結果對比
研究過程中采用五折交叉驗證方法確保評估系統的穩定性與可靠性,為減少交叉驗證中隨機劃分數據造成的偏差,本文獨立執行了5次驗證程序,并以5次實驗的平均值作為最終分類結果,得到的混淆矩陣如圖7所示。最終模型在測試集的平均精度達到了99.36%,而未使用EGAN模塊訓練的模型在測試集上精度僅為97.71%。從圖7中可分析出,由于FVN、VEB、VFW三類ECG樣本數據量過小且特征相似度不高,模型對其識別效果較差,單類的識別精度僅分別為63.13%、75.00%、70.00%。當數據集中加入了EGAN模塊生成的心拍數據后,三類的識別精度大幅提升,達到了99.45%、100%、99.45%,說明利用該方式獲得的ECG數據已經與原樣本十分相似,通過提供更豐富的特征樣本,提高模型泛化能力。

本文與近年來ECG信號識別相關文獻的結果對比如表1所示。表中所有方法采用的原始數據均源自MIT-BIH心律失常數據庫,且文獻中的ECG類別均包含于本文選擇的八種類型之中。Acharya 等[28]設計了一種由九層卷積網層組成的深層神經網絡,針對增強后的五種心拍片段進行識別,準確率達到了94.03%,由于大多數據是利用均值和標準差等手段生成,模型對原樣本數據識別能力仍較弱;Oh 等[29]對ECG數據中的心拍采用動態劃分,并提出了一種串行CNN+LSTM分類模型,識別準確率達到了98.10%,但最終需要通過形變等手段固定網絡輸入的尺寸,部分類型心拍形變后識別難度高,實際應用效果不佳;Zhou等[30]利用CNN的特征提取能力與極限學習機(extreme learning machine,ELM)相結合,大幅提高了模型收斂速度,針對四種ECG信號類型的識別準確率達到了98.77%,但網絡的特征提取能力有限,導致模型泛化能力不強;Zhu等[31]利用人工提取出19種ECG信號特征,然后利用SVM實現四種心律失常類型區分,識別準確率達到了97.80%,但該類方法識別效果依賴于專業的人工特征提取,分類難度隨類別增多而上升。在ECG數據分布不平衡的情況下,本文提出的變尺度融合網絡平均準確率達到了99.36%,靈敏度為96.11%,特異度為99.84%,陽性預測值為98.91%。實驗結果表明,本文方法的ECG數據識別效果要優于近年來主流相關文獻中的方法,具備一定的研究與實際應用價值。

4 總結
ECG信號特征作為早期心血管疾病診斷的重要生物信號特征,如何高效識別其類型成為近年來相關領域的研究熱點。本文在現有數據集分布不平衡情況下,提出了一種全新的變尺度融合網絡模型用于心律失常識別,有效地解決了數據傾斜、心拍尺度不一、算法識別準確率不高等問題。本文設計了EGAN模塊與變尺度融合模型,分別實現ECG數據的生成與高效分類。為最大程度保留ECG數據中的有效信息,本文對心拍進行不定長分割,在并行網絡中加入核心的VFE模塊以提高網絡的特征提取能力。基于MIT-BIH心律失常數據庫中數據,對所設計模型進行驗證,完成八種重要類型ECG數據的識別。實驗結果表明,本方法在患者內模式下,識別準確率達到了99.36%,敏感度、特異度與陽性預測值分別為96.11%、99.84%和98.91%。相同數據集下,與近年來幾種主流算法進行對比,證明了所提出方法的有效性。
本文所提出的心律失常自動檢測模型未來有望應用于臨床診斷。隨著硬件技術的發展,還可應用于可穿戴設備,實現遠程醫療以及醫療機器人等服務。由于目前研究還僅限于MIT-BIH心律失常數據庫,部分類型ECG數據來源個體單一,且難以根據患者間模式設計數據增強手段以及分類,導致在其他數據集中表現不佳。隨著日后數據庫種類與數量的擴展,本模型結構可以進行調整以獲得更好的泛化能力,達到理想的實際應用效果。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:劉子龍副教授負責本研究算法的設計與實驗指導、研究計劃的安排;陳鵬主要負責算法的平臺搭建、程序設計、實驗數據的記錄分析以及論文編寫、修訂。
倫理聲明:本文所用實驗數據均來自公開數據庫,不涉及倫理問題。