?

基于改進U-Net模型的心電波形分割

2022-11-02 07:26徐柏林蔡文杰楊明菲張標
中國醫學物理學雜志 2022年10期
關鍵詞:心電電信號波形

徐柏林,蔡文杰,楊明菲,張標

上海理工大學健康科學與工程學院,上海 200093

前言

我國心血管疾病死亡率逐年上升,并呈現年輕化趨勢[1]。隨著城市化和生活方式的改變,可以預見未來患病人數不會下降,因此,對于心血管疾病的預防和檢測值得重視[2]。心電圖作為對心臟健康狀況進行評估的重要手段,主要包括P 波、QRS 波和T 波,其中各波形都包含著重要信息,心電波形分割對于自動診斷分析具有重要意義[3]。然而,心電信號的精確分割存在一些困難。例如,P波的振幅很小,甚至因為噪聲干擾無法識別或是P波缺失;T波可能存在雙向的情況,這就導致很難確定T 波的起點和終點[4]。因此,亟需提出一種可以精確分割心電波形的算法。傳統心電波形分割算法一般先在心電信號中定位R波的位置,然后檢測QRS 波的起止點,然后再定位P 波和T 波的起止位置。Aspuru 等[5]使用線性回歸來分割心電信號,首先檢測心電圖的R 峰,然后再分離信號,檢測P、Q、S和T峰值。該方法對Q點的檢驗靈敏度為97.5%,對其他心電峰值的檢測靈敏度為100%;但是該方法泛化能力沒有經受檢驗,單一的性能指標也不能說明算法的優異。目前主流的用于心電波形分割的傳統算法是小波變換,Li等[6]使用小波變換來檢測心電信號的各波形特征點。借助小波變換的多尺度功能將QRS 復合波與其他波分離,QRS的識別準確率在MITDB(MITBIH Arrhythmia Database)上達到99.8%。雖然很多傳統算法都可以用于心電波形分割研究,但大部分都是針對單獨的特征波,如QRS波,將所有心電波形進行整體分割的研究相對較少。近年來,使用深度學習的方法識別心電各波形逐漸成為研究熱點。Nurmaini等[7]提出使用雙向長短期記憶分類器來對心電圖波形進行分割。將心電數據按照心拍進行切割,以P 波的起始點作為切割的起點,該方法的平均敏感度達到98.82%,F1 分數為98.84%;但該方法存在一個缺陷,從P 波的起始點開始切割,以固定心電片段作為訓練集投入模型訓練,勢必會導致模型對P波的識別準確率虛高,缺乏泛化性能。

針對以上算法的不足,本研究提出的基于U-Net模型改進的算法不僅可以檢出心電整體波形的起止點,且檢測效果更好;在跨數據庫實驗中也表現較好的泛化性能。

1 方法

1.1 數據集

本研究選取心電公開數據集Lobachevsky University Database(LUDB),這是一個常用于心電波形分割的開放數據庫[8]。其包含200 份來自不同受試者12 導聯心電圖記錄,每條記錄的采樣頻率為500 Hz,采樣時長10 s;該數據庫的P 波、QRS 波和T波的邊界和峰值都由專家手工標注。使用QTDB(QT Database)來驗證本文算法的泛化能力[9]。其包括105 條兩導聯心電圖記錄,采樣頻率為250 Hz,采樣時長15 min;該數據庫的每條記錄的P 波、QRS 波和T 波起止位置和峰值同樣由專家標注。本研究選取了其中部分記錄作為算法驗證數據。

1.2 預處理

LUDB 中的專家標記從第二或第三個心拍開始到倒數第二個心拍結束。如圖1所示,紅色為無波,黃色為QRS波,綠色為P波,藍色為T波。

針對LUDB的特點,本研究在構建數據集時截取了從第3 秒(第1 000 個采樣點)開始到第8 秒(第4 000 個采樣點)為止的心電片段,共3 000 個采樣點。這樣截取可以保證選取的信號均有專家標記。將LUDB的200份12導聯分別當作獨立的記錄來處理,得到2 400 條記錄。然而,在根據標注構建數據集過程中發現,LUDB 有30 條記錄存在漏標情況,舍棄這些記錄,最后得到2 370條記錄的數據集。

針對QTDB的處理,首先對記錄重采樣到500 Hz??紤]到該數據庫中有大量記錄缺乏專家標注,本研究選取幾條完整標記的記錄,每3000個采樣點作為一條心電片段,共得到800條數據作為驗證集。

原始心電信號中含有大量噪聲信號,如肌電噪聲、基線漂移、工頻干擾等,噪聲信號的存在影響了模型的性能[10]。本研究采用小波變換去除噪聲干擾,在LUDB 和QTDB 上使用db3 的小波基對心電信號做8 尺度分解[11]。圖2為原始波形和去噪后的波形。

1.3 數據增強

LUDB 共有2 370 條記錄,為了增加數據的多樣性,提升模型的魯棒性以及泛化能力,本研究對數據集進行數據增強[12]。首先,針對每條記錄的3 000 個采樣點,在前600 個點中隨機選擇起點,投入模型訓練的記錄長度為2 400,這樣在一定程度上可以保證數據的多樣性。其次,本研究構建了一個數據生成器,在訓練過程中對心電記錄做隨機增大或縮放,添加基線漂移和進行平移操作[13]。其數學表達式定義如下:

式中第一步對數據進行隨機放縮操作,α取值為[8,13);第二步將放縮后的數據添加基線漂移,β、γ、δ的取值范圍是[0,30)、[400,900)、[0,10);最后做平移操作,ε取值[-20,21)。對于每一條投入模型訓練的記錄,都采用這3個步驟和隨機選擇起點來豐富數據的多樣性,增強模型的魯棒性。

1.4 模型

本研究提出的模型是基于U-Net 模型進行改進的。U-Net 框架起源于全卷積網絡,常用于醫學圖像分割[14]。該模型是一個經典的編碼-解碼器結構,左邊部分用來特征提取,右邊部分進行上采樣和特征融合。本研究以U-Net為基礎,針對一維的心電數據對模型進行改進,模型圖如圖3所示。

原有的U-Net 模型左邊部分的單通道下采樣結構換成了3通道,并將普通卷積改成了空洞卷積。因為心電信號是一種基于幅度的低頻數據,使用小的感受野很難包含心電信號幅度較大范圍的變化[15];另外心拍本身是一段短時一維信號,不能過分關注整體而忽視局部信息。本研究提出的模型左側部分的3 個通道均會對輸入信號進行卷積、批量標準化(BN)及激活(ReLU)操作[16];在模型中使用空洞卷積代替普通卷積,空洞卷積進行卷積操作時會跳過一些像素點進行卷積,在使用相同大小的卷積核情況下,可以獲得更大的感受野;同時,給各個通道設計不同的空洞率,輸出神經元能獲得不同的感受野[17]。各通道空洞模塊結構參數如表1所示。這種多通道加空洞卷積的設計更適合提取類似心電信號的一維數據的特征信息。每個通道的每一層經過上述操作后,將結果按照通道維度進行拼接,該結果用于與右側部分上采樣結果特征融合。為了將3 個通道所提取的特征信息整合到一起,本研究使用注意力機制(SENet)對特征重要性進行調整,即通過學習的方式自動獲取每個特征通道的重要程度,按照這個重要程度去提升有用的特征權重并抑制作用不大的特征權重,對整個網絡進行重新調整[18]。

表1 空洞模塊結構參數Table 1 Structural parameters of dilated convolution

輸入長度為2 400 個采樣點的預處理心電信號,左邊部分的多個通道的編碼器進行特征提取工作,每次經過池化層尺度減半。右邊解碼器部分使用上采樣的方法恢復尺寸,然后將左邊部分的多通道合并結果與上采樣特征進行特征融合。最后,模型得到的輸出結果為2 400×4,蘊含著屬于P波、QRS波、T波的像素級分割信息,使用Softmax 激活函數可以得到每個波形的預測結果[19]。

2 實驗結果

2.1 實驗配置與性能指標

模型訓練使用的優化器是Adagrad,損失函數為交叉熵損失函數,初始學習率設置為0.015,學習率衰減率為0.001,隨著模型訓練,學習率可以動態地變化[20]。Batchsize 為256,模型訓練次數設置為300 個epoch。本研究采用pycharm 作為開發環境和pytorch框架[21]。在Ubuntu 環境上進行訓練,顯卡為GA106[GeForce RTX 3060 Lite Hash Rate]12 G。圖4顯示了模型在訓練階段的損失曲線。

根據醫療器械協會(Association for Medical Instrumentation)規定,當算法得到的起始點和終止點與專家標記的絕對值不超過150 ms,則可以判定預測是正確的[22]。由此,可以定義一些性能指標來對算法的質量進行評定。

本實驗采用敏感度(SE)、陽性預測率(PPV)、F1分數作為性能指標。SE可以表達算法預測特征點的能力,PPV 表示檢測出的特征點是正確的比例,F1 分數是二者的綜合指標[23]。性能指標各公式如下:

其中,TP 代表提出的算法預測的特征點與專家標記點的誤差的絕對值不超過150 ms;FP 代表算法預測特征點周圍150 ms 沒有專家標記的點;FN 表示在專家標記點150 ms 范圍內無法找到算法預測的特征點。

2.2 結果與討論

對于U-Net模型的改進方向,本研究采取對原模型加入空洞卷積模塊、增加SENet模塊以及改變通道個數等方式,分別對每一種改進方向都進行訓練和5折交叉驗證。各個模型在測試集上的表現如表2所示。提出的算法在測試集上的分割結果如圖5所示。

表2 不同模型的心電分割結果(LUDB)Table 2 ECG segmentation results of different models(LUDB)

DC+U-Net(Dilated Convolution,U-Net)模型 是在原U-Net 模型的基礎上將單通道下采樣改為3 通道下采樣,普通卷積模塊變成空洞卷積模塊,但未加入SENet。DC+U-Net 模型平均性能在PPV 和F1 上相對于U-Net模型有大約0.5%的提升,在P波和QRS波的分割上性能明顯更加優秀,T 波效果與U-Net 相差不大。SE+DC+U-Net(SENet,Dilated Convolution,U-Net)與DC+U-Net區別在于將3通道下采樣改成了兩個通道,加入了SENet 模塊;平均性能相比于DC+U-Net 模型提升了大約0.3%。本研究提出的模型通道數為3,加入了空洞卷積和SENet 模塊,在P 波、QRS 波、T 波的分割上性能都優于其他模型,平均性能對于U-Net模型大約提升了1.2%。

因為LUDB數據標注問題,本研究舍棄了部分心電信號。黃鑫[24]采用了與本文類似的做法,在第3秒和第9 秒之間隨機選擇了6 s 的心電片段構建數據集;Sereda等[22]用中值濾波去除基線漂移后也選擇了6 s的心電信號作為數據集的一條序列;Viktor等[4]從第2秒到第4秒隨機選擇起點,序列長度是4 s。將本文方法與其他方法的研究結果進行比較,結果如表3所示。本文算法在T波的性能上有著明顯的優勢,但是在QRS 波的檢測上不如Viktor 等[4]的方法。從平均性能來看,本文方法在敏感度、陽性預測率上都取得了更好的表現。

表3 與其他論文方法對比(LUDB)Table 3 Comparison with other methods(LUDB)

為了驗證本文提出的算法的泛化能力,在處理好的QTDB 上進行算法驗證。表4是在LUDB 上訓練好的算法在QTDB 上進行驗證的結果與其他方法的研究結果對比。同Kalya-Kulina 等[25]的方法相比可以看到本文方法在P 波段的效果不夠明顯,但在QRS 段和T 波段有明顯優勢。Bote 等[26]采用小波分析方法對心電波形進行分割,本文方法在QRS 波段與他們取得的效果接近,但是在T波段的檢測上更勝一籌。因此,本文方法已經接近了目前的主流水平,在跨數據庫上取得較好的表現,具有良好的泛化能力。

表4 QT數據庫上算法驗證結果對比Table 4 Comparison of algorithm verification results on QT database

3 結語

本研究提出一種基于U-Net框架的改進模型,用于心電波形分割。采用LUDB和QTDB構建訓練集,進行5 折交叉驗證。LUDB 用來訓練模型并進行測試,在QTDB上做算法驗證。實驗結果充分驗證了算法的有效性和泛化能力,在LUDB 測試集上的5 折交叉驗證結果為:平均靈敏度99.41%,平均陽性預測率98.90%,平均F1 分數98.75%。在QTDB 上性能可以比擬主流的方法。本研究的缺陷如下:首先對于LUDB 和QTDB 中部分漏標的記錄,沒有充分利用數據;其次,對于一些疾病類型的心電圖,例如房顫等尚無法進行準確分割。這些工作有待進一步研究。

猜你喜歡
心電電信號波形
基于融合模糊聚類算法的異常心電多頻段弱信號快速捕捉方法
基于時域波形掩護的間歇采樣干擾對抗研究
基于聯合聚類分析的單通道腹部心電信號的胎心率提取
心電向量圖診斷高血壓病左心室異常的臨床應用
通用6T系列變速器離合器鼓失效的解決方案
趨膚效應在交流電信號的影響的研究
基于Code Composer Studio3.3完成對心電信號的去噪
卡片式智能心電采集儀
基于腦電信號反饋控制的雙軌道小車控制器設計
用于SAR與通信一體化系統的濾波器組多載波波形
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合