邱軼輝,江 瓊,魏玲玲,張衛(wèi)平,邱桃榮*
(1.南昌大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,江西 南昌 330031;2.九江學(xué)院計(jì)算機(jī)與大數(shù)據(jù)科學(xué)學(xué)院,江西 九江 332005)
交通意外一直是導(dǎo)致人類(lèi)死亡的主要原因之一,并且其發(fā)生數(shù)量有逐年上漲的趨勢(shì)[1]。有統(tǒng)計(jì)數(shù)據(jù)顯示,由疲勞駕駛引起的交通事故占到交通事故總量的40%,并且往往導(dǎo)致更嚴(yán)重的后果[2]。因此,研究疲勞駕駛狀態(tài)的識(shí)別對(duì)減少交通事故發(fā)生和改善道路安全環(huán)境具有重要意義。
針對(duì)疲勞駕駛狀態(tài)的檢測(cè),國(guó)內(nèi)外眾多學(xué)者均進(jìn)行了相關(guān)的研究。目前,檢測(cè)方法可以分為主觀評(píng)定法和客觀檢測(cè)法兩大類(lèi)[3]。一是主觀評(píng)定法:通過(guò)駕駛員填寫(xiě)心理問(wèn)卷或他人對(duì)駕駛員的評(píng)價(jià)來(lái)判斷疲勞程度,常用的心理測(cè)量問(wèn)卷有:斯坦福嗜睡表和卡洛琳斯卡睡眠尺度表[4]等,主觀評(píng)定法操作簡(jiǎn)單,但只能離線檢測(cè)用于事后分析。二是客觀檢測(cè)法:通過(guò)對(duì)駕駛員駕駛過(guò)程中產(chǎn)生的腦電圖[5]、心電圖[6]、眼電圖[7]、肌電圖[8]等生理信號(hào)和駕駛員頭部面部特征及方向盤(pán)角度偏移等車(chē)輛特征進(jìn)行分析來(lái)判斷駕駛員的疲勞狀態(tài),其中腦電信號(hào)由于具有時(shí)間分辨率高、無(wú)創(chuàng)性、低成本等特性,已被認(rèn)為是疲勞駕駛識(shí)別的“金標(biāo)準(zhǔn)”。
腦電圖(Electroencephalogram,EEG)利用頭皮上放置的電極檢測(cè)和記錄大腦內(nèi)電信號(hào)的變化,通過(guò)分析EEG我們可以對(duì)大腦狀態(tài)進(jìn)行判斷。已經(jīng)有許學(xué)者對(duì)利用腦電信號(hào)判斷疲勞駕駛狀態(tài)進(jìn)行了研究。例如,Mu等[9]提出了基于熵的特征提取方法,并篩選了特定電極用支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行分類(lèi),在自建數(shù)據(jù)集上得到了98.75%的平均準(zhǔn)確率。針對(duì)SVM在處理高質(zhì)量數(shù)據(jù)時(shí)表現(xiàn)良好但在面對(duì)復(fù)雜數(shù)據(jù)時(shí)表現(xiàn)不佳的問(wèn)題,San等[10]提出了一種混合深度遺傳模型來(lái)進(jìn)一步彌補(bǔ)SVM在處理復(fù)雜不變性方面的不足,并用于疲勞駕駛狀態(tài)的檢測(cè)。劉卓等[11]將腦電信號(hào)作為函數(shù)型數(shù)據(jù)進(jìn)行分析,著重研究其連續(xù)性和內(nèi)部動(dòng)態(tài)變化并分類(lèi)。上述研究均在各自場(chǎng)景下對(duì)疲勞駕駛檢測(cè)有一定貢獻(xiàn)。
然而多上述研究多集中在對(duì)同一被試的腦電進(jìn)行分析,由于腦電信號(hào)具有特異性和非線性特征,進(jìn)行跨被試檢測(cè)時(shí)會(huì)出現(xiàn)協(xié)變量偏移的問(wèn)題,這導(dǎo)致跨被試的疲勞駕駛檢測(cè)結(jié)果并不樂(lè)觀。近年來(lái)也有學(xué)者注意到這一點(diǎn),提出了許多結(jié)合遷移學(xué)習(xí)的跨被試EEG疲勞駕駛檢測(cè)方法。例如Gu等[11]提出了一種幾何保留遷移判別字典學(xué)習(xí)方法,通過(guò)將不同域的信號(hào)投影到公共子空間,得到一個(gè)共享判別字典,再利用圖拉普拉斯正則化和主成分分析正則化分別對(duì)幾何結(jié)構(gòu)信息和判別信息進(jìn)行挖掘,進(jìn)行跨被試分類(lèi)。Hong等[13]將域?qū)股窠?jīng)網(wǎng)絡(luò)與生成對(duì)抗網(wǎng)絡(luò)相結(jié)合,通過(guò)解決EEG在不同被試之間分布不同的問(wèn)題來(lái)增強(qiáng)跨域檢測(cè)能力。Zanini等[14]提出了一種基于黎曼空間測(cè)地線的對(duì)齊方法(Riemannian space Alignment,RA)用于在黎曼空間減少域間差異。He等[15]針對(duì)RA需要一定標(biāo)簽和計(jì)算效率低的問(wèn)題提出了在歐幾里得空間對(duì)齊的方法(Euclidean-space Alignment,EA),并在多個(gè)數(shù)據(jù)集上明顯提高了準(zhǔn)確率。
然而EA需要大量源域數(shù)據(jù)用于計(jì)算參考協(xié)方差矩陣來(lái)對(duì)齊。這在意味著該方法在疲勞駕駛檢測(cè)中只能用于事后分析,而不能用于實(shí)時(shí)檢測(cè)。因此,本文從實(shí)際應(yīng)用出發(fā),提出一種利用基于源域數(shù)據(jù)和目標(biāo)域數(shù)據(jù)參考矩陣相似度的加權(quán)平均對(duì)齊方法(Weighted Average Euclidean-space Alignment,WAEA)。該方法在僅有少量目標(biāo)域樣本可用時(shí)能對(duì)疲勞駕駛狀態(tài)進(jìn)行及時(shí)的判斷,并結(jié)合基于模型的遷移學(xué)習(xí)方法,使用微調(diào)的技術(shù)提升跨被試疲勞駕駛分類(lèi)準(zhǔn)確率。
首先介紹原始的歐式空間對(duì)齊方法EA,其基本原理是使來(lái)自不同被試的數(shù)據(jù)分布更加相似,因此在源域數(shù)據(jù)上訓(xùn)練的分類(lèi)器將有機(jī)會(huì)在目標(biāo)域上上表現(xiàn)良好。EA計(jì)算每個(gè)被試的EEG試次的平均樣本協(xié)方差矩陣,再通過(guò)數(shù)據(jù)對(duì)齊的方法將每個(gè)被試的樣本協(xié)方差矩陣重新居中在單位矩陣處,使對(duì)齊的EEG試次被白化,降低數(shù)據(jù)的冗余性,這有利于后續(xù)的特征提取和分析。
1)首先計(jì)算一個(gè)被試的平均協(xié)方差矩陣:
(1)
2)將R作為參考矩陣,對(duì)該被試所有樣本執(zhí)行對(duì)齊計(jì)算:
(2)
對(duì)源域和目標(biāo)域的所有被試都進(jìn)行上述對(duì)齊后就完成了EA。經(jīng)過(guò)歐式空間對(duì)齊后,一個(gè)被試所有N個(gè)對(duì)齊數(shù)據(jù)的平均協(xié)方差矩陣為:
(3)
式中,I是單位矩陣。
經(jīng)過(guò)EA對(duì)齊算法使所有被試的平均樣本協(xié)方差矩陣與對(duì)齊后的單位矩陣相等,因此來(lái)自不同被試的空間協(xié)方差矩陣的分布會(huì)更相似,鑒于樣本協(xié)方差矩陣是EEG信號(hào)的一個(gè)重要統(tǒng)計(jì)量,用戶間的差異也會(huì)變小,這正是遷移學(xué)習(xí)想要達(dá)到的效果,該處理在傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法上都得到了驗(yàn)證。
然而通過(guò)式(1)可以看出EA對(duì)齊算法需要使用全部數(shù)據(jù)計(jì)算參考矩陣,這使得該算法在許多領(lǐng)域不適用,在疲勞駕駛領(lǐng)域上EA僅能用于事后分析,不能起到及時(shí)檢測(cè)的作用。因此我們提出了一種改進(jìn)的EA算法,使其能用于僅有少量目標(biāo)域數(shù)據(jù)可用時(shí)的對(duì)齊。
當(dāng)有少量目標(biāo)域數(shù)據(jù)時(shí)可用,應(yīng)當(dāng)充分利用該部分?jǐn)?shù)據(jù)進(jìn)行對(duì)齊,然而傳統(tǒng)EA僅用少量目標(biāo)域數(shù)據(jù)計(jì)算得到的參考矩陣不能很好的代表目標(biāo)域上的數(shù)據(jù)分布為降低數(shù)據(jù)過(guò)少時(shí)計(jì)算參考矩陣的偏差,考慮使用源域中參考矩陣進(jìn)行輔助,并利用矩陣之間的余弦相似度作為權(quán)值,進(jìn)行加權(quán)平均對(duì)齊WAEA。
1)由于源域數(shù)據(jù)全部可用,首先對(duì)源域數(shù)據(jù)進(jìn)行EA,對(duì)源域中m個(gè)被試分別計(jì)算參考矩陣記為R1,R2…Rm,并對(duì)源域中每個(gè)被試數(shù)據(jù)對(duì)齊,方法同式(1)和式(2)。
2)利用目標(biāo)域中可用的M個(gè)樣本計(jì)算目標(biāo)域上的部分參考矩陣RT:
(4)
由于計(jì)算RT使用的數(shù)據(jù)較少,不能很好的反映目標(biāo)域上數(shù)據(jù)分布,且具有較大波動(dòng)性,考慮加入源域中被試的參考矩陣用于對(duì)齊。
(5)
4)根據(jù)矩陣相似度使用最大最小歸一化的方式為R1,R2…Rm賦予不同的權(quán)值:
(6)
式中,wk為Rk的權(quán)值,k=1,2,…,m,經(jīng)過(guò)歸一化后相似度較大的參考矩陣分配到的權(quán)重較大,且滿足:
(7)
(8)
(9)
式中,RTS為融合參考矩陣,λ=min(M/N,1)為權(quán)衡參數(shù),用于調(diào)整對(duì)齊中使用目標(biāo)域參考矩陣的比重,當(dāng)目標(biāo)域中可用數(shù)據(jù)越多時(shí)使用RT作為融合參考矩陣的比重越大。
7)模型訓(xùn)練結(jié)束后,目標(biāo)域剩余數(shù)據(jù)可用時(shí),使用融合參考矩陣RTS對(duì)可用數(shù)據(jù)對(duì)齊:
(10)
基于模型的遷移方法假定相關(guān)任務(wù)的各個(gè)模型應(yīng)該共享一些參數(shù)或超參數(shù)的先驗(yàn)分布,并通過(guò)共享這些模型參數(shù)來(lái)提升遷移效率。其思想是預(yù)訓(xùn)練模型已經(jīng)學(xué)習(xí)了源域中的有用特征和模式,可以應(yīng)用于目標(biāo)域以提高性能。通過(guò)使用預(yù)訓(xùn)練模型,目標(biāo)模型可以獲益于源模型所獲得的相關(guān)知識(shí)。微調(diào)是實(shí)現(xiàn)基于模型的遷移學(xué)習(xí)的一種方法,該方法指在源域上訓(xùn)練一個(gè)預(yù)訓(xùn)練模型,接著繼續(xù)在目標(biāo)域上繼續(xù)訓(xùn)練全部或者部分網(wǎng)絡(luò)參數(shù)[17]。
DeepConvNet[18]是一個(gè)常用于EEG分類(lèi)的深度神經(jīng)網(wǎng)絡(luò)模型,該模型由5個(gè)卷積層組成,其中一個(gè)softmax層用于分類(lèi),該網(wǎng)絡(luò)在P300視覺(jué)誘發(fā)電位、錯(cuò)誤相關(guān)負(fù)波、運(yùn)動(dòng)相關(guān)皮層電位和感覺(jué)運(yùn)動(dòng)節(jié)律等任務(wù)中都有良好表現(xiàn),本文使用DeepConvNet提取特征分類(lèi),并使用微調(diào)方式進(jìn)行模型遷移。
本文的研究是在一臺(tái)裝有Windows 10操作系統(tǒng)的圖形工作站上完成的,處理器為兩顆lntel(R)Xeon(R) CPU E5-2620 v4 @2.10 GHz,運(yùn)行內(nèi)存16 GB,圖形卡為NVIDIA Quadro M2000。采用Python3.6作為編程語(yǔ)言通過(guò)Anaconda搭建實(shí)驗(yàn)環(huán)境,使用jupyter notebook和Pycharm編寫(xiě)實(shí)驗(yàn)代碼,機(jī)器學(xué)習(xí)框架是sklearn,深度學(xué)習(xí)框架是Keras,backend采用TensorFlow。
本次實(shí)驗(yàn)數(shù)據(jù)來(lái)源江西科技學(xué)院信息技術(shù)研究所,共25個(gè)被試,采樣率為1 000 Hz,通道為30通道,對(duì)每個(gè)被試分別采集300 s的非疲勞和疲勞EEG數(shù)據(jù)。實(shí)驗(yàn)中首先要求被試駕駛20 min,取最后5 min的數(shù)據(jù)標(biāo)記為非疲勞數(shù)據(jù),并通過(guò)疲勞調(diào)查表驗(yàn)證被試的非疲勞狀態(tài)。然后要求被試連續(xù)駕駛30 min后填寫(xiě)疲勞調(diào)查表,如果認(rèn)定被試處于疲勞狀態(tài)則取最后5 min采集的數(shù)據(jù)作為疲勞數(shù)據(jù),否則要求被試?yán)^續(xù)駕駛30 min,直至獲取疲勞數(shù)據(jù)。
2.2.1 數(shù)據(jù)預(yù)處理
對(duì)原始數(shù)據(jù)進(jìn)行0.01~70 Hz的帶通濾波,進(jìn)行偽跡去除,基線漂移去除等降噪處理后,提取每個(gè)受試者第150~250 s的數(shù)據(jù),用1 s的滑動(dòng)窗口不重疊的方式得到每人每類(lèi)100個(gè)樣本用于后續(xù)分析,即每人共200個(gè)樣本,其中疲勞樣本和非疲勞樣本各一半,每個(gè)樣本尺寸為30*1 000。
2.2.2 數(shù)據(jù)集劃分
采用留一法依次選擇25個(gè)被試的1個(gè)被試作為目標(biāo)域,剩余24個(gè)被試作為源域,將選中的目標(biāo)域數(shù)據(jù)分別按照一定比例劃分成兩部分,將較小部分目標(biāo)域數(shù)據(jù)加入源域數(shù)據(jù)作為訓(xùn)練集,剩下的較大部分目標(biāo)域數(shù)據(jù)作為測(cè)試集,模擬在不同比例目標(biāo)域數(shù)據(jù)可用時(shí)的情況,比例劃分設(shè)定為5%、10%、15%、20%、25%、30%。
2.3.1 預(yù)訓(xùn)練結(jié)果
首先討論目標(biāo)域可用比例為5%時(shí)的情況,將DeepConvNet在訓(xùn)練集上進(jìn)行預(yù)訓(xùn)練,打亂訓(xùn)練集后選取80%數(shù)據(jù)作為預(yù)訓(xùn)練上訓(xùn)練集,剩余20%作為預(yù)訓(xùn)練上測(cè)試集。使用Adam作為優(yōu)化器,設(shè)定學(xué)習(xí)率為0.05,動(dòng)態(tài)調(diào)整學(xué)習(xí)率訓(xùn)練100個(gè)epoch,為了體現(xiàn)對(duì)齊的效果,分別在原始數(shù)據(jù)和EA后的數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,結(jié)果如表1所示,所有結(jié)果均為留一法試驗(yàn)后的平均值,下同。
表1 對(duì)齊與不對(duì)齊時(shí)預(yù)訓(xùn)練結(jié)果/%Tab.1 Pre-training results when aligned and unaligned/%
表1中可以看出經(jīng)過(guò)對(duì)齊后的預(yù)訓(xùn)練效果結(jié)果無(wú)論在準(zhǔn)確率還是F1分?jǐn)?shù)還是精度或是召回率都優(yōu)于使用原始數(shù)據(jù)預(yù)訓(xùn)練的效果。
2.3.2 預(yù)訓(xùn)練模型在目標(biāo)域上的直接測(cè)試結(jié)果
使用2.3.1中得到的兩個(gè)預(yù)訓(xùn)練模型,分別在原始目標(biāo)域數(shù)據(jù)、EA后目標(biāo)域數(shù)據(jù)、WAEA后目標(biāo)域數(shù)據(jù)上直接測(cè)試,結(jié)果如表2所示。從表2中可以看出,使用對(duì)齊數(shù)據(jù)預(yù)訓(xùn)練的模型比使用原始數(shù)據(jù)預(yù)訓(xùn)練的模型分類(lèi)效果更好,其準(zhǔn)確率最高提升了4.11%。然而無(wú)論是在原始目標(biāo)域數(shù)據(jù)上還是對(duì)齊后的目標(biāo)域數(shù)據(jù)上,直接使用預(yù)訓(xùn)練的模型測(cè)試效果都較差,這是由于EEG的個(gè)體特異性導(dǎo)致的。為此我們使用模型遷移學(xué)習(xí)中微調(diào)的方式提高模型的跨被試疲勞駕駛EEG識(shí)別準(zhǔn)確率。
表2 不同預(yù)訓(xùn)練模型在不同處理的目標(biāo)域上的準(zhǔn)確率(單位:%)Tab.2 Accuracy of different pre-trained models on different processed target domains(unit:%)
2.3.3 預(yù)訓(xùn)練模型的微調(diào)結(jié)果
使用目標(biāo)域中5%的數(shù)據(jù),對(duì)DeepConvNet進(jìn)行微調(diào),微調(diào)層次為所有隱藏層,使用Adam作為優(yōu)化器,設(shè)定學(xué)習(xí)率為0.001,動(dòng)態(tài)調(diào)整學(xué)習(xí)率訓(xùn)練50個(gè)epoch。在目標(biāo)域數(shù)據(jù)、EA后目標(biāo)域數(shù)據(jù)、WAEA后目標(biāo)域數(shù)據(jù)上分別微調(diào),結(jié)果如表3所示。
可以看到經(jīng)過(guò)微調(diào)后各個(gè)模型準(zhǔn)確率均有了較大提升,其中表現(xiàn)最好的組合是在對(duì)齊數(shù)據(jù)上預(yù)訓(xùn)練,WAEA目標(biāo)域數(shù)據(jù)集上微調(diào)后測(cè)試。同時(shí)我們發(fā)現(xiàn)訓(xùn)練集和測(cè)試集都對(duì)齊或都對(duì)齊得到的效果更好。
表3 不同預(yù)訓(xùn)練模型在不同處理目標(biāo)域上的微調(diào)后準(zhǔn)確率/%Tab.3 Accuracy of different pre-trained models after fine-tuning on different processing target domains/%
2.3.4 不同目標(biāo)域可用比例下的微調(diào)結(jié)果
按照5%、10%、15%、20%、25%、30%的比例劃分目標(biāo)域,對(duì)訓(xùn)練集和測(cè)試集用不同的處理,重復(fù)預(yù)訓(xùn)練后微調(diào)的步驟,以目標(biāo)域劃分比例為α、平均準(zhǔn)確率為accuracy繪制折線圖,如圖1所示。
圖1中initial-initial表示在原始數(shù)據(jù)上預(yù)訓(xùn)練并在原始數(shù)據(jù)上微調(diào)的組合,類(lèi)似的initial-EA表示在原始數(shù)據(jù)上預(yù)訓(xùn)練并在EA后的數(shù)據(jù)上微調(diào)的組合,以此類(lèi)推。由圖1可知,表現(xiàn)最好的組合依舊是EA-WAEA,在5%~30%的目標(biāo)域可用比例中都保持對(duì)其他方法的領(lǐng)先。并且我們注意到EA-EA的結(jié)果隨著目標(biāo)域數(shù)據(jù)可用比例的提高,越來(lái)越接近EA-WAEA的結(jié)果,這是由WAEA的計(jì)算公式?jīng)Q定的,由式(9)可知當(dāng)目標(biāo)域比例越來(lái)越大時(shí),WAEA會(huì)與EA相似,但是WAEA在目標(biāo)域可用比例較小時(shí)比EA有較大領(lǐng)先,這是由于少量數(shù)據(jù)不足以計(jì)算出可靠的參考矩陣,WAEA利用源域中數(shù)據(jù)一定程度上解決這這個(gè)問(wèn)題。另外我們發(fā)現(xiàn),與表3類(lèi)似的,使用對(duì)齊后的數(shù)據(jù)微調(diào)結(jié)果比不對(duì)齊的結(jié)果都要好。
α/%
本文結(jié)合歐式空間對(duì)齊方法和模型遷移學(xué)習(xí)對(duì)EEG疲勞駕駛信號(hào)進(jìn)行跨被試少樣本分類(lèi)。首先對(duì)源域中被試進(jìn)行EA并對(duì)目標(biāo)域中被試使用WAEA以減少被試之間差異,用對(duì)齊后的源域數(shù)據(jù)和少量目標(biāo)域數(shù)據(jù)對(duì)DeepConvNet進(jìn)行預(yù)訓(xùn)練,并在WAEA后的少量目標(biāo)域數(shù)據(jù)上微調(diào)。實(shí)驗(yàn)證明WAEA通過(guò)引入源域中參考矩陣,并利用矩陣的余弦相似度計(jì)算加權(quán)平均參考矩陣,能夠彌補(bǔ)EA在樣本較少時(shí)準(zhǔn)確率較低的問(wèn)題,同時(shí)我們發(fā)現(xiàn)對(duì)齊后的微調(diào)效果比使用原始數(shù)據(jù)的微調(diào)效果更好。該方法為遷移學(xué)習(xí)在EEG疲勞駕駛信號(hào)跨被試分析中提供了新方法,為有少量目標(biāo)域時(shí)的對(duì)齊提供了一種新思路,并說(shuō)明了對(duì)齊在遷移學(xué)習(xí)中的必要性。