孫紅帥,王霞,柳萱,張連超,趙興杰
(西安交通大學(xué)電子與信息學(xué)部,710049,西安)
腦電信號(hào)是神經(jīng)細(xì)胞的電活動(dòng)在大腦的總體反映,包含了大量的生理活動(dòng)與思維活動(dòng)的信息[1]。在臨床醫(yī)學(xué)研究方面,腦電信號(hào)的處理可以為腦部疾病或精神類疾病提供診斷的依據(jù)。癲癇是一種常見的神經(jīng)系統(tǒng)疾病,其特征是在部分或整個(gè)大腦區(qū)域突然出現(xiàn)異常的電活動(dòng),存在如棘波、銳波、尖慢復(fù)合波等波形的腦電信號(hào),會(huì)直接導(dǎo)致中樞神經(jīng)系統(tǒng)的功能發(fā)生短暫障礙。
由于腦電信號(hào)長(zhǎng)期記錄的性質(zhì),其分析是一項(xiàng)耗時(shí)的工作。當(dāng)前在臨床診斷和監(jiān)測(cè)中,這種分析依然由醫(yī)生人工進(jìn)行,效率低且具有主觀性[2]。而軟件算法的分析處理更為快速且客觀,因此癲癇的發(fā)作與正常狀態(tài)的分類研究是很有意義的。
目前研究人員已提出了多種方法來自動(dòng)檢測(cè)癲癇發(fā)作,這些方法中的分類算法主要有基于人工神經(jīng)網(wǎng)絡(luò)、時(shí)頻分析的分類算法以及模糊聚類、遷移聚類、多視圖聚類、多任務(wù)聚類等類型的分類算法[3-10]。
當(dāng)前存在的分類算法中采用的特征主要是癲癇患者腦電信號(hào)的時(shí)域或頻域特征。
應(yīng)用時(shí)域特征的腦電信號(hào)分類算法有基于圖論的算法、基于神經(jīng)網(wǎng)絡(luò)的算法等。Fan等提出了一個(gè)基于混沌理論和頻譜圖理論的描述腦電信號(hào)時(shí)間動(dòng)態(tài)的框架,通過狀態(tài)向量表示腦電信號(hào)的各個(gè)狀態(tài),將多變量腦電信號(hào)映射到一個(gè)n維狀態(tài)空間,重構(gòu)狀態(tài)空間軌跡來描述系統(tǒng)如何隨時(shí)間演化,采用復(fù)雜的網(wǎng)絡(luò)模型來表示EEG的遞歸模式,并在此基礎(chǔ)上利用頻譜圖理論特征對(duì)時(shí)間同步模式進(jìn)行量化,從模型中構(gòu)造的遞歸中提取遞歸量化分析特征和圖論特征[11]。Yuan等利用腦電信號(hào)通道間的相互關(guān)系,構(gòu)建了一種新的基于自編碼的多視角深度學(xué)習(xí)模型,通過在訓(xùn)練階段增加一個(gè)通道感知的競(jìng)爭(zhēng)機(jī)制,提出了一個(gè)通道感知的癲癇檢測(cè)模塊來關(guān)注重要的和相關(guān)的腦電信號(hào)通道[12]。
應(yīng)用頻域特征的腦電信號(hào)分類算法有基于熵變換的算法、基于小波變換的算法等。Marcelo等利用基于頻域表示的Renyi熵及其時(shí)域變化的Renyi熵和基于奇異值分解的熵作為腦電信號(hào)分類特征,對(duì)EEG進(jìn)行時(shí)頻復(fù)雜度測(cè)量,提出了一種新的時(shí)變復(fù)雜度度量方法[13]。Wang等將小波分解與定向傳遞函數(shù)算法相結(jié)合,提出一種新的基于小波的定向傳遞函數(shù)方法,用定向傳遞函數(shù)方法計(jì)算了EEG的5個(gè)子帶和全頻帶的信息流動(dòng)特征用于癲癇發(fā)作的檢測(cè)[14]。Abhijit等提出了基于經(jīng)驗(yàn)小波變換的癲癇發(fā)作腦電信號(hào)檢測(cè)方法,對(duì)多通道的腦電信號(hào)進(jìn)行經(jīng)驗(yàn)小波變換,確定信號(hào)自適應(yīng)頻率尺度下的聯(lián)合瞬時(shí)振幅和頻率,然后用KNN、RF、樸素貝葉斯分類器進(jìn)行了對(duì)比,研究了經(jīng)驗(yàn)小波變換在多變量腦電圖信號(hào)上的多元擴(kuò)展[15]。
Aldana等利用小波變換將腦電信號(hào)擴(kuò)展成三階張量表示,通過典型多元分解(CPD)和塊項(xiàng)分解(BTD)得到特征,采用k近鄰法、徑向基支持向量機(jī)和線性判別分析分類器對(duì)正常和癲癇發(fā)作的腦電信號(hào)進(jìn)行鑒別[16]。Gu等從發(fā)作狀態(tài)的腦電信號(hào)中提取癲癇特征,然后對(duì)待檢測(cè)的樣本進(jìn)行小波變換,小波系數(shù)反映了所記錄的腦電信號(hào)與癲癇特征波形的相似性,對(duì)小波變換系數(shù)矩陣進(jìn)行數(shù)據(jù)融合后,可以確定癲癇發(fā)作的邊界,可以用來檢測(cè)癲癇特征波形是否存在于腦電信號(hào)中[17]。
上述文獻(xiàn)中,已有的特征提取算法多是直接應(yīng)用癲癇患者腦電信號(hào)的時(shí)域或頻域特征,分類正確率較低。針對(duì)以上問題,本文提出了將時(shí)頻域幅值轉(zhuǎn)化為圖片作為初始特征,在殘差網(wǎng)絡(luò)結(jié)構(gòu)的深度學(xué)習(xí)中,提出了一種頻域注意力機(jī)制,對(duì)癲癇腦電信號(hào)的時(shí)頻域幅值進(jìn)一步提取特征,以提高發(fā)作狀態(tài)和正常狀態(tài)的腦電信號(hào)分類準(zhǔn)確率。采用公開數(shù)據(jù)庫(kù)PhysioNet中的CHB-MIT Scalp EEG Database數(shù)據(jù)庫(kù)對(duì)算法進(jìn)行驗(yàn)證,結(jié)果表明:本文算法對(duì)正常狀態(tài)和癲癇發(fā)作狀態(tài)的腦電信號(hào)的分類準(zhǔn)確率達(dá)到98.05%,靈敏度為96.12%,特異性為99.34%,且該算法對(duì)于不同測(cè)試者的信號(hào)樣本分類準(zhǔn)確率都在97%以上。
本文提出的癲癇腦電信號(hào)分類算法主要包括預(yù)處理、特征提取和分類3個(gè)步驟。其中特征提取又包括短時(shí)傅里葉變換、圖片化和加入頻域注意力機(jī)制的ResNet-50訓(xùn)練。本文算法流程如圖1所示。
圖1 分類算法流程模塊圖
腦電信號(hào)屬于連續(xù)采集的多通道時(shí)序微弱電信號(hào),首先需要通過帶通濾波器去除噪聲,根據(jù)腦電信號(hào)的生物節(jié)律性選擇需要的頻帶。本文針對(duì)癲癇疾病腦電信號(hào),希望能盡可能多地保留頻域特征,濾波器通帶選擇為0~0.5fs。其中fs為采樣頻率。
在特征提取之前,每2 s截取一段信號(hào)作為一個(gè)樣本。設(shè)腦電采集的電極通道數(shù)為N,則每一個(gè)腦電信號(hào)樣本為N個(gè)長(zhǎng)度為2fs的序列。
對(duì)每一個(gè)序列進(jìn)行中心化,表達(dá)式如下
x′(t)=x(t)-μ
(1)
式中:x(t)為中心化前的序列;x′(t)為中心化后的序列;μ為該序列的均值。
1.2.1 短時(shí)傅里葉變換與圖片化 為展現(xiàn)信號(hào)樣本在時(shí)頻域的狀態(tài),需對(duì)信號(hào)進(jìn)行短時(shí)傅里葉變換(STFT)。腦電信號(hào)是一種非周期的無限長(zhǎng)序列信號(hào),設(shè)為f(t),由于直接對(duì)信號(hào)截?cái)鄷?huì)產(chǎn)生信息丟失,所以在STFT中,窗函數(shù)選擇漢明窗,設(shè)為g(t),該窗的幅頻特性主要表現(xiàn)為旁瓣較小,更容易對(duì)信號(hào)在樣本上進(jìn)行時(shí)域上的分割。f(t)g(t)在不同的有限時(shí)間寬度內(nèi)是平穩(wěn)信號(hào),從而計(jì)算出各時(shí)刻的功率譜。
對(duì)一個(gè)腦電信號(hào)樣本進(jìn)行STFT變換后,原數(shù)據(jù)變?yōu)镹個(gè)時(shí)頻域矩陣,其中元素為復(fù)數(shù),N為采集腦電信號(hào)的電極通道數(shù)。時(shí)頻域矩陣中行元素之間代表時(shí)間順序,列元素之間代表頻率順序。將時(shí)頻域矩陣中元素取模值,得到實(shí)數(shù)矩陣。將該矩陣變?yōu)閳D片,橫軸為時(shí)間順序,縱軸從上到下為頻率,順序從小到大,顏色代表本通道腦電信號(hào)在該時(shí)段該頻率的幅度大小,顏色越亮表明幅度越大。
每個(gè)腦電信號(hào)樣本由N個(gè)時(shí)序信號(hào)組成,經(jīng)過預(yù)處理轉(zhuǎn)化為N個(gè)表示時(shí)頻域特征的圖片,以此來表示該信號(hào)樣本。將N個(gè)表示時(shí)頻域特征的圖片作為一組特征輸入添加了頻域注意力機(jī)制的ResNet神經(jīng)網(wǎng)絡(luò),以進(jìn)一步提取特征并分類。
1.2.2 ResNet殘差網(wǎng)絡(luò) 本文算法將癲癇患者腦電信號(hào)的時(shí)頻域幅值轉(zhuǎn)化為圖片做樣本特征,因此選擇一種用于圖片分類的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)來作為網(wǎng)絡(luò)框架。
He等提出了一個(gè)殘差學(xué)習(xí)的框架,以有效減輕神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的壓力和負(fù)擔(dān)[18]。該框架將輸出層定義為根據(jù)輸入來學(xué)習(xí)殘差函數(shù),而不是直接學(xué)習(xí)目標(biāo)函數(shù)。
文獻(xiàn)[18]指出,對(duì)于一個(gè)多層網(wǎng)絡(luò),當(dāng)其輸入特征為x時(shí),其學(xué)習(xí)所得到的特征標(biāo)記為H(x),可以通過網(wǎng)絡(luò)學(xué)習(xí)得到特征殘差F(x)=H(x)-x,從而得到其實(shí)原始的學(xué)習(xí)特征H(x)=F(x)+x。殘差網(wǎng)絡(luò)的學(xué)習(xí)流程如圖2所示。
圖2 殘差網(wǎng)絡(luò)的學(xué)習(xí)流程示意圖
鑒于ResNet神經(jīng)網(wǎng)絡(luò)在圖像分類中優(yōu)異的表現(xiàn),本文采用其中ResNet-50結(jié)構(gòu)對(duì)腦電信號(hào)的時(shí)頻域特征圖組進(jìn)行提取特征并分類。
該網(wǎng)絡(luò)中損失函數(shù)選用交叉熵?fù)p失函數(shù)。在樣本二分類的情況下,模型最后需要預(yù)測(cè)的結(jié)果只有兩種情況,對(duì)于每個(gè)類別,預(yù)測(cè)得到的概率為pi和1-pi。此時(shí)損失函數(shù)的表達(dá)式如下
(2)
式中:li為樣本i的標(biāo)簽,發(fā)作狀態(tài)為1,正常狀態(tài)為0;n為樣本數(shù);pi為樣本i預(yù)測(cè)為發(fā)作的概率。
1.2.3 頻域注意力機(jī)制 該注意力機(jī)制即卷積網(wǎng)絡(luò)通過多個(gè)共享卷積核提取具有局部感受野的空間信息和通道信息。在網(wǎng)絡(luò)中添加注意力機(jī)制可以有效地提高網(wǎng)絡(luò)的表達(dá)能力。目前主要有兩種添加注意力機(jī)制的方式:空間注意力機(jī)制和通道注意力機(jī)制。通道注意力機(jī)制是在卷積網(wǎng)絡(luò)不同通道間添加注意力機(jī)制??臻g注意力機(jī)制是在卷積網(wǎng)絡(luò)的空間域內(nèi)添加注意力機(jī)制,例如借鑒非局部均值方法的Non-local Neural Networks網(wǎng)絡(luò)結(jié)構(gòu)。
目前存在的注意力機(jī)制都是以正常圖像作為處理對(duì)象,來進(jìn)行特征增強(qiáng)。本文處理的圖像中的元素是存在現(xiàn)實(shí)物理意義的時(shí)域和頻域,因此處理普通圖像的注意力機(jī)制并不適合本文中提取的腦電信號(hào)時(shí)頻域特征圖。
本文提出一種針對(duì)頻域的注意力機(jī)制。該頻域注意力機(jī)制模塊在ResNet神經(jīng)網(wǎng)絡(luò)中每一個(gè)殘差學(xué)習(xí)模塊結(jié)束時(shí)加入,增強(qiáng)頻域的特征。
設(shè)殘差模塊輸出的特征矩陣為w行h列的特征矩陣Y,如下式所示
(3)
由于STFT后的時(shí)頻域矩陣中行代表時(shí)域,列代表頻域,卷積后相對(duì)位置不變,在Y中列向量依然可以視為在頻域的特征。
設(shè)Y中每一個(gè)列向量y為式(4),引入頻域注意力機(jī)制的計(jì)算如式(5)所示
y=[y1,y2,…,yw]T
(4)
(5)
頻域注意力機(jī)制的計(jì)算原理如下。
(1)計(jì)算列向量y的自相關(guān)矩陣M
(6)
(7)
式(7)中,yiyj表示這兩個(gè)頻率的幅值的相關(guān)性,對(duì)Me矩陣的行求和得到的列向量代表該頻率在整個(gè)頻域中的重要程度,該列向量可作為權(quán)重與原特征數(shù)據(jù)相乘,引入ex使權(quán)重能與原特征數(shù)據(jù)非線性相乘,并且權(quán)重越小,經(jīng)過神經(jīng)網(wǎng)絡(luò)層的加深,該頻率的權(quán)重越靠近0。
(8)
(3)對(duì)式(8)矩陣中的行求和得到
(9)
(10)
(6)特征向量的加權(quán)式如下
(11)
腦電信號(hào)樣本經(jīng)過ResNet-50神經(jīng)網(wǎng)絡(luò)最后一個(gè)殘差模塊后,輸出的特征為1×2 048維特征數(shù)據(jù)向量,經(jīng)過全連接層后,輸出樣本為兩種分類的可能性,再經(jīng)過softmax層輸出最終的分類判斷。
本文的實(shí)驗(yàn)數(shù)據(jù)來自于網(wǎng)絡(luò)上免費(fèi)公開的生物信號(hào)數(shù)據(jù)庫(kù)PhysioNet,選用了其中的CHB-MIT Scalp EEG Database數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)收集于波士頓兒童醫(yī)院,由頑固性癲癇患兒的腦電信號(hào)記錄組成。該數(shù)據(jù)庫(kù)包含22個(gè)患者的腦電信號(hào),每個(gè)患者的腦電信號(hào)監(jiān)測(cè)總時(shí)長(zhǎng)為30 h,分別保存在15個(gè)文件中,每個(gè)文件時(shí)長(zhǎng)為2 h。在監(jiān)測(cè)期間每個(gè)患者都出現(xiàn)了癲癇發(fā)作的狀態(tài)。
信號(hào)采樣頻率fs為256 Hz,每個(gè)信號(hào)樣本包含23個(gè)通道腦電的信號(hào)。這些記錄使用了國(guó)際10-20腦電圖電極位置和命名法。
本文以2 s時(shí)長(zhǎng)為一個(gè)樣本,將正常狀態(tài)下和發(fā)作狀態(tài)下的腦電信號(hào)分別分段為獨(dú)立樣本。每個(gè)樣本為23×512維的矩陣。
本文對(duì)頻域注意力機(jī)制加入前后的效果進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)過程如下。
2.2.1 信號(hào)預(yù)處理 預(yù)處理是對(duì)數(shù)據(jù)庫(kù)中的腦電信號(hào)進(jìn)行去噪。由于本文對(duì)腦電信號(hào)特征提取時(shí),要保留全部大腦活動(dòng)時(shí)的腦電頻率特征,因此選擇0~0.5fs的低通濾波器對(duì)腦電信號(hào)濾波。
正常狀態(tài)樣本和發(fā)作狀態(tài)樣本中FP1-F7通道的腦電信號(hào)如圖3所示。
(a)正常狀態(tài)
2.2.2 短時(shí)傅里葉變換并圖片化 對(duì)樣本中每個(gè)通道的信號(hào)進(jìn)行STFT,選擇漢明窗作為窗函數(shù),設(shè)置輸出的時(shí)頻域矩陣中行代表時(shí)域,列從上到下為0~128 Hz的頻率,每個(gè)元素為該信號(hào)在對(duì)應(yīng)時(shí)段對(duì)應(yīng)頻率的幅值。本文實(shí)驗(yàn)在腦電信號(hào)頻域特征選擇的頻率為0~128 Hz。窗函數(shù)長(zhǎng)度應(yīng)該大于等于128,本實(shí)驗(yàn)中窗函數(shù)長(zhǎng)度選擇為128。本文STFT采用重疊50%的方法滑動(dòng)窗函數(shù),所以對(duì)于每個(gè)樣本分為7段。所以每個(gè)樣本中的一個(gè)信號(hào)經(jīng)過短時(shí)傅里葉變換后,計(jì)算得到的時(shí)頻域矩陣維數(shù)為128×7維。每一個(gè)樣本有23通道腦電信號(hào),共生成23個(gè)128×7的矩陣。
在圖片化過程中,需要將時(shí)頻域矩陣中的元素取模值變?yōu)閷?shí)數(shù)。ResNet神經(jīng)網(wǎng)絡(luò)處理的圖片為方陣,所以對(duì)原矩陣右側(cè)補(bǔ)0,生成128×128的方陣。
為直觀觀察時(shí)頻域矩陣模值圖片化得到的圖片,將多個(gè)矩陣連在一起生成效果圖。癲癇患者正常狀態(tài)和發(fā)作狀態(tài)FP1-F7通道的腦電信號(hào)樣本對(duì)STFT矩陣取模值后變換得到的圖片如圖4所示。
(a)正常狀態(tài)
由圖可知,正常狀態(tài)下,腦電信號(hào)在全頻段的幅度都有較高幅值的出現(xiàn),而發(fā)作狀態(tài)下,腦電信號(hào)只在低頻帶的幅值比較高。
通過觀察得知,對(duì)STFT生成的時(shí)頻域矩陣取模值生成的圖片在正常狀態(tài)和發(fā)作狀態(tài)具有區(qū)分性。
2.2.3 實(shí)驗(yàn)結(jié)果 設(shè)N表示測(cè)試集中正常狀態(tài)樣本個(gè)數(shù),P表示測(cè)試集中異常狀態(tài)樣本數(shù),NT表示測(cè)試集中正常狀態(tài)分類正確的數(shù)量,NTP表示測(cè)試集中異常狀態(tài)樣本分類正確的個(gè)數(shù),分類準(zhǔn)確率為Ac,靈敏度為Se,特異性為Sp,則分類準(zhǔn)確率、靈敏度及特異性的計(jì)算公式如下
Ac=(NTP+NT)/(P+N)
(12)
Se=NTP/P
(13)
Sp=NT/N
(14)
為保證分類器不會(huì)對(duì)其中一類過擬合,實(shí)驗(yàn)中兩類樣本的數(shù)量接近1∶1,其中80%分為訓(xùn)練集,20%分為測(cè)試集。
本文算法在CHB-MIT數(shù)據(jù)庫(kù)的數(shù)據(jù)下運(yùn)行結(jié)果如圖5所示,圖中本文算法為加入頻域注意力機(jī)制后的算法,ResNet-50表示未加入頻域注意力機(jī)制的算法,對(duì)比算法1為Muhammad等提出的基于動(dòng)態(tài)模式分解的頭皮腦電圖癲癇發(fā)作檢測(cè)算法[19],主要應(yīng)用信號(hào)的時(shí)域特征,對(duì)比算法2為Nhan等提出的利用生成對(duì)抗網(wǎng)絡(luò)預(yù)測(cè)癲癇發(fā)作算法[20],主要應(yīng)用信號(hào)的時(shí)頻域特征。
圖5 不同算法的分類結(jié)果對(duì)比
本文算法的分類準(zhǔn)確率與訓(xùn)練次數(shù)的關(guān)系如圖6所示。
圖6 分類準(zhǔn)確率與訓(xùn)練次數(shù)關(guān)系圖
由圖5結(jié)果可知,本文提出將腦電信號(hào)短時(shí)傅里葉變換后的時(shí)頻域特征圖片化,作為區(qū)分癲癇病人正常狀態(tài)和發(fā)作狀態(tài)腦電信號(hào)的特征,用ResNet神經(jīng)網(wǎng)絡(luò)進(jìn)一步提取特征并分類,能達(dá)到很高的分類正確率,高于另外兩種直接應(yīng)用時(shí)頻域特征的算法。
再加入本文中提出的頻域注意力機(jī)制,能進(jìn)一步提升算法的分類性能,分類準(zhǔn)確率達(dá)到98.05%,靈敏度為96.12%,特異性為99.34%。
癲癇疾病的腦電信號(hào)異常的特征分布在頻域幅值中,為了使提取的特征集中在對(duì)分類結(jié)果相關(guān)性更大的頻域中,增強(qiáng)該類頻域的幅值特征,并降低與分類結(jié)果相關(guān)性較小的頻域幅值特征,本文基于殘差網(wǎng)絡(luò)結(jié)構(gòu)的深度學(xué)習(xí),將時(shí)頻域幅值轉(zhuǎn)化為圖片作為初始特征,提出了一種頻域注意力機(jī)制,提高了發(fā)作狀態(tài)和正常狀態(tài)的腦電信號(hào)分類準(zhǔn)確率,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
實(shí)驗(yàn)數(shù)據(jù)為公開數(shù)據(jù)庫(kù)PhysioNet中的CHB-MIT Scalp EEG Database數(shù)據(jù)庫(kù),實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)正常狀態(tài)和癲癇發(fā)作狀態(tài)分類準(zhǔn)確率達(dá)到98.05%,靈敏度為96.12%,特異性為99.34%。