李春賀,陶 帥
(中國(guó)礦業(yè)大學(xué)(北京)管理學(xué)院,北京 100083)
隨著中國(guó)經(jīng)濟(jì)的飛速發(fā)展,機(jī)動(dòng)車(chē)保有量呈現(xiàn)出爆發(fā)式增長(zhǎng)的態(tài)勢(shì)[1]。目前機(jī)動(dòng)車(chē)已經(jīng)成為交通出行中一項(xiàng)必不可少的工具,機(jī)動(dòng)車(chē)的廣泛使用,極大地提升了公眾出行的效率,但是隨之而來(lái)交通安全問(wèn)題也日益增多。報(bào)告顯示[2],自從2015年初至2019年底,中國(guó)共出現(xiàn)超過(guò)600萬(wàn)起各類(lèi)交通事故,導(dǎo)致直接經(jīng)濟(jì)損失高達(dá)259億元人民幣;據(jù)統(tǒng)計(jì),約有80%的交通事故與駕駛員危險(xiǎn)駕駛行為直接相關(guān)[3]。例如駕駛員在駕駛過(guò)程中出現(xiàn)接打手機(jī)等行為,會(huì)嚴(yán)重地干擾駕駛員的注意力,從而無(wú)法專(zhuān)注地觀(guān)察前方和周?chē)穆访鏍顩r,一旦出現(xiàn)突發(fā)情況,駕駛員往往無(wú)法及時(shí)做出正確的反應(yīng),從而導(dǎo)致交通事故的產(chǎn)生,引起生命財(cái)產(chǎn)損失。因此,對(duì)駕駛員的駕駛行為進(jìn)行實(shí)時(shí)監(jiān)測(cè),及時(shí)發(fā)現(xiàn)可能出現(xiàn)的危險(xiǎn)行為并做出相應(yīng)的預(yù)警和提示,可以避免部分事故的產(chǎn)生[4]。所以,對(duì)駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)的研究具有重要的價(jià)值和意義。
目前已有部分工作分別從生理信號(hào)、視覺(jué)等不同角度來(lái)解決這一問(wèn)題;如文獻(xiàn)[4]提出了一種基于雙目視覺(jué)的方法來(lái)檢測(cè)駕駛員是否出現(xiàn)分神等危險(xiǎn)狀態(tài),這種方法雖然檢測(cè)速度較快,但是準(zhǔn)確率較低,并且容易受到光照變化的影響;文獻(xiàn)[5]提出基于面部和手部特征聯(lián)合分析的駕駛員疲勞狀態(tài)檢測(cè)算法,該算法通過(guò)支持向量機(jī)(support vector machine,SVM)構(gòu)建分類(lèi)模型,具有較高的識(shí)別精度,但是模型的泛化性較差,無(wú)法大規(guī)模使用;文獻(xiàn)[6]借助深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取能力,設(shè)計(jì)了一個(gè)基于人臉特征的駕駛員疲勞檢測(cè)模型,測(cè)試結(jié)果顯示該方法精度高、泛化性強(qiáng),但是計(jì)算量較大,對(duì)運(yùn)行設(shè)備的算力有較高的要求。文獻(xiàn)[7]設(shè)計(jì)了一種級(jí)聯(lián)型深度神經(jīng)網(wǎng)絡(luò)模型,采用超分辨率測(cè)試序列(visual geometry group,VGG)模型來(lái)對(duì)駕駛員常見(jiàn)的9種分神動(dòng)作進(jìn)行檢測(cè),但是該方法忽略了駕駛員在駕駛過(guò)程中的情緒、視線(xiàn)、危險(xiǎn)動(dòng)作等信息,因此無(wú)法覆蓋所有可能出現(xiàn)的情況。文獻(xiàn)[8]借助現(xiàn)有的Dlib和OpenCV模型設(shè)計(jì)了一種駕駛員危險(xiǎn)行為檢測(cè)算法,這種算法設(shè)計(jì)簡(jiǎn)單,但是魯棒性較差,并且Dlib中的模型無(wú)法訓(xùn)練,因此難以在實(shí)際中使用。針對(duì)現(xiàn)有工作所存在的問(wèn)題,現(xiàn)從危險(xiǎn)動(dòng)作檢測(cè)、情緒識(shí)別、視線(xiàn)估計(jì)等多個(gè)方面進(jìn)行深入的研究和分析,設(shè)計(jì)一套可以聯(lián)合使用多模態(tài)信息的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)。
從原理上進(jìn)行分析,現(xiàn)有的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)主要可以分為3種[4]:基于駕駛員生理參數(shù)的監(jiān)控方法、基于駕駛員駕駛狀態(tài)的監(jiān)控方法和基于計(jì)算機(jī)視覺(jué)的監(jiān)控方法。其中基于駕駛員生理參數(shù)的監(jiān)控方法的判斷精度較高,但是該方法需要駕駛員佩戴多種傳感器,并且會(huì)對(duì)駕駛員的操作產(chǎn)生一定的阻礙,因此該方法大多應(yīng)用于學(xué)術(shù)研究方面,在實(shí)際的使用場(chǎng)景中很難大規(guī)模推廣使用;基于駕駛行為的監(jiān)控方法通過(guò)使用多種傳感器收集駕駛員的行為方法,并通過(guò)算法進(jìn)行分析,目前這種方法應(yīng)用較多,但是這種方法靈敏度和精度較差,只有駕駛員出現(xiàn)明顯危險(xiǎn)駕駛行為時(shí)才進(jìn)行預(yù)警[9];基于計(jì)算機(jī)視覺(jué)的監(jiān)控方法通過(guò)攝像頭采集駕駛員的駕駛狀態(tài),使用相應(yīng)的算法直接從視覺(jué)的角度對(duì)駕駛狀態(tài)進(jìn)行評(píng)估和判斷,該方法具有硬件設(shè)備簡(jiǎn)單、處理速度快、識(shí)別精度高、易于升級(jí)等優(yōu)點(diǎn),正在被廣泛地關(guān)注和研究,但仍然存在多項(xiàng)急需解決的問(wèn)題。
(1)訓(xùn)練數(shù)據(jù)缺失?;谟?jì)算機(jī)視覺(jué)的駕駛員危險(xiǎn)駕駛監(jiān)控系統(tǒng)的核心是其中的識(shí)別模型,該模型需要具有較強(qiáng)的泛化性和穩(wěn)定性。但是在駕駛員監(jiān)控任務(wù)中,所需要處理的場(chǎng)景多種多樣,訓(xùn)練數(shù)據(jù)無(wú)法完全覆蓋到所有的情況,導(dǎo)致模型在某些極端的情況下出現(xiàn)較多的漏檢和誤檢。
(2)傳感器模式單一?,F(xiàn)有的方法大多采用可見(jiàn)光攝像頭作為圖像采集傳感器,但是可見(jiàn)光傳感器非常容易受到環(huán)境光照強(qiáng)度的影響,在光照較差的情況下,有可能導(dǎo)致監(jiān)控系統(tǒng)無(wú)法正常工作,造成一定的安全隱患。
(3)判別依據(jù)較少?,F(xiàn)有的監(jiān)控系統(tǒng)大多是通過(guò)分析駕駛員眨眼頻率來(lái)判斷是否出現(xiàn)疲勞駕駛行為;在實(shí)際場(chǎng)景中,危險(xiǎn)駕駛行為不僅僅只有疲勞駕駛一種,還包括使用手機(jī)、分神、極端情緒等多種。
(4)模型的運(yùn)行效率?;谝曈X(jué)特征的方法需要對(duì)圖像數(shù)據(jù)進(jìn)行處理,因此算法的時(shí)間復(fù)雜度和空間復(fù)雜度較高,對(duì)部署設(shè)備的硬件要求較高,導(dǎo)致實(shí)際使用成本增多。
為了解決上述的問(wèn)題,提出了一種基于多模態(tài)信息聯(lián)合判斷的駕駛員危險(xiǎn)駕駛行為監(jiān)測(cè)系統(tǒng)。在系統(tǒng)中,設(shè)計(jì)了一種輕量化的深度學(xué)習(xí)模型,該模型使用多任務(wù)輸出的方式進(jìn)行構(gòu)建,使用一個(gè)模型同時(shí)完成“疲勞檢測(cè)”“視線(xiàn)估計(jì)”“情緒識(shí)別”等多個(gè)任務(wù),不但壓縮了模型的體積,并且提高了運(yùn)行速度。此外,為了解決目前公開(kāi)數(shù)據(jù)集訓(xùn)練樣本場(chǎng)景單一和分布不均衡等問(wèn)題,在項(xiàng)目中采集和標(biāo)注了大量的數(shù)據(jù),用于模型的訓(xùn)練。
為了能夠更加精確地對(duì)駕駛員的駕駛行為進(jìn)行監(jiān)控,對(duì)危險(xiǎn)駕駛行為從“人臉屬性”和“動(dòng)作屬性”兩個(gè)方面進(jìn)行了更加細(xì)致的分類(lèi)。其中人臉屬性主要包括分神、疲勞和極端情緒;動(dòng)作屬性主要包括未系安全帶、使用手機(jī)、喝水和吸煙;具體如表1所示。
從表1中可以看出,人臉屬性中的3種具體行為無(wú)法直接進(jìn)行判斷,因此需要使用間接的方式來(lái)進(jìn)行處理;如對(duì)于分神這個(gè)危險(xiǎn)行為,算法可以通過(guò)視線(xiàn)估計(jì)的方法來(lái)判斷駕駛員是否正處于分神的狀態(tài)。與人臉屬性中的危險(xiǎn)行為不同,動(dòng)作屬性中的4種危險(xiǎn)行為可以使用目標(biāo)檢測(cè)算法來(lái)直接進(jìn)行檢測(cè)和判斷。
表1 駕駛員危險(xiǎn)動(dòng)作定義
為了解決現(xiàn)有的駕駛員危險(xiǎn)行為監(jiān)控系統(tǒng)中所存在的傳感器模式單一、判別依據(jù)較少以及模型實(shí)時(shí)性較差等問(wèn)題,設(shè)計(jì)了一種基于多模態(tài)信息聯(lián)合判斷的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng),該系統(tǒng)中的核心識(shí)別算法完全基于深度神經(jīng)網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn),具有較好的泛化性和較高的識(shí)別精度[10]。
基于人臉屬性的駕駛員危險(xiǎn)動(dòng)作識(shí)別算法相對(duì)復(fù)雜,因?yàn)槠渲械姆稚?、疲勞駕駛以及極端情緒都無(wú)法通過(guò)人臉圖片直接獲取,需要任務(wù)的特點(diǎn)來(lái)間接判斷。
2.1.1 人臉關(guān)鍵點(diǎn)定位算法
人臉關(guān)鍵點(diǎn)定位算法是基于人臉屬性危險(xiǎn)動(dòng)作檢測(cè)的核心,其中分神和疲勞駕駛兩個(gè)任務(wù)都需要在人臉關(guān)鍵點(diǎn)定位的結(jié)果之上進(jìn)行分析和處理。人臉關(guān)鍵點(diǎn)定位是指從一張人臉圖片中定位出一系列具有特殊語(yǔ)意信息的點(diǎn),如鼻尖、嘴角、眉梢等[11]。常用的人臉關(guān)鍵點(diǎn)定位技術(shù)主要分為兩類(lèi),一種是基于坐標(biāo)回歸的方法,另外一種是基于熱圖回歸的方法?;谧鴺?biāo)回歸的人臉關(guān)鍵點(diǎn)定位方法速度快但精度略差;基于熱圖回歸的方法精度高但是速度慢,并且模型的參數(shù)量和計(jì)算量遠(yuǎn)大于基于坐標(biāo)回歸的方法,不適合應(yīng)用于實(shí)際的產(chǎn)品中。因此,在所提出的系統(tǒng)中,選擇基于坐標(biāo)回歸的人臉關(guān)鍵點(diǎn)定位方法。
為了提升基于坐標(biāo)回歸方法的精度,提出了一種全新的損失函數(shù)(loss function),這種損失函數(shù)與常用的l1loss、l2loss不同,該損失函數(shù)在模型訓(xùn)練的過(guò)程中,使深度神經(jīng)網(wǎng)絡(luò)增加對(duì)誤差較小點(diǎn)的關(guān)注,減少對(duì)誤差較大點(diǎn)的關(guān)注,使模型可以更加快速地收斂,具體公式為
(1)
式(1)中:x為輸入數(shù)據(jù);ω為損失函數(shù)中的非線(xiàn)性區(qū)域部分;為非線(xiàn)性區(qū)域的曲率半徑;C為一個(gè)常數(shù)項(xiàng),計(jì)算公式為
(2)
為了尋找最優(yōu)的參數(shù)組合,進(jìn)行了大量的對(duì)比分析實(shí)驗(yàn),發(fā)現(xiàn)當(dāng)ω=10,=2時(shí),可以獲得最優(yōu)的實(shí)驗(yàn)結(jié)果,因此在實(shí)際訓(xùn)練中選擇上述的參數(shù)組合。
人臉關(guān)鍵點(diǎn)定位的結(jié)果如圖1所示。從圖1可以看出,本系統(tǒng)所使用的人臉關(guān)鍵點(diǎn)定位算法可以精確地從人臉圖片中檢測(cè)出68個(gè)關(guān)鍵點(diǎn)的位置坐標(biāo)。
圖1 人臉關(guān)鍵點(diǎn)模型定位結(jié)果
2.1.2 駕駛員分神檢測(cè)
駕駛員在駕駛過(guò)程中出現(xiàn)分神行為具有頻發(fā)性和短暫性,非常容易引起嚴(yán)重的交通事故。目前尚無(wú)法直接從單張圖中來(lái)直接判斷駕駛員是否處于分神狀態(tài)的技術(shù),因此為了完成這一任務(wù),需要從其他角度進(jìn)行間接的處理。常用的處理方式為基于頭部姿態(tài)估計(jì)的方法和基于視線(xiàn)估計(jì)的方法。
基于頭部姿態(tài)估計(jì)的方法是指通過(guò)判定頭部朝向的歐拉角(pitch、yaw、roll)來(lái)間接地估計(jì)駕駛員時(shí)候處于分神狀態(tài);這種方法通過(guò)特定的人臉關(guān)鍵點(diǎn)之間的幾何分布求解出姿態(tài)參數(shù),因此算法的精度嚴(yán)重依賴(lài)于人臉關(guān)鍵點(diǎn)的定位結(jié)果,一旦人臉關(guān)鍵點(diǎn)定位出現(xiàn)偏差,將會(huì)對(duì)頭部姿態(tài)估計(jì)的結(jié)果產(chǎn)生嚴(yán)重的干擾,從而影響駕駛員分神檢測(cè)的準(zhǔn)確性。
基于視線(xiàn)估計(jì)的方法可以有效地解決上述的問(wèn)題,該方法直接使用眼部區(qū)域的圖片作為輸入,擬合出視線(xiàn)的歐拉角。眼部區(qū)域只需要使用人臉關(guān)鍵點(diǎn)的定位結(jié)果進(jìn)行粗略的裁剪,從而極大地降低了駕駛員分神檢測(cè)對(duì)人臉關(guān)鍵點(diǎn)結(jié)果的依賴(lài)程度,提升了算法的穩(wěn)定性和泛化性。眼部區(qū)域如圖2所示。
圖2 裁剪后眼部區(qū)域圖片
將經(jīng)過(guò)裁剪和對(duì)齊的眼部區(qū)域圖片送入卷積神經(jīng)網(wǎng)絡(luò)模型中,使用深度學(xué)習(xí)的方法可以通過(guò)回歸的方法直接計(jì)算出視線(xiàn)的朝向,從而判斷出駕駛員是否處于分神狀態(tài)。
2.1.3 駕駛員疲勞狀態(tài)識(shí)別
駕駛員疲勞駕駛是引發(fā)各類(lèi)交通事故的主要原因,因此對(duì)駕駛員的駕駛狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,并在出現(xiàn)疲勞駕駛的時(shí)候及時(shí)給出報(bào)告和預(yù)警,對(duì)減少交通事故具有重要的意義。
疲勞駕駛行為無(wú)法直接進(jìn)行度量,通常情況下采用眨眼頻率和Perclose算法來(lái)進(jìn)行間接判斷。因此,該模塊的核心問(wèn)題轉(zhuǎn)變成了如何精確地判斷駕駛員睜閉眼的狀態(tài);傳統(tǒng)的方法大多采用眼部關(guān)鍵點(diǎn)之間的相對(duì)距離來(lái)判斷睜閉眼的狀態(tài),但是這種方法的精度會(huì)嚴(yán)重的依賴(lài)于關(guān)鍵點(diǎn)的定位精度,因此準(zhǔn)確性較差。為了解決這一問(wèn)題,設(shè)計(jì)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的睜閉眼判斷模型,為了提高算法的運(yùn)行效率,模型中使用深度可分離卷積代替原有的標(biāo)準(zhǔn)2D卷積操作。通過(guò)模塊輸出駕駛員在單位中閉眼的次數(shù),然后計(jì)算Perclose[4],即
(3)
式(3)中:n為單位時(shí)間內(nèi)檢測(cè)到閉眼的總次數(shù);N為總共檢測(cè)的幀數(shù)。
2.1.4 駕駛員情緒識(shí)別
駕駛機(jī)動(dòng)車(chē)時(shí)需要駕駛員以平和的心態(tài)來(lái)應(yīng)對(duì)各種可能出現(xiàn)的突發(fā)事件。當(dāng)駕駛員處于焦慮、煩躁、沮喪等極端負(fù)面情緒的時(shí)候,容易產(chǎn)生沖動(dòng)的行為,因此這種情況并不適宜駕駛機(jī)動(dòng)車(chē)。
現(xiàn)有的駕駛員監(jiān)控系統(tǒng)并沒(méi)有考慮駕駛員在駕駛過(guò)程中的情緒變化,因此存在一定的安全隱患。為了解決這一問(wèn)題,使用深度學(xué)習(xí)的方法設(shè)計(jì)了一種情緒識(shí)別算法,該算法使用人臉圖像作為輸入,借助神經(jīng)網(wǎng)絡(luò)模型對(duì)人臉中的表情特征進(jìn)行建模,從而精確地識(shí)別出駕駛員的情緒[12]。
2.1.5 人臉屬性整體解決方案
基于人臉屬性的危險(xiǎn)動(dòng)作檢測(cè)方案中,需要完成關(guān)鍵點(diǎn)定位、視線(xiàn)追蹤、疲勞駕駛判斷以及情緒識(shí)別等多個(gè)任務(wù)。如果為每一種任務(wù)單獨(dú)設(shè)計(jì)一個(gè)模型,將會(huì)極大地增加系統(tǒng)的運(yùn)算量,導(dǎo)致處理速度下降。因此,借鑒深度學(xué)習(xí)中多任務(wù)學(xué)習(xí)模式,設(shè)計(jì)了一種輕量化的深度學(xué)習(xí)模型,該模型可以使用一個(gè)特征提取網(wǎng)絡(luò)完成多個(gè)任務(wù)。根據(jù)人臉屬性中的4個(gè)不同的任務(wù),將人臉關(guān)鍵點(diǎn)定位任務(wù)和情緒識(shí)別兩個(gè)任務(wù)相結(jié)合使用一個(gè)深度學(xué)習(xí)網(wǎng)絡(luò)直接輸出識(shí)別結(jié)果。視線(xiàn)追蹤與疲勞駕駛判斷需要根據(jù)眼部區(qū)域的圖片進(jìn)行判斷,因此這兩個(gè)任務(wù)需要在人臉關(guān)鍵點(diǎn)的結(jié)果的基礎(chǔ)之上進(jìn)一步的進(jìn)行處理?;谌四槍傩缘奈kU(xiǎn)動(dòng)作檢測(cè)方案的總體流程如圖3所示。
圖3 基于人臉屬性的系統(tǒng)框架
駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)需要在嵌入式硬件設(shè)備上運(yùn)行,并對(duì)駕駛員的駕駛過(guò)程進(jìn)行不間斷的監(jiān)控。大部分嵌入式設(shè)備的由于CPU架構(gòu)等原因,算力和存儲(chǔ)空間相對(duì)較小,因此在系統(tǒng)中使用深度可分離卷積來(lái)代替標(biāo)準(zhǔn)的2D卷積,并對(duì)模型的Block結(jié)構(gòu)進(jìn)行重新設(shè)計(jì),將原本用于降采樣操作的Max Pooling結(jié)構(gòu)使Stride=2的3×3的卷積層代替,加速模型前向傳播速度。為了解決ReLU在模型訓(xùn)練時(shí)導(dǎo)致的神經(jīng)元退化現(xiàn)象,使用Leaky ReLU作為輕量化模型的激活函數(shù)。網(wǎng)絡(luò)的具體結(jié)構(gòu)如表2所示。
表2 輕量化模型具體結(jié)構(gòu)
關(guān)鍵點(diǎn)定位模塊和情緒識(shí)別模塊是兩個(gè)平行的結(jié)構(gòu),特征提取網(wǎng)絡(luò)直接相連。
與基于人臉屬性的危險(xiǎn)動(dòng)作識(shí)別不同,基于動(dòng)作屬性的危險(xiǎn)動(dòng)作檢測(cè)可以使用一種統(tǒng)一目標(biāo)檢測(cè)框架來(lái)處理。常用的目標(biāo)檢測(cè)算法主要分為單階段目標(biāo)檢測(cè)算法和雙階段目標(biāo)檢測(cè)算法,雙階段目標(biāo)檢測(cè)算法如Faster-RCNN、RetinaDet等,這種方法檢測(cè)精度高,但是實(shí)時(shí)性較差、體積相對(duì)較大,很難直接在實(shí)際項(xiàng)目中使用。單階段目標(biāo)檢測(cè)算法直接使用模型輸出檢測(cè)框的相對(duì)位置和分類(lèi)信息,在保證檢測(cè)精度相對(duì)較好的情況下,極大地提升了處理速度。根據(jù)項(xiàng)目的實(shí)際需求,在本系統(tǒng)中選擇單階段目標(biāo)檢測(cè)算法YOLOv3作為基礎(chǔ)框架進(jìn)行改進(jìn)和優(yōu)化[13]。
YOLOv3[14]是一種常用的端到端的單階段目標(biāo)檢測(cè)模型,算法使用DarkNet-19作為特征提取網(wǎng)絡(luò),借助特征金字塔來(lái)融合高層的語(yǔ)意信息和低層的細(xì)節(jié)信息,實(shí)現(xiàn)快速目標(biāo)檢測(cè)。但是原始的YOLOv3仍然存在一些缺點(diǎn),如:對(duì)小目標(biāo)的檢測(cè)精度較差,DarkNet-19特征提取網(wǎng)絡(luò)的體積較大,不適于在移動(dòng)端進(jìn)行部署[15]。
為了解決上述問(wèn)題,將Non-Local注意力機(jī)制引入到目標(biāo)檢測(cè)框架中,該模塊可以對(duì)全局信息和局部信息進(jìn)行差異化信息融合,提高了模型的特征提取能力,優(yōu)化了模型對(duì)小目標(biāo)的檢測(cè)精度。此外,將原有的DarkNet-19換成ShuffleNetV2,既降低了模型的參數(shù)量和計(jì)算量,同時(shí)維持了模型的特征提取能力。
所提出的基于多模態(tài)信息聯(lián)合判斷的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)包括基于人臉屬相的駕駛員危險(xiǎn)動(dòng)作識(shí)別算法和基于動(dòng)作屬性的駕駛員危險(xiǎn)動(dòng)作識(shí)別算法。系統(tǒng)的總體框架圖如圖4所示。
圖4 系統(tǒng)總體架構(gòu)
在本系統(tǒng)中需要設(shè)計(jì)和訓(xùn)練多個(gè)深度學(xué)習(xí)模型,故對(duì)訓(xùn)練過(guò)程和對(duì)比實(shí)驗(yàn)進(jìn)行具體的分析。
為了解決適用于駕駛員危險(xiǎn)行為檢測(cè)的數(shù)據(jù)量小、場(chǎng)景覆蓋不足等多種問(wèn)題,在本項(xiàng)目中,構(gòu)建了一個(gè)包含10萬(wàn)張圖片的駕駛員危險(xiǎn)行為數(shù)據(jù)集。數(shù)據(jù)集采集環(huán)境為真是車(chē)內(nèi)環(huán)境,包含多種車(chē)型如轎車(chē)、卡車(chē)、商務(wù)車(chē)以及運(yùn)動(dòng)型多用途汽車(chē)(sport utility vehicle,SUV)等。采集人群包含多個(gè)年齡段,覆蓋多個(gè)時(shí)間以及多種行為。采集設(shè)備為可見(jiàn)光和雙目紅外攝像頭,分辨率為640×480。為了解決單一攝像頭在拍攝過(guò)程中存在視覺(jué)盲區(qū)這一問(wèn)題,數(shù)據(jù)會(huì)同時(shí)從左側(cè)A柱上方、中控臺(tái)上方以及后視鏡3個(gè)位置同時(shí)進(jìn)行采集。數(shù)據(jù)標(biāo)志內(nèi)容包括68個(gè)人臉關(guān)鍵定位置坐標(biāo)、情緒、視線(xiàn)朝向、安全帶位置、以及多種不安全行為類(lèi)別。
模型的訓(xùn)練時(shí)使用Adam進(jìn)行優(yōu)化,初始學(xué)習(xí)率為0.001,批次處理(batch size)是256,一共訓(xùn)練100個(gè)epoch,每隔30個(gè)epoch學(xué)習(xí)率減小為原來(lái)的1/10。模型使用4張Nvidia GTX 1080Ti顯卡進(jìn)行訓(xùn)練,BatchNorm層使用Syncchronized BN技術(shù)進(jìn)行優(yōu)化。算法使用平均精度均值(mean average precision,mAP)、精確率、召回率以及錯(cuò)誤率作為評(píng)價(jià)指標(biāo)。
由于目前沒(méi)有任何一種駕駛員危險(xiǎn)動(dòng)作監(jiān)控系統(tǒng)可以對(duì)所提出的各項(xiàng)指標(biāo)同時(shí)進(jìn)行檢測(cè);因此,將分別設(shè)計(jì)對(duì)比實(shí)驗(yàn)與現(xiàn)有的方法進(jìn)行對(duì)比。
3.3.1 人臉關(guān)鍵點(diǎn)定位實(shí)驗(yàn)對(duì)比
人臉關(guān)鍵點(diǎn)定位是系統(tǒng)的核心,該部分的定位結(jié)果的精度將會(huì)對(duì)后續(xù)的分神檢測(cè)、疲勞狀態(tài)判斷產(chǎn)生較大的影響。將所提出的關(guān)鍵點(diǎn)定位算法與常用的MTCNN[16]、RAR[17]和TCDNN[18]3種方法進(jìn)行比較,使用歸一化均方誤差(normalized mean square error,NMSE)作為評(píng)價(jià)指標(biāo),具體結(jié)果如表3所示。
表3 人臉關(guān)鍵點(diǎn)檢測(cè)精度結(jié)果對(duì)比
從表3可以看出,所提出的關(guān)鍵點(diǎn)定位算法精度最高,并且運(yùn)行速度快,模型體積小,適用于實(shí)際項(xiàng)目中。
3.3.2 情緒識(shí)別實(shí)驗(yàn)對(duì)比
表4是情緒識(shí)別模型與常用的情緒識(shí)別算法性能的對(duì)比結(jié)果,其中使用準(zhǔn)確率進(jìn)行評(píng)價(jià),所對(duì)比的方法有VGG-Face和AlexNet。所需識(shí)別的表情包括平和、高興、悲傷、憤怒和焦慮。
表4 情緒識(shí)別實(shí)驗(yàn)對(duì)比結(jié)果
從實(shí)驗(yàn)結(jié)果可以看出,所設(shè)計(jì)的情緒識(shí)別算法在5種情緒識(shí)別準(zhǔn)確率上都要優(yōu)于現(xiàn)有的算法,并且情緒識(shí)別模型與人臉關(guān)鍵點(diǎn)定位模型公用一個(gè)特征提取網(wǎng)絡(luò),有助于降低系統(tǒng)的整體運(yùn)算量,提升運(yùn)行效率。
3.3.3 睜閉眼狀態(tài)判斷與視線(xiàn)估計(jì)實(shí)驗(yàn)
駕駛員在行駛過(guò)程中是否出現(xiàn)疲勞和分神兩種危險(xiǎn)駕駛行為,很難直接使用算法進(jìn)行識(shí)別,因此需要使用其他的指標(biāo)輔助判斷。在本文系統(tǒng)中使用睜閉眼的頻率來(lái)表征駕駛員是否出現(xiàn)疲勞駕駛;使用視線(xiàn)朝向來(lái)判斷是否出現(xiàn)分神行為。睜閉眼判斷和視線(xiàn)估計(jì)使用一個(gè)多任務(wù)模型同時(shí)進(jìn)行輸出。表5是睜閉眼實(shí)驗(yàn)對(duì)比結(jié)果,其中使用精確率和召回率作為判斷指標(biāo)。表6是視線(xiàn)估計(jì)算法的實(shí)驗(yàn)對(duì)比結(jié)果,使用相對(duì)誤差作為度量指標(biāo)。
表5 睜閉眼判斷實(shí)驗(yàn)對(duì)比結(jié)果
表6 視線(xiàn)估計(jì)實(shí)驗(yàn)對(duì)比結(jié)果
從對(duì)比結(jié)果中可以看出,所使用的睜閉眼識(shí)別算法和視線(xiàn)估計(jì)算法的精度明顯優(yōu)于現(xiàn)有的常用的方法。
3.3.4 動(dòng)作檢測(cè)實(shí)驗(yàn)對(duì)比
為了證明系統(tǒng)中所使用所提出的目標(biāo)動(dòng)作檢測(cè)算法的可靠性和穩(wěn)定性,與常用的目標(biāo)檢測(cè)算法(SSD、YOLOv3等)進(jìn)行了對(duì)比。因?yàn)閷?shí)驗(yàn)中所需監(jiān)測(cè)的類(lèi)別較多,所以選擇平均精度均值mAP作為評(píng)價(jià)指標(biāo)。具體實(shí)驗(yàn)結(jié)果如表7所示。
表7 動(dòng)作檢測(cè)結(jié)果
從實(shí)驗(yàn)結(jié)果中可以看出,所提出的基于Attention的目標(biāo)檢測(cè)算法在性能上明顯優(yōu)于常用的目標(biāo)檢測(cè)模型的結(jié)果,并且在小目標(biāo)的檢測(cè)精度上更好。
為了更加直觀(guān)地分析系統(tǒng)的性能,圖5展示了部分測(cè)試結(jié)果。
圖5 可視化結(jié)果
從可視化結(jié)果中可以看出,系統(tǒng)能夠準(zhǔn)確地識(shí)別出監(jiān)控畫(huà)面中是否出現(xiàn)了危險(xiǎn)駕駛行為。
為了將所提出的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng)應(yīng)用到實(shí)際中,將上述的多個(gè)模塊進(jìn)行集成,開(kāi)發(fā)了一套可以用于實(shí)際情況的系統(tǒng),系統(tǒng)界面如圖6所示。
圖6 產(chǎn)品運(yùn)行畫(huà)面
所提設(shè)計(jì)的系統(tǒng)目前已經(jīng)在國(guó)內(nèi)某大型汽車(chē)制造商的多款產(chǎn)品中進(jìn)行實(shí)驗(yàn)性調(diào)試,在嵌入式設(shè)備中的實(shí)際測(cè)試速度為81 fps,可以滿(mǎn)足對(duì)駕駛員的實(shí)時(shí)這一需求。在實(shí)際行駛場(chǎng)景下,經(jīng)過(guò)多次測(cè)試和分析,所設(shè)計(jì)的系統(tǒng)對(duì)駕駛員危險(xiǎn)動(dòng)作檢測(cè)準(zhǔn)確率為96.2%,誤檢率為1.6%,漏檢率為2.2%,符合實(shí)際項(xiàng)目需求。
提出了一種基于多模態(tài)信息融合的駕駛員危險(xiǎn)行為監(jiān)測(cè)系統(tǒng),該系統(tǒng)使用了深度學(xué)習(xí)、人工智能等先進(jìn)技術(shù),對(duì)駕駛員的駕駛行為進(jìn)行實(shí)時(shí)監(jiān)測(cè)。所提出的系統(tǒng)通過(guò)頭部姿態(tài)、視線(xiàn)估計(jì)、情緒識(shí)別以及動(dòng)作檢測(cè)等從多個(gè)角度全面分析,彌補(bǔ)了現(xiàn)有駕駛員監(jiān)測(cè)系統(tǒng)存在的缺陷。此外,將所提出的系統(tǒng)進(jìn)行了產(chǎn)品化,目前已經(jīng)完成了實(shí)際測(cè)試,系統(tǒng)的識(shí)別精度、運(yùn)行效率均已達(dá)到要求,即將商業(yè)化量產(chǎn)。