本發(fā)明屬于房顫?rùn)z測(cè)技術(shù)領(lǐng)域,涉及一種心電信號(hào)識(shí)別中的房顫信號(hào)檢測(cè)的實(shí)現(xiàn)方法,具體涉及一種基于機(jī)器學(xué)習(xí)算法的心電信號(hào)中房顫信號(hào)檢測(cè)的實(shí)現(xiàn)方法。
背景技術(shù):
隨著人工智能技術(shù)的發(fā)展,房顫信號(hào)的檢測(cè)可以不再依賴于專業(yè)醫(yī)生的經(jīng)驗(yàn)判斷,而使用人工智能技術(shù)中的機(jī)器學(xué)習(xí)算法讓機(jī)器進(jìn)行房顫信號(hào)的檢測(cè),提高了房顫?rùn)z測(cè)的效率。傳統(tǒng)的基于機(jī)器學(xué)習(xí)算法進(jìn)行房顫信號(hào)的檢測(cè)大多都需要先檢測(cè)心電信號(hào)中的p波或者r-r間期,然后根據(jù)這些特征利用機(jī)器學(xué)習(xí)算法設(shè)計(jì)一個(gè)分類器進(jìn)行房顫信號(hào)的檢測(cè)。但由于p波易受到噪聲或者運(yùn)動(dòng)的污染,基于p波的房顫?rùn)z測(cè)算法在有噪聲出現(xiàn)的情況下表現(xiàn)很差,這會(huì)導(dǎo)致房顫?rùn)z測(cè)的準(zhǔn)確率下降;而基于r-r間期的房顫?rùn)z測(cè)算法在少于1分鐘的數(shù)據(jù)段上表現(xiàn)出的性能也很差,這會(huì)使得持續(xù)時(shí)間較短的房顫片段無(wú)法被檢測(cè)出來(lái)。最近也有一些研究采用了其他特征,如小波變換后提取峰值平均功率和對(duì)數(shù)能量熵等特征,然后再利用支持向量機(jī)進(jìn)行訓(xùn)練與測(cè)試。但這種房顫?rùn)z測(cè)算法的性能在很大程度上都依賴于人為設(shè)計(jì)的特征對(duì)原信號(hào)的表征能力,所以這些人為設(shè)計(jì)的特征的可靠性是不確定的。這是因?yàn)椴皇敲總€(gè)個(gè)體的房顫信號(hào)都會(huì)存在這些人為設(shè)計(jì)的特征,所以這種方法在實(shí)際的應(yīng)用中的性能不是很好?;谏鲜龇治?,現(xiàn)有的房顫?rùn)z測(cè)方法還存在很大的缺陷,急需提出新的檢測(cè)方法來(lái)提高檢測(cè)的性能。
深度卷積神經(jīng)網(wǎng)絡(luò)是目前機(jī)器學(xué)習(xí)研究領(lǐng)域的一個(gè)熱點(diǎn),它已經(jīng)被成功應(yīng)用于圖像識(shí)別、語(yǔ)音識(shí)別、目標(biāo)檢測(cè)和許多其他領(lǐng)域(比如藥物發(fā)現(xiàn)和基因研究)。它能夠允許機(jī)器自動(dòng)的發(fā)現(xiàn)那些在檢測(cè)或分類中要用到的數(shù)據(jù)的內(nèi)在特征,這樣就免于人為的進(jìn)行一些與特征相關(guān)的計(jì)算。但由于心電信號(hào)的特殊性,在房顫?rùn)z測(cè)領(lǐng)域至今還沒(méi)有發(fā)現(xiàn)關(guān)于深度卷積神經(jīng)網(wǎng)絡(luò)成功應(yīng)用的報(bào)道。這其中一個(gè)很大的原因就是深度卷積神經(jīng)網(wǎng)絡(luò)適用于輸入是二維形式的數(shù)據(jù),而心電信號(hào)是一維數(shù)據(jù),這就使得直接將心電信號(hào)送入網(wǎng)絡(luò)進(jìn)行房顫?rùn)z測(cè)成為一大難點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)的實(shí)現(xiàn)方法,該方法能夠?qū)螌?dǎo)聯(lián)一維心電數(shù)據(jù)經(jīng)過(guò)信號(hào)轉(zhuǎn)換變成二維形式,使得其適用于處理二維數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò),從而實(shí)現(xiàn)通過(guò)機(jī)器自動(dòng)學(xué)習(xí)特征并進(jìn)行分類,并最終實(shí)現(xiàn)房顫的自動(dòng)化檢測(cè)。將本發(fā)明的方法用于房顫?rùn)z測(cè)時(shí),無(wú)需檢測(cè)p波或r-r間期,也無(wú)需人為設(shè)計(jì)特征,極大地提高了房顫?rùn)z測(cè)的效率和準(zhǔn)確率,對(duì)臨床醫(yī)學(xué)和社會(huì)都有著重要的作用和意義。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)的實(shí)現(xiàn)方法,包括如下步驟:
(1)利用心電圖(ecg)采集設(shè)備采集患者單個(gè)導(dǎo)聯(lián)的連續(xù)心電數(shù)據(jù);
(2)將采集到的心電數(shù)據(jù)按固定時(shí)間長(zhǎng)度l分段,得到由多段時(shí)間長(zhǎng)度均為l的心電數(shù)據(jù)段構(gòu)成的房顫信號(hào)檢測(cè)的基本單元;
(3)對(duì)每一段長(zhǎng)度為l的心電數(shù)據(jù)段進(jìn)行預(yù)處理,得到無(wú)噪聲的心電數(shù)據(jù)段;
(4)對(duì)無(wú)噪聲的心電數(shù)據(jù)段進(jìn)行信號(hào)轉(zhuǎn)換,將一維的心電信號(hào)轉(zhuǎn)換成適用于深度卷積神經(jīng)網(wǎng)絡(luò)的二維形式;
(5)對(duì)轉(zhuǎn)換后的心電信號(hào)數(shù)據(jù)段進(jìn)行逐樣本均值削減和數(shù)據(jù)格式轉(zhuǎn)換;
(6)重復(fù)步驟(2)-(5),將一條連續(xù)采集的心電數(shù)據(jù)段轉(zhuǎn)換成多段長(zhǎng)度為l的符合深度卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)輸入形式要求的心電數(shù)據(jù);
(7)重復(fù)步驟(1)-(6),得到心電數(shù)據(jù)段的數(shù)據(jù)集,基于該數(shù)據(jù)集,利用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到用于房顫?rùn)z測(cè)的深度卷積神經(jīng)網(wǎng)絡(luò)參數(shù)模型。
本發(fā)明具有如下優(yōu)點(diǎn):
1、本發(fā)明先將一維心電數(shù)據(jù)經(jīng)過(guò)恰當(dāng)?shù)淖儞Q處理后轉(zhuǎn)變成二維形式,然后利用深度卷積神經(jīng)網(wǎng)絡(luò)來(lái)讓機(jī)器自動(dòng)學(xué)習(xí)二維形式的心電數(shù)據(jù)的內(nèi)在特征,完全拋棄p波或r-r間期的檢測(cè)以及其他人為設(shè)計(jì)的特征,無(wú)需人為進(jìn)行大量復(fù)雜的處理,用于房顫?rùn)z測(cè)時(shí)可以極大地提高房顫?rùn)z測(cè)的效率和準(zhǔn)確率。
2、本發(fā)明在mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)上進(jìn)行了測(cè)試,取得了良好的性能。基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法的準(zhǔn)確率是98.63%,敏感性是98.79%,特異性是97.87%;基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法的準(zhǔn)確率是98.29%,敏感性是98.34%,特異性是98.24%。
附圖說(shuō)明
圖1是本發(fā)明所述基于深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法的總體流程圖;
圖2是本發(fā)明所述基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法的流程圖;
圖3是本發(fā)明所述基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法的流程圖;
圖4是本發(fā)明所述基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法中一維心電信號(hào)轉(zhuǎn)換成的二維形式的小波變換系數(shù)圖;
圖5是本發(fā)明所述基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法中一維心電信號(hào)轉(zhuǎn)換成的二維形式的時(shí)頻譜圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的說(shuō)明,但并不局限于此,凡是對(duì)本發(fā)明技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍中。
具體實(shí)施方式一:本實(shí)施方式提供了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)的實(shí)現(xiàn)方法,為了使原本的一維的心電信號(hào)能夠適用于處理二維數(shù)據(jù)形式的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),需要對(duì)一維的心電信號(hào)進(jìn)行適當(dāng)?shù)淖儞Q,從而滿足深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)輸入信號(hào)的要求。此外,本實(shí)施方式提供的基于深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)的實(shí)現(xiàn)方法,其深度卷積神經(jīng)網(wǎng)絡(luò)是基于當(dāng)前最流行的深度學(xué)習(xí)框架之一的caffe來(lái)構(gòu)建的。具體實(shí)施方式步驟如下:
(1)利用ecg采集設(shè)備采集患者單個(gè)導(dǎo)聯(lián)的連續(xù)心電數(shù)據(jù),并由醫(yī)生對(duì)心電數(shù)據(jù)的每一個(gè)心拍標(biāo)記其是否存在房顫。
(2)將采集到的心電數(shù)據(jù)按固定時(shí)間長(zhǎng)度分段,時(shí)間長(zhǎng)度可自行設(shè)定,這里定義為l;從而一段連續(xù)的心電數(shù)據(jù)被分成了多段時(shí)間長(zhǎng)度均為l的心電數(shù)據(jù)段,這些數(shù)據(jù)段構(gòu)成了房顫信號(hào)檢測(cè)的基本單元。經(jīng)過(guò)分段后,最后一段長(zhǎng)度若小于l,則舍棄該數(shù)據(jù)段。
(3)對(duì)每一個(gè)長(zhǎng)度為l的心電數(shù)據(jù)段,基于醫(yī)生在原始心電數(shù)據(jù)上的房顫標(biāo)記進(jìn)行重新標(biāo)記,標(biāo)記的基本規(guī)則為:該數(shù)據(jù)段中異常的房顫時(shí)間長(zhǎng)度若大于一定比例就標(biāo)記為房顫段,否則就是非房顫段。
(4)將步驟(3)中得到的任意一個(gè)心電數(shù)據(jù)段進(jìn)行預(yù)處理,去除常見(jiàn)的心電噪聲,主要包括基線漂移、肌電干擾、工頻干擾等。
(5)對(duì)去除噪聲后的心電數(shù)據(jù)段進(jìn)行信號(hào)轉(zhuǎn)換,將一維的心電信號(hào)轉(zhuǎn)換成適用于深度卷積神經(jīng)網(wǎng)絡(luò)的二維形式。
(6)對(duì)轉(zhuǎn)換后的心電數(shù)據(jù)段進(jìn)行后處理,后處理包括逐樣本均值削減和數(shù)據(jù)格式轉(zhuǎn)換,其中:前者可以提高深度卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)性能,后者用于將原有的數(shù)據(jù)格式轉(zhuǎn)換成所用深度學(xué)習(xí)框架要求的數(shù)據(jù)格式。
(7)重復(fù)步驟(3)-(6),將一條連續(xù)采集的心電數(shù)據(jù)段轉(zhuǎn)換成多段長(zhǎng)度為l的符合深度卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)輸入形式要求的心電信號(hào)數(shù)據(jù),且有是否為房顫的標(biāo)記。
(8)重復(fù)步驟(1)-(7),得到心電數(shù)據(jù)段的數(shù)據(jù)集,基于該數(shù)據(jù)集,利用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到用于房顫?rùn)z測(cè)的深度卷積神經(jīng)網(wǎng)絡(luò)參數(shù)模型。
(9)在實(shí)際房顫?rùn)z測(cè)應(yīng)用中,對(duì)每一個(gè)患者進(jìn)行步驟(1)-(7)的操作,從而獲得經(jīng)過(guò)處理的二維信號(hào)。值得注意的是上述步驟中的房顫標(biāo)記環(huán)節(jié)需要忽略。然后利用步驟(8)中訓(xùn)練出來(lái)的深度卷積神經(jīng)網(wǎng)絡(luò)參數(shù)模型對(duì)該信號(hào)進(jìn)行檢測(cè),從而可以對(duì)一段連續(xù)的單導(dǎo)聯(lián)心電信號(hào)進(jìn)行房顫判定,并且以時(shí)間長(zhǎng)度l為單位進(jìn)行檢測(cè)。任何一段時(shí)間長(zhǎng)度l上出現(xiàn)房顫就判定為病人有房顫疾病。
根據(jù)圖1中的信號(hào)轉(zhuǎn)換,上述步驟(5)中所述信號(hào)轉(zhuǎn)換的方法是基于靜態(tài)小波變換的處理方法或者是基于短時(shí)傅里葉變換的處理方法,其中:
基于靜態(tài)小波變換將心電信號(hào)轉(zhuǎn)換成二維形式數(shù)據(jù)的具體過(guò)程如下:
a、對(duì)每一個(gè)數(shù)據(jù)段進(jìn)行j層的靜態(tài)小波變換,按照以下公式遞歸的計(jì)算j個(gè)近似系數(shù)序列和j個(gè)細(xì)節(jié)系數(shù)序列:
其中,j表示靜態(tài)小波變換的第j層分解,n表示輸入數(shù)據(jù)的維度,m表示偏移量,g(·)表示高通濾波器,h(·)表示低通濾波器,dj(·)表示第j層分解下的細(xì)節(jié)系數(shù),cj(·)表示第j層分解下的近似系數(shù)。
b、對(duì)每一個(gè)小波系數(shù)序列進(jìn)行歸一化,使得所有數(shù)據(jù)位于[-1,1]。把每個(gè)數(shù)據(jù)段的2×j個(gè)系數(shù)序列組織成一個(gè)二維數(shù)值矩陣,每一行代表一個(gè)系數(shù)序列,在心電信號(hào)采樣頻率為n,數(shù)據(jù)段時(shí)間長(zhǎng)度為l的情況下,每一個(gè)系數(shù)時(shí)間序列的長(zhǎng)度為n×l。這樣每一個(gè)數(shù)據(jù)段就從原來(lái)的一維形式轉(zhuǎn)變成了二維形式,即(n×l)×(2×j)的二維矩陣。
基于短時(shí)傅里葉變換將心電信號(hào)轉(zhuǎn)換成二維形式數(shù)據(jù)的具體過(guò)程如下:
對(duì)每一個(gè)數(shù)據(jù)段利用下式進(jìn)行短時(shí)傅里葉變換:
其中,ω表示傅里葉變換的頻域參數(shù),u表示傅里葉變換的時(shí)域參數(shù),t表示輸入數(shù)據(jù)的時(shí)域參數(shù),f(·)表示輸入數(shù)據(jù),g(·)表示窗函數(shù),通常是一個(gè)漢明窗或高斯窗。每一個(gè)數(shù)據(jù)段完成短時(shí)傅里葉變換之后,就可以得到一個(gè)與之對(duì)應(yīng)的彩色的時(shí)頻譜圖,這樣每一個(gè)數(shù)據(jù)段就從原來(lái)的一維形式轉(zhuǎn)變成了二維形式。
具體實(shí)施方式二:本實(shí)施方式提供了一種基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法,如圖2所示,具體步驟如下:
步驟(1):將mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)中的記錄讀入。
步驟(2):對(duì)這些心電記錄進(jìn)行數(shù)據(jù)分段,每個(gè)數(shù)據(jù)段的持續(xù)時(shí)長(zhǎng)是5秒,由于mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)的采樣頻率是250hz,所以每個(gè)5秒的數(shù)據(jù)段包含1250個(gè)采樣點(diǎn)。根據(jù)mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)的注釋文件對(duì)每個(gè)5秒數(shù)據(jù)段設(shè)置樣本類別標(biāo)簽,設(shè)置標(biāo)簽的依據(jù)是:若每個(gè)5秒數(shù)據(jù)段中的房顫的心拍數(shù)量在整個(gè)數(shù)據(jù)段中的比例≥50%,則標(biāo)記該數(shù)據(jù)段為房顫段,否則為非房顫段。
步驟(3):對(duì)數(shù)據(jù)分段后的每一個(gè)數(shù)據(jù)段進(jìn)行噪聲過(guò)濾,從而除去心電信號(hào)中的基線漂移、肌電干擾和工頻干擾等常見(jiàn)噪聲。采用一個(gè)0.5-50hz的橢圓濾波器,濾波器的階數(shù)是10。為了獲得零相位失真的數(shù)據(jù)段,在正向過(guò)濾之后還要進(jìn)行反向過(guò)濾。
步驟(4):對(duì)過(guò)濾后的每一個(gè)數(shù)據(jù)段進(jìn)行6層的靜態(tài)小波變換,按照以下公式遞歸的計(jì)算6個(gè)近似系數(shù)序列和6個(gè)細(xì)節(jié)系數(shù)序列:
其中,j表示靜態(tài)小波變換的第j層分解,n表示輸入數(shù)據(jù)的維度,m表示偏移量,g(·)表示高通濾波器,h(·)表示低通濾波器,dj(·)表示第j層分解下的細(xì)節(jié)系數(shù),cj(·)表示第j層分解下的近似系數(shù)。
每一個(gè)數(shù)據(jù)段會(huì)得到6個(gè)近似系數(shù)序列和6個(gè)細(xì)節(jié)系數(shù)序列。對(duì)每一個(gè)小波系數(shù)序列進(jìn)行歸一化,使得所有數(shù)據(jù)位于[-1,1]。把每個(gè)數(shù)據(jù)段的12個(gè)系數(shù)序列組織成一個(gè)二維數(shù)值矩陣,每一行代表一個(gè)系數(shù)序列,列的長(zhǎng)度是1250,也就是5秒數(shù)據(jù)段的時(shí)域的長(zhǎng)度為1250個(gè)采樣點(diǎn)。這樣每一個(gè)數(shù)據(jù)段就從原來(lái)的一維形式轉(zhuǎn)變成了二維形式,即12×1250的二維矩陣。圖4是基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法中深度卷積神經(jīng)網(wǎng)絡(luò)的每一個(gè)樣本的二維輸入形式,每一行表示一個(gè)系數(shù)時(shí)間序列,一共12行。前6行表示6個(gè)近似系數(shù)序列,后6行表示6個(gè)細(xì)節(jié)系數(shù)序列。橫坐標(biāo)表示時(shí)間長(zhǎng)度為5秒。這里以圖片的形式給出是為了方便觀察和理解,其實(shí)在實(shí)際輸入深度卷積神經(jīng)網(wǎng)絡(luò)時(shí)它是以一個(gè)二維的數(shù)值矩陣輸入網(wǎng)絡(luò)的,而不是以圖4這樣的圖片的格式輸入的。
步驟(5):將所有數(shù)據(jù)段按照9:1的比例分成訓(xùn)練集和測(cè)試集,為了平衡樣本間類別差異,讓網(wǎng)絡(luò)能更好的學(xué)習(xí)房顫段數(shù)據(jù)的特征和非房顫段數(shù)據(jù)的特征,從而達(dá)到更好的檢測(cè)效果,訓(xùn)練集中房顫段和非房顫段數(shù)量的比值是1:1。
步驟(6):將二維數(shù)值矩陣格式的數(shù)據(jù)轉(zhuǎn)換成caffe中用到的lmdb格式的數(shù)據(jù),以便于后面利用由caffe深度學(xué)習(xí)框架設(shè)計(jì)的深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行特征提取和分類。
步驟(7):利用caffe深度學(xué)習(xí)框架中的方法分別計(jì)算lmdb格式的訓(xùn)練集和測(cè)試集的均值,然后逐樣本減去該均值。
步驟(8):將格式轉(zhuǎn)換后的lmdb格式的訓(xùn)練集送入到設(shè)計(jì)好的深度卷積神經(jīng)網(wǎng)絡(luò)中,讓網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)數(shù)據(jù)的內(nèi)在特征,進(jìn)行特征提取,最終得到用于房顫?rùn)z測(cè)的網(wǎng)絡(luò)參數(shù)模型。這里用到的深度卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是:第一層是輸入層,輸入的每一個(gè)樣本的的尺寸是12×1250;第二層是一個(gè)卷積層,共含有32個(gè)尺寸為3×11的卷積核,卷積時(shí)的移動(dòng)步幅的尺寸是1×4,該卷積層后面帶有一個(gè)修正線性單元(rectifiedlinearunit,relu),該修正線性單元后面跟著一個(gè)尺寸為2×3的最大池化層,池化時(shí)的移動(dòng)步幅的尺寸是2×3;第三層是一個(gè)卷積層,共含有32個(gè)尺寸為2×11的卷積核,卷積時(shí)的移動(dòng)步幅的尺寸是1×4,該卷積層后面帶有一個(gè)尺寸為2×3的最大池化層,池化時(shí)的移動(dòng)步幅的尺寸是2×3;第四層是一個(gè)全連接層,共含有100個(gè)隱藏神經(jīng)元,該全連接層后面帶有一個(gè)修正線性單元,該修正線性單元后面跟著一個(gè)dropout層,該dropout層的dropout率為0.5;第五層是一個(gè)全連接層,共含有2個(gè)隱藏神經(jīng)元,后面帶有一個(gè)softmax損失函數(shù)層。在整個(gè)網(wǎng)絡(luò)訓(xùn)練過(guò)程中訓(xùn)練集的批處理量為100,學(xué)習(xí)速率為0.01,學(xué)習(xí)速率每隔5000次迭代就縮小0.1倍,最大迭代次數(shù)為30000。
步驟(9):用已經(jīng)訓(xùn)練好的深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行測(cè)試,完成房顫?rùn)z測(cè)過(guò)程。
具體實(shí)施方式三:本實(shí)施方式提供了一種基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法,如圖3所示,具體步驟如下:
步驟(1):將mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)中的記錄讀入。
步驟(2):對(duì)這些心電記錄進(jìn)行數(shù)據(jù)分段,每個(gè)數(shù)據(jù)段的持續(xù)時(shí)長(zhǎng)是5秒,由于mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)的采樣頻率是250hz,所以每個(gè)5秒的數(shù)據(jù)段包含1250個(gè)采樣點(diǎn)。根據(jù)mit-bih心房顫動(dòng)數(shù)據(jù)庫(kù)的注釋文件對(duì)每個(gè)5秒數(shù)據(jù)段設(shè)置樣本類別標(biāo)簽,設(shè)置標(biāo)簽的依據(jù)是:若每個(gè)5秒數(shù)據(jù)段中的房顫的心拍數(shù)量在整個(gè)數(shù)據(jù)段中的比例≥50%,則標(biāo)記該數(shù)據(jù)段為房顫段,否則為非房顫段。
步驟(3):對(duì)數(shù)據(jù)分段后的每一個(gè)數(shù)據(jù)段進(jìn)行噪聲過(guò)濾,從而除去心電信號(hào)中的基線漂移、肌電干擾和工頻干擾等常見(jiàn)噪聲。采用一個(gè)0.5-50hz的橢圓濾波器,濾波器的階數(shù)是10。為了獲得零相位失真的數(shù)據(jù)段,在正向過(guò)濾之后還要進(jìn)行反向過(guò)濾。
步驟(4):對(duì)過(guò)濾后的每一個(gè)數(shù)據(jù)段利用下式進(jìn)行短時(shí)傅里葉變換:
其中,ω表示傅里葉變換的頻域參數(shù),u表示傅里葉變換的時(shí)域參數(shù),t表示輸入數(shù)據(jù)的時(shí)域參數(shù),f(·)表示輸入數(shù)據(jù),g(·)表示窗函數(shù),通常是一個(gè)漢明窗或高斯窗。
短時(shí)傅里葉變換的窗函數(shù)選用漢明窗,窗的長(zhǎng)度是128。每一個(gè)數(shù)據(jù)段進(jìn)行完短時(shí)傅里葉變換之后就可以得到一個(gè)與之對(duì)應(yīng)的彩色的時(shí)頻譜圖,以.jpg格式保存,這樣每一個(gè)數(shù)據(jù)段就從原來(lái)的一維形式轉(zhuǎn)變成了二維形式。圖5是基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法中深度卷積神經(jīng)網(wǎng)絡(luò)的每一個(gè)樣本的二維輸入形式,它是一個(gè)5秒數(shù)據(jù)段的時(shí)頻譜圖,縱軸表示頻率,橫軸表示時(shí)間。與圖2所示基于靜態(tài)小波變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法不同的是,在基于短時(shí)傅里葉變換結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的房顫?rùn)z測(cè)方法中網(wǎng)絡(luò)的輸入就是這樣的一個(gè)(沒(méi)有坐標(biāo)軸標(biāo)記)二維圖片,而不是二維數(shù)值矩陣。
步驟(5):將所有數(shù)據(jù)段按照9:1的比例分成訓(xùn)練集和測(cè)試集,為了平衡樣本間類別差異,讓網(wǎng)絡(luò)能更好的學(xué)習(xí)房顫段數(shù)據(jù)的特征和非房顫段數(shù)據(jù)的特征,從而達(dá)到更好的檢測(cè)效果,訓(xùn)練集中房顫段和非房顫段數(shù)量的比值是1:1。
步驟(6):利用caffe深度學(xué)習(xí)框架中的方法將.jpg格式的訓(xùn)練集和測(cè)試集轉(zhuǎn)換成caffe中用到的lmdb格式的數(shù)據(jù),以便于后面利用由caffe深度學(xué)習(xí)框架設(shè)計(jì)的深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行特征提取和分類。
步驟(7):利用caffe深度學(xué)習(xí)框架中的方法分別計(jì)算lmdb格式的訓(xùn)練集和測(cè)試集的均值,然后逐樣本減去該均值。
步驟(8):將格式轉(zhuǎn)換后的lmdb格式的訓(xùn)練集送入到設(shè)計(jì)好的深度卷積神經(jīng)網(wǎng)絡(luò)中,讓網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)數(shù)據(jù)的內(nèi)在特征,進(jìn)行特征提取,最終得到用于房顫?rùn)z測(cè)的網(wǎng)絡(luò)參數(shù)模型。這里用到的深度卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是:第一層是輸入層,輸入的每一個(gè)樣本的的尺寸是256×256;第二層是一個(gè)卷積層,共含有16個(gè)尺寸為5×5的卷積核,卷積時(shí)的移動(dòng)步幅的尺寸是1×1,該卷積層后面帶有一個(gè)修正線性單元(rectifiedlinearunit,relu),該修正線性單元后面跟著一個(gè)尺寸為3×3的最大池化層,池化時(shí)的移動(dòng)步幅的尺寸是2×2;第三層是一個(gè)卷積層,共含有16個(gè)尺寸為5×5的卷積核,卷積時(shí)的移動(dòng)步幅的尺寸是1×1,該卷積層后面帶有一個(gè)修正線性單元,該修正線性單元后面跟著一個(gè)尺寸為3×3的最大池化層,池化時(shí)的移動(dòng)步幅的尺寸是2×2;第四層是一個(gè)卷積層,共含有16個(gè)尺寸為5×5的卷積核,卷積時(shí)的移動(dòng)步幅的尺寸是1×1,該卷積層后面帶有一個(gè)修正線性單元,該修正線性單元后面跟著一個(gè)尺寸為3×3的最大池化層,池化時(shí)的移動(dòng)步幅的尺寸是2×2;第五層是一個(gè)全連接層,共含有50個(gè)隱藏神經(jīng)元,該全連接層后面帶有一個(gè)修正線性單元,該修正線性單元后面跟著一個(gè)dropout層,該dropout層的dropout率為0.5;第六層是一個(gè)全連接層,共含有2個(gè)隱藏神經(jīng)元,后面帶有一個(gè)softmax損失函數(shù)層;
步驟(9):用已經(jīng)訓(xùn)練好的深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行測(cè)試,完成房顫?rùn)z測(cè)過(guò)程。