ST段的形態變化和心血管疾病息息相關,不僅能表征不同的疾病,并且能夠預示患病的嚴重程度。但ST段持續時間短、能量低、形態多變并且受到多種噪聲的干擾,導致ST段形態分類成為一個難題。本文針對目前ST段形態分類存在的特征提取單一、分類準確率低等問題,利用ST曲面的梯度來提高ST段形態多分類的精度。本文對正常、上斜型抬高、弓背型抬高、水平型壓低、弓背型壓低五種ST段形態進行識別,首先根據QRS波群位置及醫學統計規律選定一個ST段候選段,其次提取ST段面積、均值、與參考基線差值、斜率、均方差特征。此外,將ST段轉換成曲面,提取ST曲面的梯度特征,與形態學特征組成特征向量,最后使用支持向量機分類,進而實現ST段形態多分類。采用麻省理工學院-貝斯以色列醫院數據庫(MITDB)和歐盟ST-T數據庫(EDB)為數據來源對本文算法進行驗證,結果顯示,本文算法在ST段識別過程中分別達到了97.79%和95.60%的平均準確率。基于本文研究結果,期望今后可在臨床環境中引入本文方法,為臨床中心血管疾病的診斷提供形態指導,提高診斷效率。
引用本文: 杜海曼, 邊婷, 熊鵬, 楊建利, 張杰爍, 劉秀玲. 基于支持向量機多特征融合ST段形態分類. 生物醫學工程學雜志, 2022, 39(4): 702-712. doi: 10.7507/1001-5515.202110015 復制
引言
心電圖是心血管疾病診斷的有效手段,每種心臟狀況都有一套特定的標準,其中ST段形態改變不僅能表征不同的疾病,并且能夠預示患病的嚴重程度[1]。ST段是指從QRS綜合波群終點到T波開始之間的一段,由于ST段頻率低,形態變化多樣,易受到基線漂移等低頻噪聲影響,使得醫生從視覺中提取ST段的相關特征并不容易[2],ST段形態自動識別與分類成為了目前的研究難點。本研究的目的是準確檢測異常的ST段,并將ST段分為更多的類別,從而提供更詳細的類別信息,幫助臨床醫生做出決策。
隨著大量學者對ST段形態分類不斷深入地研究,ST段的形態分類從最初正常、抬高、壓低這種簡單的三分類發展到了如今更為精確的多形態分類,為醫生對心血管疾病的診斷治療提供了重要的參考依據。目前,對于ST段形態的識別,常用的方法有斜率法、函數擬合法、小波變換法。Shen等[3]將ST段形態識別分為兩部分,首先使用小波變換和形態學方法計算得到ST段偏移方向,然后再利用小波變換提取ST段的特征,根據這些特征將ST段形態分為抬高、壓低、正常,取得了明顯的效果。但該分類方法包含三個步驟,先判斷偏差,再判斷直線類型,最后判斷曲線類型,過程中需要設定不同的閾值,閾值不同會導致分類結果不同,因此特異性較差。黎承濤[4]提出在曲率尺度空間中利用多尺度分析方法獲取ST段中彎曲程度最大的點,最后根據該點即可判斷ST段的形態。該文將ST段形態分為水平、上斜、下斜、凸型、凹形五種形態,但該方法對噪聲點比較敏感,由于低頻噪聲的影響,曲率曲線中含有大量多余的曲率極值,特征點定位存在一定的誤差。師黎等[5]使用小波變換法檢測ST段,首先對心電信號用二次小波分解,利用奇異點值和模極大值的對應關系求出心電信號中關鍵的特征點,然后對ST段線性擬合,識別出ST段形態。采用麻省理工學院-貝斯以色列醫院數據庫(the Massachusetts institute of technology and Beth Israel hospital arrhythmia database,MITDB)驗證,實驗結果表明,該算法可提高ST段分析的可靠性和準確性,為臨床心血管疾病的診斷提供了依據。Firoozabadi等[6]引入二次多項式回歸算法對ST段形態進行建模分類,將ST段形態分為凹形和凸型,該方法在凹凸度檢測方面表現出顯著的改進。但是該方法忽視了邊界凹凸度以及曲率方程的高度非線性,并且該方法只做了凹型和凸型ST段的分類,對直線型分類效果不佳。Wang等[7]提出了一種基于多特征提取的逐拍ST偏差分類算法,提取偏差、面積、均方差、龐加萊等特征,采用隨機森林將ST段形態分為正常、抬高、壓低三種形態,采用歐洲心臟病學會提供的歐盟ST-T數據庫(European ST-T database,EDB)進行驗證,得到正常ST段、壓低ST段和抬高ST段的識別準確率分別為85.2%、86.9%和88.8%,該方法只適用于抬高、正常、壓低的三分類,不能應用于ST段形態的多分類。Harun-Ar-Rashi等[8]提出監督信號,利用互相關監督數據對ST段形態分類,將ST段形態分為上斜、下斜、凹形、凸型、正常五種形態,采用MITDB、EDB進行驗證,獲得了92.1%平均精度。但是監督信號的建立存在難度,模板匹配準確度不高,算法實現的過程中可能存在一定的誤差,一定程度上影響了分類效果。
雖然已經有多種方法被應用于ST段形態分類,方法逐漸多樣化,精度逐漸提高,但是仍存在難點與不足。由于ST段頻率低,易受到基線漂移等低頻噪聲的干擾,特征點的檢測存在誤差,ST段的持續時間較短,面積等特征不足以顯示多種ST段形態之間的差異,導致大多數方法對三分類結果比較理想,對于多分類的分類效果不佳。
本文提出了一種基于支持向量機(support vector machine,SVM)的多特征融合算法,將ST段分為正常、上斜型抬高、弓背型抬高、水平型壓低、弓背型壓低五種形態,實現了多分類,并在面積、均值、差值、斜率、均方差特征的基礎上,加入了ST曲面的梯度特征。ST曲面是由ST段通過函數轉換而來,ST段形態不同,轉換成的ST曲面不同,進而曲面的梯度也不相同。ST曲面的梯度特征增加了不同形態間的差異性,提高了ST段多分類的準確率。此外,心電信號存在個體差異性,ST段的形態復雜多變,模板的建立較為困難,導致準確度不高。本實驗基于多特征提取并通過SVM對心電信號的ST段進行分類,以期避免模板建立困難的問題,最終期望達到算法分類結果優于其他傳統分類算法的目的。
1 方法
如圖1所示,本文基于SVM多特征融合算法對ST段形態的分類,主要包括心電信號預處理、特征點檢測、ST候選段選取、特征提取、分類。首先,利用連續小波變換和中值濾波器對心電信號進行降噪,并對待檢段進行平滑處理,消除工頻干擾、基線漂移等噪聲的干擾,降低毛刺對ST段特征點檢測的影響。然后,利用潘-湯普金斯(Pan-Tompkins,PT)算法[9]進行特征點的檢測,確定ST段候選段,即搜索QRS波起點的疑似點,通過疑似點與R峰值的幅值和角度,確定QRS波的起點[10]。其次,對候選ST段進行特征提取,包括:面積、均值、差值、斜率、均方差、梯度,并組合成特征向量,解決特征單一,多分類效果不佳問題。最后通過SVM分類模型,實現ST段形態的識別與分類。

1.1 數據庫
本文采用MITDB(網址為:https://archive.physionet.org/physiobank/database/mitdb/)和EDB(網址為:https://archive.physionet.org/physiobank/database/edb/)收錄的心電數據[11]。其中,MITDB包含了各種類型心律失常的心電信號,采樣頻率為360 Hz,本文選取100~119號文件作為實驗樣本[12]。EDB包含了各種類型的ST段,采樣頻率為250 Hz,共90個心電信號文件,367個異常的ST片段,并且由兩位心血管疾病專家分別給心電信號的每個節拍做標注,記錄ST段形態變化[13]。
如圖2所示,本文結合數據庫中專家的標注及臨床醫生歸類,總結出五種常見且具有臨床意義的典型ST段:正常、上斜型抬高、弓背型抬高、水平型壓低、弓背型壓低,ST段呈上斜型抬高多見于急性心包炎、變異型心絞痛等;ST段呈弓背型抬高多見于急性期心肌梗死及重癥心肌炎等;ST段呈水平型壓低多見于心肌缺血、勞損及心肌炎等;ST段呈弓背型壓低多見于冠狀動脈病變,心肌勞損等[14-15]。

1.2 心電信號預處理
心電信號受到的干擾集中表現為基線漂移、肌電干擾、工頻干擾、導聯電極接觸產生的噪聲等,本文重點通過連續小波變換和中值濾波器對前三種噪聲進行處理,首先利用四層平穩小波變換對心電信號降噪,去除工頻干擾和肌電干擾,并對待檢測段進行平滑處理,降低毛刺對ST段識別的影響;然后再利用中值濾波器去除基線漂移[16],降低對ST候選段特征提取的影響。具體步驟為:先采用200 ms中值濾波器去除QRS波和P波,再利用600 ms的中值濾波器去除T波,最后用原始信號與其相減,得到去除基線漂移的心電信號,去噪效果如圖3所示。

1.3 ST候選段的確定
本文先采用傳統的PT算法[9],檢測心電信號的R峰值點,記為R,然后取R點向前100 ms為時間窗的寬度,搜索QRS波起點的疑似點,最后通過疑似點與R峰值的幅值和角度,確定QRS波的起點,即Q點[10],檢測結果如圖4所示。

ST段的起點采用R+X法[11],檢測到R點的位置后,將R點之后的第X個采樣點處的點作為ST段的起點,根據心率的不同,X的取值不同,如式(1)所示:
![]() |
式中,RR代表兩個相鄰心拍的R點間隔,X代表R點之后的采樣點數。
ST段的長度為80~120 ms,為了確保選取到所有的ST段,本實驗在EDB選取120 ms,即30個采樣點。為保證數據長度一致,在MITDB同樣選取30個采樣點。結合數據庫中專家的標注及臨床醫生的歸類結果,最終數據集的組成如表1所示。

1.4 特征提取
參考基線選取的方法有三種,平穩無干擾時采用TP段,或者采用QRS波起始部作為參考基線,有干擾時采用兩個相鄰心搏的QRS波群的起點的連線作為基線。因為EDB中對ST段形態的標注,是根據QRS波起始部作為參考基線,所以本實驗采用Q點前十個采樣點的均值作為參考基線[13]。
經過上述處理得到平滑無噪聲干擾ST段,對其進行特征提取:
(1)ST段的平均值,即整個ST段的平均幅值,可以反映ST段幅值的平均狀況,如式(2)所示:
![]() |
其中,STm表示ST段的平均值,N = 30,N為序列的長度,i表示同一序列中對應點所在位置, 表示第 i 個采樣點處ST段的幅值。
(2)ST段與參考基線的差值,即ST段的平均幅值與參考基線的幅值進行比較,不同形態ST段的平均值與參考基線的差值不同,弓背型抬高和上斜型抬高ST段與參考基線的差值均大于弓背型壓低和水平型壓低ST段與參考基線的差值,進而可以初步判斷ST段的形態為抬高還是壓低,計算方法如式(3)所示:
![]() |
其中,STD表示ST段與參考基線的差值, 表示ST段的參考基線的值。
(3)標準差,可以展現曲線的離散程度,反映了ST段的幅值與基線差值平均的情況,弓背型抬高和弓背型壓低ST段的離散程度大于上斜型和水平型ST段的離散程度,計算方法如式(4)所示:
![]() |
其中, 表示ST段幅值的標準差。
(4)ST段的面積,即ST段的起點到ST段的終點,與參考基線所圍成的面積,如圖5陰影部分所示,可以表示ST段偏差的大小,抬高型ST段距離參考基線較遠,因此抬高型ST段與參考基線所圍成的面積大于壓低型ST段與參考基線所圍成的面積,計算方法如式(5)所示:

![]() |
其中,STS表示ST段與參考基線所圍成的面積, 表示由ST段構成的函數。
(5)ST段的斜率,即ST候選段兩端點的斜率,表示ST段的大概走向,用于判斷ST段的傾斜方向,不同形態的ST段斜率不同,上斜型ST段的斜率大于水平型ST段,計算方法如式(6)所示:
![]() |
其中,STk表示ST段的斜率,xoff表示ST段終點的幅值,xon表示ST段起點的幅值。
(6)梯度表示某一函數在該點處的方向導數沿著該方向取得最大值。ST曲面的梯度,可以展現ST曲面的變化趨勢以及變化率。
由于ST段持續時間短、能量低,既存在抬高壓低的幅值變化又存在弓背型、上斜型等形態的變化,僅用二維的數學形態如面積、差值等,可以有效區分ST段的三種形態,但對ST段的五種形態不能進行有效區分,因此需要尋找更有效的特征對ST段的五種形態進行區分。將ST段轉換為三維的曲面,轉換過程中,通過平方和的運算不僅可以增加形態間的差異,而且立體的圖形更能直觀地展現出不同形態間的差異。又由于ST段形態的變化會引起曲面梯度的變化,進而不同的ST段曲面的梯度值是不同的,變化率較大時,梯度值較大,相反,變化率較小時,梯度值較小。
綜上,ST曲面上的梯度能夠更好地展示ST段變化趨勢,因此通過函數 將ST段由二維的曲線轉換為三維的曲面,轉換公式如式(7)所示:
![]() |
其中, 為ST曲線轉化后的曲面,STN為ST段不同時刻的幅值。
函數ex為指數函數,單調遞增且函數值大于零,通過與x相乘,可得到若0,則z
0;若x < 0,則z < 0;不改變ST段的最初性質,可得到若z > 0,則ST段抬高;若z < 0,則ST段壓低。其次,通過x與y的平方運算可以放大函數特征,不同形態ST段梯度值的差異也會更為明顯,轉換結果如圖6所示。

設函數h = f (x, y),在平面區域D內具有一階連續偏導數,那么對于每一個屬于平面區域D內的點M(x, y),在點M處的梯度gradf(x, y)計算方法如式(8)所示:
![]() |
其中,表示函數h=f (x, y)在點
的梯度。
為向量微分算子。
梯度G是一個具有大小和方向的矢量,設Gx為水平方向的梯度,Gy為垂直方向的梯度,計算方法如式(9)、式(10)所示:
![]() |
![]() |
其中,i和j表示點對應的位置, 表示函數中對應的點,
表示對應點的梯度。
取ST曲面上任意一點,該點的水平方向和垂直方向的梯度分別表示為 和
,根據式(9)、式(10)可求得該點的水平方向和垂直方向的梯度。
這個梯度的矢量的幅度計算方法如式(11)所示:
![]() |
其中, 表示梯度的矢量的幅度,即梯度的模。
梯度的方向是曲面上的點在ST曲面 上變化最快的方向,曲面上的梯度值隨著ST段形態的變化而變化,因此不同ST曲面的梯度不同。為了減少冗余特征的影響,通過對比實驗分析,ST曲面對角線上的點的梯度值,對不同形態的ST段而言,差異最為明顯,因此本實驗選取ST曲面對角線上的點,共30個梯度值,作為不同形態ST段的特征,與其他特征組成特征向量,進而對不同形態的ST段進行分類。
1.5 分類器構建
SVM是一種基于統計學習維數理論和結構風險最小化的機器學習方法,用于解決分類和函數逼近問題,其機制是尋找最優的分類超平面,以滿足分類要求[17-18]。ST段形態分類的超平面f(x)的表示方法如式(12)所示:
![]() |
其中,w為超平面的法向量,x為特征向量,b為超平面的平移距離。
當核函數應用于SVM時,SVM可以用于非線性分類,高斯徑向基核函數具有高效的調節能力,因此選用高斯徑向基作為核函數,如式(13)所示:
![]() |
其中,R(xi , x)是核函數,exp指以自然常數e為底的指數函數,xi是由特征構成的特征空間,g是核函數參數,g對SVM的分類性能有重要影響。
由于ST段的形態復雜,在分類過程中,會存在一些樣本違反了SVM分類的原則,例如:水平型壓低,并不是絕對的水平,也會有凹凸變化,導致ST段形態不可分、錯分等現象。因此目標函數中加入松弛變量、懲罰參數,來提高分類器的泛化能力[19],加入懲罰參數后,目標函數和約束條件如式(14)所示:
![]() |
其中,c表示懲罰參數, 表示松弛變量,
表示約束于,
為映射函數,yi表示學習目標,
表示閾值,m表示特征向量的長度。
本文通過遺傳算法優化SVM分類器的性能[19],迭代次數為200次,通過實驗,最終確定參數c、g的最優值分別為75.876 9、0.179 8。
2 實驗結果及分析
2.1 評估指標
本文采用準確率(accuracy,Acc)、精確率(precision,Pre)、召回率(recall,R)和調和均值(f-measure,F)四個參數對檢測結果進行評估。其中,Acc是所有預測正確的樣本占總樣本的比重,Pre是該類預測正確的樣本占總的預測為該類樣本的比重,R是該類預測正確的樣本占該類總樣本的比重,F是精確率和召回率的加權調和平均值,四個參數具體定義式如式(15)~(18)所示:
![]() |
![]() |
![]() |
![]() |
其中,真陽性(true positives,TP)為該類ST段的形態被正確判定的數目,真陰性(true negatives,TN)為其他類ST段被判定正確的數目,假陽性(false positives,FP)為其他類型的ST段形態被判定為該類型的數目,假陰性(false negatives,FN)為該類ST段形態被判定錯誤的數目。
2.2 結果和討論
將上述處理方法提取到的面積、均值、與參考基線差值、斜率、均方差、梯度,共35個特征值,組合成特征向量,輸入到SVM模型中,將每類樣本的70%作為訓練集,其中包括正常樣本9 979個、弓背型抬高樣本6 087個、上斜型抬高樣本9 218個、弓背型壓低樣本4 549個、水平型壓低樣本5 718個,共35 550個,余下30%的樣本作為測試集。
2.2.1 本實驗結果
本文采用MITDB和EDB中的數據進行驗證,在重復實驗次數下,SVM分類器在訓練集上的平均準確率為99.68%,其對測試數據的識別結果和混淆矩陣如表2、表3所示。其中,橫軸為真實標簽,縱軸為預測標簽。


如表4所示,MITDB可得到分類平均準確率為97.79%,EDB可得到分類平均準確率為95.60%,各類別形態具體的識別精確率詳見表4。MITDB中水平型壓低識別精確率低于90%,因為水平形狀并不是完全水平,由于噪聲的影響可能會有凹凸的變化,被誤分為弓背型壓低。但EDB中,水平壓低有更高的準確性,因為數據庫中的水平信號更為平滑,故準確性更高。

2.2.2 有無梯度分類結果對比
如圖7所示,只加入ST段面積、均值、與參考基線差值、斜率、均方差特征,不加入梯度特征時,MITDB和EDB的分類準確率分別為93.53%和92.72%,加入梯度特征值時,MITDB和EDB的分類準確率分別為97.79%和95.60%。加入梯度特征與未加入梯度特征相比,ST段識別平均準確率提升了約3%。其中上斜型抬高、弓背型抬高的精確率都得到了提升,因此梯度可以有效區分直線型和曲線型的ST段形態。

如圖8所示,不同ST段形態的變化率不同,弓背型抬高和弓背型壓低ST段的變化率隨著時間的推移,由大到小,最后趨于平穩;上斜型ST段變化率基本在一個固定值上下浮動;水平型ST段變化率在零附近上下浮動。因此,不同形態的ST段通過相同的函數,轉換成的ST曲面不同,面上的點的梯度也不同,梯度可以展現ST曲面上不同點變化方向和速度,不同形態的ST段轉換成的ST曲面,梯度分布存在較為明顯的差異。因此,通過計算ST曲面的梯度值,可以提高不同形態之間的差異性,對ST段多形態分類提供更多依據,從而提高分類精度。梯度對ST段的曲線類型能夠很好地區分,而面積、偏差等特征能夠很好地區分ST段的上斜、抬高、壓低,因此將上述特征進行融合,對ST段的多分類可以達到理想效果。

本文采用過濾式特征選擇擴展算法來計算各類特征的權重,分析不同特征對分類結果的影響。如圖9所示,面積是分類結果重要的影響因素,它代表了ST段整體的偏差大小以及偏差的方向。由于面積是對曲線ST段的積分,變相地將原本相對較小的差異進行累加,進而增加了不同形態間的差異性,因此面積對分類結果有著重要的影響。但是,其他特征也有助于分類,如果只使用面積特征,達不到理想的分類結果,多特征融合可以更好地表征ST段變化的性質,降低患者特異性和導聯特異性的影響,從而提高準確性。

2.2.3 與其他方法對比分析
為評估本文分類算法的性能,分別與現有ST段形態分類算法進行了比較,如表5所示。文獻[4]基于曲率尺度空間技術識別ST段形態,采用EDB驗證得到86.66%的平均準確率,文獻[7]基于多特征提取的ST段形態分類方法,采用EDB驗證得到86.97%的平均準確率,文獻[8]基于互相關ST段形態建模分類,采用EDB驗證得到88.20%的平均準確率,本文算法采用EDB驗證得到95.60%的平均準確率。文獻[12]基于小波變換的ST段形態分類算法,采用MITDB驗證得到91.83%的平均準確率,本文算法采用MITDB驗證得到97.79%的平均準確率。綜上,本文所提出的基于SVM多特征融合算法經MITDB和EDB驗證平均準確率為96.70%,分類結果均優于上述方法,并且沒有涉及到曲率的計算,避免了在識別分類過程中曲率極值受噪聲點影響,同時避免了模板建立難度大等問題。

3 結論
本文提出了一種多特征融合的ST段分類算法,多種特征提取有助于更好地探索ST段偏差的本質,降低患者特異性和導聯特異性的影響,從而提高準確性,使用SVM分類器將ST段形態分為正常、上斜型抬高,弓背型抬高、水平型壓低和弓背型壓低共五種。經MITDB和EDB驗證,分類準確率分為97.79%和95.60%,平均分類準確率為96.70%。所提出的方法優于傳統分類方法。該算法可應用于心電監護,有助于ST段形態的自動識別,給醫生提供更直觀、有效的信息。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:杜海曼主要負責項目主持、平臺搭建、算法程序設計、協調溝通以及計劃安排。邊婷、熊鵬、楊建利主要負責實驗流程、數據記錄與分析、論文編寫以及算法程序設計。張杰爍、劉秀玲主要負責提供實驗指導,數據分析指導,論文審閱修訂。
引言
心電圖是心血管疾病診斷的有效手段,每種心臟狀況都有一套特定的標準,其中ST段形態改變不僅能表征不同的疾病,并且能夠預示患病的嚴重程度[1]。ST段是指從QRS綜合波群終點到T波開始之間的一段,由于ST段頻率低,形態變化多樣,易受到基線漂移等低頻噪聲影響,使得醫生從視覺中提取ST段的相關特征并不容易[2],ST段形態自動識別與分類成為了目前的研究難點。本研究的目的是準確檢測異常的ST段,并將ST段分為更多的類別,從而提供更詳細的類別信息,幫助臨床醫生做出決策。
隨著大量學者對ST段形態分類不斷深入地研究,ST段的形態分類從最初正常、抬高、壓低這種簡單的三分類發展到了如今更為精確的多形態分類,為醫生對心血管疾病的診斷治療提供了重要的參考依據。目前,對于ST段形態的識別,常用的方法有斜率法、函數擬合法、小波變換法。Shen等[3]將ST段形態識別分為兩部分,首先使用小波變換和形態學方法計算得到ST段偏移方向,然后再利用小波變換提取ST段的特征,根據這些特征將ST段形態分為抬高、壓低、正常,取得了明顯的效果。但該分類方法包含三個步驟,先判斷偏差,再判斷直線類型,最后判斷曲線類型,過程中需要設定不同的閾值,閾值不同會導致分類結果不同,因此特異性較差。黎承濤[4]提出在曲率尺度空間中利用多尺度分析方法獲取ST段中彎曲程度最大的點,最后根據該點即可判斷ST段的形態。該文將ST段形態分為水平、上斜、下斜、凸型、凹形五種形態,但該方法對噪聲點比較敏感,由于低頻噪聲的影響,曲率曲線中含有大量多余的曲率極值,特征點定位存在一定的誤差。師黎等[5]使用小波變換法檢測ST段,首先對心電信號用二次小波分解,利用奇異點值和模極大值的對應關系求出心電信號中關鍵的特征點,然后對ST段線性擬合,識別出ST段形態。采用麻省理工學院-貝斯以色列醫院數據庫(the Massachusetts institute of technology and Beth Israel hospital arrhythmia database,MITDB)驗證,實驗結果表明,該算法可提高ST段分析的可靠性和準確性,為臨床心血管疾病的診斷提供了依據。Firoozabadi等[6]引入二次多項式回歸算法對ST段形態進行建模分類,將ST段形態分為凹形和凸型,該方法在凹凸度檢測方面表現出顯著的改進。但是該方法忽視了邊界凹凸度以及曲率方程的高度非線性,并且該方法只做了凹型和凸型ST段的分類,對直線型分類效果不佳。Wang等[7]提出了一種基于多特征提取的逐拍ST偏差分類算法,提取偏差、面積、均方差、龐加萊等特征,采用隨機森林將ST段形態分為正常、抬高、壓低三種形態,采用歐洲心臟病學會提供的歐盟ST-T數據庫(European ST-T database,EDB)進行驗證,得到正常ST段、壓低ST段和抬高ST段的識別準確率分別為85.2%、86.9%和88.8%,該方法只適用于抬高、正常、壓低的三分類,不能應用于ST段形態的多分類。Harun-Ar-Rashi等[8]提出監督信號,利用互相關監督數據對ST段形態分類,將ST段形態分為上斜、下斜、凹形、凸型、正常五種形態,采用MITDB、EDB進行驗證,獲得了92.1%平均精度。但是監督信號的建立存在難度,模板匹配準確度不高,算法實現的過程中可能存在一定的誤差,一定程度上影響了分類效果。
雖然已經有多種方法被應用于ST段形態分類,方法逐漸多樣化,精度逐漸提高,但是仍存在難點與不足。由于ST段頻率低,易受到基線漂移等低頻噪聲的干擾,特征點的檢測存在誤差,ST段的持續時間較短,面積等特征不足以顯示多種ST段形態之間的差異,導致大多數方法對三分類結果比較理想,對于多分類的分類效果不佳。
本文提出了一種基于支持向量機(support vector machine,SVM)的多特征融合算法,將ST段分為正常、上斜型抬高、弓背型抬高、水平型壓低、弓背型壓低五種形態,實現了多分類,并在面積、均值、差值、斜率、均方差特征的基礎上,加入了ST曲面的梯度特征。ST曲面是由ST段通過函數轉換而來,ST段形態不同,轉換成的ST曲面不同,進而曲面的梯度也不相同。ST曲面的梯度特征增加了不同形態間的差異性,提高了ST段多分類的準確率。此外,心電信號存在個體差異性,ST段的形態復雜多變,模板的建立較為困難,導致準確度不高。本實驗基于多特征提取并通過SVM對心電信號的ST段進行分類,以期避免模板建立困難的問題,最終期望達到算法分類結果優于其他傳統分類算法的目的。
1 方法
如圖1所示,本文基于SVM多特征融合算法對ST段形態的分類,主要包括心電信號預處理、特征點檢測、ST候選段選取、特征提取、分類。首先,利用連續小波變換和中值濾波器對心電信號進行降噪,并對待檢段進行平滑處理,消除工頻干擾、基線漂移等噪聲的干擾,降低毛刺對ST段特征點檢測的影響。然后,利用潘-湯普金斯(Pan-Tompkins,PT)算法[9]進行特征點的檢測,確定ST段候選段,即搜索QRS波起點的疑似點,通過疑似點與R峰值的幅值和角度,確定QRS波的起點[10]。其次,對候選ST段進行特征提取,包括:面積、均值、差值、斜率、均方差、梯度,并組合成特征向量,解決特征單一,多分類效果不佳問題。最后通過SVM分類模型,實現ST段形態的識別與分類。

1.1 數據庫
本文采用MITDB(網址為:https://archive.physionet.org/physiobank/database/mitdb/)和EDB(網址為:https://archive.physionet.org/physiobank/database/edb/)收錄的心電數據[11]。其中,MITDB包含了各種類型心律失常的心電信號,采樣頻率為360 Hz,本文選取100~119號文件作為實驗樣本[12]。EDB包含了各種類型的ST段,采樣頻率為250 Hz,共90個心電信號文件,367個異常的ST片段,并且由兩位心血管疾病專家分別給心電信號的每個節拍做標注,記錄ST段形態變化[13]。
如圖2所示,本文結合數據庫中專家的標注及臨床醫生歸類,總結出五種常見且具有臨床意義的典型ST段:正常、上斜型抬高、弓背型抬高、水平型壓低、弓背型壓低,ST段呈上斜型抬高多見于急性心包炎、變異型心絞痛等;ST段呈弓背型抬高多見于急性期心肌梗死及重癥心肌炎等;ST段呈水平型壓低多見于心肌缺血、勞損及心肌炎等;ST段呈弓背型壓低多見于冠狀動脈病變,心肌勞損等[14-15]。

1.2 心電信號預處理
心電信號受到的干擾集中表現為基線漂移、肌電干擾、工頻干擾、導聯電極接觸產生的噪聲等,本文重點通過連續小波變換和中值濾波器對前三種噪聲進行處理,首先利用四層平穩小波變換對心電信號降噪,去除工頻干擾和肌電干擾,并對待檢測段進行平滑處理,降低毛刺對ST段識別的影響;然后再利用中值濾波器去除基線漂移[16],降低對ST候選段特征提取的影響。具體步驟為:先采用200 ms中值濾波器去除QRS波和P波,再利用600 ms的中值濾波器去除T波,最后用原始信號與其相減,得到去除基線漂移的心電信號,去噪效果如圖3所示。

1.3 ST候選段的確定
本文先采用傳統的PT算法[9],檢測心電信號的R峰值點,記為R,然后取R點向前100 ms為時間窗的寬度,搜索QRS波起點的疑似點,最后通過疑似點與R峰值的幅值和角度,確定QRS波的起點,即Q點[10],檢測結果如圖4所示。

ST段的起點采用R+X法[11],檢測到R點的位置后,將R點之后的第X個采樣點處的點作為ST段的起點,根據心率的不同,X的取值不同,如式(1)所示:
![]() |
式中,RR代表兩個相鄰心拍的R點間隔,X代表R點之后的采樣點數。
ST段的長度為80~120 ms,為了確保選取到所有的ST段,本實驗在EDB選取120 ms,即30個采樣點。為保證數據長度一致,在MITDB同樣選取30個采樣點。結合數據庫中專家的標注及臨床醫生的歸類結果,最終數據集的組成如表1所示。

1.4 特征提取
參考基線選取的方法有三種,平穩無干擾時采用TP段,或者采用QRS波起始部作為參考基線,有干擾時采用兩個相鄰心搏的QRS波群的起點的連線作為基線。因為EDB中對ST段形態的標注,是根據QRS波起始部作為參考基線,所以本實驗采用Q點前十個采樣點的均值作為參考基線[13]。
經過上述處理得到平滑無噪聲干擾ST段,對其進行特征提取:
(1)ST段的平均值,即整個ST段的平均幅值,可以反映ST段幅值的平均狀況,如式(2)所示:
![]() |
其中,STm表示ST段的平均值,N = 30,N為序列的長度,i表示同一序列中對應點所在位置, 表示第 i 個采樣點處ST段的幅值。
(2)ST段與參考基線的差值,即ST段的平均幅值與參考基線的幅值進行比較,不同形態ST段的平均值與參考基線的差值不同,弓背型抬高和上斜型抬高ST段與參考基線的差值均大于弓背型壓低和水平型壓低ST段與參考基線的差值,進而可以初步判斷ST段的形態為抬高還是壓低,計算方法如式(3)所示:
![]() |
其中,STD表示ST段與參考基線的差值, 表示ST段的參考基線的值。
(3)標準差,可以展現曲線的離散程度,反映了ST段的幅值與基線差值平均的情況,弓背型抬高和弓背型壓低ST段的離散程度大于上斜型和水平型ST段的離散程度,計算方法如式(4)所示:
![]() |
其中, 表示ST段幅值的標準差。
(4)ST段的面積,即ST段的起點到ST段的終點,與參考基線所圍成的面積,如圖5陰影部分所示,可以表示ST段偏差的大小,抬高型ST段距離參考基線較遠,因此抬高型ST段與參考基線所圍成的面積大于壓低型ST段與參考基線所圍成的面積,計算方法如式(5)所示:

![]() |
其中,STS表示ST段與參考基線所圍成的面積, 表示由ST段構成的函數。
(5)ST段的斜率,即ST候選段兩端點的斜率,表示ST段的大概走向,用于判斷ST段的傾斜方向,不同形態的ST段斜率不同,上斜型ST段的斜率大于水平型ST段,計算方法如式(6)所示:
![]() |
其中,STk表示ST段的斜率,xoff表示ST段終點的幅值,xon表示ST段起點的幅值。
(6)梯度表示某一函數在該點處的方向導數沿著該方向取得最大值。ST曲面的梯度,可以展現ST曲面的變化趨勢以及變化率。
由于ST段持續時間短、能量低,既存在抬高壓低的幅值變化又存在弓背型、上斜型等形態的變化,僅用二維的數學形態如面積、差值等,可以有效區分ST段的三種形態,但對ST段的五種形態不能進行有效區分,因此需要尋找更有效的特征對ST段的五種形態進行區分。將ST段轉換為三維的曲面,轉換過程中,通過平方和的運算不僅可以增加形態間的差異,而且立體的圖形更能直觀地展現出不同形態間的差異。又由于ST段形態的變化會引起曲面梯度的變化,進而不同的ST段曲面的梯度值是不同的,變化率較大時,梯度值較大,相反,變化率較小時,梯度值較小。
綜上,ST曲面上的梯度能夠更好地展示ST段變化趨勢,因此通過函數 將ST段由二維的曲線轉換為三維的曲面,轉換公式如式(7)所示:
![]() |
其中, 為ST曲線轉化后的曲面,STN為ST段不同時刻的幅值。
函數ex為指數函數,單調遞增且函數值大于零,通過與x相乘,可得到若0,則z
0;若x < 0,則z < 0;不改變ST段的最初性質,可得到若z > 0,則ST段抬高;若z < 0,則ST段壓低。其次,通過x與y的平方運算可以放大函數特征,不同形態ST段梯度值的差異也會更為明顯,轉換結果如圖6所示。

設函數h = f (x, y),在平面區域D內具有一階連續偏導數,那么對于每一個屬于平面區域D內的點M(x, y),在點M處的梯度gradf(x, y)計算方法如式(8)所示:
![]() |
其中,表示函數h=f (x, y)在點
的梯度。
為向量微分算子。
梯度G是一個具有大小和方向的矢量,設Gx為水平方向的梯度,Gy為垂直方向的梯度,計算方法如式(9)、式(10)所示:
![]() |
![]() |
其中,i和j表示點對應的位置, 表示函數中對應的點,
表示對應點的梯度。
取ST曲面上任意一點,該點的水平方向和垂直方向的梯度分別表示為 和
,根據式(9)、式(10)可求得該點的水平方向和垂直方向的梯度。
這個梯度的矢量的幅度計算方法如式(11)所示:
![]() |
其中, 表示梯度的矢量的幅度,即梯度的模。
梯度的方向是曲面上的點在ST曲面 上變化最快的方向,曲面上的梯度值隨著ST段形態的變化而變化,因此不同ST曲面的梯度不同。為了減少冗余特征的影響,通過對比實驗分析,ST曲面對角線上的點的梯度值,對不同形態的ST段而言,差異最為明顯,因此本實驗選取ST曲面對角線上的點,共30個梯度值,作為不同形態ST段的特征,與其他特征組成特征向量,進而對不同形態的ST段進行分類。
1.5 分類器構建
SVM是一種基于統計學習維數理論和結構風險最小化的機器學習方法,用于解決分類和函數逼近問題,其機制是尋找最優的分類超平面,以滿足分類要求[17-18]。ST段形態分類的超平面f(x)的表示方法如式(12)所示:
![]() |
其中,w為超平面的法向量,x為特征向量,b為超平面的平移距離。
當核函數應用于SVM時,SVM可以用于非線性分類,高斯徑向基核函數具有高效的調節能力,因此選用高斯徑向基作為核函數,如式(13)所示:
![]() |
其中,R(xi , x)是核函數,exp指以自然常數e為底的指數函數,xi是由特征構成的特征空間,g是核函數參數,g對SVM的分類性能有重要影響。
由于ST段的形態復雜,在分類過程中,會存在一些樣本違反了SVM分類的原則,例如:水平型壓低,并不是絕對的水平,也會有凹凸變化,導致ST段形態不可分、錯分等現象。因此目標函數中加入松弛變量、懲罰參數,來提高分類器的泛化能力[19],加入懲罰參數后,目標函數和約束條件如式(14)所示:
![]() |
其中,c表示懲罰參數, 表示松弛變量,
表示約束于,
為映射函數,yi表示學習目標,
表示閾值,m表示特征向量的長度。
本文通過遺傳算法優化SVM分類器的性能[19],迭代次數為200次,通過實驗,最終確定參數c、g的最優值分別為75.876 9、0.179 8。
2 實驗結果及分析
2.1 評估指標
本文采用準確率(accuracy,Acc)、精確率(precision,Pre)、召回率(recall,R)和調和均值(f-measure,F)四個參數對檢測結果進行評估。其中,Acc是所有預測正確的樣本占總樣本的比重,Pre是該類預測正確的樣本占總的預測為該類樣本的比重,R是該類預測正確的樣本占該類總樣本的比重,F是精確率和召回率的加權調和平均值,四個參數具體定義式如式(15)~(18)所示:
![]() |
![]() |
![]() |
![]() |
其中,真陽性(true positives,TP)為該類ST段的形態被正確判定的數目,真陰性(true negatives,TN)為其他類ST段被判定正確的數目,假陽性(false positives,FP)為其他類型的ST段形態被判定為該類型的數目,假陰性(false negatives,FN)為該類ST段形態被判定錯誤的數目。
2.2 結果和討論
將上述處理方法提取到的面積、均值、與參考基線差值、斜率、均方差、梯度,共35個特征值,組合成特征向量,輸入到SVM模型中,將每類樣本的70%作為訓練集,其中包括正常樣本9 979個、弓背型抬高樣本6 087個、上斜型抬高樣本9 218個、弓背型壓低樣本4 549個、水平型壓低樣本5 718個,共35 550個,余下30%的樣本作為測試集。
2.2.1 本實驗結果
本文采用MITDB和EDB中的數據進行驗證,在重復實驗次數下,SVM分類器在訓練集上的平均準確率為99.68%,其對測試數據的識別結果和混淆矩陣如表2、表3所示。其中,橫軸為真實標簽,縱軸為預測標簽。


如表4所示,MITDB可得到分類平均準確率為97.79%,EDB可得到分類平均準確率為95.60%,各類別形態具體的識別精確率詳見表4。MITDB中水平型壓低識別精確率低于90%,因為水平形狀并不是完全水平,由于噪聲的影響可能會有凹凸的變化,被誤分為弓背型壓低。但EDB中,水平壓低有更高的準確性,因為數據庫中的水平信號更為平滑,故準確性更高。

2.2.2 有無梯度分類結果對比
如圖7所示,只加入ST段面積、均值、與參考基線差值、斜率、均方差特征,不加入梯度特征時,MITDB和EDB的分類準確率分別為93.53%和92.72%,加入梯度特征值時,MITDB和EDB的分類準確率分別為97.79%和95.60%。加入梯度特征與未加入梯度特征相比,ST段識別平均準確率提升了約3%。其中上斜型抬高、弓背型抬高的精確率都得到了提升,因此梯度可以有效區分直線型和曲線型的ST段形態。

如圖8所示,不同ST段形態的變化率不同,弓背型抬高和弓背型壓低ST段的變化率隨著時間的推移,由大到小,最后趨于平穩;上斜型ST段變化率基本在一個固定值上下浮動;水平型ST段變化率在零附近上下浮動。因此,不同形態的ST段通過相同的函數,轉換成的ST曲面不同,面上的點的梯度也不同,梯度可以展現ST曲面上不同點變化方向和速度,不同形態的ST段轉換成的ST曲面,梯度分布存在較為明顯的差異。因此,通過計算ST曲面的梯度值,可以提高不同形態之間的差異性,對ST段多形態分類提供更多依據,從而提高分類精度。梯度對ST段的曲線類型能夠很好地區分,而面積、偏差等特征能夠很好地區分ST段的上斜、抬高、壓低,因此將上述特征進行融合,對ST段的多分類可以達到理想效果。

本文采用過濾式特征選擇擴展算法來計算各類特征的權重,分析不同特征對分類結果的影響。如圖9所示,面積是分類結果重要的影響因素,它代表了ST段整體的偏差大小以及偏差的方向。由于面積是對曲線ST段的積分,變相地將原本相對較小的差異進行累加,進而增加了不同形態間的差異性,因此面積對分類結果有著重要的影響。但是,其他特征也有助于分類,如果只使用面積特征,達不到理想的分類結果,多特征融合可以更好地表征ST段變化的性質,降低患者特異性和導聯特異性的影響,從而提高準確性。

2.2.3 與其他方法對比分析
為評估本文分類算法的性能,分別與現有ST段形態分類算法進行了比較,如表5所示。文獻[4]基于曲率尺度空間技術識別ST段形態,采用EDB驗證得到86.66%的平均準確率,文獻[7]基于多特征提取的ST段形態分類方法,采用EDB驗證得到86.97%的平均準確率,文獻[8]基于互相關ST段形態建模分類,采用EDB驗證得到88.20%的平均準確率,本文算法采用EDB驗證得到95.60%的平均準確率。文獻[12]基于小波變換的ST段形態分類算法,采用MITDB驗證得到91.83%的平均準確率,本文算法采用MITDB驗證得到97.79%的平均準確率。綜上,本文所提出的基于SVM多特征融合算法經MITDB和EDB驗證平均準確率為96.70%,分類結果均優于上述方法,并且沒有涉及到曲率的計算,避免了在識別分類過程中曲率極值受噪聲點影響,同時避免了模板建立難度大等問題。

3 結論
本文提出了一種多特征融合的ST段分類算法,多種特征提取有助于更好地探索ST段偏差的本質,降低患者特異性和導聯特異性的影響,從而提高準確性,使用SVM分類器將ST段形態分為正常、上斜型抬高,弓背型抬高、水平型壓低和弓背型壓低共五種。經MITDB和EDB驗證,分類準確率分為97.79%和95.60%,平均分類準確率為96.70%。所提出的方法優于傳統分類方法。該算法可應用于心電監護,有助于ST段形態的自動識別,給醫生提供更直觀、有效的信息。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:杜海曼主要負責項目主持、平臺搭建、算法程序設計、協調溝通以及計劃安排。邊婷、熊鵬、楊建利主要負責實驗流程、數據記錄與分析、論文編寫以及算法程序設計。張杰爍、劉秀玲主要負責提供實驗指導,數據分析指導,論文審閱修訂。