郭 慶,迮良佳,胡鴻志
(1.桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林 541004;2.桂林電子科技大學(xué)廣西自動(dòng)檢測(cè)技術(shù)與儀器重點(diǎn)實(shí)驗(yàn)室,廣西桂林 541004)
心電信號(hào)是人體心臟電活動(dòng)在體表的綜合反映,能夠?yàn)樵\斷心臟疾病提供可靠的依據(jù)[1]?;谛碾娦盘?hào)的特征識(shí)別方法研究對(duì)檢測(cè)和診斷心臟疾病具有重要的指導(dǎo)意義。由于心電信號(hào)自身波形的復(fù)雜多變性以及噪聲干擾,對(duì)心電信號(hào)做特征識(shí)別存在特征提取比較困難、識(shí)別精度不夠高等問題。
本文對(duì)心電信號(hào)的特征提取和特征識(shí)別方法進(jìn)行研究,旨在提取能夠最大化反映心電信號(hào)原始信息的特征,并獲取較高的心電特征識(shí)別正確率。
特征提取是進(jìn)行特征識(shí)別的首要環(huán)節(jié)。首先針對(duì)心電信號(hào)易受噪聲干擾等問題,本文采用強(qiáng)制濾波的方法對(duì)基線漂移、工頻干擾和肌電干擾等噪聲信號(hào)做處理,保證了后期特征提取的質(zhì)量。其次采用小波包變換對(duì)心電信號(hào)做三尺度分解,并對(duì)第三尺度上的8個(gè)節(jié)點(diǎn)相應(yīng)的頻帶信號(hào)進(jìn)行能量特征提取,獲取心電信號(hào)的8維特征向量。
特征識(shí)別模型的優(yōu)劣直接影響著分類的效果。本文根據(jù)PSO算法收斂速度快、尋優(yōu)精度高等優(yōu)點(diǎn),融合BP神經(jīng)網(wǎng)絡(luò)構(gòu)建PSO-BPNN識(shí)別模型。利用PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值參數(shù)進(jìn)行優(yōu)化,將得到的心電特征數(shù)據(jù)作為模型的輸入。引入LM-BPNN和RBF網(wǎng)絡(luò)分類模型,與PSO-BPNN模型作對(duì)比分析并總結(jié)。
仿真結(jié)果表明,小波包變換提取心電信號(hào)能量特征,PSO-BPNN為分類模型的心電特征識(shí)別方法較其它方法能高準(zhǔn)確度地識(shí)別出MIT-BIH心律失常數(shù)據(jù)庫中正常、左束支傳導(dǎo)阻滯(LBBB)、右束支傳導(dǎo)阻滯(RBBB)、心室早期收縮(PVC)和心房早期收縮(APC)等5種類型的心電信號(hào),驗(yàn)證了本文方法在心電信號(hào)特征識(shí)別方面的可行性和一定的優(yōu)越性。
本文以MIT-BIH心電數(shù)據(jù)庫[2]中的5種不同類型心電信號(hào)片段作為仿真樣本的來源。這5種類別分別為正常、左束支傳導(dǎo)阻滯、右束支傳導(dǎo)阻滯、心室早期收縮和心房早期收縮。從庫中的5個(gè)心電信號(hào)數(shù)據(jù)片段中采集仿真所需的樣本數(shù)據(jù)。分別從每個(gè)心電信號(hào)片段中取樣200組樣本,并對(duì)其劃分為兩種樣本,一種有150組用于學(xué)習(xí),另一組有50組用于測(cè)試。那么總共可以從5個(gè)心電信號(hào)數(shù)據(jù)片段中采集到1000組數(shù)據(jù)片段,其中用作訓(xùn)練的樣本總數(shù)目為750組,用作測(cè)試樣本的總數(shù)目為250組。
表1 采集的心電信號(hào)樣本數(shù)據(jù)信息表
心電信號(hào)具有微弱的特點(diǎn),且往往夾雜著諸如基線漂移、工頻干擾和肌電干擾等類型的噪聲[3]。由此造成的干擾會(huì)影響心電信號(hào)波形中奇異點(diǎn)的精準(zhǔn)檢測(cè)和提取特征的質(zhì)量以及分類識(shí)別模型的準(zhǔn)確度。故預(yù)處理原始心電信號(hào)以盡可能減弱噪聲干擾的工作很有意義。
小波變換具有許多良好特性,使其比較適合對(duì)心電信號(hào)進(jìn)行濾波。強(qiáng)制濾波法[4]是一種常用的預(yù)處理方法,其能夠充分運(yùn)用小波分析的良好特性,將原始心電信號(hào)進(jìn)行多層次不同分辨率的分解,并將噪聲所在頻帶相應(yīng)的系數(shù)置零,重構(gòu)剩下的系數(shù)就能得到去噪處理過的心電信號(hào)。強(qiáng)制濾波法簡單易行,且最終得到的信號(hào)效果較好,故本文選取此方法對(duì)心電樣本信號(hào)進(jìn)行消噪。以LBBB類型心電信號(hào)為例,去噪后的波形對(duì)比圖如圖1所示。
圖1 原始心電信號(hào)VS去噪后的心電信號(hào)
心電樣本數(shù)據(jù)的采集主要為分為兩個(gè)部分,第一部分是對(duì)去噪后的心電信號(hào)中R波的定位,第二部分是有限時(shí)間心電樣本數(shù)據(jù)的采集。
利用小波變換定位R波,具體實(shí)現(xiàn)步驟如下:
1)通過二次樣條函數(shù)四尺度分解5種類型去噪后的心電樣本。
2)以閾值為基準(zhǔn),尋找尺度三下模極大值對(duì)的零交叉位置。
3)定位R波位置。
通過該方法所標(biāo)記的R波波形示意圖見圖2。
圖2 R波波峰被標(biāo)記的波形示意圖
然后,以R波的波峰位置為中心,取該點(diǎn)前后總共250個(gè)數(shù)據(jù)點(diǎn)作為一組樣本數(shù)據(jù),并間隔一個(gè)R波采集下一組樣本數(shù)據(jù)。這種采集250個(gè)數(shù)據(jù)點(diǎn)的方式一方面能保證采集得到較為完整的心拍,利于后面的分類識(shí)別,另一方面不需要對(duì)Q波和S波定位,降低了特征提取難度,能實(shí)現(xiàn)用較少的工作量獲取較優(yōu)的特征提取效果。間隔采樣能保證采集得到的相鄰的樣本數(shù)據(jù)不存在數(shù)據(jù)交錯(cuò)現(xiàn)象。使用上述方法采集得到的部分?jǐn)?shù)據(jù)樣本數(shù)據(jù)如圖3所示。
圖3 采集到的部分樣本圖
不同類型心電信號(hào)的幅度和能量不相同,經(jīng)小波包分解后,其在各子頻帶上的投影也將不相同。同時(shí),倘若有時(shí)移各子頻帶信號(hào)的能量值不會(huì)發(fā)生變化,各子頻帶信號(hào)能量值的總和等于原始信號(hào)的能量值,故可以考慮將各子頻帶信號(hào)的能量作為心電特征[5-7]。
小波包變換提取心電信號(hào)的能量特征首先是通過小波包變換對(duì)心電信號(hào)做多層分解用以獲取各節(jié)點(diǎn)系數(shù)。然后,利用小波包重構(gòu)對(duì)各節(jié)點(diǎn)的系數(shù)做計(jì)算處理,以獲取各頻帶范圍所對(duì)應(yīng)的重構(gòu)信號(hào)。最后,求解子頻帶信號(hào)各自對(duì)應(yīng)的能量值,并將該能量值按照一定順序進(jìn)行排列組成特征向量,該特征向量即為原始心電信號(hào)的能量特征。
假定重構(gòu)各節(jié)點(diǎn)系數(shù)后,第i層中的第j個(gè)節(jié)點(diǎn)Si,j相應(yīng)的重構(gòu)信號(hào)的能量為Ei,j,則重構(gòu)信號(hào)的能量值可根據(jù)下式進(jìn)行求取。
(1)
式中,dj,k代表節(jié)點(diǎn)Si,j的系數(shù),并且j=0,1,2,…,2i-1。由此求取的能量值所組成的特征向量即為心電信號(hào)的能量特征。
以單個(gè)心電樣本信號(hào)為例,在經(jīng)過分解并重構(gòu)后,獲得的系數(shù)重構(gòu)圖如圖4所示。
圖4 單個(gè)心電樣本信號(hào)的系數(shù)重構(gòu)圖
其中,第一張為原始樣本信號(hào),其余8張分別表示經(jīng)三層小波包分解后,所得到的第三層中各頻率范圍信號(hào)對(duì)應(yīng)的系數(shù)重構(gòu)圖。
計(jì)算各頻率范圍信號(hào)所對(duì)應(yīng)的能量值。并將求取到的8個(gè)能量值組成特征向量。其即為通過小波包變換獲取的心電特征。
本文選取的樣本總數(shù)為1000,那么心電樣本經(jīng)過小波包變換提取的總特征向量數(shù)目為1000×8。在此列舉提取到的5種病理類型各自子頻帶重構(gòu)信號(hào)的部分能量值,如上表2所示。
表2 五種病理各自子頻帶重構(gòu)信號(hào)的部分能量值
BP網(wǎng)絡(luò)是一種最常用的多層前饋型網(wǎng)絡(luò)[8],其構(gòu)架由輸入層、隱含層和輸出層組成。逐層之間的交流互通是依靠內(nèi)部神經(jīng)元節(jié)點(diǎn)之間的連接,這種節(jié)點(diǎn)連接方式的面向?qū)ο髢H為不同層落,同層落節(jié)點(diǎn)之間則未有連接。
BP網(wǎng)絡(luò)能夠逼近任何復(fù)雜的非線性映射關(guān)系,并且具有很強(qiáng)的分類性能,常被用于處理內(nèi)部機(jī)制較為復(fù)雜的問題。同時(shí),BP網(wǎng)絡(luò)具有一定的局限性,主要表現(xiàn)在以下幾個(gè)方面:
1)所需參數(shù)的數(shù)量繁多且沒有簡單有效的參數(shù)選擇方法。
2)易陷入局部最優(yōu)。
3)收斂速度慢。
這些局限性使得BP網(wǎng)絡(luò)在某些情況下難以滿足需求,若對(duì)BP網(wǎng)絡(luò)進(jìn)行優(yōu)化,則可以使其應(yīng)用范圍更加寬廣。
粒子群算法(Particle Swarm Optimization,PSO)最初是由美國電氣工程師Russell Eberhart和社會(huì)心理學(xué)家James Kennedy在1995年聯(lián)手提出的,其為一種以鳥類群智能為基礎(chǔ)的優(yōu)化算法[9]。PSO算法主要是通過優(yōu)化函數(shù)進(jìn)行尋優(yōu)的,即通過適應(yīng)度函數(shù)來求解各粒子的適應(yīng)值。該過程中,無需加入外界信息,只需根據(jù)適應(yīng)度函數(shù)來評(píng)價(jià)PSO算法性能的好壞。同時(shí),各粒子將跟隨當(dāng)前速度和位置最優(yōu)的粒子來搜索極值點(diǎn)。PSO算法優(yōu)化BP網(wǎng)絡(luò)的流程圖如圖5,詳細(xì)步驟如下[10]:
圖5 PSO算法優(yōu)化BP網(wǎng)絡(luò)流程圖
1)確定PSOBPNN網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)。確定輸入層、隱含層和輸出層的神經(jīng)元個(gè)數(shù)以及群體粒子的規(guī)模,設(shè)置學(xué)習(xí)步長、連接權(quán)值和網(wǎng)絡(luò)訓(xùn)練過程中的最大迭代次數(shù)等參數(shù)。
2)計(jì)算各粒子的適應(yīng)度值。其可以通過計(jì)算網(wǎng)絡(luò)輸出的均方誤差和來獲得。
3)依據(jù)所獲得的適應(yīng)度值更新個(gè)體極值和全局極值。
4)更新粒子的速度和位置。
5)判斷是否符合結(jié)束條件。倘若滿足最大迭代次數(shù)或達(dá)到誤差精度要求則執(zhí)行步驟6),否則執(zhí)行步驟2)。
6)結(jié)束尋優(yōu)過程,輸出最優(yōu)參數(shù)。
建立PSOBPNN模型,設(shè)置目標(biāo)精度為0.001,PSO最多可以迭代100次。將由前一章仿真得到的特征數(shù)據(jù)作為該模型的輸入,用以完成分類實(shí)驗(yàn)。其中,PSOBPNN模型的優(yōu)化適應(yīng)度下降曲線如圖6所示。
圖6 PSOBPNN的適應(yīng)度曲線
由圖可知,在經(jīng)歷了100次的PSO尋優(yōu)后,網(wǎng)絡(luò)適應(yīng)度值下降到了0.1628。將特征樣本繼續(xù)帶入PSO優(yōu)化后的BP網(wǎng)絡(luò),得到的優(yōu)化后的BP網(wǎng)絡(luò)的訓(xùn)練過程如圖7所示。
圖7 PSO優(yōu)化后的BP網(wǎng)絡(luò)的誤差下降曲線
由圖7可得,PSO優(yōu)化后的BP網(wǎng)絡(luò)的訓(xùn)練誤差經(jīng)過128次訓(xùn)練后就達(dá)到了目標(biāo)精度,收斂精度為0.0092。將PSO優(yōu)化BP網(wǎng)絡(luò)所構(gòu)建的PSOBPNN分類模型最終的識(shí)別結(jié)果建表,如表3所示。
表3 PSOBPNN的心電識(shí)別結(jié)果
表3中上側(cè)的FEI代表不屬于5種類型之中的任何一個(gè)類型,即網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)做測(cè)試分類后將數(shù)據(jù)化分為5種類型之外的類型。
由圖7和表3可得,雖然所構(gòu)建的PSOBPNN模型的收斂速度達(dá)不到LM-BPNN模型的收斂速度,但是其不容易陷入局部極值且收斂精度高,獲得了更高的識(shí)別正確率。并且5種類型中,LBBB、RBBB和PVC這三種類型的識(shí)別率都高達(dá)100.00%。求取五種類型識(shí)別率的平均值,可知PSOBPNN模型對(duì)心電特征的平均識(shí)別正確率達(dá)到了98.40%。
為了更加清晰直觀的看出PSOBPNN模型的良好性能,將其分別與LM-BPNN和RBF模型的識(shí)別效果作比較。
首先設(shè)計(jì)LM算法優(yōu)化的BP網(wǎng)絡(luò)分類模型,即LM-BPNN,用以對(duì)數(shù)據(jù)做識(shí)別分類。然后設(shè)定訓(xùn)練期望誤差為1.00e-03,網(wǎng)絡(luò)最大訓(xùn)練次數(shù)為1000,學(xué)習(xí)速率為0.1,訓(xùn)練函數(shù)采取“trainlm”函數(shù)。網(wǎng)絡(luò)訓(xùn)練的誤差下降曲線如圖8所示。
圖8 LM-BPNN訓(xùn)練誤差下降曲線
由圖可知,LM-BPNN模型在第28次迭代后在沒有達(dá)到目標(biāo)誤差情況下就停止迭代,收斂于0.0013。此圖一方面說明由LM改進(jìn)的LM-BPNN模型具有一定的成效且收斂速度極快,另一方面表明在心電信號(hào)特征的識(shí)別方面,其精度不是非常的高。將測(cè)試數(shù)據(jù)的分類結(jié)果建表,詳情如表4所示。
表4 LM-BPNN的識(shí)別效果
由表4可知,LM-BPNN分類模型對(duì)LBBB類型的識(shí)別效果最好,獲得了100.00%的識(shí)別準(zhǔn)確率,對(duì)Normal、RBBB、PVC和APC四種類型的識(shí)別分別有3、5、1、5個(gè)的誤分類個(gè)數(shù)。通過計(jì)算可得LM-BPNN模型識(shí)別心電信號(hào)的平均正確率為94.40%。
RBF網(wǎng)絡(luò)中神經(jīng)元靈敏度的調(diào)節(jié)是通過閾值b來實(shí)現(xiàn)的。在解決實(shí)際問題的過程中,通常利用擴(kuò)展常數(shù)C(擴(kuò)展速度)去代替閾值b來調(diào)節(jié)靈敏度,同時(shí),C又對(duì)應(yīng)著MATLAB自帶的RBF網(wǎng)絡(luò)函數(shù)中的參數(shù)spread,由此通過該函數(shù)對(duì)心電信號(hào)進(jìn)行特征識(shí)別。并且,RBF網(wǎng)絡(luò)的生成函數(shù)程序?yàn)閚et=newrbe(P,T,Spread),其中,p為輸入樣本數(shù)據(jù),T為目標(biāo)輸出,spread為擴(kuò)展速度。設(shè)定spread的初始值為5,并改變其值,最終得到不同擴(kuò)展速度下的心電特征識(shí)別結(jié)果,如表5所示。
表5 不同擴(kuò)展速度下的心電特征識(shí)別結(jié)果
從表5中可看出,spread的值對(duì)RBF的網(wǎng)絡(luò)性能影響很大,不同spread值對(duì)應(yīng)的心電特征識(shí)別結(jié)果之間差別比較大。在Spread=25附近,RBF的性能最好,得到的識(shí)別率最高。將Spread=25時(shí)RBF網(wǎng)絡(luò)對(duì)不同類型心電信號(hào)的分類結(jié)果建表,如表6所示。
表6 RBF網(wǎng)絡(luò)的心電特征識(shí)別結(jié)果
將三種模型的分類結(jié)果建表,如表7所示。
表7 本文使用的三種分類模型識(shí)別結(jié)果對(duì)比
由表7可知PSOBPNN模型的分類準(zhǔn)確率明顯高于其它兩種模型,為98.40%。說明PSOBPNN分類模型在心電特征識(shí)別中具有一定的可行性和優(yōu)越性。
提出了基于小波包和PSOBPNN的心電特征識(shí)別方法,利用小波包變換的時(shí)頻域分析特性提取8維特征。結(jié)合PSO算法和BPNN網(wǎng)絡(luò)的優(yōu)點(diǎn)建立快速尋優(yōu)的PSOBPNN分類模型,并通過對(duì)比分析驗(yàn)證該方法的優(yōu)劣性。仿真結(jié)果表明,本文心電分類方法較其它方法具有相當(dāng)大的優(yōu)越性,平均分類正確率為98.40%。