王琪,唐陽(yáng)山
基于MTCNN的駕駛員疲勞檢測(cè)方法
王琪,唐陽(yáng)山
(遼寧工業(yè)大學(xué) 汽車與交通工程學(xué)院,遼寧 錦州 121001)
駕駛疲勞是引發(fā)交通事故的重要原因之一。研究駕駛疲勞檢測(cè)算法對(duì)提高道路交通安全性和人類生命財(cái)產(chǎn)安全具有重要意義。為此,文章提出了一種基于MTCNN的疲勞檢測(cè)方法。通過(guò)對(duì)人臉圖像進(jìn)行處理,使MTCNN算法得到優(yōu)化,然后通過(guò)訓(xùn)練樣本進(jìn)行實(shí)驗(yàn)驗(yàn)證,證實(shí)了算法對(duì)實(shí)際的駕駛疲勞檢測(cè)的有用性。
疲勞檢測(cè);圖像金字塔;MTCNN;卷積神經(jīng)網(wǎng)絡(luò)
近些年來(lái),隨著生活水平的不斷提高,機(jī)動(dòng)車保有量連年增長(zhǎng),車禍致死的數(shù)目隨之增加。據(jù)相關(guān)調(diào)查表明,駕駛疲勞是誘發(fā)交通事故的重要原因之一[1]。因此,為了更好地避免駕駛疲勞所帶來(lái)的生命財(cái)產(chǎn)損失,提高駕駛安全性,研究一種能夠及時(shí)有效的駕駛疲勞檢測(cè)方法具有十分重要的意義。目前的檢測(cè)方式大致分為三種:第一種方式是根據(jù)車輛行駛狀況進(jìn)行檢測(cè)[2]。第二種方式,監(jiān)測(cè)駕駛?cè)藛T的生理信號(hào),主要包含腦電信號(hào)、心電信號(hào)、肌電信號(hào)等[3]。第三種方式,根據(jù)駕駛員的面部特征進(jìn)行檢測(cè),包括眼部、嘴部特征以及頭部姿態(tài)等[4]。
隨著人工智能技術(shù)的不斷發(fā)展,諸多研究學(xué)者們開展了基于深度學(xué)習(xí)的駕駛疲勞檢測(cè)研究[5]。大多數(shù)是在獲取人臉特征參數(shù)之后,將特征圖像輸入到已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)模型中進(jìn)行檢測(cè)。但由于實(shí)際的行車過(guò)程中,車外的行駛環(huán)境、車內(nèi)光照條件以及駕駛?cè)藦?fù)雜多變的駕駛姿態(tài),對(duì)檢測(cè)方法的準(zhǔn)確性和實(shí)時(shí)性要求很高。因此,本文提出了一種基于MTCNN的檢測(cè)算法進(jìn)行疲勞識(shí)別。
MTCNN是一種用于檢測(cè)人臉任務(wù)的多任務(wù)神經(jīng)網(wǎng)絡(luò)模型,它是由一個(gè)三層網(wǎng)絡(luò)(P-Net、R-Net、O-Net)組成的網(wǎng)絡(luò)結(jié)構(gòu)。該模型主要采用候選框加分類器的思想,并通過(guò)多任務(wù)訓(xùn)練模型參數(shù)來(lái)實(shí)現(xiàn)快速高效的人臉檢測(cè)。
表1 P-Net結(jié)構(gòu)
輸入圖像 12*12*3 卷積層C1卷積核3*3特征圖10*10*10 最大池化層2*2步長(zhǎng)2特征圖5*5*10 卷積層C2卷積核3*3特征圖3*3*16 卷積層C3卷積核3*3特征圖1*1*32 1*1*2人臉?lè)诸?1*1*4邊框回歸 1*1*10關(guān)鍵點(diǎn)定位
P-Net的結(jié)構(gòu)十分簡(jiǎn)單,首先是1個(gè)3*3的卷基層,然后是1個(gè)2*2的最大池化層。池化結(jié)束后繼續(xù)跟2個(gè)3*3的卷積層。此時(shí)的維度變成了1*1*32,用來(lái)判斷輸入網(wǎng)絡(luò)的圖像在12*12個(gè)像素區(qū)域內(nèi)是否存在人臉。最后分別跟三個(gè)不同的1*1的卷積層,產(chǎn)生1*1*2、1*1*4,以及1*1*10三種輸出。
表2 R-Net結(jié)構(gòu)
輸入圖像 24*24*3 卷積層C1卷積核3*3特征圖22*22*28 最大池化層2*2步長(zhǎng)2特征圖11*11*28 卷積層C2卷積核3*3特征圖8*8*28 最大池化層2*2步長(zhǎng)2特征圖4*4*28 卷積層C3卷積核3*3特征圖3*3*64 全連接層 1*1*2人臉?lè)诸?1*1*4邊框回歸 1*1*10關(guān)鍵點(diǎn)定位
表3 O-Net結(jié)構(gòu)
輸入圖像 48*48*3 卷積層C1卷積核3*3特征圖46*46*32 最大池化層2*2步長(zhǎng)2特征圖23*23*32 卷積層C2卷積核3*3特征圖20*20*64 最大池化層2*2步長(zhǎng)2特征圖10*10*64 卷積層C3卷積核3*3特征圖8*8*64 最大池化層2*2步長(zhǎng)2特征圖4*4*64 卷積層C4卷積核3*3特征圖3*3*128 全連接層 1*1*2人臉?lè)诸?1*1*4邊框回歸 1*1*10關(guān)鍵點(diǎn)定位
R-Net與P-Net是不同的,其基本構(gòu)造是一個(gè)卷積神經(jīng)網(wǎng)絡(luò),比P-Net多了一個(gè)全連接層。它的輸入實(shí)際上是P-Net的輸出結(jié)果,較為復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)能夠進(jìn)一步對(duì)人臉區(qū)域窗口進(jìn)行篩選和調(diào)整,從而達(dá)到高精度過(guò)濾和優(yōu)化人臉區(qū)域的效果。
O-Net是一個(gè)更復(fù)雜的卷積網(wǎng)絡(luò),該網(wǎng)絡(luò)輸入的特征更多。在整個(gè)MTCNN模型中,前兩個(gè)網(wǎng)絡(luò)主要是完成人臉區(qū)域的檢測(cè),而O-Net網(wǎng)絡(luò)則是完成人臉關(guān)鍵點(diǎn)的檢測(cè)。
首先將圖像進(jìn)行不同尺寸大小的變換,以適應(yīng)不同大小的人臉檢測(cè)。然后通過(guò)較為淺層、較為簡(jiǎn)單的P-Net網(wǎng)絡(luò)快速生成人臉候選窗口,圖片在P-Net處理后,會(huì)留下許多預(yù)測(cè)的窗口,然后將這些預(yù)測(cè)窗口送入R-Net,這個(gè)網(wǎng)絡(luò)會(huì)過(guò)濾掉大量效果比較差的候選框,最后對(duì)選定的人臉候選區(qū)域窗口進(jìn)行非極大值抑制計(jì)算和邊框回歸,進(jìn)一步預(yù)測(cè)優(yōu)化結(jié)果。同樣的,把R-Net的輸出結(jié)果作為O-Net的輸入,保留更多的圖像特征,同時(shí)使用復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),再次進(jìn)行人臉判別、邊框回歸和人臉關(guān)鍵點(diǎn)定位,最終輸入五個(gè)面部特征點(diǎn)。
圖1 MTCNN檢測(cè)流程圖
利用MTCNN進(jìn)行人臉檢測(cè)任務(wù)時(shí),輸入的是一張圖片,輸出是圖像中人臉?biāo)谖恢玫倪吔缈颍˙ounding Box)。MTCNN是一種基于卷積的神經(jīng)網(wǎng)絡(luò),通常只適用于檢測(cè)一定尺寸范圍內(nèi)的人臉,比如第一階段的P-Net,用于判斷12*12大小范圍內(nèi)是否有人臉,但通常輸入圖像的人臉尺寸是未知的,所以需要構(gòu)建圖像金字塔獲得不同尺寸的圖像,縮放圖像是為了將圖像中的人臉檢測(cè)放到網(wǎng)絡(luò)能檢測(cè)的合適尺寸,只要某個(gè)人臉被縮放到12*12左右大小,就可以被檢測(cè)出來(lái)。
圖2 生成圖像金字塔
IOU的全稱為交并比,IOU計(jì)算的是“預(yù)測(cè)的人臉候選框”和“真實(shí)的邊框”的交集與并集的比值。IOU與分類任務(wù)不同,預(yù)測(cè)人臉框的坐標(biāo)需要去匹配實(shí)際框的坐標(biāo),而坐標(biāo)完全匹配是不太可能的。因此,需要一個(gè)評(píng)估標(biāo)準(zhǔn)來(lái)獎(jiǎng)勵(lì)那些與匹配框匹配較好的預(yù)測(cè)框。
圖3 IOU測(cè)試結(jié)果
為了驗(yàn)證MTCNN算法的有用性,在CPU為1.60 GHz的計(jì)算機(jī)上,采用Python3.6、Opencv以及tensorflow搭建了實(shí)驗(yàn)環(huán)境。
人臉區(qū)域檢測(cè)采用公開WIDER FACE數(shù)據(jù)集,人臉關(guān)鍵點(diǎn)檢測(cè)采用CelebA數(shù)據(jù)集。WIDER FACE數(shù)據(jù)集可以從遮擋、姿態(tài)、事件等全方位多角度評(píng)估算法的性能。而CelebA此數(shù)據(jù)集中的圖像覆蓋了復(fù)雜的姿勢(shì)變化以及背景雜亂的情景,每個(gè)圖片都有40個(gè)屬性注釋。
通過(guò)對(duì)多種不同駕駛員面部行為(疲勞狀態(tài)、正常狀態(tài)、說(shuō)話狀態(tài))進(jìn)行檢測(cè),驗(yàn)證了算法對(duì)實(shí)際駕駛疲檢測(cè)的有用性。
圖4 疲勞狀態(tài)下(哈欠)識(shí)別效果
圖5 正常狀態(tài)下的識(shí)別效果
圖6 說(shuō)話狀態(tài)下的識(shí)別效果
本文提出了一種基于MTCNN的駕駛疲勞檢測(cè)方法,通過(guò)對(duì)算法的網(wǎng)絡(luò)結(jié)構(gòu)、檢測(cè)過(guò)程的介紹,驗(yàn)證了多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)對(duì)實(shí)際的駕駛疲勞檢測(cè)的有用性,對(duì)之后的研究奠定了一定的理論基礎(chǔ)。
[1] 李都厚,劉群,袁偉,等.疲勞駕駛與交通事故關(guān)系[J].交通運(yùn)輸工程學(xué)報(bào),2010,10(02):104-109.
[2] M.S.Wang, N.T.Jeong, K.S.Kim,et al. Drowsy behavior detection based on driving information[J].International Journal of Automotive Technology,2016,17(1):165-173.
[3] Tuncer T,Dogan S,Ertam F,et al.A dynamic center and multi thre- shold point based stable feature extraction network for driver fatigue detection utilizing EEG signals[J]. Cognitive Neurodynamics, 2021, 15(7):223-237.
[4] Hu S,Lin Z.Fatigue Driving Detection Based on Machine Learning and Image Processing Technology[J].Journal of Physics:Conference Series,2018,069(1):012179.
[5] Wang Z,Shi P,Wu C.A Fatigue Driving Detection Method based on Deep Learning and Image Processing[J].Journal of Physics: Confe- rence Series,2020,1575(1):012035.
Driver Fatigue Detection Method Based on MTCNN
WANG Qi, TANG Yangshan
( School of Automobile and Traffic Engineering, Liaoning University of Technology, Liaoning Jinzhou 121001 )
Driving fatigue is one of the important causes of traffic accidents. The research on driving fatigue detection algorithm is of great significance to improve road traffic safety and human life and property safety. Therefore, this paper proposes a fatigue detection method based on mtcnn. Through the face image processing, the mtcnn algorithm is optimized, and then through the experimental verification of training samples, it is confirmed that the algorithm is useful for the actual driving fatigue detection.
Fatigue testing; Image pyramid; MTCNN;Convolutional neural network
U491.3
A
1671-7988(2021)20-49-03
U491.3
A
1671-7988(2021)20-49-03
10.16638/j.cnki.1671-7988.2021.020.013
王琪(1996—),女,在讀研究生,就讀于遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院。
唐陽(yáng)山(1972—),男,教授,博士,就職于遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,研究方向:交通信息感知與輔助駕駛技術(shù)。
基于機(jī)器視覺(jué)的駕駛員危險(xiǎn)駕駛行為識(shí)別研究(編號(hào):JJL20195410)。