許春冬,辛鵬麗,周 靜,應(yīng)冬文,2
1.江西理工大學(xué) 信息工程學(xué)院,江西 贛州341000
2.中國(guó)科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京100049
心血管疾病是全球患病率及疾病致死率的主要因素之一,在影響人類(lèi)社會(huì)活動(dòng)的同時(shí),更嚴(yán)重危害著生命健康[1]。針對(duì)心血管疾病診斷的難題,出現(xiàn)了一系列輔助診斷方法,如心電分析、心音分析、CT檢測(cè)等[2]。其中,心音信號(hào)是由心臟進(jìn)行周期性泵血運(yùn)動(dòng)產(chǎn)生的振動(dòng),經(jīng)人體組織傳導(dǎo)于體表形成的一類(lèi)聲學(xué)信號(hào),能夠反映心房、心室、瓣膜、動(dòng)脈血管壁等結(jié)構(gòu)的工作狀況,這也就使得通過(guò)心音來(lái)分析心血管疾病是可行的[3]。心音聽(tīng)診是心音信號(hào)分析中常用的方法,被廣泛應(yīng)用于臨床診斷中。然而,精確的聽(tīng)診往往依賴(lài)于醫(yī)師的長(zhǎng)期訓(xùn)練經(jīng)驗(yàn),而這一過(guò)程又耗時(shí)耗力,因此需要一個(gè)用于心音分析的計(jì)算機(jī)輔助工具來(lái)協(xié)助診斷心血管疾病[3-4]。相比于其他輔助診斷方法,心音信號(hào)分析具備操作簡(jiǎn)便、完全無(wú)損、成本低廉、便于遠(yuǎn)程診斷、效率高等特點(diǎn),且可檢測(cè)出初期的心血管疾病,能夠起到早檢測(cè)早治療的關(guān)鍵性作用[5]。
心音分析系統(tǒng)中,對(duì)正常與異常心音信號(hào)的分類(lèi)方法研究最多,主要用于輔助醫(yī)師完成初步診斷,實(shí)現(xiàn)精確檢測(cè),以節(jié)省醫(yī)療資源和成本[5-6]。在心音信號(hào)正常與否的判定問(wèn)題中,研究者們提出了一系列方法。Gupta等人[7]提出了結(jié)合同態(tài)濾波和K 均值聚類(lèi)的心音信號(hào)的小波分析分割方法,將分割結(jié)果形成特征向量,在兩類(lèi)異常和一類(lèi)正常心音分類(lèi)中準(zhǔn)確率達(dá)到97%,但當(dāng)異常心音種類(lèi)增多時(shí)分類(lèi)精度明顯下降;Dokur 等人[3]提出通過(guò)離散小波變換加窗的方法完成心音的分割與特征提取,采用增量自組織映射網(wǎng)絡(luò)進(jìn)行分類(lèi),但在處理噪聲環(huán)境復(fù)雜的心音時(shí)其分割及特征識(shí)別結(jié)果并不理想;Wang 等人[8]提出采用25~400 Hz 的巴特沃斯濾波器結(jié)合基于邏輯回歸的隱半馬爾科夫模型提高分割精度,最終獲得74.9%的分類(lèi)結(jié)果;Zhang等人[9]提出了一種基于縮放圖譜和張量分解的特征提取方法,并通過(guò)支持向量機(jī)完成分類(lèi),在數(shù)據(jù)集C上取得了90%的分類(lèi)結(jié)果。上述研究存在一個(gè)共同的問(wèn)題,即在提取特征前要先有效地完成分割。然而,分割問(wèn)題一直是心音信號(hào)分析中極具挑戰(zhàn)性的難題,到目前為止還沒(méi)有一種完美的分割方案。因此一些學(xué)者提出了直接提取整個(gè)心音段或心動(dòng)周期的特征進(jìn)行識(shí)別,從而規(guī)避因分割問(wèn)題給系統(tǒng)帶來(lái)的誤差[10]。郭興明等人[11]提出了基于經(jīng)驗(yàn)?zāi)J椒纸夂完P(guān)聯(lián)維數(shù)的心音特征分類(lèi)方法,但心音信號(hào)具備多樣性,僅僅依靠關(guān)聯(lián)系數(shù)無(wú)法把握心音信號(hào)的本質(zhì)特征;汪晶[10]提出了多閾值融合心音遞歸圖和局部線(xiàn)性嵌入算法降維小波系數(shù)自相關(guān)特征的特征提取算法,但其時(shí)耗性高,且處理復(fù)雜病理心音效果不理想;Deng等人[12]提出將子帶包絡(luò)與自相關(guān)特征融合獲取擴(kuò)散圖統(tǒng)一特征的分類(lèi)方法,但在噪聲干擾較強(qiáng)時(shí)容易提取到噪聲信號(hào);Singh-Μiller 等人[13]提出通過(guò)特征譜圖的均值、方差等特征來(lái)完成分類(lèi)任務(wù),同樣容易受噪聲干擾。
基于上述分類(lèi)問(wèn)題中遇到的難題,本文提出了一種基于功率譜密度(Power Spectral Density,PSD)時(shí)頻特征的正常與異常心音分類(lèi)方法,通過(guò)有效的預(yù)處理和特征提取過(guò)程,采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)分類(lèi)器,在Challenge 2016 數(shù)據(jù)集中獲得了良好的評(píng)價(jià)指標(biāo)。
本文提出了一種基于功率譜密度時(shí)頻特征的正常與異常心音分類(lèi)方法,主要包括預(yù)處理、檢測(cè)心動(dòng)周期并分段、提取PSD時(shí)頻特征矩陣、特征矩陣填補(bǔ)、構(gòu)建分類(lèi)器、分類(lèi)器訓(xùn)練與測(cè)試等,如圖1所示。首先,采用小波降噪的方法抑制心音中噪聲的干擾;然后,采用自相關(guān)法檢測(cè)心動(dòng)周期,并按相關(guān)包絡(luò)分段出第一個(gè)心動(dòng)周期,并對(duì)剩余部分循環(huán)提取,避免長(zhǎng)時(shí)采集心音的自相關(guān)包絡(luò)帶來(lái)的心動(dòng)周期誤差;獲取心動(dòng)周期集后,即可提取心動(dòng)周期的PSD時(shí)頻特征,并通過(guò)雙線(xiàn)性插值法將周期略短的心動(dòng)周期PSD 特征進(jìn)行補(bǔ)齊處理。根據(jù)Challenge 2016 的訓(xùn)練集與測(cè)試集數(shù)據(jù),獲取訓(xùn)練特征集和測(cè)試特征集,送入構(gòu)建的CNN 分類(lèi)器進(jìn)行迭代訓(xùn)練,并通過(guò)測(cè)試進(jìn)行泛化能力檢驗(yàn),從而獲得有效的正常與異常心音分類(lèi)模型。

圖1 算法原理圖
針對(duì)心音分類(lèi),學(xué)者們提出了大量基于時(shí)域特征的分析方法[4]。然而,與時(shí)域分析相比,頻域分析往往更具優(yōu)勢(shì),因?yàn)樘囟ㄐ盘?hào)具有較為穩(wěn)定的頻帶,而時(shí)域卻呈現(xiàn)較強(qiáng)的非平穩(wěn)性[3-4]。頻域分析是一種較好的標(biāo)準(zhǔn)化分析工具,在許多臨床和生理現(xiàn)象中都得到了應(yīng)用[4,9]。正常心音與異常心音在頻譜的分布上存在一定的差異,主要源于三尖瓣、二尖瓣、主動(dòng)脈、心肌等結(jié)構(gòu)工作狀況不同。在正常心音中能夠聽(tīng)到清晰的第一心音(s1,10~140 Hz)和第二心音(s2,10~200 Hz),在部分兒童心音或異常心音中可聽(tīng)到第三心音(s3,10~70 Hz),第四心音(s4,10~70 Hz)主要出現(xiàn)在異常心音中[14]。文獻(xiàn)[15]指出,異常心音在收縮期、舒張期會(huì)產(chǎn)生大量心雜音,且頻帶范圍較正常心音更高,部分異常心音頻率可達(dá)600 Hz左右。功率譜密度能夠聯(lián)合時(shí)頻域特征,較好地描述心音信號(hào)的時(shí)頻分布特征,故本文將通過(guò)功率譜密度分析對(duì)心音特征進(jìn)行量化。
心音信號(hào)來(lái)源于心臟泵血的機(jī)械振動(dòng),極易受到各類(lèi)噪聲的干擾。因此,在對(duì)心音信號(hào)進(jìn)行分析前,需進(jìn)行降噪處理。小波降噪是心音分析中應(yīng)用最廣的降噪方法,本文采用了小波降噪的方法,對(duì)心音信號(hào)進(jìn)行了降噪處理。小波降噪的原理是通過(guò)小波系數(shù)來(lái)區(qū)分各尺度內(nèi)的噪聲與信號(hào),其關(guān)鍵在于閾值函數(shù)的構(gòu)建,本課題組對(duì)小波降噪進(jìn)行了深入的研究,具體算法請(qǐng)參考文獻(xiàn)[16]。圖2 給出了隨機(jī)選取的四條心音記錄(均來(lái)自Challenge 2016 數(shù)據(jù)庫(kù)[14])采用小波降噪方法降噪后的結(jié)果,可以看出該方法有效地抑制了噪聲,提升了心音信號(hào)的可分析性。

圖2 降噪結(jié)果
心音信號(hào)具有顯著的周期性特征,其正常與否的特點(diǎn)通常在心動(dòng)周期中能夠得到完整的體現(xiàn)。在功率譜特征的提取中,以心動(dòng)周期為分析對(duì)象,獲取心臟每個(gè)循環(huán)供血過(guò)程中的細(xì)節(jié)特征,來(lái)判斷心臟工作的正常與異常。準(zhǔn)確檢測(cè)心動(dòng)周期的長(zhǎng)度是檢測(cè)心音心動(dòng)周期的前提。文獻(xiàn)[5]指出,通過(guò)自相關(guān)的方法能夠較為準(zhǔn)確地獲取到心動(dòng)周期的長(zhǎng)度。然而,在長(zhǎng)時(shí)采集心音段的自相關(guān)包絡(luò)中,由于后期的平滑處理,隨著時(shí)間的延長(zhǎng),無(wú)法保留心動(dòng)周期的變異性特征,甚至使得用于區(qū)分心動(dòng)周期的包絡(luò)特征變得模糊,如相關(guān)包絡(luò)變得矮小不利于波峰提取,如圖3所示。通過(guò)將心音信號(hào)劃分為一定長(zhǎng)度的分析窗可以避免此類(lèi)問(wèn)題。本文采用自相關(guān)法檢測(cè)心動(dòng)周期T[4-5],并根據(jù)T 將心音信號(hào)分段為心動(dòng)周期,其流程如下:
(1)心動(dòng)周期長(zhǎng)度一般在0.6~1.2 s 之間,將待處理的心音以4 s為時(shí)長(zhǎng)取出心音的第一個(gè)時(shí)窗。
(2)按照式(1)計(jì)算時(shí)窗內(nèi)心音的自相關(guān):

其中,mT為時(shí)窗內(nèi)第mT幀,mT=0,1,…,N,N 為時(shí)窗內(nèi)總的幀數(shù),F(xiàn)r(lenT) 為短時(shí)平均能量,F(xiàn)rame 為幀長(zhǎng)。在獲取心動(dòng)周期時(shí)取自相關(guān)大于等于0部分即可,并做中值濾波處理,平滑包絡(luò)曲線(xiàn)。圖3展示了一條預(yù)處理后的心音段自相關(guān)包絡(luò)的提取結(jié)果。
(3)提取自相關(guān)包絡(luò)的波峰,記0 處的第一個(gè)波峰為P1,以0.5~1.5 s 采樣點(diǎn)為區(qū)間搜索下一個(gè)最高波峰P2,則P1~P2的時(shí)段即為第一個(gè)心動(dòng)周期T1。
(4)跳過(guò)P2前的時(shí)段,以P2為新的波峰起點(diǎn),重復(fù)步驟(3),搜索下一個(gè)波峰P3,獲取下一個(gè)新的周期T2。
(5)從心音中去除已檢測(cè)的前兩個(gè)心動(dòng)周期部分,獲取新的時(shí)窗,并重復(fù)步驟(2)、(3)、(4),直到需要被檢測(cè)的剩余心音不足一個(gè)時(shí)窗的長(zhǎng)度。

圖3 心動(dòng)周期的檢測(cè)
常用的功率譜估計(jì)方法主要有周期圖法、間接估計(jì)法、Bartlett估計(jì)法、Welch估計(jì)法四類(lèi)[17]。周期圖法又被稱(chēng)作直接估計(jì)法,其過(guò)程為先將待估計(jì)的信號(hào)x(n)進(jìn)行快速傅里葉變換(Fast Fourier Transformation,F(xiàn)FT),然后取幅值平方并做平均得到估計(jì)值;Bartlett估計(jì)法是在周期圖法的基礎(chǔ)上按照分段求周期圖再取平均的方式進(jìn)行優(yōu)化改進(jìn),改善了譜曲線(xiàn)的不穩(wěn)定和分辨率問(wèn)題;Welch 估計(jì)法則是在Bartlett 估計(jì)法的基礎(chǔ)上增加了加窗分幀和幀移,避免譜估計(jì)為負(fù)并減小方差[18]。本文采用Welch估計(jì)法來(lái)估計(jì)心音信號(hào)的PSD,其步驟如下:
(1)根據(jù)fs=2 000 Hz 的采樣率,取窗長(zhǎng)為win=30 ms,一是根據(jù)短時(shí)平穩(wěn)性使每一窗心音的PSD 具備平穩(wěn)性,二是使得心音PSD在時(shí)間域上具備較高的分辨率。幀移取inc=15 ms,使得PSD在時(shí)間域上具備較好的平滑性,按照窗長(zhǎng)對(duì)信號(hào)進(jìn)行分幀:

其中,m 為幀內(nèi)時(shí)域樣點(diǎn),l 表示第l 幀,M 為總幀數(shù),d1為窗函數(shù)。
(2)通過(guò)Welch 算法估計(jì)心音幀的功率譜密度PSD(w):

其中,d2表示數(shù)據(jù)窗口,U 為歸一化因子。
(3)取對(duì)數(shù)獲得功率譜密度- -- ---PSD(w):

(4)對(duì)功率譜密度進(jìn)行正向歸一化處理:


上述過(guò)程中,窗函數(shù)的選擇對(duì)功率譜存在一定的影響,故測(cè)量了矩形窗(Boxcar)、海明窗(Hamming)、布萊克曼窗(Blackman)三類(lèi)窗函數(shù)下功率譜密度的結(jié)果。圖4 給出了三類(lèi)窗函數(shù)下一組心音信號(hào)PSD 均值的估計(jì)結(jié)果。可以看出,相比Boxcar 窗和Blackman 窗,Hamming 窗能夠有效抑制低頻成分,突出基礎(chǔ)心音頻帶,更為適用于心音信號(hào)的PSD估計(jì)。采用Hamming窗提取的正向歸一化PSD 特征如圖5 所示。因此,d1和d2為Hamming窗。

圖4 不同窗函數(shù)下正向歸一化PSD均值的估計(jì)
第2.2節(jié)采用自相關(guān)法檢測(cè)心動(dòng)周期并將心音信號(hào)分段為心動(dòng)周期集,但心音具備多樣性,且心動(dòng)周期間也具備心率變異性,這就使得分段出的心動(dòng)周期長(zhǎng)度并不一致,即每個(gè)心動(dòng)周期幀數(shù)不一致。因此,心動(dòng)周期集所求取出的功率譜密度特征矩陣大小也是不同的,而分類(lèi)器輸入端的大小一般是固定的,故要求功率譜密度矩陣的大小一致。文獻(xiàn)[9]指出,可通過(guò)雙線(xiàn)性插值法來(lái)填補(bǔ)心動(dòng)周期頻譜圖,本文采用此方法填補(bǔ)心動(dòng)周期功率譜密度矩陣,使得各心動(dòng)周期功率譜密度矩陣大小一致。

圖5 正向歸一化PSD特征
雙線(xiàn)性插值法心動(dòng)周期功率譜填補(bǔ)的目的不是要在時(shí)間刻度上延長(zhǎng)獲取更多的矩陣元素,而是在原始時(shí)間刻度內(nèi)增加功率譜密度幀數(shù),從而提升時(shí)間維度的分辨率,這樣可以保持心動(dòng)周期內(nèi)的頻譜分布基本保持不變。心音功率譜密度矩陣的雙線(xiàn)性插值法填補(bǔ)流程主要由以下四個(gè)步驟組成[9]:


(2)第i 個(gè)時(shí)間尺度點(diǎn)和第j 個(gè)頻率尺度點(diǎn)的插值因子為:

其中,round 表示四舍五入取整運(yùn)算。
第i 個(gè)時(shí)間尺度點(diǎn)和第j 個(gè)頻率尺度點(diǎn)插值因子的絕對(duì)值偏差為:

(4)重復(fù)步驟(2)、(3),直至完成所有插值點(diǎn)的計(jì)算。
在心音信號(hào)的功率譜密度時(shí)頻矩陣填補(bǔ)中,只需填補(bǔ)時(shí)間尺度點(diǎn),無(wú)需填充頻率尺度點(diǎn)。這是因?yàn)轭l率尺度只與短時(shí)傅里葉變換的窗長(zhǎng)有關(guān),固定窗長(zhǎng)其頻率尺度則一致;而時(shí)間尺度與心動(dòng)周期長(zhǎng)度相關(guān),這恰是需要填補(bǔ)的。圖6給出了a0001中某一心動(dòng)周期的填補(bǔ)結(jié)果,可看出時(shí)間軸長(zhǎng)度不變,但增加了幀數(shù)。

圖6 雙線(xiàn)性法填充特征矩陣
用于心音的分類(lèi)器主要包括支持向量機(jī)(Support Vector Μachine,SVΜ)分類(lèi)器、反向傳播神經(jīng)(Back Propagation,BP)網(wǎng)絡(luò)分類(lèi)器、自組織映射(Self-Organizing Μapping,SOΜ)網(wǎng)絡(luò)分類(lèi)器、隱馬爾科夫模型(Hidden Μarkov Μodel,HΜΜ)分類(lèi)器、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)分類(lèi)器、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Μemory Network,LSTΜ)分類(lèi)器和卷積神經(jīng)網(wǎng)絡(luò)(CNN)分類(lèi)器。其中,SVΜ 分類(lèi)器、BP神經(jīng)網(wǎng)絡(luò)分類(lèi)器不具備自主優(yōu)化特征的性能[9];HΜΜ分類(lèi)器多借助于高斯混合模型進(jìn)行分類(lèi),當(dāng)正常與異常心音時(shí)域分布類(lèi)似時(shí)容易出現(xiàn)分類(lèi)誤判[5,8];RNN 分類(lèi)器處理時(shí)間序列效果較好,但存在梯度消失和爆炸的問(wèn)題;LSTΜ網(wǎng)絡(luò)在RNN基礎(chǔ)上,增加了門(mén)單元,解決了梯度消失和爆炸的問(wèn)題;CNN 分類(lèi)器相比前幾類(lèi)分類(lèi)器模型,能夠較好地處理多維數(shù)據(jù),挖掘局部結(jié)構(gòu)特點(diǎn)[19-20]。CNN 已經(jīng)在圖像處理領(lǐng)域取得了顯著成績(jī),而心音PSD 時(shí)頻矩陣與圖像相同為二維矩陣,因此CNN 分類(lèi)器更為適用。
CNN 是一種融入卷積結(jié)構(gòu)的深度前饋神經(jīng)網(wǎng)絡(luò),主要由輸入層、卷積層、激勵(lì)層、池化層、全連接層、輸出層組成[19,21]。其中卷積層、激勵(lì)層與池化層可進(jìn)行交替連接,能夠有效地降低數(shù)據(jù)維度,提高模型的容錯(cuò)能力。在CNN 分類(lèi)器構(gòu)建過(guò)程中,通過(guò)在有限范圍內(nèi)進(jìn)行隨機(jī)搜索,能夠確定較為合適的卷積層數(shù)和卷積核大小。構(gòu)建的CNN分類(lèi)器的結(jié)構(gòu)如圖7所示。
實(shí)驗(yàn)中將99×41 的特征矩陣去除頻率尺度點(diǎn)為0、時(shí)間尺度點(diǎn)為0 所對(duì)應(yīng)的行與列,構(gòu)成98×40 的輸入矩陣,通過(guò)分類(lèi)器并進(jìn)行二分類(lèi)。構(gòu)建的CNN 分類(lèi)器共計(jì)兩次卷積運(yùn)算,第一卷積層的卷積核大小為5×5,數(shù)量為32,卷積水平步長(zhǎng)為1,最大池化層為2×2,選擇ReLU函數(shù)為激勵(lì)函數(shù),則第一次卷積運(yùn)算后每個(gè)卷積核中的數(shù)據(jù)被壓縮為94×36 的特征圖,池化后特征圖大小為47×18;第二卷積層卷積核大小為2×3,數(shù)量為64,卷積水平步長(zhǎng)為1,最大池化層為1×4,激活函數(shù)仍選擇ReLU,則第二次卷積運(yùn)算后每個(gè)卷積核中的數(shù)據(jù)被壓縮為46×16 的特征圖,池化后特征圖大小為23×8;共三層全連接層,第一全連接層為1×1 024,第二全連接層為1×512,第三全連接層為1×256;輸出層為1×2,輸出結(jié)果為01 表示正常,輸出結(jié)果為10 表示異常。部分訓(xùn)練參數(shù)設(shè)置如表1 所示,其中B 為下采樣層的map 的權(quán)值,Dropout為防止過(guò)擬合的trick。

表1 網(wǎng)絡(luò)參數(shù)設(shè)置

圖7 CNN分類(lèi)器網(wǎng)絡(luò)結(jié)構(gòu)
通過(guò)訓(xùn)練數(shù)據(jù)集對(duì)CNN 分類(lèi)器進(jìn)行迭代訓(xùn)練,并通過(guò)分類(lèi)正確率和損失函數(shù)兩類(lèi)指標(biāo)對(duì)分類(lèi)器進(jìn)行評(píng)價(jià)。分類(lèi)器為二分類(lèi)器,損失函數(shù)采用常規(guī)的交叉熵?fù)p失函數(shù)即可。正確率ACC 和損失函數(shù)LOSS 評(píng)價(jià)指標(biāo)的定義如式(19)、(20)所示:

其中,TP 為正常心音分類(lèi)正確數(shù),TN 為異常樣本分類(lèi)正確數(shù),F(xiàn)N 為正常心音分類(lèi)錯(cuò)誤數(shù),F(xiàn)P 為異常樣本分類(lèi)錯(cuò)誤數(shù)。 N 為樣本總數(shù),Osamp為第samp 個(gè)樣本真實(shí)標(biāo)記值,O?samp為第samp 個(gè)樣本預(yù)測(cè)值。
需要進(jìn)一步說(shuō)明的是,TP、TN、FP、FN 是通過(guò)心音記錄心動(dòng)周期的分類(lèi),完成心音記錄的判別獲得的。其中設(shè)置了容錯(cuò)機(jī)制,即心音記錄中,異常心動(dòng)周期數(shù)與心動(dòng)周期總數(shù)比例小于10%時(shí),判定心音記錄為正常,否則判定為異常。
選用Challenge 2016 數(shù)據(jù)集[14]構(gòu)建訓(xùn)練集與測(cè)試集。整個(gè)數(shù)據(jù)集由a、b、c、d、e 這5 個(gè)子數(shù)據(jù)庫(kù)構(gòu)成,分別采集于1 000多位不同年齡、不同性別、不同身體狀況的受試者,共計(jì)3 126 條心音記錄。按照官方給出的數(shù)據(jù)構(gòu)建測(cè)試集,從5個(gè)子數(shù)據(jù)庫(kù)中選用301條心音,除去測(cè)試集,訓(xùn)練集共計(jì)2 825條心音。
按照預(yù)處理、周期檢測(cè)、PSD 時(shí)頻特征提取的流程獲取PSD時(shí)頻特征數(shù)據(jù)集。其中訓(xùn)練集2 825條心音中檢測(cè)出84 762個(gè)心動(dòng)周期,測(cè)試集301條心音中檢測(cè)出7 326個(gè)心動(dòng)周期,最終構(gòu)成98×40×84 762的訓(xùn)練集,98×40×7 326的測(cè)試集,均按列存儲(chǔ),生成.mat的數(shù)據(jù)文件。

圖8 訓(xùn)練結(jié)果
分類(lèi)器在訓(xùn)練集作用下經(jīng)過(guò)100次迭代訓(xùn)練,其結(jié)果如圖8所示,訓(xùn)練集與測(cè)試集在分類(lèi)器中獲得的結(jié)果如表2 所示。圖8 訓(xùn)練結(jié)果顯示,迭代訓(xùn)練60 次左右ACC 和LOSS 值均基本收斂,收斂后ACC 值為88.70%左右,LOSS 值為1.084 4左右。訓(xùn)練完成后,測(cè)試集在網(wǎng)絡(luò)中的ACC 為84.72%,LOSS 值為1.185 7。

表2 訓(xùn)練集與測(cè)試集結(jié)果
此外,靈敏度(Sensitivity,Se)和特異性(Specificity,Sp)[20,23]被廣泛用于評(píng)價(jià)分類(lèi)系統(tǒng)的性能。靈敏度和特異性計(jì)算方法如式(21)和式(22)所示:

其中,WA1、WA2、WN1、WN2為權(quán)系數(shù),分別為官方標(biāo)記的正常情況下可分析性好壞的心動(dòng)周期數(shù)量比例以及異常情況下可分析性好壞的心動(dòng)周期數(shù)量比例;N表示標(biāo)記為正常的心音,A 表示標(biāo)記為異常的心音,n表示分類(lèi)輸出為正常的心音,q 表示分類(lèi)輸出不確定的心音,a 表示分類(lèi)輸出為異常的心音,下標(biāo)1 表示心音可分析性良好,2表示心音可分析性較差。權(quán)系數(shù)取值如表3所示。

表3 心動(dòng)周期比例權(quán)系數(shù)
本文算法在訓(xùn)練集和測(cè)試集中獲得的靈敏度與特異性結(jié)果如表4所示。其中訓(xùn)練集靈敏度為0.834 8,特異性為0.959 8,整體得分為0.897 2;測(cè)試集靈敏度為0.776 3,特異性達(dá)到0.946 3,整體得分為0.861 3。

表4 靈敏度與特異性
本文算法同自相關(guān)&擴(kuò)散圖特征&SVΜ[12]、分割后多維特征&非線(xiàn)性徑向基SVΜ[8]、光譜圖&SVΜ[9]、分割提取324 維特征&BPANN[22]、熱譜圖&CNN[19]、AdaBoost&CNN[23](官方網(wǎng)站公布數(shù)據(jù))算法進(jìn)行了對(duì)比。文獻(xiàn)[12]采用小波分解提取四層分解中第四細(xì)節(jié)系數(shù)層和第二細(xì)節(jié)系數(shù)層的系數(shù),通過(guò)香農(nóng)包絡(luò)自相關(guān)特征,并通過(guò)擴(kuò)散圖映射到對(duì)應(yīng)空間,通過(guò)幾何空間中特征的歐氏距離采用SVΜ 進(jìn)行分類(lèi),但小波分解層次選擇中存在有用信息丟失的風(fēng)險(xiǎn);文獻(xiàn)[8]與文獻(xiàn)[22]方法相似,均是通過(guò)被動(dòng)提取多維特征后采用分類(lèi)器進(jìn)行分類(lèi),這往往又與特征的好壞有關(guān);文獻(xiàn)[9]將傅里葉變換后的頻譜特征通過(guò)偏最小二乘法進(jìn)行降維,然后通過(guò)非線(xiàn)性SVΜ進(jìn)行分類(lèi),但非線(xiàn)性SVΜ并不適用于偏最小二乘降維后的數(shù)據(jù)分類(lèi)[24];文獻(xiàn)[19]將Μel 頻率倒譜系數(shù)(Μel Frequency Cepstral Coefficient,ΜF(xiàn)CC)特征轉(zhuǎn)換為熱譜圖,采用SVΜ對(duì)其進(jìn)行分類(lèi),然而ΜF(xiàn)CC是基于人耳的聽(tīng)覺(jué)特性,用于心音信號(hào)特征的表征能力往往有限[25];文獻(xiàn)[23]提取了心動(dòng)周期4個(gè)成分25~400 Hz中的9個(gè)頻帶和13維的ΜF(xiàn)CC特征,按照25~45 Hz、45~80 Hz、80~200 Hz、200~400 Hz集合特征訓(xùn)練CNN分類(lèi)器,并采用AdaBoost 算法將4 個(gè)CNN 組合構(gòu)成強(qiáng)分類(lèi)器,但分類(lèi)的結(jié)果仍取決于提取的特征,且沒(méi)有計(jì)算4個(gè)頻帶間的過(guò)渡信息;本文算法提取心動(dòng)周期的功率譜密度特征,構(gòu)成二維時(shí)頻特征矩陣,采用CNN分類(lèi)器主動(dòng)提取特征,降低了被動(dòng)提取特征的風(fēng)險(xiǎn),使得特征更適應(yīng)分類(lèi)器,獲得更強(qiáng)的分類(lèi)性能,事實(shí)上這在許多圖像分類(lèi)領(lǐng)域中已經(jīng)得到了體現(xiàn)。
上述實(shí)驗(yàn)的SVΜ 模型中,除了文獻(xiàn)[8]選用了非線(xiàn)性徑向基核函數(shù)外,其余均選擇Sigmoid核函數(shù),參數(shù)σ和懲罰因子c 的取值為(2,2),詳細(xì)的模型描述請(qǐng)參考具體文獻(xiàn)。
對(duì)比實(shí)驗(yàn)結(jié)果如表5所示。實(shí)驗(yàn)結(jié)果表明,在SVΜ分類(lèi)器下,PSD時(shí)頻特征最終獲得了0.830 0的得分,較自相關(guān)與擴(kuò)散圖特征(0.754 9)、光譜圖降維特征(0.784 1)、分割提取特征(0.782 6[8]、0.828 6[22])的方法得分更高,這也進(jìn)一步說(shuō)明PSD 時(shí)頻特征矩陣能夠用于心音分類(lèi)。此外,與分割提取324 維特征&BPANN、熱譜圖&CNN、AdaBoost&CNN 等算法相比,本文算法獲得了較好的Sp 得分(0.946 3),Se 得分(0.776 3)相對(duì)較低,但與熱譜圖&CNN算法相比提升了0.048 5,且獲得了較好的總體評(píng)分0.861 3。從表5 中的對(duì)比結(jié)果可以看出,相比SVΜ 分類(lèi)器而言,PSD 時(shí)頻特征在CNN 分類(lèi)器下具備更好的分類(lèi)效果。從算法整體評(píng)價(jià)結(jié)果來(lái)看,在測(cè)試集中取得了不錯(cuò)的效果,這也進(jìn)一步說(shuō)明本文提出的分類(lèi)算法具備可行性與有效性,即所構(gòu)建的CNN 網(wǎng)絡(luò)能夠有效區(qū)分正常心音與異常心音的PSD特征矩陣。

表5 不同算法下測(cè)試集評(píng)價(jià)指標(biāo)的對(duì)比
本文提出了一種基于功率譜時(shí)頻特征和CNN的正常與異常心音分類(lèi)算法,無(wú)需進(jìn)行心音分割,且具備較好的分類(lèi)效果。處理中,首先進(jìn)行小波降噪預(yù)處理,提高數(shù)據(jù)集的可分析性;然后,通過(guò)自相關(guān)法檢測(cè)出有效的心動(dòng)周期,并采用Welch法提取功率譜特征;接著,采用雙線(xiàn)性插值法填補(bǔ)各心動(dòng)周期,保持幀數(shù)一致。針對(duì)于特征矩陣數(shù)據(jù)集,構(gòu)建了CNN分類(lèi)器,并采用Challenge 2016數(shù)據(jù)集獲取訓(xùn)練集和測(cè)試集,并進(jìn)行訓(xùn)練和測(cè)試。實(shí)驗(yàn)結(jié)果表明,本文算法在評(píng)價(jià)體系中分類(lèi)正確率和特異性等指標(biāo)較好,但在靈敏度上需進(jìn)一步提升。同時(shí),本文算法無(wú)需進(jìn)行心音分割,避免了分割帶來(lái)的誤差和增加算法復(fù)雜度,且本文算法可為現(xiàn)代心音信號(hào)分析與處理提供技術(shù)性參考。此外,建立在準(zhǔn)確心血管疾病心音記錄數(shù)據(jù)集的基礎(chǔ)上,本文算法可進(jìn)行推廣,應(yīng)用于具體異常類(lèi)型的心血管疾病篩選與檢測(cè)。