郭 慶,迮良佳,胡鴻志
(1.桂林電子科技大學電子工程與自動化學院,廣西桂林 541004;2.桂林電子科技大學廣西自動檢測技術與儀器重點實驗室,廣西桂林 541004)
心電信號是人體心臟電活動在體表的綜合反映,能夠為診斷心臟疾病提供可靠的依據[1]。基于心電信號的特征識別方法研究對檢測和診斷心臟疾病具有重要的指導意義。由于心電信號自身波形的復雜多變性以及噪聲干擾,對心電信號做特征識別存在特征提取比較困難、識別精度不夠高等問題。
本文對心電信號的特征提取和特征識別方法進行研究,旨在提取能夠最大化反映心電信號原始信息的特征,并獲取較高的心電特征識別正確率。
特征提取是進行特征識別的首要環節。首先針對心電信號易受噪聲干擾等問題,本文采用強制濾波的方法對基線漂移、工頻干擾和肌電干擾等噪聲信號做處理,保證了后期特征提取的質量。其次采用小波包變換對心電信號做三尺度分解,并對第三尺度上的8個節點相應的頻帶信號進行能量特征提取,獲取心電信號的8維特征向量。
特征識別模型的優劣直接影響著分類的效果。本文根據PSO算法收斂速度快、尋優精度高等優點,融合BP神經網絡構建PSO-BPNN識別模型。利用PSO算法對BP神經網絡的權值和閾值參數進行優化,將得到的心電特征數據作為模型的輸入。引入LM-BPNN和RBF網絡分類模型,與PSO-BPNN模型作對比分析并總結。
仿真結果表明,小波包變換提取心電信號能量特征,PSO-BPNN為分類模型的心電特征識別方法較其它方法能高準確度地識別出MIT-BIH心律失常數據庫中正常、左束支傳導阻滯(LBBB)、右束支傳導阻滯(RBBB)、心室早期收縮(PVC)和心房早期收縮(APC)等5種類型的心電信號,驗證了本文方法在心電信號特征識別方面的可行性和一定的優越性。
本文以MIT-BIH心電數據庫[2]中的5種不同類型心電信號片段作為仿真樣本的來源。這5種類別分別為正常、左束支傳導阻滯、右束支傳導阻滯、心室早期收縮和心房早期收縮。從庫中的5個心電信號數據片段中采集仿真所需的樣本數據。分別從每個心電信號片段中取樣200組樣本,并對其劃分為兩種樣本,一種有150組用于學習,另一組有50組用于測試。那么總共可以從5個心電信號數據片段中采集到1000組數據片段,其中用作訓練的樣本總數目為750組,用作測試樣本的總數目為250組。

表1 采集的心電信號樣本數據信息表
心電信號具有微弱的特點,且往往夾雜著諸如基線漂移、工頻干擾和肌電干擾等類型的噪聲[3]。由此造成的干擾會影響心電信號波形中奇異點的精準檢測和提取特征的質量以及分類識別模型的準確度。故預處理原始心電信號以盡可能減弱噪聲干擾的工作很有意義。
小波變換具有許多良好特性,使其比較適合對心電信號進行濾波。強制濾波法[4]是一種常用的預處理方法,其能夠充分運用小波分析的良好特性,將原始心電信號進行多層次不同分辨率的分解,并將噪聲所在頻帶相應的系數置零,重構剩下的系數就能得到去噪處理過的心電信號。強制濾波法簡單易行,且最終得到的信號效果較好,故本文選取此方法對心電樣本信號進行消噪。以LBBB類型心電信號為例,去噪后的波形對比圖如圖1所示。

圖1 原始心電信號VS去噪后的心電信號
心電樣本數據的采集主要為分為兩個部分,第一部分是對去噪后的心電信號中R波的定位,第二部分是有限時間心電樣本數據的采集。
利用小波變換定位R波,具體實現步驟如下:
1)通過二次樣條函數四尺度分解5種類型去噪后的心電樣本。
2)以閾值為基準,尋找尺度三下模極大值對的零交叉位置。
3)定位R波位置。
通過該方法所標記的R波波形示意圖見圖2。

圖2 R波波峰被標記的波形示意圖
然后,以R波的波峰位置為中心,取該點前后總共250個數據點作為一組樣本數據,并間隔一個R波采集下一組樣本數據。這種采集250個數據點的方式一方面能保證采集得到較為完整的心拍,利于后面的分類識別,另一方面不需要對Q波和S波定位,降低了特征提取難度,能實現用較少的工作量獲取較優的特征提取效果。間隔采樣能保證采集得到的相鄰的樣本數據不存在數據交錯現象。使用上述方法采集得到的部分數據樣本數據如圖3所示。

圖3 采集到的部分樣本圖
不同類型心電信號的幅度和能量不相同,經小波包分解后,其在各子頻帶上的投影也將不相同。同時,倘若有時移各子頻帶信號的能量值不會發生變化,各子頻帶信號能量值的總和等于原始信號的能量值,故可以考慮將各子頻帶信號的能量作為心電特征[5-7]。
小波包變換提取心電信號的能量特征首先是通過小波包變換對心電信號做多層分解用以獲取各節點系數。然后,利用小波包重構對各節點的系數做計算處理,以獲取各頻帶范圍所對應的重構信號。最后,求解子頻帶信號各自對應的能量值,并將該能量值按照一定順序進行排列組成特征向量,該特征向量即為原始心電信號的能量特征。
假定重構各節點系數后,第i層中的第j個節點Si,j相應的重構信號的能量為Ei,j,則重構信號的能量值可根據下式進行求取。

(1)
式中,dj,k代表節點Si,j的系數,并且j=0,1,2,…,2i-1。由此求取的能量值所組成的特征向量即為心電信號的能量特征。
以單個心電樣本信號為例,在經過分解并重構后,獲得的系數重構圖如圖4所示。

圖4 單個心電樣本信號的系數重構圖
其中,第一張為原始樣本信號,其余8張分別表示經三層小波包分解后,所得到的第三層中各頻率范圍信號對應的系數重構圖。
計算各頻率范圍信號所對應的能量值。并將求取到的8個能量值組成特征向量。其即為通過小波包變換獲取的心電特征。
本文選取的樣本總數為1000,那么心電樣本經過小波包變換提取的總特征向量數目為1000×8。在此列舉提取到的5種病理類型各自子頻帶重構信號的部分能量值,如上表2所示。

表2 五種病理各自子頻帶重構信號的部分能量值
BP網絡是一種最常用的多層前饋型網絡[8],其構架由輸入層、隱含層和輸出層組成。逐層之間的交流互通是依靠內部神經元節點之間的連接,這種節點連接方式的面向對象僅為不同層落,同層落節點之間則未有連接。
BP網絡能夠逼近任何復雜的非線性映射關系,并且具有很強的分類性能,常被用于處理內部機制較為復雜的問題。同時,BP網絡具有一定的局限性,主要表現在以下幾個方面:
1)所需參數的數量繁多且沒有簡單有效的參數選擇方法。
2)易陷入局部最優。
3)收斂速度慢。
這些局限性使得BP網絡在某些情況下難以滿足需求,若對BP網絡進行優化,則可以使其應用范圍更加寬廣。
粒子群算法(Particle Swarm Optimization,PSO)最初是由美國電氣工程師Russell Eberhart和社會心理學家James Kennedy在1995年聯手提出的,其為一種以鳥類群智能為基礎的優化算法[9]。PSO算法主要是通過優化函數進行尋優的,即通過適應度函數來求解各粒子的適應值。該過程中,無需加入外界信息,只需根據適應度函數來評價PSO算法性能的好壞。同時,各粒子將跟隨當前速度和位置最優的粒子來搜索極值點。PSO算法優化BP網絡的流程圖如圖5,詳細步驟如下[10]:

圖5 PSO算法優化BP網絡流程圖
1)確定PSOBPNN網絡的結構和參數。確定輸入層、隱含層和輸出層的神經元個數以及群體粒子的規模,設置學習步長、連接權值和網絡訓練過程中的最大迭代次數等參數。
2)計算各粒子的適應度值。其可以通過計算網絡輸出的均方誤差和來獲得。
3)依據所獲得的適應度值更新個體極值和全局極值。
4)更新粒子的速度和位置。
5)判斷是否符合結束條件。倘若滿足最大迭代次數或達到誤差精度要求則執行步驟6),否則執行步驟2)。
6)結束尋優過程,輸出最優參數。
建立PSOBPNN模型,設置目標精度為0.001,PSO最多可以迭代100次。將由前一章仿真得到的特征數據作為該模型的輸入,用以完成分類實驗。其中,PSOBPNN模型的優化適應度下降曲線如圖6所示。

圖6 PSOBPNN的適應度曲線
由圖可知,在經歷了100次的PSO尋優后,網絡適應度值下降到了0.1628。將特征樣本繼續帶入PSO優化后的BP網絡,得到的優化后的BP網絡的訓練過程如圖7所示。

圖7 PSO優化后的BP網絡的誤差下降曲線
由圖7可得,PSO優化后的BP網絡的訓練誤差經過128次訓練后就達到了目標精度,收斂精度為0.0092。將PSO優化BP網絡所構建的PSOBPNN分類模型最終的識別結果建表,如表3所示。

表3 PSOBPNN的心電識別結果
表3中上側的FEI代表不屬于5種類型之中的任何一個類型,即網絡模型對數據做測試分類后將數據化分為5種類型之外的類型。
由圖7和表3可得,雖然所構建的PSOBPNN模型的收斂速度達不到LM-BPNN模型的收斂速度,但是其不容易陷入局部極值且收斂精度高,獲得了更高的識別正確率。并且5種類型中,LBBB、RBBB和PVC這三種類型的識別率都高達100.00%。求取五種類型識別率的平均值,可知PSOBPNN模型對心電特征的平均識別正確率達到了98.40%。
為了更加清晰直觀的看出PSOBPNN模型的良好性能,將其分別與LM-BPNN和RBF模型的識別效果作比較。
首先設計LM算法優化的BP網絡分類模型,即LM-BPNN,用以對數據做識別分類。然后設定訓練期望誤差為1.00e-03,網絡最大訓練次數為1000,學習速率為0.1,訓練函數采取“trainlm”函數。網絡訓練的誤差下降曲線如圖8所示。

圖8 LM-BPNN訓練誤差下降曲線
由圖可知,LM-BPNN模型在第28次迭代后在沒有達到目標誤差情況下就停止迭代,收斂于0.0013。此圖一方面說明由LM改進的LM-BPNN模型具有一定的成效且收斂速度極快,另一方面表明在心電信號特征的識別方面,其精度不是非常的高。將測試數據的分類結果建表,詳情如表4所示。

表4 LM-BPNN的識別效果
由表4可知,LM-BPNN分類模型對LBBB類型的識別效果最好,獲得了100.00%的識別準確率,對Normal、RBBB、PVC和APC四種類型的識別分別有3、5、1、5個的誤分類個數。通過計算可得LM-BPNN模型識別心電信號的平均正確率為94.40%。
RBF網絡中神經元靈敏度的調節是通過閾值b來實現的。在解決實際問題的過程中,通常利用擴展常數C(擴展速度)去代替閾值b來調節靈敏度,同時,C又對應著MATLAB自帶的RBF網絡函數中的參數spread,由此通過該函數對心電信號進行特征識別。并且,RBF網絡的生成函數程序為net=newrbe(P,T,Spread),其中,p為輸入樣本數據,T為目標輸出,spread為擴展速度。設定spread的初始值為5,并改變其值,最終得到不同擴展速度下的心電特征識別結果,如表5所示。

表5 不同擴展速度下的心電特征識別結果
從表5中可看出,spread的值對RBF的網絡性能影響很大,不同spread值對應的心電特征識別結果之間差別比較大。在Spread=25附近,RBF的性能最好,得到的識別率最高。將Spread=25時RBF網絡對不同類型心電信號的分類結果建表,如表6所示。

表6 RBF網絡的心電特征識別結果
將三種模型的分類結果建表,如表7所示。

表7 本文使用的三種分類模型識別結果對比
由表7可知PSOBPNN模型的分類準確率明顯高于其它兩種模型,為98.40%。說明PSOBPNN分類模型在心電特征識別中具有一定的可行性和優越性。
提出了基于小波包和PSOBPNN的心電特征識別方法,利用小波包變換的時頻域分析特性提取8維特征。結合PSO算法和BPNN網絡的優點建立快速尋優的PSOBPNN分類模型,并通過對比分析驗證該方法的優劣性。仿真結果表明,本文心電分類方法較其它方法具有相當大的優越性,平均分類正確率為98.40%。