王國(guó)棟,王增才,范佳城
(1.山東大學(xué)機(jī)械工程學(xué)院,山東 濟(jì)南 250061) (2.山東大學(xué)高效潔凈機(jī)械制造實(shí)驗(yàn)室教育部重點(diǎn)實(shí)驗(yàn)室,山東 濟(jì)南 250061) (3.山東大學(xué)機(jī)械基礎(chǔ)實(shí)驗(yàn)教學(xué)中心國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心,山東 濟(jì)南 250061)
駕駛員眼睛狀態(tài)檢測(cè)是駕駛員疲勞檢測(cè)的重要組成部分,有效的眼睛狀態(tài)檢測(cè)算法為駕駛員眨眼頻率及閉眼時(shí)間等與疲勞相關(guān)的眼部參數(shù)的計(jì)算提供了基礎(chǔ)。目前用于眼睛狀態(tài)檢測(cè)的方法包括4種:基于運(yùn)動(dòng)的眼睛狀態(tài)檢測(cè)[1]、基于特征的眼睛狀態(tài)檢測(cè)[2-3]、基于外觀的眼睛狀態(tài)檢測(cè)[4-5]和基于深度學(xué)習(xí)的眼睛狀態(tài)檢測(cè)[6-7]。基于運(yùn)動(dòng)的眼睛狀態(tài)檢測(cè)方法通過檢測(cè)眼睛視頻中眼瞼運(yùn)動(dòng)的時(shí)空特征對(duì)眼睛狀態(tài)進(jìn)行檢測(cè)?;谔卣鞯难劬顟B(tài)檢測(cè)方法通過模板匹配和眼部特征實(shí)現(xiàn)對(duì)眼睛狀態(tài)的檢測(cè)。 這兩種方法在實(shí)際運(yùn)用中魯棒性較差,眼部圖像質(zhì)量的好壞會(huì)嚴(yán)重影響檢測(cè)準(zhǔn)確率?;谕庥^的眼睛狀態(tài)檢測(cè)方法通過提取眼部信息對(duì)眼睛狀態(tài)進(jìn)行檢測(cè)。文獻(xiàn)[4]提出了多尺度直方圖(MultiHPOG)以用于檢測(cè)眼睛狀態(tài),該方法需要手動(dòng)提取眼睛特征,此過程會(huì)消耗實(shí)驗(yàn)人員大量時(shí)間。隨著深度學(xué)習(xí)的迅速發(fā)展[8-9],一些基于深度學(xué)習(xí)的方法相繼被提出,其通過深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)眼睛圖像進(jìn)行信息分析,最終通過分類器對(duì)眼睛狀態(tài)進(jìn)行判別。文獻(xiàn)[6]建立了深度集成神經(jīng)網(wǎng)絡(luò)(DINN)用于檢測(cè)眼睛狀態(tài)。文獻(xiàn)[7]提出了多尺度匯集卷積神經(jīng)網(wǎng)絡(luò)(MSP-Net)用于檢測(cè)眼睛狀態(tài)。然而基于深度學(xué)習(xí)的方法由于其計(jì)算量較大、參數(shù)量較多,降低了檢測(cè)速度,因此限制了其在實(shí)際環(huán)境中的應(yīng)用。為此,本文提出了深度融合殘差網(wǎng)絡(luò)(deep fusion residual network,DF-ResNet),用于在實(shí)際駕駛環(huán)境中快速、準(zhǔn)確地檢測(cè)駕駛員的眼睛狀態(tài)。
本文提出的整體網(wǎng)絡(luò)架構(gòu)如圖1所示。首先對(duì)駕駛員面部圖像進(jìn)行人臉對(duì)齊,然后提取眼睛特征點(diǎn)坐標(biāo)值并裁剪出眼睛區(qū)域圖像,最后將經(jīng)過數(shù)據(jù)預(yù)處理后的特征與圖像輸入到預(yù)先訓(xùn)練好的DF-ResNet網(wǎng)絡(luò)進(jìn)行眼睛狀態(tài)檢測(cè)。
圖1 整體網(wǎng)絡(luò)架構(gòu)圖
在進(jìn)行駕駛員眼睛狀態(tài)識(shí)別時(shí),神經(jīng)網(wǎng)絡(luò)的輸入只需要駕駛員眼睛區(qū)域圖像及特征即可,因此需要從駕駛員的面部視頻圖像中裁剪出眼睛區(qū)域并提取特征。在進(jìn)行圖像裁剪及特征提取之前,需要采用人臉對(duì)齊算法對(duì)駕駛員的眼睛區(qū)域進(jìn)行定位,本文采用了基于回歸樹集合[10]的方法,該方法在執(zhí)行人臉對(duì)齊時(shí)速度快、穩(wěn)定性好,并解決了以往人臉對(duì)齊檢測(cè)器參數(shù)相對(duì)難以調(diào)整的問題,同時(shí)當(dāng)檢測(cè)器的訓(xùn)練集中某些關(guān)鍵點(diǎn)校準(zhǔn)不足時(shí),該檢測(cè)器仍然表現(xiàn)良好。部分人臉對(duì)齊后圖像如圖2所示。在完成人臉對(duì)齊后,需要根據(jù)標(biāo)記出的人臉關(guān)鍵點(diǎn)對(duì)輸入圖像進(jìn)行眼睛區(qū)域裁剪,并提取眼部特征,本文使用的眼睛特征為駕駛員眼睛的6個(gè)關(guān)鍵特征點(diǎn)的坐標(biāo)值。最終裁剪出的眼睛圖像的像素尺寸為24×24。
圖2 部分人臉對(duì)齊后圖像
卷積神經(jīng)網(wǎng)絡(luò)是一種主要用于處理陣列數(shù)據(jù)的人工神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)主要包含輸入層、卷積層、池化層、全連接層(或全局平均池化層)以及輸出層。卷積層是特征提取層,用于提取和計(jì)算輸入的數(shù)據(jù)并映射到下一層。池化層的目的是對(duì)數(shù)據(jù)進(jìn)行降維。全連接層將從前一層學(xué)習(xí)到的特征圖映射到樣本標(biāo)記空間。全局平均池化層起到的的作用與全連接層相似,但是其大大降低了模型的計(jì)算量和參數(shù)量。
深度神經(jīng)網(wǎng)絡(luò)由于存在參數(shù)量及計(jì)算量大、模型復(fù)雜等缺點(diǎn),使得深度模型運(yùn)算開銷較大。深度壓縮模型具有較少的參數(shù)和計(jì)算量,在向客戶端導(dǎo)出新模型時(shí)的開銷更小,并且使得模型嵌入式部署的可行性提高。而深度模型壓縮策略可以在不顯著影響模型性能的基礎(chǔ)上,大大降低模型復(fù)雜度。因此深度模型壓縮策略顯得尤為重要。在本文中,使用以下4種壓縮策略:
1)卷積核優(yōu)化。對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)中卷積核的大小進(jìn)行調(diào)整,同時(shí)采用卷積核分解策略。
2)對(duì)卷積層通道數(shù)進(jìn)行壓縮。在相似檢測(cè)結(jié)果的前提下,盡量降低卷積核的通道數(shù),從而降低模型的參數(shù)量。
3)使用全局平均池化層替代全連接層。全連接層的參數(shù)量在深度模型中所占的比例很大,而全局平均池化層在達(dá)到全連接層相同效果的情況下可以極大減少參數(shù)量。
4)降采樣層后移。降采樣層盡量后移可以生成更大的特征圖,從而得到更大的模型容量。
在深度學(xué)習(xí)領(lǐng)域,模型容量隨深度的增加也在增加。但當(dāng)模型的深度過大時(shí),模型會(huì)出現(xiàn)退化現(xiàn)象,此時(shí)訓(xùn)練過程中的誤差會(huì)越來越大。殘差網(wǎng)絡(luò)通過Short-cut連接解決了模型退化的問題,同時(shí)減少了深度模型訓(xùn)練的時(shí)間,增加了模型的可訓(xùn)練性[11]。Short-cut連接是在標(biāo)準(zhǔn)前饋卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上加入一個(gè)跳躍連接,從而直接跳過某些卷積層。前饋神經(jīng)網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)的對(duì)比圖如圖3所示。
圖3 前饋神經(jīng)網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)對(duì)比圖
經(jīng)過兩層前饋神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值H(x)計(jì)算過程如下:
f(x)=ReLU(b1+xin·w1)
(1)
H(x)=ReLU(b2+f(x)·w2)
(2)
式中:xin為輸入特征;w1,w2分別為第一、二神經(jīng)層的權(quán)重;b1,b2分別是第一、二神經(jīng)層的偏置;ReLU為激活函數(shù)。
殘差網(wǎng)絡(luò)中預(yù)測(cè)值H(x)與x之間存在函數(shù)關(guān)系,假設(shè)兩者之間的函數(shù)關(guān)系滿足H(x)=2x,則
H(x)=ReLU(b2+f(x)·w2)+xin
(3)
深度神經(jīng)網(wǎng)絡(luò)退化的主要原因是梯度爆炸和梯度消失,而殘差網(wǎng)絡(luò)的出現(xiàn)解決了這一問題。在殘差網(wǎng)絡(luò)中輸入與輸出存在兩個(gè)不同的連接關(guān)系,一個(gè)是輸入數(shù)據(jù)經(jīng)過多個(gè)神經(jīng)層之后輸出,另一個(gè)是輸入數(shù)據(jù)直接連接到輸出。在進(jìn)行反向傳播時(shí),最終得到的梯度為誤差經(jīng)過兩個(gè)不同的連接反向傳播后得到的和,因此當(dāng)網(wǎng)絡(luò)較深時(shí),即使經(jīng)過若干層神經(jīng)層反向傳播之后得到的梯度很小,但是輸出通過Short-cut連接反向傳播到輸入的梯度值卻保持在適當(dāng)?shù)姆秶鷥?nèi),從而使梯度爆炸及梯度消失的問題得到有效地解決。同時(shí),殘差網(wǎng)絡(luò)在前向傳播時(shí)將網(wǎng)絡(luò)的深層結(jié)構(gòu)變成了并行結(jié)構(gòu),使得深度神經(jīng)網(wǎng)絡(luò)模型容量變大的同時(shí)又具有可訓(xùn)練性。
在眼睛圖像處理部分,本文基于多通道卷積、殘差網(wǎng)絡(luò)和深度模型壓縮策略,建立起深度卷積神經(jīng)網(wǎng)絡(luò)中的細(xì)胞單元,如圖4所示,細(xì)胞單元是深度卷積網(wǎng)絡(luò)的基本組成單元。其中,最大池化部分采用3×3的最大池化,步數(shù)為1。卷積層1代表具有1×1卷積核的卷積層,通道數(shù)為72,卷積步數(shù)為1;卷積層2代表具有1×3卷積核的卷積層,通道數(shù)為72,卷積步數(shù)為1;卷積層3代表具有3×1卷積核的卷積層,通道數(shù)為72,卷積步數(shù)為1。
圖4 細(xì)胞單元圖
基于細(xì)胞單元建立深度卷積神經(jīng)網(wǎng)絡(luò),如圖5所示。在深度卷積神經(jīng)網(wǎng)絡(luò)中,輸入層為眼睛圖像,第一層為常規(guī)卷積層,卷積核大小為3×3,通道數(shù)為128;第二到第四層為3個(gè)細(xì)胞單元,每個(gè)單元的輸出值經(jīng)過ReLU函數(shù)激活后輸入下一層;降采樣層為第二層到第四層,充分保證了特征圖中信息的多樣性。在第四層之后卷積結(jié)果與全局平均池化層連接,將學(xué)習(xí)到的信息映射到樣本標(biāo)記空間,最后通過歸一化指數(shù)函數(shù)(Softmax函數(shù))進(jìn)行二分類輸出。Softmax函數(shù)將指數(shù)變換后的模型輸出值進(jìn)行歸一化,從而轉(zhuǎn)化成(0,1)之間的數(shù),且所有值之和為1,即可以理解為Softmax函數(shù)將模型輸出值轉(zhuǎn)化為分類概率。最終分類決策時(shí),選取概率值最大的結(jié)果作為最終結(jié)果。
圖5 深度卷積神經(jīng)網(wǎng)絡(luò)
對(duì)于眼睛特征部分,本文采用深度神經(jīng)網(wǎng)絡(luò),如圖6所示。輸入層為6個(gè)眼睛特征點(diǎn)的橫縱坐標(biāo)值平鋪之后的特征向量,即輸入層有12個(gè)節(jié)點(diǎn),3個(gè)隱藏層神經(jīng)元數(shù)量相同,為128個(gè),最后通過Softmax函數(shù)進(jìn)行分類輸出,最終輸出分為兩類:眼睛張開或閉合。神經(jīng)層激活函數(shù)為雙曲正切函數(shù)。
圖6 深度神經(jīng)網(wǎng)絡(luò)
在建立完成深度神經(jīng)網(wǎng)絡(luò)與深度卷積神經(jīng)網(wǎng)絡(luò)之后,建立深度融合殘差網(wǎng)絡(luò),如圖7所示。將眼睛特征點(diǎn)與眼睛圖像分別輸入到深度神經(jīng)網(wǎng)絡(luò)及深度卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行分析計(jì)算,并將兩個(gè)神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果輸入一個(gè)神經(jīng)元進(jìn)行加權(quán)平均,最終輸出眼睛狀態(tài)的檢測(cè)結(jié)果。
圖7 DF-ResNet
本文實(shí)驗(yàn)使用的硬件平臺(tái)為Intel Core i3-3220,主頻為3.30 GHz,顯卡為GTX1060。軟件環(huán)境為Spider + TensorFlow 4.5.11。
實(shí)驗(yàn)中使用兩個(gè)公共數(shù)據(jù)集——CEW數(shù)據(jù)集[4]和ZJU數(shù)據(jù)集[4],以及一個(gè)實(shí)際駕駛環(huán)境下建立的數(shù)據(jù)集(DES)。實(shí)際駕駛環(huán)境中駕駛員眼睛狀態(tài)數(shù)據(jù)集建立過程如下:在封閉安全的道路上,對(duì)駕駛員和副駕駛員的安全提供有效保證,并收集來自20名實(shí)驗(yàn)者的疲勞駕駛圖像。所有實(shí)驗(yàn)者中,男性駕駛員數(shù)量為12名,女性駕駛員數(shù)量為8名,駕駛員年齡分布為18~50歲。最終,經(jīng)過篩選后獲得睜眼圖像數(shù)量為5 450張,閉眼圖像數(shù)量為4 550張,保存相應(yīng)圖像的特征點(diǎn)坐標(biāo)值。DES數(shù)據(jù)集中部分圖像如圖8所示。
圖8 DES數(shù)據(jù)集中部分圖像
由于ZJU與CEW數(shù)據(jù)集只有圖像而沒有眼部特征點(diǎn),因此實(shí)驗(yàn)人員對(duì)數(shù)據(jù)集中圖像進(jìn)行手動(dòng)標(biāo)定。ZJU數(shù)據(jù)集預(yù)先劃分了訓(xùn)練集及測(cè)試集,CEW和DES數(shù)據(jù)集均采用十折交叉驗(yàn)證法對(duì)模型進(jìn)行評(píng)估實(shí)驗(yàn)。對(duì)所有的圖像進(jìn)行最大最小值歸一化,消除圖像自身差異性。相關(guān)公式如下:
(4)
式中:xnorm為歸一化后的值;xvalue為圖像某一點(diǎn)的像素值;xmin、xmax為圖像像素最小、最大值。
為了評(píng)估本文所提的網(wǎng)絡(luò)模型的性能,在3個(gè)數(shù)據(jù)集上,分別與表現(xiàn)最好的MultiHPOG+LTP+Gabor+SVM[4]、DINN[6]和MSP-Net[7]3種方法進(jìn)行了3組對(duì)比實(shí)驗(yàn),對(duì)比4種方法在不同數(shù)據(jù)集上的測(cè)試準(zhǔn)確率、模型運(yùn)算速度兩項(xiàng)指標(biāo)。測(cè)試準(zhǔn)確率是經(jīng)模型處理后正確分類的眼睛圖像數(shù)占總圖像數(shù)的百分比,模型運(yùn)算速度是基于當(dāng)前實(shí)驗(yàn)平臺(tái)檢測(cè)ZJU數(shù)據(jù)集中一張眼部圖像所需時(shí)間。
基于ZJU數(shù)據(jù)集、CEW數(shù)據(jù)集和DES數(shù)據(jù)集,對(duì)比了本文所提出方法和其他方法的實(shí)驗(yàn)效果,實(shí)驗(yàn)結(jié)果分別見表1、表2、表3。由表可知,基于深度學(xué)習(xí)的方法相比于基于外觀的方法檢測(cè)效果更好,DINN模型的檢測(cè)準(zhǔn)確率明顯優(yōu)于其他方法,但是相比于本文提出的DF-ResNet網(wǎng)絡(luò),仍然有所遜色。DF-ResNet網(wǎng)絡(luò)在ZJU數(shù)據(jù)集上的測(cè)試準(zhǔn)確率達(dá)到了98.12%,在CEW數(shù)據(jù)集上更是達(dá)到了98.55%。在DES數(shù)據(jù)集下,由于光照等外界因素變化復(fù)雜,各種方法的檢測(cè)精度均有所下降。相比之下,本文提出的DF-ResNet網(wǎng)絡(luò)表現(xiàn)更加穩(wěn)定,檢測(cè)精度相對(duì)更高,測(cè)試準(zhǔn)確率達(dá)到了96.91%。
表1 基于ZJU數(shù)據(jù)集的模型評(píng)估實(shí)驗(yàn)結(jié)果
表2 基于CEW數(shù)據(jù)集的模型評(píng)估實(shí)驗(yàn)結(jié)果
表3 基于DES數(shù)據(jù)集的模型評(píng)估實(shí)驗(yàn)結(jié)果
基于ZJU數(shù)據(jù)集,評(píng)估了不同方法的時(shí)間消耗情況,實(shí)驗(yàn)結(jié)果見表4。由實(shí)驗(yàn)結(jié)果可知,本文所提模型不僅測(cè)試準(zhǔn)確率更高、魯棒性更好,模型運(yùn)算速度也明顯快于現(xiàn)有的基于深度學(xué)習(xí)方法,檢測(cè)單張圖像的眼睛狀態(tài)只需0.68 ms。
表4 時(shí)間消耗實(shí)驗(yàn)結(jié)果
由于深度學(xué)習(xí)的目標(biāo)是通過數(shù)據(jù)學(xué)習(xí)得到一個(gè)最佳的函數(shù)近似,因此無論在訓(xùn)練過程中還是在測(cè)試過程中均不可能達(dá)到100%的檢測(cè)精度。除此之外,外界環(huán)境變化及個(gè)人差異性等原因也是造成測(cè)試集誤檢的原因之一,部分誤檢如圖9所示。因此下一步的工作需要在保證模型運(yùn)算速度的前提下提升魯棒性。
圖9 部分誤檢圖像
本文針對(duì)現(xiàn)有用于檢測(cè)眼睛狀態(tài)的算法存在魯棒性差、人力成本高和檢測(cè)效率低等問題,提出了一個(gè)深度融合殘差網(wǎng)絡(luò),將深度神經(jīng)網(wǎng)絡(luò)與深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了融合用以檢測(cè)實(shí)際環(huán)境下駕駛員眼睛狀態(tài)。合理設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)提升了檢測(cè)精度,通過優(yōu)化卷積核、壓縮卷積通道、全局平均池化層代替全連接層和降采樣層后移等深度模型壓縮策略顯著提升了模型的檢測(cè)速度。為了評(píng)估所提出的網(wǎng)絡(luò)模型,本文建立了實(shí)際環(huán)境下的駕駛員眼睛狀態(tài)數(shù)據(jù)集。相關(guān)實(shí)驗(yàn)結(jié)果顯示,在ZJU數(shù)據(jù)集和CEW數(shù)據(jù)集上該模型的檢測(cè)精度分別達(dá)到了98.12%和98.55%,在DES數(shù)據(jù)集上的檢測(cè)精度達(dá)到了96.91%。在ZJU數(shù)據(jù)集上每張圖像的檢測(cè)時(shí)間僅為0.68 ms,相比于其他方法提升了眼睛狀態(tài)檢測(cè)的精度、魯棒性和檢測(cè)速度。