楊彬,楊曉利,李振偉,吳曉琴,韓家祺
(河南科技大學(xué)醫(yī)學(xué)技術(shù)與工程學(xué)院,河南洛陽 471000)
癲癇患者可以是任何年齡段的人群,癲癇病的病因主要是大腦細(xì)胞異常放電,并且這個(gè)異常放電的電位點(diǎn)不確定,可能是大腦的任意部位[1]。癲癇發(fā)作輕微時(shí)可使患者意識(shí)短暫?jiǎn)适В瑖?yán)重時(shí)則會(huì)危害患者生命[2]。腦電圖是一種非侵入性工具且成本低,是診斷癲癇病最有用的工具。癲癇的診斷主要依靠醫(yī)生對(duì)腦電圖的檢查分析,耗時(shí)耗力[3],而且醫(yī)生在長(zhǎng)時(shí)間的工作下,有很大可能出現(xiàn)誤判的問題,因此,對(duì)癲癇腦電信號(hào)的自動(dòng)快速分類識(shí)別對(duì)癲癇病的檢測(cè)有重要的意義,能在很大程度上減輕醫(yī)生的負(fù)擔(dān)和提高診斷效率。文獻(xiàn)[4]介紹了一種動(dòng)態(tài)模式分解方法來測(cè)量不同頻段信號(hào)的功率,但特征提取過程相對(duì)繁瑣。文獻(xiàn)[5]提出生成對(duì)抗網(wǎng)絡(luò)的方法,采用監(jiān)督和半監(jiān)督學(xué)習(xí)方法。文獻(xiàn)[6]提取單導(dǎo)聯(lián)腦電小波能量特征來對(duì)癲癇腦電信號(hào)進(jìn)行分類,但是癲癇發(fā)作時(shí),各腦區(qū)之間有一定的聯(lián)系[7],各電極之間的腦電信號(hào)也會(huì)存在相互影響。目前大量癲癇分類研究,只考慮癲癇信號(hào)與正常信號(hào)的分類,缺乏針對(duì)癲癇患者的特異性識(shí)別,不同癲癇患者的病灶區(qū)不同,目前無法十分精確地定位癲癇病灶區(qū)[8],各極導(dǎo)聯(lián)表現(xiàn)出的病理特征也會(huì)存在差異,導(dǎo)聯(lián)過多,會(huì)增大計(jì)算量。并且電極數(shù)量過多,長(zhǎng)時(shí)間穿戴會(huì)給病人帶來心理負(fù)擔(dān)和不適感[9],為了更接近于臨床需求,應(yīng)使用盡可能少的電極,電極少不僅在采集信號(hào)時(shí)能夠減輕病人的負(fù)擔(dān),而且可以減少數(shù)據(jù)量,減少計(jì)算時(shí)間,提高診斷效率。因此提出一種針對(duì)不同患者的特異性癲癇腦電識(shí)別方法。
實(shí)驗(yàn)采用的數(shù)據(jù)來自CHB-MIT 數(shù)據(jù)庫(kù)。CHBMIT 數(shù)據(jù)庫(kù)數(shù)據(jù)采樣頻率為256 Hz,共24 種病例,記錄了每種病例23 個(gè)通道,46 h 的腦電數(shù)據(jù),并且每次癲癇發(fā)作的起止時(shí)間均已標(biāo)記。該數(shù)據(jù)庫(kù)沒有提供EEG 記錄時(shí)的監(jiān)測(cè)視頻,無法獲取病人的活動(dòng)情況,因此在對(duì)患者腦電數(shù)據(jù)處理之前,將所有癲癇腦電數(shù)據(jù)在Matlab 中進(jìn)行初步篩選,去掉噪聲干擾較大的片段,保留無噪聲干擾或干擾較小的片段。
腦電信號(hào)的有效頻帶范圍在32 Hz 以內(nèi),為了獲得腦電信號(hào)有效的時(shí)間以及頻率信息,采用離散小波變換[10](Discrete Wavelet Transform,DWT)對(duì)腦電信號(hào)進(jìn)行處理,DWT 可以將目標(biāo)信號(hào)自適應(yīng)地分解到時(shí)頻空間并獲得很好的時(shí)間分辨率和頻率分辨率。將原始信號(hào)f(t)進(jìn)行j尺度DWT[11],其變換公式為:
其中,ψ(t)為小波基函數(shù),j為不同尺度標(biāo)號(hào),k為平移因子。
通過DWT,原始信號(hào)f(t)被分解為近似系數(shù)aj,k和細(xì)節(jié)系數(shù)cj,k,其表達(dá)式如下:
其中,h0(k)為低頻濾波,h1(k)為高頻濾波。
該文所使用癲癇腦電數(shù)據(jù)采樣頻率為256 Hz,而腦電信號(hào)有效頻段通常在低頻段,對(duì)原始癲癇腦電信號(hào)進(jìn)行尺度為3 的小波分解[12],就可以提取出各個(gè)頻帶的信號(hào),并保留頻率在32 Hz 以內(nèi)的信號(hào),以達(dá)到濾波和信號(hào)分解的效果。由于db4 小波波形與癲癇特征波中的棘波近似程度最高,小波分解中的母小波采用db4 小波。
該文所使用的腦電信號(hào)數(shù)據(jù)采集使用了23 個(gè)通道,為了選取最優(yōu)通道信號(hào),采用頻譜不對(duì)稱分析的方法。該方法是利用功率譜密度,計(jì)算出單個(gè)通道信號(hào)能量比率的算法[13]。相關(guān)研究表明,癲癇發(fā)作時(shí)δ波(2~4 Hz)與θ波(4~8 Hz)活動(dòng)具有明顯特征[14],并且出現(xiàn)δ波的患者更容易發(fā)生癲癇[15],因此在進(jìn)行頻譜不對(duì)稱分析時(shí),采用δ波與θ波,計(jì)算出δ波與θ波相對(duì)性差異,來表示腦電信號(hào)的頻譜不對(duì)稱性。首先計(jì)算出δ波與θ波的平均功率:
然后比較δ波與θ波功率的相對(duì)差異,其頻譜不對(duì)稱指數(shù)(SASI)計(jì)算如下[16]:
以CHB-MIT 數(shù)據(jù)庫(kù)中患者chb 01 為例,該患者共發(fā)作7 次,分別計(jì)算出7 次23 個(gè)通道的SASI 值,如圖1 所示。癲癇發(fā)作時(shí)對(duì)應(yīng)通道的SASI 值越大,說明癲癇發(fā)作越明顯。
圖1 患者chb01的7次發(fā)作SASI值
為了得到分析癲癇發(fā)作時(shí)的最優(yōu)通道,將7 次發(fā)作的SASI 值分別兩兩計(jì)算出皮爾遜相關(guān)系數(shù)值[17],根據(jù)皮爾遜相關(guān)系數(shù)值大小,得到一個(gè)最大值,對(duì)應(yīng)兩次發(fā)作,如圖2 所示,第6 次與第7 次發(fā)作相關(guān)系數(shù)值最大,因此選取第6 次與第7 次發(fā)作作為研究對(duì)象。為了保證兩次發(fā)作對(duì)應(yīng)通道的SASI 都是極大值,將兩次對(duì)應(yīng)通道的SASI 值進(jìn)行疊加,得到兩次發(fā)作疊加后的SASI 值,其SASI 最大值對(duì)應(yīng)的導(dǎo)聯(lián)就為最佳通道。此處將第6 發(fā)作和第7 次發(fā)作的SASI值進(jìn)行疊加,如圖3,通道4 對(duì)應(yīng)的SASI 值最大,因此獲得患者chb 01 的最優(yōu)通道為通道4。
圖2 患者chb01的7次發(fā)作相關(guān)矩陣
圖3 兩次SASI值對(duì)照
對(duì)所有患者進(jìn)行頻譜不對(duì)稱分析,獲得的最優(yōu)通道如表1 所示。
表1 所有患者最優(yōu)通道
采用頻率切片小波變換[18](Frequency Slice Wavelet Transform,FSWT)對(duì)信號(hào)進(jìn)行時(shí)頻分析。
假定f(t)的傅里葉變換式為f?(u),那FSWT 在頻域中的表達(dá)式為:
一般設(shè)λ=1,為能量因子;p?是頻率切片函數(shù);t和ω分別表示時(shí)間和頻率;“*”代表共軛運(yùn)算;σ通常為常數(shù)或與ω、t和u有關(guān)的函數(shù),一般設(shè)為ω/k(k>0)。所以,式(7)可表示為:
假定=1,信號(hào)以如下公式重構(gòu):
設(shè)置信號(hào)的時(shí)間和頻率范圍,用式(10)進(jìn)行積分,就能得到對(duì)應(yīng)時(shí)頻域片段的信號(hào)分量。
調(diào)整t1、t2、ω1、ω2的值,即時(shí)間和頻率的范圍,即可得到所需頻帶的信號(hào)。
對(duì)信號(hào)每2 s進(jìn)行一次變換,輸出一張時(shí)頻圖,時(shí)頻圖縱坐標(biāo)為時(shí)間0~2 s,橫坐標(biāo)為頻率0.5~32 Hz,將癲癇腦電信號(hào)的時(shí)頻圖和正常腦電信號(hào)的時(shí)頻圖分開保存,以作為卷積神經(jīng)網(wǎng)絡(luò)二分類的輸入數(shù)據(jù),用以進(jìn)行分類判別。患者chb 01 一次時(shí)頻變換的時(shí)頻圖如圖4 所示。
圖4 癲癇腦電時(shí)頻圖
傳統(tǒng)機(jī)器學(xué)習(xí)需要龐大的數(shù)據(jù)量,在目前大數(shù)據(jù)時(shí)代,獲取領(lǐng)域所需求的龐大數(shù)據(jù)還有一定難度,并且在監(jiān)督學(xué)習(xí)中,需要人工將數(shù)據(jù)集逐一添加標(biāo)簽,耗時(shí)耗力,而遷移學(xué)習(xí)可以解決以上問題。遷移學(xué)習(xí)在源領(lǐng)域上可以建立一個(gè)針對(duì)目標(biāo)領(lǐng)域的新模型,且僅需要少量訓(xùn)練數(shù)據(jù)[19]。
InceptionNet-V3模型總共有46層[20],11個(gè)Inception模塊,96 個(gè)卷積層,InceptionNet-V3 模型實(shí)現(xiàn)了1 000 類別分類,該文利用該模型對(duì)癲癇腦電信號(hào)進(jìn)行遷移學(xué)習(xí)分類,區(qū)別出癲癇與正常狀態(tài),所以需要替換掉最后一個(gè)全連接層,變?yōu)槎诸?,在?duì)模型進(jìn)行訓(xùn)練時(shí),僅需要訓(xùn)練替換后的全連接層,并對(duì)模型采用損失函數(shù)和梯度下將算法進(jìn)行優(yōu)化處理。
使用交叉熵?fù)p失函數(shù)和隨機(jī)梯度下降算法對(duì)InceptionNet-V3 卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化。
交叉熵公式如下:
其中,P表示實(shí)際分類結(jié)果,Q表示優(yōu)化后的InceptionNet-V3 卷積神經(jīng)網(wǎng)絡(luò)模型的分類結(jié)果,x為分類的準(zhǔn)確率。在求解損失函數(shù)時(shí),將每一個(gè)樣本的交叉熵?fù)p失-p(xi)log2q(xi) 記為L(zhǎng)(pi,qi,ω),則對(duì)于總損失函數(shù),梯度下降需要計(jì)算:
在梯度下降算法中,每一步均從訓(xùn)練集中均勻抽出一小批樣本X'={x1,x2,x3,…,xx'},則梯度估計(jì)可以表示為:
使用來自小批量X的樣本時(shí),梯度下降為:
其中,σ為學(xué)習(xí)率,該方法在訓(xùn)練時(shí)學(xué)習(xí)率為0.01;ω為函數(shù)的輸入?yún)?shù),在深度神經(jīng)網(wǎng)絡(luò)中,ω通常指神經(jīng)網(wǎng)絡(luò)中的參數(shù)。梯度下降就是朝著損失更小的方向更新參數(shù)ω,使得損失函數(shù)的值最小。
為了平衡隨機(jī)梯度下降算法的性能,每次計(jì)算一個(gè)batch 的總損失值,以達(dá)到減少收斂所需要的迭代次數(shù)。在反復(fù)試驗(yàn)的基礎(chǔ)上,最終訓(xùn)練batch 的大小設(shè)置為30,迭代次數(shù)為10 000。
采用10 折交叉驗(yàn)證法[21]對(duì)模型進(jìn)行訓(xùn)練,評(píng)估分類效果的三個(gè)量為準(zhǔn)確率、敏感度、精確率。
1)準(zhǔn)確率
準(zhǔn)確率是反映分類器效果最基本的量,其計(jì)算公式為:
其中,ACC 表示準(zhǔn)確率,TP 為真正例,TN 為真反例,F(xiàn)P 為偽正例,F(xiàn)N 為偽反例。
2)敏感度
敏感度表示癲癇腦電信號(hào)被識(shí)別出來的百分比。其計(jì)算公式如下:
其中,SEN 表示敏感度。
3)精確率
精確率表示被識(shí)別為癲癇腦電信號(hào)中實(shí)際為癲癇腦電信號(hào)的百分比。計(jì)算公式如下:
其中,PRE 表示精確率。
表2 為CHB-MIT 數(shù)據(jù)庫(kù)中所有癲癇患者的最優(yōu)通道分類的結(jié)果。
表2 最優(yōu)通道分類結(jié)果
從結(jié)果可以看出,患者chb 09 分類準(zhǔn)確率達(dá)到最高,為95.8%,敏感度為100%,患者chb 18 準(zhǔn)確率最低,為75.0%。并且可以發(fā)現(xiàn),患者chb16 準(zhǔn)確率為81.8%,但是敏感度為100%,說明實(shí)際癲癇信號(hào)在預(yù)測(cè)分類時(shí),全部被識(shí)別出來,但是準(zhǔn)確率較低,說明正常腦電信號(hào)被誤判為癲癇腦電信號(hào),患者chb 01、chb 02、chb 09、chb 16 敏感度達(dá)到100%,癲癇腦電信號(hào)均被識(shí)別出來,但是存在將正常腦電信號(hào)誤判為癲癇信號(hào)的情況。24 位患者平均準(zhǔn)確率為83.95%,平均敏感度為86.39%,說明對(duì)癲癇信號(hào)識(shí)別率高,但對(duì)正常腦電信號(hào)識(shí)別較低。
在CHB-MIT 數(shù)據(jù)庫(kù)對(duì)比文獻(xiàn)[4]和文獻(xiàn)[5]所提出的方法,文獻(xiàn)[4]提出動(dòng)態(tài)模式分解方法準(zhǔn)確率略低于該文方法,平均敏感度為87.32%,略高于該文的86.39%,但文獻(xiàn)[4]中最低敏感度為40%,而該文中最低敏感度為70.3%;文獻(xiàn)[5]提出生成對(duì)抗網(wǎng)絡(luò)的方法,采用監(jiān)督和半監(jiān)督學(xué)習(xí)方法分別實(shí)現(xiàn)了92.30%和84.61%的最高準(zhǔn)確率,其最高準(zhǔn)確率低于該文方法。對(duì)比文獻(xiàn)[4]和文獻(xiàn)[5],該文方法能達(dá)到很高的準(zhǔn)確率,能有效地識(shí)別癲癇腦電信號(hào),但是也存在一定不足,主要體現(xiàn)在對(duì)不同患者的識(shí)別存在一定的差異性,對(duì)癲癇腦電識(shí)別率較高,但是對(duì)正常腦電識(shí)別率較低,因此該文方法在對(duì)正常腦電的識(shí)別方面有待進(jìn)一步改進(jìn)。
該文針對(duì)不同癲癇患者提出一種最優(yōu)通道獲取的方法,采用頻譜不對(duì)稱分析,選取最優(yōu)通道進(jìn)行癲癇分類研究,提取最優(yōu)通道信號(hào),采用頻率切片小波變換時(shí)頻分析和遷移學(xué)習(xí),直接對(duì)時(shí)頻圖進(jìn)行自動(dòng)特征提取,作為卷積神經(jīng)網(wǎng)絡(luò)的輸入。結(jié)果表明,針對(duì)不同患者分類,最高準(zhǔn)確率達(dá)到了95.8%,可有效地識(shí)別出癲癇腦電信號(hào),該方法使用單通道節(jié)省了大量的特征提取所消耗的時(shí)間和計(jì)算時(shí)間,使用遷移學(xué)習(xí)節(jié)省了模型訓(xùn)練的時(shí)間。通過該方法尋找到患者的最優(yōu)通道,就可以避免患者在后續(xù)檢測(cè)治療中穿戴含有大量電極的設(shè)備,從而改善患者檢測(cè)條件,提高診斷效率。但結(jié)果表明,對(duì)正常腦電信號(hào)的識(shí)別存在一定不足,怎樣解決將正常腦電誤判為癲癇腦電的問題,增強(qiáng)模型的泛化能力,將是下一步工作的重點(diǎn)。