劉俊超 陳志軍 樊小朝 閆學(xué)勤 王宏偉
摘 要: 基于人眼檢測(cè)的駕駛員疲勞檢測(cè)研究中,受戴眼鏡、光照強(qiáng)度和人臉姿態(tài)變化、閉眼以及面部遮擋等復(fù)雜背景影響,現(xiàn)有方法難以準(zhǔn)確檢測(cè)人眼位置的問(wèn)題越來(lái)越嚴(yán)重,故提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的人眼檢測(cè)方法。對(duì)其進(jìn)行網(wǎng)絡(luò)優(yōu)化及損失優(yōu)化,把人眼檢測(cè)作為一種回歸問(wèn)題來(lái)求解,實(shí)現(xiàn)了整個(gè)過(guò)程端到端,即從輸入原始圖片到最后的人眼類別和位置的輸出。該方法在ORL人臉數(shù)據(jù)庫(kù)中全部圖像的人眼檢測(cè)準(zhǔn)確率為98.39%,在AR人臉數(shù)據(jù)庫(kù)中沒(méi)有戴墨鏡的人眼檢測(cè)準(zhǔn)確率為95.15% ,實(shí)驗(yàn)結(jié)果驗(yàn)證了所提方法的有效性、高準(zhǔn)確率和較強(qiáng)的泛化能力。
關(guān)鍵詞: 人眼檢測(cè); 深度學(xué)習(xí); 卷積神經(jīng)網(wǎng)絡(luò); 網(wǎng)絡(luò)優(yōu)化; 損失優(yōu)化; 泛化能力
中圖分類號(hào): TN911.23?34; TP391.41 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)18?0072?04
Eye detection based on deep convolutional neural networks
LIU Junchao, CHEN Zhijun, FAN Xiaochao, YAN Xueqin, WANG Hongwei
(School of Electrical Engineering, Xinjiang University, Urumqi 830047, China)
Abstract: In the driver fatigue detection research based on eye detection, the problem that it is difficult for the existing methods to accurately detect the eye position is becoming more and more serious due to the influences of complex backgrounds such as glasses wearing, light intensity, facial pose variation, eye closure, and facial occlusion. Therefore, an eye detection method based on deep convolutional neural networks is proposed. Network optimization and loss optimization are performed for the method. The eye detection is solved as a regression problem, so as to realize a whole end?to?end process which is from input of original images to output of eye classification and position at last. The method has an accuracy rate of 98.39% for eye detection of all images in the ORL face database, and an accuracy rate of 95.15% for detection of eyes (without wearing sunglasses) in the AR face database. The experimental results verified the effectiveness, high accuracy and strong generalization capability of the proposed method.
Keywords: eye detection; deep learning; convolutional neural network; network optimization; loss optimization; generalization capability
0 引 言
長(zhǎng)期以來(lái),我國(guó)一直都是汽車消費(fèi)大國(guó),汽車行業(yè)的高速發(fā)展是我國(guó)經(jīng)濟(jì)繁榮、科技進(jìn)步的一個(gè)縮影。由于汽車的大量增加,現(xiàn)在的交通問(wèn)題更加嚴(yán)重。據(jù)中國(guó)統(tǒng)計(jì)年鑒(2013)數(shù)據(jù)顯示,截至2012年末,我國(guó)全年交通事故發(fā)生數(shù)總計(jì)約為20萬(wàn)起,其中,汽車事故大約為14萬(wàn)起,占交通事故總數(shù)的70%以上,交通事故死亡總計(jì)大約6萬(wàn)人,汽車事故死亡大約4.4萬(wàn)人,占交通事故死亡總數(shù)的73%以上, 疲勞駕駛是汽車事故發(fā)生的主要原因[1]。最近幾十年,計(jì)算機(jī)視覺(jué)技術(shù)應(yīng)用廣泛,在圖像中準(zhǔn)確的人眼檢測(cè)是計(jì)算機(jī)視覺(jué)技術(shù)的核心,更是人臉識(shí)別、虹膜識(shí)別、視線追蹤和疲勞駕駛檢測(cè)的關(guān)鍵技術(shù)。
當(dāng)前,人眼檢測(cè)方法常用的有邊緣提取方法[2?3]、積分投影方法[4]和模板匹配方法[5]等。邊緣提取方法是用邊緣檢測(cè)和Hough變換來(lái)定位眼睛中心,能檢測(cè)虹膜,但對(duì)圖像質(zhì)量和分辨率要求極高,在頭部偏轉(zhuǎn)和閉眼時(shí)不能準(zhǔn)確檢測(cè);積分投影方法用圖像在水平方向和垂直方向上的幾何投影來(lái)確定眼睛位置,能快速定位,但在光照強(qiáng)度變化和人臉姿態(tài)變化時(shí)不能準(zhǔn)確檢測(cè);模板匹配方法是通過(guò)原來(lái)圖像的像素灰度來(lái)檢測(cè)眼睛,魯棒性較好,但在戴眼鏡和光照變化時(shí)不能準(zhǔn)確檢測(cè)。
針對(duì)以上方法存在的不足,本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的人眼檢測(cè)方法,該方法能自動(dòng)學(xué)習(xí)圖像中有效的人眼特征,魯棒性較好,泛化能力強(qiáng),并分析優(yōu)化了其中的網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)等參數(shù)對(duì)人眼檢測(cè)的影響。在ORL和AR人臉數(shù)據(jù)庫(kù)中分別對(duì)不戴眼鏡和戴眼鏡、光照強(qiáng)度和人臉姿態(tài)變化、睜眼和閉眼以及面部遮擋的人臉圖像進(jìn)行驗(yàn)證,結(jié)果證明了深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)人眼檢測(cè)的有效性,并得到了較高的人眼檢測(cè)準(zhǔn)確率。
1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中的一種,其比較特殊,一般有卷積層、下采樣層和全連接層。對(duì)于卷積層來(lái)說(shuō),其中每個(gè)輸入的神經(jīng)元,都有自己的接入?yún)^(qū)域,并通過(guò)這個(gè)接入?yún)^(qū)域獲取這個(gè)區(qū)域的信息,獲取信息之后,定位自己與自己所在區(qū)域的地址;對(duì)于下采樣層而言,其各個(gè)層面都有好幾個(gè)反應(yīng)層面的信息,把每個(gè)反應(yīng)層面看作一個(gè)幾何平面,使得各個(gè)層面的權(quán)值共享;對(duì)于全連接層而言,一般有好幾個(gè)卷積層面和下采樣層面相互連接,最終輸出。類似下采樣層中的權(quán)值共享這種網(wǎng)絡(luò),更接近于生物本身的神經(jīng),一來(lái)減少了權(quán)值數(shù)量,二來(lái)降低了網(wǎng)絡(luò)的復(fù)雜程度[6?9]。卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)圖如圖1所示。
對(duì)于卷積層,其計(jì)算公式表示為:
[xlj=fi∈Mjxl-1i×klij+blj] (1)
式中:[xlj]表示現(xiàn)在這層的信息map;[xl-1i]表示前一層的信息map;[klij]表示由[l-1] 層到[l]層產(chǎn)生的信息map的卷積核;[blj]表示[l]層得出map產(chǎn)生的額外偏置;[Mj]表示接入maps的集合。
對(duì)于下采樣層,其計(jì)算公式表示為:
[xlj=f(βljdown(xl-1j)+blj)] (2)
式中,[down(·)]表示下采樣函數(shù)。一般操作都是對(duì)輸入圖像[N×N]塊的所有像素求和,以便使輸出圖像尺寸大小縮小[N]倍。所有輸出map各自對(duì)應(yīng)一個(gè)乘偏置[β]和一個(gè)加偏置[b]。
對(duì)于全連接層,其計(jì)算公式表示為:
[xoutj=fi∈Mjxout-1i×koutij+boutj] (3)
2 基于深度卷積神經(jīng)網(wǎng)絡(luò)的人眼檢測(cè)
2.1 基于深度卷積神經(jīng)網(wǎng)絡(luò)的人眼檢測(cè)模型
本文人眼檢測(cè)模型如圖2所示。
2.2 優(yōu)化深度卷積神經(jīng)網(wǎng)絡(luò)
優(yōu)化深度卷積神經(jīng)網(wǎng)絡(luò)是把眼睛檢測(cè)作為回歸問(wèn)題來(lái)求解,實(shí)現(xiàn)了整個(gè)過(guò)程端到端,即從輸入原始圖片到最后的人眼類別和位置的輸出。
首先,網(wǎng)絡(luò)對(duì)輸入的原始圖片均等分割,分為[S×S]個(gè)小塊,然后對(duì)分割的每一個(gè)小塊檢測(cè)。一旦眼睛的橫縱坐標(biāo)落在了目標(biāo)區(qū)域中,便用這個(gè)目標(biāo)區(qū)域?qū)ρ劬ψ龀鰴z測(cè)。從圖3就可以看出,紅點(diǎn)落在了(3,2)和(3,5)兩個(gè)小塊中,在這兩個(gè)小塊返回的預(yù)測(cè)值最高,所以這兩個(gè)小塊存在需要檢測(cè)的目標(biāo)。優(yōu)化后的深度卷積神經(jīng)網(wǎng)絡(luò)如圖3所示。
圖3中,每個(gè)小塊都有5個(gè)信息,分別是x,y,w,h和confidence。x,y分別是預(yù)測(cè)bounding box(邊緣框)的橫坐標(biāo)和縱坐標(biāo);w,h分別是bounding box的寬度和高度。
一般在訓(xùn)練過(guò)程中,x,y分別是bounding box坐標(biāo)距離現(xiàn)在坐標(biāo)的差值,同時(shí)集合在區(qū)間[0,1];w,h分別是圖片的寬和高,同樣在區(qū)間[0,1];confidence是現(xiàn)在的bounding box對(duì)眼睛的誤差估計(jì),其計(jì)算公式表示為:
[confidence=P(eye)×IOU] (4)
式中:若bounding box包含eye,則[P(eye)=1];否則[P(eye)=0];IOU表示bounding box與eye重疊面積的預(yù)測(cè)值。
最后,網(wǎng)絡(luò)輸出是[S×S×(B×5+Class)]。[S]表示維度大??;B是每個(gè)小塊輸出的bounding box個(gè)數(shù);Class是類別數(shù)量。
盡管每一小塊能對(duì)B個(gè)bounding box進(jìn)行判斷,可是最后把IOU較高的那個(gè)bounding box表示為eye的結(jié)果。
2.3 優(yōu)化損失
2.3.1 損失函數(shù)定義
損失函數(shù)定義,其計(jì)算公式表示為:
[loss=i=0S2(CoordError+IOUError+ClassError)] (5)
式中:ClassError表示類別誤差;IOUError表示IOU誤差;CoordError表示預(yù)測(cè)值和標(biāo)簽值誤差。
2.3.2 損失函數(shù)優(yōu)化
函數(shù)中的CoordError,IOUError和ClassError對(duì)loss的作用值是不一樣的,所以在計(jì)算loss時(shí),用[λ1]來(lái)改變CoordError。在計(jì)算IOUError時(shí),有目標(biāo)的小塊與沒(méi)有eye的小塊,它們的IOUError對(duì)loss的作用值是不一樣的。假如用一樣的權(quán)值,那么沒(méi)有eye的小塊的confidence值幾乎為0,使有目標(biāo)小塊的confidence在計(jì)算中增大誤差。為解決這個(gè)問(wèn)題,用[λ2]改變IOUError,在誤差一樣時(shí),小目標(biāo)大于大目標(biāo)對(duì)結(jié)果的作用[10?11]。對(duì)此問(wèn)題,網(wǎng)絡(luò)對(duì)目標(biāo)的w和h做平方根來(lái)運(yùn)算,表示為:
[loss=λ1i=0S2j=0B1eyei,j(xi-xi)2+(yi-yi)2+λ2i=0S2j=0B1eyei,jwi-wi2+hi-hi2+λ2i=0S2j=0B1eyei,jCi-Ci2+Ci-Ci2x+i=0S21eyei,jc∈Classes(pi(c)-pi(c))2] (6)
式中:第一個(gè)大括號(hào)是坐標(biāo)的誤差;第二個(gè)大括號(hào)是IOU誤差;第三個(gè)大括號(hào)是類別誤差。[x,y,w,C,p]為網(wǎng)絡(luò)的預(yù)測(cè)值;[x,y,w,C,p]為標(biāo)注值。
3 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)是在Intel[?] CoreTM i5?6300HQ處理器,4 GB內(nèi)存,操作系統(tǒng)為L(zhǎng)inux(Ubuntu 14.04)的PC機(jī)上運(yùn)行的,使用的開(kāi)發(fā)環(huán)境為caffe。
在ORL和AR人臉數(shù)據(jù)庫(kù)中分別對(duì)本文的人眼檢測(cè)方法進(jìn)行驗(yàn)證。另外,為了驗(yàn)證本文方法的泛化能力,訓(xùn)練數(shù)據(jù)集從ORL人臉數(shù)據(jù)庫(kù)中隨機(jī)選取每一類的7個(gè)樣本,剩余樣本作為測(cè)試集。
圖4~圖6分別為不戴眼鏡和戴眼鏡、人臉姿態(tài)變化、睜眼和閉眼的部分ORL人臉數(shù)據(jù)庫(kù)中人眼檢測(cè)結(jié)果。圖7為光照強(qiáng)度變化和面部遮擋的部分AR人臉數(shù)據(jù)庫(kù)中人眼檢測(cè)結(jié)果。從檢測(cè)結(jié)果可以發(fā)現(xiàn),本方法對(duì)不戴眼鏡和戴眼鏡、光照強(qiáng)度和人臉姿態(tài)變化、睜眼和閉眼以及面部遮擋的人臉圖像具有較強(qiáng)的魯棒性,泛化能力強(qiáng),可以準(zhǔn)確檢測(cè)人眼。
在這里,使用文獻(xiàn)[12]中提出的人眼檢測(cè)準(zhǔn)確率標(biāo)準(zhǔn),相對(duì)誤差err,其計(jì)算公式表示為:
[err=max(dl,dr)dlr] (7)
式中,設(shè)[Eyel,Eyer]分別為標(biāo)記的左眼位置和右眼位置,[Eyel,Eyer]分別為本文方法得出的左眼位置和右眼位置,則[dl,dr,dlr]分別為[Eyel-Eyel,Eyer-Eyer,Eyel-Eyer]的距離。因?yàn)閇dlr]大約是眼睛的2倍寬度,所以當(dāng)[err<0.25]時(shí),則認(rèn)為檢測(cè)結(jié)果是準(zhǔn)確的。
為了滿足實(shí)際需求,取[err<0.10]作為檢測(cè)標(biāo)準(zhǔn),人眼檢測(cè)方法對(duì)比如表1所示。
表1是在ORL人臉數(shù)據(jù)庫(kù)中用傳統(tǒng)積分投影、傳統(tǒng)模板匹配和本文方法對(duì)其全部圖像做了一個(gè)人眼檢測(cè)方法對(duì)比。結(jié)果表明:當(dāng)誤差[err<0.25]時(shí),本文方法人眼檢測(cè)準(zhǔn)確率為98.39%,略高于傳統(tǒng)積分投影和傳統(tǒng)模板匹配方法;當(dāng)誤差[err<0.10]時(shí),本文方法人眼檢測(cè)準(zhǔn)確率為95.73%,高于傳統(tǒng)積分投影和傳統(tǒng)模板匹配方法。表明本文方法具有較高的人眼檢測(cè)準(zhǔn)確率。
本文方法泛化能力驗(yàn)證如表2所示。
表2是在AR沒(méi)有戴墨鏡的人臉數(shù)據(jù)庫(kù)中用本文方法對(duì)其自身的泛化能力做了一個(gè)驗(yàn)證。由于本文方法在ORL人臉數(shù)據(jù)庫(kù)中對(duì)其進(jìn)行訓(xùn)練,ORL人臉數(shù)據(jù)庫(kù)中沒(méi)有戴墨鏡,所以并沒(méi)有對(duì)戴墨鏡的進(jìn)行訓(xùn)練。結(jié)果表明:當(dāng)誤差[err<0.25]時(shí),本文方法人眼檢測(cè)準(zhǔn)確率為95.15%;當(dāng)誤差[err<0.10]時(shí),本文方法人眼檢測(cè)準(zhǔn)確率為93.64%。表明本文方法具有較強(qiáng)的泛化能力。
4 結(jié) 論
本文提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的人眼檢測(cè)方法,對(duì)其網(wǎng)絡(luò)和損失進(jìn)行優(yōu)化,把人眼檢測(cè)作為一種回歸問(wèn)題來(lái)求解,簡(jiǎn)化了整個(gè)過(guò)程,實(shí)現(xiàn)了端到端,即從輸入原始圖片直接到最后的人眼類別和位置的輸出。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文方法的有效性、高準(zhǔn)確率和較強(qiáng)的泛化能力。
注:本文通訊作者為陳志軍。
參考文獻(xiàn)
[1] 國(guó)家統(tǒng)計(jì)局.中國(guó)統(tǒng)計(jì)年鑒[M].北京:中國(guó)統(tǒng)計(jì)出版社,2013.
National Bureau of Statistics. China statistical yearbook [M]. Beijing: China Statistics Press, 2013.
[2] PENG Yan, ZHOU Tian, WANG Shaopeng, et al. Design and implementation of a real?time eye tracking system [J]. The journal of China universities of posts and telecommunications, 2013, 20(S1): 1?5.
[3] YOUNG D, TUNLEY H, SAMUELS R. Specialised hough transform and active contour methods for real?time eye tracking [J/OL]. [1995?07?01]. http://users.sussex.ac.uk/~davidy/eyetrack_csrp.pdf.
[4] ZHOU Z H, GENG X. Projection functions for eye detection [J]. Pattern recognition, 2004, 37(5): 1049?1056.
[5] SONG Fengyi, TAN Xiaoyang, LIU Xue, et al. Eyes closeness detection from still images with multi?scale histograms of principal oriented gradients [J]. Pattern recognition, 2014, 47(9): 2825?2838.
[6] CHEN X, XIANG S, LIU C L, et al. Vehicle detection in satellite images by parallel deep convolutional neural networks [C]// Proceedings of 2nd IAPR Asian Conference on Pattern Recognition. Naha: IEEE, 2014: 181?185.
[7] HARIHARAN B, ARBEL?EZ P, GIRSHICK R, et al. Simultaneous detection and segmentation [C]// Proceedings of European Conference on Computer Vision. Switzerland: Springer International Publishing, 2014: 297?312.
[8] SERMANET P, EIGEN D, ZHANG X, et al. OverFeat: integrated recognition, localization and detection using convolutional networks [J/OL]. [2014?02?24]. https://arxiv.org/pdf/1312.6229v4.pdf.
[9] KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural networks [C]// Proceedings of 25th International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc., 2012: 1097?1105.
[10] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [J/OL]. [2015?04?23]. https://arxiv.org/abs/1406.4729.
[11] WANG X, YANG M, ZHU S, et al. Regionlets for generic object detection [C]// Proceedings of IEEE International Conference on Computer Vision. Sydney: IEEE, 2014: 17?24.
[12] JESORSKY O, KIRCHBERG K J, FRISCHHOLZ R W. Robust face detection using the Hausdorff distance [C]// Proceedings of 3rd International Conference on Audio?and Video?based Biometric Person Authentication. Halmstad: Springer, 2001: 90?95.