邱達鋒
(西南民族大學電氣信息工程學院,成都610041)
自有汽車以來,司機疲勞駕駛一直是一個需要解決的問題。尤其近幾年汽車數量日益增高,疲勞駕駛的事故頻頻發生[1]。而司機疲勞主要表現為腦力疲勞和體力疲勞兩種。其中,腦力疲勞是司機發生事故的主要表現[2]。因此,如何提供一種腦力疲勞監測有效指標,以實現對駕駛員精神狀態的監測,是防止司機疲勞的重要研究熱點。
目前,為監測腦力疲勞,已提出的指標有肌電(EMG)、EOG(眼電)、EEG(腦電)等生理信號的變化[3]。尤其是EEG腦電信號,它很好反映了人大腦活動的情況,其中根據它的活動范圍,可劃分為四個波段,即δ(1-3Hz)、θ(4-7Hz)、α(8-13Hz)、β(14-30Hz)[4]。δ波表現為成年人在極度疲勞、昏睡、麻醉狀態;θ波表現為在成年人意愿受挫或者抑郁以及精神病患者中這種波極為顯著,α波主要表現為一個人的正常節律,即人在清醒、安靜并閉眼時該節律最為明顯,但是睜開眼睛α波即刻消失。β波則是一個人精神緊張和情緒激動或亢奮時的表現。因此本文也將用EEG腦電信號做為疲勞檢測的重要指標。另外一個本文用到的就是EOG眼電信號,其也被證明是人腦疲勞檢測的有效方法[5-6]。在傳統基于腦電信號的疲勞檢測方法中,大多采用機器學習的方法。例如通過提取腦電信號特征,結合SVM、決策樹、GBDT等分類方法實現疲勞檢測[7-8]。這些方法只考慮單模態、信息單一,所以檢測準確率實際上并不是很高。但是,隨著深度學習在分類任務的應用[9],腦電信號特征提取方法有了更多選擇,例如有用小波變換[10]、傅里葉變換[11]等來提取特征的。因此,利用這些特征結合神經網絡的方法也開始受到研究者們的青睞[12-13]。盡管用神經網絡單信號的輸入效果有所提升,但是仍存在提升的空間。所以,又有研究者提出結合各種生理信號的方法,相關一些論文[14-15]就結合EEG、EOG融合熵(樣本熵、近似熵和譜熵)的方法來進行疲勞檢測。結果證明相較于單獨用EEG、EOG的方法都有所提高。因此,本文也提出了一種EEG和EOG結合的方法,不同于直接用EEG、EOG特征融合[16-17]的方法,本文則是采用分別把EEG、EOG特征輸入神經網絡,再利用神經網絡合并層實現兩個模態的融合。在神經網絡的選擇上,根據文獻[18]對數據集EEG和EOG信號的描述,本文決定選取從EEG信號中提取的微分熵特征,其中包括:移動平均值的DE和具有線性動態系統的DE,它的數據格式為(通道X樣本數X頻帶),這符合二維卷積神經網絡對特征輸出要求,所以選擇二維卷積,而EOG數據格式為(樣本號X特征尺寸),這符合一維卷積神經網絡,所以選擇一維卷積。最后,本文通過單獨用EOG、EEG訓練和兩者結合的實驗進行對比,實驗結果證明兩者結合的準確率最高為98.3%,為眾多疲勞檢測算法[19-20]中,提供了一個新的研究方法。
神經網絡在疲勞檢測的運用,其實就是做一個分類任務。而我們都知道神經網絡在圖像分類有著優越的表現。正是利用它的這個特性,我們把所提取的EEG、EOG特征看做一張張偽圖像進行分類識別。神經網絡的輸入有單輸入和多輸入,根據本文的要求,選擇了多輸入的網絡結構,其中EEG有4個輸入,EOG有3個輸入,總體網絡結構如圖1所示。

圖1 多模態融合的網絡結構
由圖1可知,我們分別把EEG、EOG信號特征輸入兩個不同的神經網絡訓練,其中EEG信號特征選擇了二維卷積神經網絡,EOG信號選擇了一維卷積神經網絡。再通過concatenate層進行融合訓練,最后經過交叉熵驗證進行疲勞檢測。
根據EEG的特征,在神經網絡的設計上,采用了二維卷積神經網絡,其中運用了殘差網絡,殘差結構如圖2(a)所示,每個殘差塊包含2個3×3的卷積核,其滑動步長為1,每個卷積核后面都有一個批歸一化層(Batch Normalization,BN)。每個殘差塊后都包含一個最大池化層,池化窗口大小均為2×2,在最后一個最大池化層接一個卷積核以及BN層,再接一個全局平均池化層降維以便后面特征的融合。此外,所有卷積核都用ReLU作為激活函數。其網絡結構如圖2(b)所示。

圖2
根據EOG的特征,在神經網絡的設計上,采用了一維卷積神經網絡,其中7層一維卷積,滑動步長為1,每個卷積層后面都有一個批歸一化層(BN),還運用了3個最大池化層,最后接一個全局平均池化層降維以便后面多特征的融合。此外,所有卷積核都用ReLU作為激活函數。其網絡結構如圖3所示。

圖3 EOG特征的一維卷積神經網絡結構
數據集的采集主要運用一個模擬的駕駛驅動系統,要求受試者在模擬沉悶的環境中駕駛汽車,然后使用Neuroscan系統記錄收集EEG和EOG信號。均采用1KHz的采樣頻率,共采集21個通道的數據信息,其中,前額EOG電極設置如圖4(a)所示,而腦電信號設置的電極分別為顳腦區域的6個通道(FT7、FT8、T7、T8、TP7、TP8)和后腦區域的11個通道(CP1、CP2、P1、P2、PZ、PO3、POZ、PO4、O1、OZ、O2)其電極分布如圖4(b)所示。它們的放置均符合國際10-20電極分布位置要求。

圖4
(a)為提取EOG數據的4個通道電極,(b)為提取EEG數據的17個通道電極,其中6個位于顳腦區域,11個位于后腦區域。
根據裝置提取的EEG、EOG數據,本文所用到特征如表1所示。其中De_lds為后腦具有移動平均值的微分熵、De_movingAve為后腦具有線性動態系統的微分熵、Forehead_de_LDS為前額具有移動平均值的微分熵、Forehead_de_movingAve為前額具有線性動態系統的微分熵,而EOG的特征為features_table_ica、fea?tures_table_minus和features_table_icav_minh,均 使 用ICA和減法的不同VEO和HEO分離方法提取前額數據所得到[18]。

表1 選取的EEG和EOG特征
整個實驗是在午餐后或者晚上進行的,這樣使得他們更容易引起疲勞。整個實驗的持續時間約為2小時,期間參與者要求佩戴SMI眼睛跟蹤眼鏡,以便記錄他們的眼球運動。然后,計算實驗期間參與者的PER?CLOS(眼瞼在單位時間內的閉合程度)指標值,并將其用作疲勞標簽信號。其公式如下:

我們把PERCLOS記作P,根據所提到的,給P設置閾值,當P<0.35時,參與者屬于清醒狀態;當0.35
0.7時,參與者屬于嗜睡狀態。也就是說,根據不同的P值,我們得到了三種不同的狀態,這也說明了,我們需要做的是一個三分類問題。其中,把清醒狀態記作0,疲勞狀態記作1,嗜睡狀態記作2,具體標注方法如表2。

表2 疲勞標注狀態
原始數據是根據實際情況采集的,這樣會存在一個問題,即清醒、疲勞、嗜睡三種狀態數據分布不平衡,其分布如圖5(a)所示,可以看到明顯疲勞的數據最多,這對于神經網絡的訓練來說是不利的,為了解決這個問題,我們采用了SMOTE(Synthetic Minority Oversam?pling Technique)算法來對數據進行平衡處理。經過SMOTE方法采樣后,三種狀態的分布是平衡的,其分布如5(b)所示。

圖5
具體SMOTE算法實現流程如下:
(1)對于少數類中每一個樣本x,以歐氏距離為標準計算它到少數類樣本集Smin中所有樣本的距離,得到其k近鄰。
(2)根據樣本不平衡比例設置一個采樣比例以確定采樣倍率N,對于每一個少數類樣本x,從其k近鄰中隨機選擇若干個樣本,假設選擇的近鄰為xn。
(3)對于每一個隨機選出的近鄰xn,分別與原樣本按照如下的公式構建新的樣本。

在實驗上,把數據集隨機以8:2的比例分為訓練集和測試集,再對EEG特征、EOG特征建立單獨的神經網絡結構進行訓練,最后結合EEG和EOG特征進行多模態融合的神經網絡結構訓練。三個實驗均迭代50次,學習率設置為0.001。通過實驗結果分析,單獨的EEG特征、EOG特征訓練的訓練集、測試集的損失率和準確率曲線都不如結合EEG和EOG特征進行多模態融合的神經網絡方法。具體如圖6(a)、圖(b)、圖(c)和圖7(a)、圖7(b)、圖7(c)所示。在傳統疲勞檢測的方法DBN、SVM、LR、KNN的平均準確率分別為86.08%、83.99%、82.70%、72.60%[21]。而由圖7(a)、(b)、(c)可知,相較于傳統疲勞檢測方法,卷積神經網絡的方法確實提升了很多,尤其是本文提出的結合EEG和EOG特征進行多模態融合的神經網絡方法達到98.3%。具體三個實驗的準確率對比如表3所示。

表3 三個實驗測試集的準確率對比
基于肌電(EMG)、EOG(眼電)、EEG(腦電)等生理信號特征融合來進行疲勞檢測已經成為重要的研究課題。而傳統的機器學習的方法可能已不滿足檢測的準確率。顯然,本文提出結合EEG和EOG的多模態神經網絡融合的方法,在準確率上有很大的提升,為司機疲勞駕駛檢測提供一種研究方向。但是,由于各種生理信號特征提取方法很多且提取的操作繁瑣,所以可能仍有更好的選擇。目前,本文主要僅僅針對的是司機的疲勞檢測,而疲勞檢測的應用場景還有很多,例如:學生聽課是否產生疲勞、公司上班職工是否感覺疲倦等,后續可以針對這些領域,利用遷移學習的方法,將司機駕駛疲勞檢測識別模型進行遷移完成對其他領域的疲勞檢測。

圖6

圖7