周克良 王佳佳
(江西理工大學(xué)電氣工程與自動(dòng)化學(xué)院,贛州,341000)
據(jù)相關(guān)數(shù)據(jù)統(tǒng)計(jì),全世界每年約1750萬(wàn)人死于心臟病,占總死亡人數(shù)的30%。每年心臟病和中風(fēng)幸存者至少有2000萬(wàn)人,且多數(shù)存在復(fù)發(fā)和死亡的風(fēng)險(xiǎn)。中國(guó)每年大約有260萬(wàn)人死于心血管疾病,死亡人數(shù)居世界第2位。據(jù)世界衛(wèi)生組織統(tǒng)計(jì),到2020年中國(guó)每年因心血管疾病死亡人數(shù)將達(dá)400萬(wàn)人。對(duì)于心臟健康狀況的監(jiān)測(cè)成為國(guó)內(nèi)外相關(guān)領(lǐng)域較重視的問題。而心臟最直觀的監(jiān)測(cè)對(duì)象便是心電圖和心音,醫(yī)生可以根據(jù)心電圖判斷心臟跳動(dòng)的頻率是否正常,而心音可輔助判斷心臟是何處異?;驌p壞,及時(shí)了解病人的病情,挽救病人的生命。因此研究心音的識(shí)別與預(yù)測(cè)具有重要意義。
心音的雜音是一組歷時(shí)較長(zhǎng)、頻率及振幅均不同的振動(dòng),既可與心音分離,也可連續(xù),或完全覆蓋心音。目前對(duì)于心音降噪分析采用的是經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical mode decomposition,EMD)、小波包分析、Mel頻譜倒譜系數(shù)等方法,這些算法可以提取出異常心音與正常心音的特征數(shù)據(jù),并根據(jù)這些特征數(shù)據(jù),以及心音的訓(xùn)練樣本,采用BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(Support vector machine,SVM)、徑向基函數(shù)(Radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)等進(jìn)行訓(xùn)練,達(dá)到識(shí)別及其預(yù)測(cè)的效果。文獻(xiàn)[1]利用主成分分析對(duì)心音特征進(jìn)行降維,采取自組織映射神經(jīng)網(wǎng)絡(luò)進(jìn)行聚類分析,并對(duì)各種異常和正常心音進(jìn)行分類識(shí)別。文獻(xiàn)[2]在EMD的基礎(chǔ)上,引入了單通道奇異值分解(Singular value decomposition,SSVD)方法,在心音降噪方面取得了良好效果。文獻(xiàn)[3]將概率神經(jīng)網(wǎng)絡(luò)(Probabilistic neural network,PNN)引入電控發(fā)動(dòng)機(jī)故障診斷,診斷結(jié)果無(wú)誤。
PNN具有較強(qiáng)的泛化性和實(shí)用性,故本文對(duì)傳統(tǒng)PNN進(jìn)行優(yōu)化,用于心音數(shù)據(jù)分類。運(yùn)用Matlab 2013a軟件,采用LMS-PNN對(duì)心音數(shù)據(jù)去噪,提取降噪后的特征數(shù)據(jù)進(jìn)行訓(xùn)練,降低了傳統(tǒng)PNN的誤差,提高了識(shí)別的準(zhǔn)確率,改善了心音預(yù)測(cè)效果。
由于心音信號(hào)的短時(shí)平穩(wěn)性[4],本文采用最小均方(Least mean square,LMS)方法[5]進(jìn)行心音去噪。對(duì)于心音信號(hào)的時(shí)間序列x(n),利用窗函數(shù)分幀后得到第i幀語(yǔ)音信號(hào)xi(m),幀長(zhǎng)設(shè)置為200,對(duì)每幀心音信號(hào)做離散傅里葉(Discrete Fourier transform,DFT)變換后可得
式中Xiangle為第i幀的相角。
式中:NIS為幀數(shù),D(k)為無(wú)話段的平均能量。
式(4)為譜減公式,其中a和b為常數(shù),a為過(guò)減因子,b為增益補(bǔ)償因子為譜減后的時(shí)間系列。
然后提取降噪后數(shù)據(jù)的特征值,本文提取降噪心音的短時(shí)自相關(guān)系數(shù)和短時(shí)能量譜密度[6-8]。對(duì)降噪后的x(k)分幀后,每幀的短時(shí)自相關(guān)函數(shù)為
采用Matlab軟件中的pwelch函數(shù)求得心音每幀的短時(shí)能量譜密度,并保存計(jì)算數(shù)據(jù)。
PNN于1989年由Specht博士首先提出,是基于統(tǒng)計(jì)原理的神經(jīng)網(wǎng)絡(luò)模型,在分類功能上與最優(yōu)貝葉斯分類器等價(jià)。PNN的實(shí)質(zhì)是基于貝葉斯最小風(fēng)險(xiǎn)準(zhǔn)則發(fā)展而來(lái)的一種并行算法[9,10],由輸入層、模式層、求和層和輸出層(決策層)組成。第1層為輸入層,用于輸入特征數(shù)據(jù),將數(shù)據(jù)傳遞跟隱含層;模式層為徑向基層,計(jì)算輸入向量與中心之間的距離,并返回一標(biāo)量。向量x輸入到模式層,模式層中第i類模式的第j神經(jīng)元所確定的關(guān)系式為
式中:i=1,2,…,M,M為訓(xùn)練樣本總類數(shù);d為樣本空間數(shù)據(jù)維數(shù);xij為第i類樣本的第j個(gè)中心。求和層把隱含層中屬于同一類的神經(jīng)元的輸出做加權(quán)平均
式中:vi為第i類別的輸出,L為第i類神經(jīng)元的個(gè)數(shù)。輸出層取求和層中最大的一個(gè)作為輸出的類別
輸入層的向量先于加權(quán)系數(shù)相乘,由輸入RBF計(jì)算
本文采集的心音信息來(lái)自贛州某醫(yī)院的臨床數(shù)據(jù),包括:心室舒張期額外音(正常)心室舒張期額外音(嚴(yán)重)、收縮早期喀啦音(嚴(yán)重)等心音。運(yùn)用LMS算法對(duì)上述3種心音進(jìn)行降噪與分析,采樣頻率為44100Hz,采樣信號(hào)和采樣數(shù)據(jù)分別以wav和mat格式保存。采用本文的觀察數(shù)據(jù)與觀察圖像可得:IS為0.4 s,a取值為10,b取值為0.01。通過(guò)LMS降噪后,降噪結(jié)果如圖1、2所示。圖1為心室舒張期額外音(正常)的帶噪心音波形,圖2為經(jīng)LMS濾波后心室舒張期額外音(正常)的去噪波形,由圖1、2對(duì)比可知,LMS算法濾波明顯去除了心室舒張期額外音(正常)的雜音。
再對(duì)去噪后的心音進(jìn)行特征提取、短時(shí)域時(shí)域處理和短時(shí)域頻域處理,得到各心音的短時(shí)自相關(guān)數(shù)據(jù)及短時(shí)功率譜密度,將得到的數(shù)據(jù)以mat格式保存。圖3、4分別為心室舒張期額外音(正常)正常自相關(guān)系數(shù)及短時(shí)功率譜密度圖。
圖1 帶噪心音波形Fig.1 Noisy heart sound waveform
圖2 LMS譜減后的心音信號(hào)波形Fig.2 Heart sound signal waveform after LMS spectrum reduction
對(duì)于PNN,輸入層輸入短時(shí)自相關(guān)數(shù)據(jù)及短時(shí)功率譜密度數(shù)據(jù),加上模式層輸入訓(xùn)練數(shù)據(jù),共有40000個(gè)訓(xùn)練樣本數(shù)據(jù),其中心室舒張期額外音(正常)樣本數(shù)據(jù)10000個(gè),心室舒張期額外音(嚴(yán)重)樣本數(shù)據(jù)10000個(gè),收縮早期喀啦音(嚴(yán)重)樣本數(shù)據(jù)10000個(gè)和測(cè)試數(shù)據(jù)10000個(gè)。輸出層將輸出數(shù)據(jù)進(jìn)行等級(jí)劃分:“1”代表心室舒張期額外音(正常),“2”代表心室舒張期額外音(嚴(yán)重),“3”代表收縮早期喀啦音(嚴(yán)重)。當(dāng)模式層中出現(xiàn)錯(cuò)誤的心音數(shù)據(jù)時(shí),PNN通過(guò)計(jì)算心音特征數(shù)據(jù)與各個(gè)心音等級(jí)的匹配度。訓(xùn)練過(guò)程中出現(xiàn)相似度不強(qiáng)時(shí),會(huì)直接剔除錯(cuò)誤數(shù)據(jù),而不會(huì)對(duì)其進(jìn)行分類。實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證結(jié)果如圖5~7所示。
圖3 正常心音自相關(guān)系數(shù)Fig.3 Normal heart sound autocorrelation coefficient
圖4 正常心音的短時(shí)功率譜密度圖Fig.4 Short-time power spectral density map of normal heart sounds
圖5 LMS-PNN的測(cè)試準(zhǔn)確率Fig.5 Test accuracy rate of LMS-PNN
圖6 LMS-PNN和傳統(tǒng)PNN的預(yù)測(cè)結(jié)果Fig.6 Prediction results of LMS-PNN and traditional PNN
本文將所采集的心音信號(hào)數(shù)據(jù)轉(zhuǎn)換100×100的矩陣,在這個(gè)矩陣中,利用雙重循環(huán)語(yǔ)句,將不同行列之間心音信號(hào)數(shù)據(jù)進(jìn)行模型編號(hào),并采用LMS-PNN算法對(duì)模型數(shù)據(jù)測(cè)試訓(xùn)練。由圖5可得,模型1,5所采用的數(shù)據(jù)測(cè)試準(zhǔn)確率比較低,在多次模型的訓(xùn)練結(jié)果下,LMS-PNN通過(guò)不斷自我學(xué)習(xí)與反饋,總體模型測(cè)試結(jié)果呈現(xiàn)升上趨勢(shì),其測(cè)試正確率在模型6~9保持穩(wěn)定,準(zhǔn)確率可達(dá)96.66%。
圖7 LMS-PNN的訓(xùn)練時(shí)間Fig.7 Training time of LMS-PNN
圖6為30個(gè)測(cè)試樣本集的測(cè)試數(shù)據(jù),由實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證可得,LMS-PNN對(duì)心音數(shù)據(jù)分類的準(zhǔn)確性高于傳統(tǒng)PNN,準(zhǔn)確率高出10%。
由圖7仿真結(jié)果可知,LMS-PNN神經(jīng)網(wǎng)絡(luò)算法在數(shù)據(jù)矩陣不同行列之間所組成的10個(gè)數(shù)據(jù)模型中不斷進(jìn)行自我學(xué)習(xí)與訓(xùn)練,其訓(xùn)練時(shí)間由0.155 s逐漸穩(wěn)定至0.062 s,實(shí)驗(yàn)結(jié)果證明,LMS-PNN神經(jīng)網(wǎng)絡(luò)算法在心音測(cè)試模型中效果表現(xiàn)良好,訓(xùn)練時(shí)間呈現(xiàn)逐步縮短到穩(wěn)定的趨勢(shì)訓(xùn)練時(shí)間短、不易產(chǎn)生局部最優(yōu),收斂速度比較快,而且其分類準(zhǔn)確率也較高。
對(duì)于上述仿真結(jié)果,LMS-PNN神經(jīng)網(wǎng)絡(luò)算法的平滑因子N是LMS-PNN算法的關(guān)鍵。令平滑因子N分別取值為20和2,其測(cè)試集預(yù)測(cè)結(jié)果對(duì)比如圖8所示。圖8(a)是N=20時(shí)LMS-PNN算法得到的預(yù)測(cè)結(jié)果;圖8(b)是N=2時(shí)LMS-PNN算法得到的預(yù)測(cè)結(jié)果。由圖8可知,N=20時(shí),LMS-PNN預(yù)測(cè)準(zhǔn)確率為90%;N=2時(shí),LMS-PNN預(yù)測(cè)準(zhǔn)確率為93.33%,準(zhǔn)確率高出了3.33%。不同的平滑因子得到的結(jié)果也有所不同,因此選取合適的平滑因子能提高預(yù)測(cè)準(zhǔn)確率。由表1可知,當(dāng)平滑因子N=10時(shí),LMS-PNN算法的預(yù)測(cè)準(zhǔn)確率最高,為最優(yōu)值。
圖8 LMS-PNN的預(yù)測(cè)結(jié)果(N=20,2)Fig.8 Prediction results of LMS-PNN(N=20 and N=2)
表1 平滑因子N的影響Tab.1 Influence of smooth factor N
測(cè)試心音通常會(huì)受到噪聲影響,LSM-PNN算法運(yùn)用LSM方法進(jìn)行去噪,采用雙門限法估計(jì)出無(wú)話幀即噪音幀IS的值,調(diào)整參數(shù)a,b的值,觀察數(shù)據(jù)及其波形,優(yōu)化去噪效果;然后使用PNN,采用貝葉斯決策理論對(duì)心音的信號(hào)進(jìn)行區(qū)分與預(yù)測(cè)。對(duì)LSM-PNN算法,無(wú)論分類問題多么復(fù)雜,只要有足夠多的訓(xùn)練數(shù)據(jù),均可保證獲得貝葉斯準(zhǔn)則下的最優(yōu)解。