許莉莉,郭學(xué)謙
首都醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,臨床生物力學(xué)應(yīng)用基礎(chǔ)研究北京市重點(diǎn)實(shí)驗(yàn)室,北京 100069
有研究表明,某些心血管疾病在心電圖表現(xiàn)出異常之前,就出現(xiàn)心臟雜音和心音變異。雜音的出現(xiàn)和心音變異包含著豐富的病理信息[1]。因此,心音信號(hào)可作為臨床輔助評(píng)估心臟功能狀態(tài)的基本參數(shù)。人體心音信號(hào)是心動(dòng)周期中,心臟瓣膜的開關(guān)、肌腱和肌肉的舒張、血流的沖擊以及血管壁的振動(dòng)而產(chǎn)生的一種復(fù)合音,一個(gè)心動(dòng)周期中包括4個(gè)心音,通常稱為S1(第一心音)、S2、S3和S4,多數(shù)情況下只能聽見S1和S2[2]。
心音信號(hào)分析處理的首要任務(wù)就是提取獨(dú)立的心動(dòng)周期。現(xiàn)有的心音分段方法有兩類,一類是以心電圖作為參考進(jìn)行分段,這類方法效果較好,但對(duì)硬件要求高,具有很大的局限性[3];另一類方法以心音包絡(luò)為基礎(chǔ)進(jìn)行分段,目前大多報(bào)道采用的都是此類方法[4-6]。這類方法多采用HHT變換或者小波變換提取心音樣本的能量信息,導(dǎo)致包絡(luò)不平滑或者分段模糊。事實(shí)上,心音的分段無論采取什么樣的方法也脫離不了心音信號(hào)本身的周期性[7]。心音是非平穩(wěn)的類周期信號(hào),即使出現(xiàn)雜音或者發(fā)生異常,一般也體現(xiàn)出明顯的周期性,2例異常的心音和一例正常心音,見圖1。本文正是基于心音信號(hào)的周期性自動(dòng)提取心動(dòng)周期。
數(shù)學(xué)形態(tài)學(xué)在二維圖像處理中應(yīng)用非常廣泛,它包括4種基本運(yùn)算:膨脹、腐蝕、開運(yùn)算和閉運(yùn)算,是利用一個(gè)結(jié)構(gòu)元素去探測(cè)圖像,去量度和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像分析和識(shí)別的目。正因?yàn)閿?shù)學(xué)形態(tài)學(xué)是分析圖形幾何形狀和結(jié)構(gòu)的數(shù)學(xué)方法,近年來它也被用于提取一維信號(hào)的包絡(luò)[8-11]。
圖1 心音信號(hào)
將數(shù)學(xué)形態(tài)學(xué)推廣到一維信號(hào)處理,其基本的膨脹、腐蝕、開運(yùn)算和閉運(yùn)算定義如下[11]:設(shè)F,S分別為一維信號(hào)和一維結(jié)構(gòu)元素,其長(zhǎng)度分別為N和M,一般N>M,則F被S膨脹為:
其中n=M,…, N; m=0,…M-1。具體的運(yùn)算過程為:平移結(jié)構(gòu)元素至n點(diǎn)處,將結(jié)構(gòu)元素與信號(hào)序列對(duì)應(yīng)數(shù)據(jù)點(diǎn)相加,取相加結(jié)果的最大值。由上述運(yùn)算可知,一維信號(hào)前端的M個(gè)數(shù)據(jù)點(diǎn)未進(jìn)行膨脹。
F被S腐蝕:
式中n=0,…,N-M; m=0,…M-1。具體的運(yùn)算過程為:平移結(jié)構(gòu)元素至n點(diǎn)處,信號(hào)序列與結(jié)構(gòu)元素對(duì)應(yīng)數(shù)據(jù)點(diǎn)相減,取相減結(jié)果的最小值。由上述運(yùn)算可知,一維信號(hào)末端的M個(gè)數(shù)據(jù)點(diǎn)未進(jìn)行腐蝕運(yùn)算。
開運(yùn)算是指對(duì)一維信號(hào)先腐蝕再膨脹,閉運(yùn)算則是指對(duì)信號(hào)先膨脹再腐蝕。
本文所用心音樣本長(zhǎng)度均為5 s,一個(gè)心動(dòng)周期的平均時(shí)間約為0.8 s,一個(gè)5 s的心音樣本應(yīng)該包含6個(gè)左右心動(dòng)周期??紤]到心動(dòng)過緩導(dǎo)致的心音變異等,本文對(duì)一個(gè)樣本提取4個(gè)心動(dòng)周期的信息。將原始心音信號(hào)基線置零,再將信號(hào)按基線取絕對(duì)值,最后將整段信號(hào)按強(qiáng)度歸一化處理,即“全波整流”。為了減少每次處理的數(shù)據(jù)量,將信號(hào)下采樣至1102.5 Hz。預(yù)處理后的心音信號(hào),采用閉運(yùn)算提取其包絡(luò)。閉運(yùn)算先采用結(jié)構(gòu)元素膨脹,填充信號(hào)內(nèi)相鄰峰值間的細(xì)小溝壑;再采用結(jié)構(gòu)元素腐蝕,平滑峰值間的細(xì)小突出。經(jīng)過預(yù)處理與閉運(yùn)算后,獲得一維心音信號(hào)的包絡(luò),見圖2。
信號(hào)處理中,相關(guān)函數(shù)的應(yīng)用廣泛,包括信號(hào)中隱含周期性的檢測(cè)、噪聲中信號(hào)的提取等[12-13]。其定義如下:
圖2 一維心音信號(hào)包絡(luò)
相關(guān)計(jì)算進(jìn)一步平滑了心音信號(hào)包絡(luò)上的毛刺、溝壑。經(jīng)過形態(tài)學(xué)閉運(yùn)算提取的心音包絡(luò)仍然帶有毛刺,并不適合做進(jìn)一步的周期提取。為了突出信號(hào)的周期性,用于自動(dòng)分段,本文采用一種自適應(yīng)的相關(guān)計(jì)算,突出其峰值位置。即提取每個(gè)心音信號(hào)各自的主峰片段與整個(gè)包絡(luò)做相關(guān)運(yùn)算,則整個(gè)信號(hào)中與主峰形狀相似的峰位將被突出。以圖2a為例,圖中主峰為持續(xù)時(shí)間較長(zhǎng)的方形峰,提取該方形峰與圖2a整段包絡(luò)做相關(guān)計(jì)算后,方形峰起始位置成為相關(guān)系數(shù)極值位置,見圖3。
圖3 提取主峰片段進(jìn)行相關(guān)運(yùn)算結(jié)果
心音自動(dòng)分段是基于心音信號(hào)的周期性。一般來說,每個(gè)心動(dòng)周期中,峰值的間期相對(duì)穩(wěn)定而各不相同。在圖2中標(biāo)記出相關(guān)計(jì)算后的局部極值,按順序標(biāo)記為P1,P2,…。首先將P1看作第1個(gè)心動(dòng)周期的第一個(gè)峰值,將P2看作第2個(gè)心動(dòng)周期的第一個(gè)峰值,兩者之間的時(shí)間為一個(gè)心動(dòng)周期T1;將P3看作第3個(gè)心動(dòng)周期的第一峰,P2和P3之間的時(shí)間間隔,為第二個(gè)心動(dòng)周期T2,T2應(yīng)與T1大致相等,若兩者大致相同,則相應(yīng)的P4與P3,P5與P4之間的時(shí)間間隔大致相同,若T2應(yīng)與T1明顯不同,說明P2可能是第1個(gè)心動(dòng)周期的第二個(gè)峰,此時(shí),將T1改為T11,T2改為T12;將P3標(biāo)記為第2個(gè)心動(dòng)周期的第一個(gè)峰,P4標(biāo)記為第2個(gè)心動(dòng)周期的第二個(gè)峰,P5標(biāo)記為第3個(gè)心動(dòng)周期的第一個(gè)峰,分別記錄P3P4間隔為T21、P4P5間隔為T22,若T21與T11,T22與T12大致相同,則相應(yīng)的P5P6、P7P8之間的間隔大致相同,P6P7、P8P9之間的間隔大致相同;若T21與T11、T22與T12明顯不同,說明P3是第1個(gè)心動(dòng)周期的第三個(gè)峰,則P4、P5、P6分別看作第2個(gè)心動(dòng)周期的第一、二、三峰;將P3P4之間的間隔改為T13,將P4P5、P5P6、P6P7之間的間隔分別標(biāo)記為T21、T22、T23,比較T21與T11、T22與T12、T23與T13是否大致相同,依次類推。確定出每個(gè)心動(dòng)周期的長(zhǎng)度,從而自動(dòng)標(biāo)記出每個(gè)心動(dòng)周期的起始位置,見圖4。如圖4a所示,圖中菱形標(biāo)記為前5個(gè)心動(dòng)周期的起點(diǎn)。
圖4 峰位的后處理結(jié)果
每一個(gè)心動(dòng)周期被標(biāo)記出來以后,在周期內(nèi)根據(jù)心音的生理學(xué)特征調(diào)整S1和S2的位置。根據(jù)心電圖資料:心臟收縮期的持續(xù)時(shí)間即S1結(jié)束到S2開始,小于舒張期的持續(xù)時(shí)間即S2結(jié)束到S1開始;心臟收縮期的時(shí)間基本穩(wěn)定,當(dāng)心動(dòng)過速時(shí),舒張期縮短,以致收縮期和舒張期的時(shí)間幾乎相等,此時(shí)S1增強(qiáng),S2減弱[11,14-15]。
當(dāng)一個(gè)心動(dòng)周期中,有兩個(gè)以上的峰值,則根據(jù)4個(gè)周期內(nèi)相應(yīng)峰位的平均幅值,留取最強(qiáng)的兩個(gè)峰位,利用S1S2間距小于S2S1間距來判斷,兩者間距相差0.1 s以上,間距小的是S1S2;兩者間距相差0.06 s以下,取周期內(nèi)幅值強(qiáng)的為S1。處理后,每個(gè)心動(dòng)周期內(nèi)的心音標(biāo)記如圖4b所示,三角形標(biāo)記為每個(gè)心動(dòng)周期的的S1,方形標(biāo)記為S2。
本研究采用的心音有兩部份來源,共48例,其中10例異常心音從互聯(lián)網(wǎng)下載,其采樣頻率為22050 Hz[16];另外38例采自由北京市宣武醫(yī)院體檢顯示無心血管疾病的健康人群。心音信號(hào)采集時(shí)將HKY-60C 型心音傳感器(合肥華科電子技術(shù)研究所研制)放在心尖區(qū),在家用電腦上通過Cool Edit Pro2.0軟件直接錄制,采樣頻率為11025 Hz。實(shí)驗(yàn)中對(duì)上述每例心音提取兩個(gè)時(shí)長(zhǎng)5 s的樣本,共96個(gè)樣本進(jìn)行了自動(dòng)分段和S1、S2的識(shí)別,其結(jié)果由北京友誼醫(yī)院的專家進(jìn)行鑒定。實(shí)驗(yàn)結(jié)果表明該算法對(duì)于正常心音的分段以及S1、S2的識(shí)別正確率達(dá)到100%。對(duì)于異常心音,如圖1a所示,經(jīng)相關(guān)計(jì)算后周期內(nèi)只有一個(gè)極大值,未計(jì)入正確率計(jì)算外,還有一例收縮中期出現(xiàn)的喀啦音因幅值較高,未被正確識(shí)別外,其他異常心音均能正確分段且識(shí)別出S1、S2,算法對(duì)異常心音的正確率為89%。
該算法將數(shù)學(xué)形態(tài)學(xué)和主峰片段相關(guān)計(jì)算相結(jié)合自動(dòng)提取心音信號(hào)的包絡(luò),標(biāo)記出心動(dòng)周期的起點(diǎn),回避了其他算法中由于包絡(luò)不平滑,毛刺等對(duì)后期處理的問題[17],能夠快速便捷的對(duì)心音信號(hào)進(jìn)行分段和識(shí)別,為后期提取心音信號(hào)的各類特征進(jìn)行心音正常和異常識(shí)別提供了基礎(chǔ)。
本文基于人體心音信號(hào)的周期性,提出了數(shù)學(xué)形態(tài)學(xué)運(yùn)算提取心音包絡(luò),并提取包絡(luò)各自的主峰片段與信號(hào)進(jìn)行相關(guān)計(jì)算以突出心音周期性的方法,對(duì)心音信號(hào)進(jìn)行了基于周期性的自動(dòng)分段。經(jīng)過48例心音共96個(gè)樣本的檢驗(yàn),該算法能有效地進(jìn)行心音分段,并正確識(shí)別出每個(gè)心動(dòng)周期中的S1和S2峰,可用于心音正常和異常識(shí)別的前期特征提取。
[1] Solomon LW.Yale university school of medicine heart book[J].Yale J Biol Med,1992,65(5):537.
[2] 羅建仲,羅琳.心臟聽診[M].北京:人民衛(wèi)生出版社,2000.
[3] Lehner RJ,Rangayyan RM.A three-channel microcomputer system for segmentation and characterization of the phonocardiogram[J].IEEE Trans Biomed Eng,1987,34(6):485-489.
[4] 陳潔,侯海良,羅良才,等.一種新的HHT在心音包絡(luò)提取中的應(yīng)用[J].中國(guó)醫(yī)學(xué)物理學(xué)雜志,2012,29(2):3272-3275.
[5] 李江,李曉玉.基于HHT的心音分段和醫(yī)學(xué)指標(biāo)提取[J].控制工程,2015,22(1):164-169.
[6] 胡曉,王威廉.基于小波變換心音定位[J].生物醫(yī)學(xué)工程與臨床,2002,6(4):181-184.
[7] 武偉寧,陳若珠.基于周期提取的心音分段方法[J].北京生物醫(yī)學(xué)工程, 2015,34(1):59-63.
[8] 張笑東,蒲寶明,霍紅,等.均值濾波和形態(tài)學(xué)在振蕩脈搏波提取中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25(2):157-161.
[9] 張柯欣,王雪峰,魏巍,等.基于數(shù)學(xué)形態(tài)學(xué)的病理性附加肺音時(shí)頻譜圖分析[J].中華中醫(yī)藥學(xué)刊,2016,34(7):1550-1552.
[10] 高艷,胡陽.基于數(shù)學(xué)形態(tài)學(xué)方法的心電圖波形分離技術(shù)[J].生物醫(yī)學(xué)工程雜志,2001,18(1):55-59.
[11] 郭興明,陳劍,肖守中.基于數(shù)學(xué)形態(tài)學(xué)的心音信號(hào)識(shí)別方法[J].生物醫(yī)學(xué)工程學(xué)雜志,2004,1221(5):832-835.
[12] 徐維超.相關(guān)系數(shù)研究綜述[J].廣東工業(yè)大學(xué)學(xué)報(bào),2012,29(3):12-17.
[13] 葛新成,羅大成,曹勇.相關(guān)函數(shù)在數(shù)字信號(hào)處理中的應(yīng)用[J].電光與控制,2006,13(6):78-80.
[14] 吳玉春,楊亞萍,鄧北川.心音信號(hào)分段規(guī)則的探討[J].北京生物醫(yī)學(xué)工程,2014,33(5):524-526.
[15] 高攀.基于心音的病理特征研究[D].秦皇島:燕山大學(xué),2012.
[16] 許曉飛,林勇.基于希爾伯特-黃變換的心音包絡(luò)提取[J].航天醫(yī)學(xué)與醫(yī)學(xué)工程,2008,21(2):134-136.
[17] 林勇,許曉飛.基于經(jīng)驗(yàn)?zāi)J椒纸獾男囊糇詣?dòng)分段算法[J].中國(guó)生物醫(yī)學(xué)工程學(xué)報(bào),2008,27(4):485-488.