(西安建筑科技大學 信息與控制工程學院, 西安 710055)
心律失常是一種常見的心血管疾病,會對人們的健康造成巨大危害。心律失常的及時檢測和診斷可以有效預防惡性心臟疾病的發(fā)生[1]。隨著便攜式心電監(jiān)測系統(tǒng)的廣泛使用,面對長時海量的心電數據, 需要更加智能化的心律失常識別技術。
人們對心律失常的診斷主要是對心電信號中的每個異常心跳進行形態(tài)識別與分類,將單次心跳的形態(tài)特征信號稱為一個心拍。目前已有眾多學者對心律失常識別方法進行了研究,包括基于小波變換的識別算法[2],基于小波變換與支持向量機(SVM)的識別算法[3],獨立成分分析與神經網絡的心電識別算法[4],基于BP神經網絡的識別算法[5]等等。除此之外,深度學習下的卷積神經網絡(CNN)和長短時記憶網絡(LSTM)在心律失常識別中也顯示出良好的前景。例如,基于傅里葉變換與卷積神經網絡的心電識別算法[6-7],基于模糊C均值深度信念網絡的心電識別算法[8],基于深雙向LSTM網絡的心電識別算法[9]等等。
然而,不同節(jié)律的心電信號在發(fā)生心律失常時的信號形態(tài)會有所差別,間期特征和幅值特征會有所不同。若識別算法只針對包含P-QRS-T的心拍形態(tài)信號,會丟失相關間期特征與節(jié)律特征,易對分類造成影響。并且,截取P-QRS-T的心拍形態(tài)信號還需要額外設計QRS波群檢測定位算法。因此有學者設計了針對整條信號片段的識別方法,例如文獻[10]搭建了ResNet-34網絡模型,對心電信號片段進行分類,該方法假設輸入信號片段由一種心律失常類型組成,可預測該片段的心律失常類型。
本文基于U-NET全卷積神經網絡設計了一種心電信號語義分割的識別方法。該方法省去了QRS檢測與定位的步驟,將直接截取的心電信號片段作為識別對象,即片段中同時包含不同種心律失常類型的心拍,又同時包含完整心拍與邊緣殘缺心拍。采用神經網絡語義分割的處理方式,將信號片段作為輸入,標簽地圖作為輸出,通過對不同種心拍情況的標注,準確地劃分出混合類型心電片段中的心拍位置與類型。
U-Net全卷積神經網絡起源于深度卷積神經網絡。深度卷積神經網絡廣泛應用于信號識別與分類、目標檢測與定位等大規(guī)模運算中。隨著目標識別的任務要求不斷提高,產生了更為精細的分類處理任務:語義分割。語義分割是指將每個像素點分類為屬于對象類的過程。心電信號作為一種一維采樣信號,因此可以用語義分割的方法切分出心拍,并且同時給出其中的心拍類型。
應用于語義分割的U-Net全卷機神經網絡與傳統(tǒng)卷積網絡相比,沒有全連接層結構,其結構包括卷積層、下采樣層(池化層)和上采樣層。U-Net的網絡結構是一種編碼器-解碼器結構,編碼器逐漸減少池化層的空間維度,解碼器逐步修復物體的細節(jié)和空間維度。網絡結構具有空間平移不變性,將整幅樣本作為輸入,標簽地圖作為輸出,顯著提高了語義分割的計算效率和預測性能。
在深度神經網絡中,激活函數是用來為模型增加非線性機制。激活函數具有非線性、可微性、單調性。早期經常使用的激活函數有Sigmoid、Tanh等函數。例如:
(1)
(2)
式(1)和式(2)分別為Sigmoid函數和Tanh函數,其函數兩側均具有飽和區(qū),在反向傳播的過程中,容易出現梯度消失問題。
本文網絡中結點的激活函數采用Relu函數。其優(yōu)點在于梯度不飽和,計算快,在反向傳播的過程中能夠減少梯度消失的現象,同時通過Relu激活后的特征能最大程度保留特性,抑制不重要信息。其函數輸出公式為:
f(x)=max(0,x)
(3)
卷積是對兩個實變函數的一種數學運算。假設A和B為矩陣,大小分別為M×N和m×n,則卷積運算C=A?B可以表示為:
1≤i≤M-m+1,1≤j≤N-n+1
(4)
如式(4)所示,卷積核按照一定的步長在輸入矩陣序列上進行卷積操作,通過對輸入的卷積可以使得網絡自動提取到高層的語義信息,無需手工提取特征的操作。
池化運算即下采樣,是使用某一位置相鄰輸出的總體統(tǒng)計特征來代替網絡在該位置的輸出。當輸入存在少量平移時,池化運算能夠幫助表示輸入近似不變。
在截取的心電信號片段中,我們只關心某一個特征是否出現,而無所謂其出現位置的前后,這時平移不變性顯得極為重要。
對輸入矩陣A進行池化,首先對其分塊。設每塊大小為λ×τ,則其中第ij個塊可以表示為:
(5)
其中,(i-1)·λ+1≤s≤i·λ,(j-1)·τ+1≤t≤j·τ。
(6)
s≤i·λ,(j-1)·τ+1≤t≤j·τ}
(7)
如果用大小為λ×τ的塊對矩陣A進行不重疊平均下采樣,結果定義為:
(8)
相應地,對矩陣Davg進行倍數為λ×τ的不重疊平均上采樣定義為:
avgupλ×τ(Davg)=Davg?1λ×τ
(9)
其中:1λ×τ是元素全為1的矩陣,?代表克羅內克積。
如果用大小為λ×τ的塊對矩陣A進行不重疊最大下采樣,結果定義為:
(10)
相應地,對矩陣Dmax=(dij)進行倍數為λ×τ的不重疊最大上采樣定義為:
maxupλ×τ(Dmax)=(Uij)
(11)
其中:所有Uij=(ukl)λ×u都是大小為λ×τ的矩陣,每個元素定義為:
ukl
(12)
本文對U-Net網絡進行修改,使其可以處理一維心電信號序列,從心電片段中提取信號特征信息進行逐點分析。
如圖1所示,網絡結構主要有兩部分組成:收縮路徑和擴展路徑。收縮路徑主要是用來捕捉心電信號的特征信息,與之相對稱的擴展路徑則是對所需要分割出來的心拍進行精準定位與語義分類。
圖1 網絡結構
在收縮路徑中,進行卷積運算與二倍最大池化運算。每池化一次,特征圖的長度減少一半,數量增加一倍。在擴展路徑中,高分辨率的特征直接從壓縮路徑中復制,然后與后續(xù)卷積的上采樣特征相結合,有效地將編碼后的上下文信息傳輸到后續(xù)層。網路最后一層通過卷積運算輸出預測標簽地圖。由于心電信號為低頻信號,有意義的特征往往體現在較為長一點的波形上,因此模型大部分由核尺寸為32×1的一維卷積運算組成。卷積運算采用same模式,使得輸出特征圖尺寸保持不變,輸出與輸入因此而等長。
MIT-BIH心律失常標準數據庫由美國麻省理工學院和Beth Israel醫(yī)院合作建立。該數據庫的數據由1975年到1979年間采集的4 000 多個動態(tài)心電圖(Holter)數據組成。本文的心電信號片段取自MIT-BIH心律失常數據庫,所有記錄采樣率為360 Hz,實驗重點關注包含正常竇性搏動(Normal)、左束支傳導阻滯(left bundle branch block,LBBB)、右束支傳導阻滯(right bundle branch block,RBBB)、房性早搏(atrial premature beat,APB)和室性早搏(Ventricular premature beat,PVC)的信號片段。
本文將用于U-net訓練的心電信號預處理成每條片段為5 s時長,即1 800個數據點,這些片段可能包含也可能不包含混合性心律失常。在不將單個片段內的所有節(jié)拍限制為單一的特定心律失常情況下,片段可能包含多種心律失常情況。心電記錄的混合心拍使得訓練數據更加復雜和多樣化。表1給出了實驗包含對應心拍類型的片段數目。
表1 心電圖段數及對應情況
在MIT-BIH心律失常標準數據庫中,專家給出了每條心拍的r峰峰值位置以及對應的心拍類型。輸入片段包含1 800個采樣點,即輸入矩陣為1 800×1。網絡輸出1 800個采樣點的五分類標簽地圖,即輸出矩陣為1 800×5。為每個訓練樣本創(chuàng)建1 800×5輸出矩陣,將每個采樣點的對應心拍類型的列設置為1,相對應將其他列設置為0。分類方法重點關注可以完整體現心律失常的各類型特征的心拍,對于殘缺心拍,設置殘缺閾值,即殘缺程度過高導致無法體現信號特征的殘缺心拍默認標注為正常。
為了評價網絡模型在心律失常分類中的效果,本文驗證準確率、靈敏度、特異性以及正陽性率等多個指標。將心電片段中的實際各類型心拍數目與預測結果得出的各類型心拍數目予以統(tǒng)計,用TP表示正確預測出本類心拍的個數,TN表示正確預測出非本類心拍的個數,FP表示錯將其他類心拍預測為本類,FN表示錯將本類心拍預測為其他類。評價指標的具體計算方法和意義如下:
準確度(ACC):指被正確預測出本類心拍與非本類心拍的個數之和占全部樣本的比率:
(13)
總準確度(OA):指所有被正確分類的心拍數目與樣本總數∑之比,以NN、LL、RR、VV、AA分別表示各類型正確分類的個數:
(14)
靈敏度(召回率,Se):指被正確預測出本類心拍的個數與實際的本類心拍總數的比率:
(15)
特異性(真陰性率,Sp):是指被正確預測出非本類心拍的個數與實際非本類心拍總數的比率:
(16)
正陽性率(精準度,Pp):是指全部被預測為本類心拍個數中正確的比率:
(17)
以上評價指標中,準確度是衡量分類是否準確最直觀的一個指標。靈敏度越高表示發(fā)生漏診的比例越低,特異度和正陽性率越高表示發(fā)生誤診的比例越低。
網絡模型使用Python語言開發(fā),實驗將全體樣本分為90%的訓練樣本與10%的測試樣本,網絡訓練迭代100次。在網絡訓練過程中,為了防止發(fā)生過擬合,隨著網絡深度的增加采用丟失輸出的正則化技巧。最終,網絡訓練集與測試集的學習準確度曲線如圖2所示。
圖2 學習準確度曲線
如圖2,隨著網絡的迭代,網絡學習準確度曲線迅速上升。圖中的實線與虛線分別表示訓練集與測試集準確度曲線,可以看出,U-net模型能夠很好地從訓練數據中進行泛化,準確度曲線緊密重疊,未出現過擬合跡象。
圖3
圖3描繪了4個測試心電片段的可視化標簽地圖。網絡輸出的標簽地圖為5列矩陣,即每一列表示為采樣點屬于每種類型的預測概率。每張標簽地圖包含多個類型的心拍,用5條預測曲線分別表示五種類型的預測概率。圖中右側Y軸即表示采樣點隸屬于某一類型的預測概率值的大小,某一類型的預測概率越大,表示采樣點越隸屬于該類型。
由圖3(a)、圖3(d)可以看出在每一種相同類型的信號中間部分,該類型預測概率非常接近于1,在不同類型交界處,預測概率會出現交替下降與上升的部分,可以看出通過各類型的預測曲線可將片段中的不同類型的心拍區(qū)分出來。如圖3(b),當信號片段中突然出現少量噪聲時,圖中右束支阻滯的類型預測概率稍顯下降,但仍然維持在80%以上。如圖3(c),網絡在只發(fā)生單個室性早搏的心拍位置處,室早類型的預測概率迅速上升至80%。該模型具有良好的定位與分類能力,同時網絡模型使用較大感受野,使得分類結果具有一定的抗噪能力。
將心電片段中的實際各類型心拍數目與預測結果得出的各類型心拍數目予以統(tǒng)計,表2給出了心律失常分類混淆矩陣。以每一行表示實際心拍類型,右側的合計表示實際各類型的心拍統(tǒng)計數目;以每一列表示預測心拍類型,下側的合計表示預測為各類型的心拍統(tǒng)計數目。
跟據混淆矩陣與評價指標計算公式,分別計算了Normal、LBBB、RBBB、PVC、APB五類心律失常的準確度(ACC)、總準確度(OA)、靈敏度(Se)、特異性(Sp)以及正陽性率(Pp)如表3所示。
表2 分類結果混淆矩陣
表3 分類結果各項指標 %
如表2和表3,對于該網絡模型,Normal、LBBB、RBBB、PVC、APB五類樣本的單類型識別準確度和特異性均高于97%,總準確度高于96%。對于RBBB、PVC、APB,其靈敏度數據稍低。由表2可以看出,網絡對于RBBB和PVC具有少量混淆。其混淆原因,一方面是幾類QRS波群的形態(tài)差異較小導致混淆,例如RBBB和PVC信號都包括一個正R波和一個負S波偏轉;另一方面,在不同種心拍類型的交界處與片段邊緣兩側的殘缺心拍處,預測概率出現交替下降與上升的部分,產生了少量錯誤的預測。
隨后,本文采用已有分類算法,包括支持向量機(SVM)、卷積神經網絡(CNN)和長短時記憶網絡(LSTM)進行心律失常的心拍五分類,其平均指標對比如表4所示。
表4 SVM、CNN、LATM 分類結果各項指標 %
通過對SVM、CNN、LSTM、U-NET的分類結果關鍵指標對比分析可知,本文的U-NET模型在對心電片段進行心律失常分類時,同樣獲得了比較高的準確度。本文的U-NET模型的靈敏度和正陽性率指標稍低,表現在網絡對不同種類型交界處的心拍與片段邊緣兩側的心拍處產生了錯誤的預測,但對于整條信號片段的各類型的劃分功能影響不大。從整體來看,本文的方法保證了較高識別準確度,通過輸出標簽地圖,可直接劃分出混合類型片段中的每個心拍的位置與類型。
本文基于U-NET全卷積神經網絡設計了一種心電信號語義分割的識別方法。本文首先介紹了網絡模型的工作原理,然后給出了針對心電信號識別問題的修改網絡模型,并介紹了樣本切片與標簽方式,最后通過對網絡模型的測試,得到其分類效果。與常規(guī)的心電信號分類方法相比,本文的方法無需QRS檢測算法與特征設計,同時又可精確地劃分出每條片段中每類心拍的位置和類型,處理混合心律失常類型的心電片段,具有較高的實用價值。