何麗雯,張銳馳
(長安大學(xué)信息工程學(xué)院,陜西 西安 710061)
隨著汽車保有量的逐年遞增,道路交通問題層出不窮。在人員、機(jī)動(dòng)車、道路環(huán)境三者構(gòu)成的復(fù)雜道路交通系統(tǒng)中,駕駛員的決策和行為是影響交通安全的主要因素。根據(jù)美國高速公路安全管理局(National Highway Traffic Safety Administration, NHTSA)發(fā)布的調(diào)查結(jié)果顯示[1],因駕駛員分心而導(dǎo)致的交通事故人員傷亡占死亡人數(shù)的64.4%。分心駕駛直接造成短時(shí)用于駕駛主任務(wù)的注意力資源下降,駕駛員的情景感知能力受到干擾,從而威脅駕駛安全。因此,在智能交通系統(tǒng)中,對(duì)于智能汽車,如果能夠?qū)︸{駛員的視覺分心、聽覺分心、生理分心及認(rèn)知分心等各類不當(dāng)駕駛行為進(jìn)行實(shí)時(shí)準(zhǔn)確的識(shí)別,以防止駕駛員因分心而無法及時(shí)處理突發(fā)事件,對(duì)有效提升道路交通安全具有重要意義。
傳統(tǒng)的用于駕駛員行為識(shí)別的機(jī)器學(xué)習(xí)方法通常需要捕獲駕駛員的狀態(tài)信息,例如頭部姿勢(shì)、眼睛注視方向、手部運(yùn)動(dòng),甚至生理信號(hào)(如腦電圖、眼電圖、肌電圖等)。上述方法需要預(yù)先提取特定特征,對(duì)系統(tǒng)硬件有特定的要求,在實(shí)時(shí)場(chǎng)景中,泛化能力不足、計(jì)算效率偏低、財(cái)務(wù)成本較高,難以應(yīng)用到實(shí)際的智能交通系統(tǒng)中。
隨著深度學(xué)習(xí)理論與技術(shù)的日漸成熟,利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行駕駛員行為識(shí)別的優(yōu)勢(shì)逐漸凸顯。其與傳統(tǒng)機(jī)器學(xué)習(xí)方法的主要區(qū)別在特征提取階段,深度學(xué)習(xí)方法通過自適應(yīng)地對(duì)輸入數(shù)據(jù)的低維特征進(jìn)行多層次過濾、提取與組合,得到用于表示輸入數(shù)據(jù)的高維抽象特征[2]。而卷積神經(jīng)網(wǎng)絡(luò)作為實(shí)現(xiàn)深度學(xué)習(xí)的一項(xiàng)重要技術(shù),成功地應(yīng)用到圖像處理領(lǐng)域。因此,將深度卷積神經(jīng)網(wǎng)絡(luò)這種端到端地從輸入數(shù)據(jù)中直接獲得高維特征的方式應(yīng)用到駕駛員分心行為識(shí)別任務(wù)當(dāng)中,更易于實(shí)現(xiàn)。
在實(shí)時(shí)的駕駛員行為監(jiān)控與識(shí)別系統(tǒng)中,使用車載設(shè)備采集到的原始圖像中,駕駛員的身體位置區(qū)域占原始圖像的比例通常不同,意味著背景中的無關(guān)信息(即噪聲)也輸入到模型中,干擾特征提取過程,導(dǎo)致分類效果和識(shí)別精度受限。立足于現(xiàn)有方法的不足,本文提出一種非侵入式的基于深度學(xué)習(xí)的駕駛員分心行為識(shí)別算法,先利用目標(biāo)檢測(cè)算法對(duì)原始圖像進(jìn)行處理,識(shí)別出駕駛員的位置,再應(yīng)用遷移學(xué)習(xí)對(duì)預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行微調(diào),訓(xùn)練模型以處理十分類任務(wù),旨在提升駕駛行為識(shí)別的精度。
駕駛員注意力和分心檢測(cè)長期以來被認(rèn)為是眾多研究機(jī)構(gòu)、汽車廠商的重點(diǎn)工作。早期的研究集中在駕駛員狀態(tài)信息的捕獲上,如頭部姿勢(shì)角度、眼睛注視方向、手和身體關(guān)節(jié)位置以及其他生理信號(hào)。具體而言,Kutila等[3]根據(jù)眼睛注視角度、頭部角度、車道位置和面部表情等行為信息,提出了一種基于支持向量機(jī)(Support Vector Machine, SVM)的模型來檢測(cè)駕駛員的認(rèn)知分心,準(zhǔn)確率約為65%~80%。Ohn-Bar等[4]將駕駛員的頭部姿勢(shì)、眼睛注視方向和手部運(yùn)動(dòng)結(jié)合起來,提出了一種多視圖、多模態(tài)框架來描述駕駛員的行為。Rezaei等[5]提出了駕駛員頭部姿態(tài)估計(jì)方法,同時(shí)分析駕駛員頭部姿態(tài)和道路危險(xiǎn)信息,實(shí)現(xiàn)了一個(gè)模糊融合系統(tǒng)。與行為信息相比,生理信息對(duì)認(rèn)知的變化更為敏感。隨著功能磁共振成像、功能近紅外光譜、腦電圖和腦磁圖等腦成像技術(shù)的進(jìn)步,大型神經(jīng)群的活動(dòng)也是探索注意力變化的一個(gè)重要來源[6-8]。Zhang等[9]從記錄的腦電圖和眼電圖信號(hào)中檢測(cè)和識(shí)別駕駛注意力分散狀態(tài)。Wang等[10]使用腦電圖信號(hào)測(cè)量的大腦信號(hào)來檢測(cè)駕駛員查看地圖這一分心行為,對(duì)改進(jìn)未來智能導(dǎo)航系統(tǒng)的設(shè)計(jì)具有重要意義。
用以上方法進(jìn)行駕駛員分心行為識(shí)別,提取駕駛員的某些特征時(shí)需要特定硬件設(shè)備(尤其是在獲取生理信號(hào)時(shí)需要侵入式檢測(cè)設(shè)備)。這類方法在實(shí)時(shí)的任務(wù)場(chǎng)景中步驟復(fù)雜,耗時(shí)且成本高,魯棒性不強(qiáng),為傳統(tǒng)算法的通病。
近年來,由于并行計(jì)算硬件、更深層次卷積神經(jīng)網(wǎng)絡(luò)模型和大規(guī)模注釋數(shù)據(jù)集的發(fā)展,計(jì)算機(jī)視覺領(lǐng)域取得了重大進(jìn)展。越來越多的學(xué)者將基于卷積神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)特征算法廣泛應(yīng)用到圖像識(shí)別與分類、行為分析等領(lǐng)域,特別是對(duì)駕駛員的分心行為識(shí)別任務(wù)當(dāng)中。Yan等[11]提出了一種基于視覺的駕駛員行為識(shí)別的系統(tǒng),其主要思想是采用深度卷積神經(jīng)網(wǎng)絡(luò),從原始圖像中自動(dòng)學(xué)習(xí)特征,以預(yù)測(cè)安全/不安全的駕駛姿勢(shì)(包括正常駕駛、打電話、進(jìn)食和吸煙)。與以前的方法相比,卷積神經(jīng)網(wǎng)絡(luò)可以直接從原始圖像中自動(dòng)學(xué)習(xí)特征表示,在東南大學(xué)駕駛數(shù)據(jù)集(the Southeast University Driving-Posture Dataset, SEU Dataset)上的總體準(zhǔn)確率為99.78%,表明該方法的性能優(yōu)于手工編碼特征。Le等[12]提出了多尺度快速反應(yīng)神經(jīng)網(wǎng)絡(luò)(MS-FRCNN)方法來檢測(cè)手、手機(jī)和方向盤,提取幾何信息以及計(jì)算在方向盤上的手的數(shù)量,以判定駕駛員是否存在分心行為,該方法在方向盤和手機(jī)使用檢測(cè)方面相比Fast R-CNN有更好的性能。
上述研究雖取得一定研究成果,但分心駕駛檢測(cè)類型較多,它們只實(shí)現(xiàn)了對(duì)個(gè)別類型分心駕駛行為的識(shí)別,對(duì)其它分心駕駛類型沒有較好的研究成果。Tran等[13]提出了一種檢測(cè)多類別分心駕駛行為的深度學(xué)習(xí)方法,并設(shè)計(jì)了一種基于雙攝像頭的同步圖像識(shí)別系統(tǒng),其將從駕駛員身體和面部采集的圖像輸入卷積神經(jīng)網(wǎng)絡(luò),檢測(cè)分心駕駛行為。該方法與前述方法的區(qū)別在于分別對(duì)駕駛員的身體運(yùn)動(dòng)和面部進(jìn)行監(jiān)控,將圖像同時(shí)送入2個(gè)卷積神經(jīng)網(wǎng)絡(luò),以確保分類性能,實(shí)現(xiàn)96.7%的識(shí)別準(zhǔn)確率,且能夠識(shí)別10種類型的分心行為。
而隨著對(duì)卷積神經(jīng)網(wǎng)絡(luò)的不斷深入研究,也有部分專家學(xué)者提出構(gòu)建級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)框架[14],并將其應(yīng)用于駕駛員行為檢測(cè)。Xiong等[15]提出了一種基于深度學(xué)習(xí)的駕駛員手機(jī)使用檢測(cè)算法,首先利用PCN(Progressive Calibration Networks)算法進(jìn)行人臉檢測(cè)和跟蹤,確定打電話行為檢測(cè)區(qū)域,其次采用基于卷積神經(jīng)網(wǎng)絡(luò)的駕駛員手機(jī)使用檢測(cè)方法對(duì)候選區(qū)域內(nèi)的手機(jī)進(jìn)行檢測(cè)。陳軍等[16]提出了一種級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)框架,第一級(jí)卷積網(wǎng)絡(luò)是一個(gè)輕量級(jí)的圖像分類網(wǎng)絡(luò),負(fù)責(zé)對(duì)原始數(shù)據(jù)快速篩選;第二級(jí)卷積網(wǎng)絡(luò)遷移學(xué)習(xí)VGG模型權(quán)重,對(duì)第一級(jí)輸出的可疑分心行為圖像進(jìn)一步精確檢測(cè),此級(jí)聯(lián)網(wǎng)絡(luò)比單模型檢測(cè)方法識(shí)別駕駛分心行為效果更好,且具有較強(qiáng)的魯棒性和模型泛化能力。然而,在運(yùn)用攝像頭或Kinect傳感器等設(shè)備采集圖像時(shí),通常背景中存在大量與駕駛員行為無關(guān)的信息,也一定程度上會(huì)導(dǎo)致分心行為識(shí)別精度受限。
綜上,現(xiàn)有相關(guān)工作存在以下問題:1)分心行為種類繁多,應(yīng)識(shí)別更多行為類別以避免動(dòng)作誤分類;2)經(jīng)典單模型在同一數(shù)據(jù)集上的識(shí)別精度一定概率劣于級(jí)聯(lián)網(wǎng)絡(luò)模型;3)車載設(shè)備采集圖像存在冗余信息,造成識(shí)別精度受限。為此,提出一種去除噪聲干擾且能同時(shí)精確識(shí)別多種駕駛分心行為的級(jí)聯(lián)模型,來有效提高駕駛行為的檢測(cè)精度,是潛在的發(fā)展趨勢(shì)。
基于深度學(xué)習(xí)的駕駛員分心行為識(shí)別方法的整體過程如圖1所示。模型以彩色圖像作為輸入,直接輸出駕駛員行為信息,是一種端到端的、非侵入式的駕駛員行為檢測(cè)算法。設(shè)計(jì)搭建一個(gè)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由2個(gè)部分組成:1)利用目標(biāo)檢測(cè)算法預(yù)測(cè)駕駛員位置信息,確定候選區(qū)域;2)采用卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)候選區(qū)域內(nèi)的駕駛員分心行為進(jìn)行精確識(shí)別。利用級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型,可以用自動(dòng)的特征學(xué)習(xí)過程代替手工的特征提取過程。
圖1 算法總體流程
本文設(shè)計(jì)的駕駛員分心行為識(shí)別方法,期望在第一級(jí)卷積神經(jīng)網(wǎng)絡(luò)中,選擇一個(gè)主要包含駕駛員身體區(qū)域的感興趣區(qū)域(Interest of Region, ROI)作為候選區(qū)域,以達(dá)到提高整個(gè)算法分類精度的目的。具體地,對(duì)原始輸入圖像進(jìn)行處理,根據(jù)不同駕駛行為特征確定目標(biāo)檢測(cè)區(qū)域,從背景中提取出局部區(qū)域,去除冗余信息,再將該級(jí)的輸出作為下一級(jí)網(wǎng)絡(luò)的輸入。這不僅減少后續(xù)行為識(shí)別網(wǎng)絡(luò)的計(jì)算負(fù)擔(dān),還為整個(gè)網(wǎng)絡(luò)模型提供了高質(zhì)量的行為特征。
將上一級(jí)網(wǎng)絡(luò)確定的候選區(qū)域送入本級(jí)卷積網(wǎng)絡(luò),對(duì)駕駛員分心行為進(jìn)行精確識(shí)別。本級(jí)網(wǎng)絡(luò)中,采用遷移學(xué)習(xí)策略,對(duì)預(yù)先訓(xùn)練好的經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行微調(diào),將從大規(guī)模數(shù)據(jù)集中學(xué)習(xí)到的領(lǐng)域知識(shí)遷移到小規(guī)模的駕駛員行為識(shí)別任務(wù)中。本文期望實(shí)現(xiàn)準(zhǔn)確識(shí)別的駕駛行為見表1。
表1 駕駛員分心行為類別
目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為2類。1)兩階段檢測(cè)法:首先生成候選框區(qū)域,然后對(duì)候選框進(jìn)行分類和調(diào)整,代表算法有R-CNN、Fast R-CNN、Faster R-CNN[17-19]等,這類算法精度較高,但存在檢測(cè)速度慢、算法實(shí)時(shí)性低等問題;2)單階段檢測(cè)法,無需生成候選框區(qū)域,提高了目標(biāo)檢測(cè)的速度,代表算法是YOLO[20]、SSD[21]。圖2對(duì)比了上述目標(biāo)檢測(cè)框架的精度(mAP)和速度(FPS)。
圖2 目標(biāo)檢測(cè)算法性能對(duì)比
由圖2可見,SSD算法有較高的準(zhǔn)確度和性能,兼顧了速度和精度。因此,本文擬采用目標(biāo)檢測(cè)算法SSD作為第一級(jí)網(wǎng)絡(luò)模型,將駕駛員原始圖像作為SSD網(wǎng)絡(luò)輸入,確定候選區(qū)域。
SSD是一種直接預(yù)測(cè)對(duì)象類別和邊界框的目標(biāo)檢測(cè)算法[22],在原始圖像上直接通過分割好的窗口進(jìn)行預(yù)測(cè),故其速度快,可以達(dá)到實(shí)時(shí)檢測(cè)的要求。SSD的主要思想是在圖像的不同位置進(jìn)行密集而均勻的采樣。在采樣時(shí),綜合利用不同卷積層的輸出特征圖,采用多框預(yù)測(cè)的方式為輸出特征圖的每個(gè)預(yù)測(cè)位置生成多個(gè)邊界框,并設(shè)置不同的長寬比和尺度;然后通過卷積神經(jīng)網(wǎng)絡(luò)提取特征,直接進(jìn)行分類和回歸[23]。圖3展示出了SSD網(wǎng)絡(luò)的整體框架。
圖3 SSD網(wǎng)絡(luò)模型結(jié)構(gòu)
SSD網(wǎng)絡(luò)利用VGG16模型作為前饋卷積網(wǎng)絡(luò)提取圖像特征并對(duì)其進(jìn)行了修改,即將VGG16的密集全連接層FC6和FC7層轉(zhuǎn)化為3×3卷積層Conv6和1×1卷積層Conv7,同時(shí)將池化層pool5由原來的2×2-S2轉(zhuǎn)換為3×3-S1,且去除所有的Dropout層和FC8層,并在VGG16提取特征以后增加了若干層卷積層,形成尺寸逐漸減小的“金字塔”型卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[22]。在抽取不同尺度的特征圖做檢測(cè)時(shí),低層特征圖感受野小,可以檢測(cè)小物體,而高層感受野較大,可以檢測(cè)較大物體。故抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2層的特征圖,在不同尺寸的特征圖層上構(gòu)造不同尺度大小的邊界框,分別進(jìn)行檢測(cè)和分類,生成固定大小的候選框集合。對(duì)于每個(gè)候選框,計(jì)算框中對(duì)象類別的置信度并確定其類別,最后經(jīng)過非極大值抑制(Non-Maximum Suppression, NMS)方法來濾除一部分重疊度較大的候選框,生成最終的與駕駛員位置信息最匹配的檢測(cè)框,作為第二級(jí)網(wǎng)絡(luò)的輸入。
設(shè)計(jì)第二級(jí)網(wǎng)絡(luò),旨在對(duì)前一級(jí)網(wǎng)絡(luò)所確定的候選區(qū)域內(nèi)的疑似分心行為圖像進(jìn)行精確識(shí)別,從而有效判決正常駕駛與9種常見駕駛分心行為。
在計(jì)算機(jī)視覺領(lǐng)域,使用預(yù)訓(xùn)練模型的常用方法是以訓(xùn)練好的通用模型為基礎(chǔ),將其視為一個(gè)固定的特征提取器而不調(diào)整模型參數(shù),或者使用小規(guī)模數(shù)據(jù)集對(duì)預(yù)訓(xùn)練的模型參數(shù)進(jìn)行微調(diào)。為此,本文應(yīng)用遷移學(xué)習(xí)策略,對(duì)預(yù)訓(xùn)練模型的分類器和部分卷積層進(jìn)行重新訓(xùn)練,使用駕駛員行為數(shù)據(jù)集對(duì)模型的部分卷積層參數(shù)在原基礎(chǔ)上進(jìn)行微調(diào),可在較短時(shí)間內(nèi)訓(xùn)練出精度較高的模型。
卷積神經(jīng)網(wǎng)絡(luò)模型按層次結(jié)構(gòu)可劃分為卷積基(包括池化層和卷積層)與密集全連接層。抽取不同深度的特征,從多個(gè)層次的表示中學(xué)習(xí),有助于感知圖片的整體信息。隨著網(wǎng)絡(luò)層次的增加,特征越來越抽象。淺層的卷積特征以方向線段為主,學(xué)習(xí)低階的圖像特征;深層則以較大的拐角及形狀為主,學(xué)習(xí)高階的圖像特征。不同物體的淺層特征往往具有較大的相似性,從而訓(xùn)練中卷積基學(xué)到的表示更加通用。而密集全連接層舍棄了位置信息,得到某個(gè)類別出現(xiàn)在整張圖像中的概率信息。因此,提取空間結(jié)構(gòu)特征時(shí),只需提取卷積基,保留卷積層的基本結(jié)構(gòu)和性質(zhì),使其在特征提取和表示上保持優(yōu)勢(shì);同時(shí),釋放密集全連接層,將預(yù)訓(xùn)練模型卷積基的通用權(quán)重參數(shù)應(yīng)用到新的分類問題,從而可將大規(guī)模注釋數(shù)據(jù)集ImageNet中學(xué)到的知識(shí)轉(zhuǎn)移到駕駛員行為域。
本文選用VGG19、ResNet50、MobileNetV2這3種經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型作為駕駛員行為識(shí)別的預(yù)訓(xùn)練模型。上述3種模型均在ImageNet[24]上訓(xùn)練得到,常用作遷移學(xué)習(xí)的預(yù)訓(xùn)練模型。
3.2.1 VGG19
VGG19模型通過反復(fù)堆疊3×3的小型卷積核和2×2的最大池化層,構(gòu)建了19層深的卷積神經(jīng)網(wǎng)絡(luò),由16個(gè)卷積層和3個(gè)密集全連接層疊加而成。但VGG19模型有1000個(gè)類別輸出,且大規(guī)模注釋數(shù)據(jù)集并不總是可以用于特定的任務(wù),因此必須對(duì)VGG19最后幾層進(jìn)行修改,以使模型能夠滿足本文待解決的十分類任務(wù)。具體地,在保留卷積層的基本結(jié)構(gòu)和性質(zhì)的同時(shí),需要在提取的空間特征上添加自定義密集全連接層構(gòu)成新的分類器,將生成1000個(gè)類別概率的原始VGG19模型的最后幾層密集全連接層和輸出層替換為10個(gè)類別概率的新的密集全連接層和Softmax層;再對(duì)模型進(jìn)行微調(diào),輸出自己的分類預(yù)測(cè)?,F(xiàn)提取VGG19整個(gè)卷積基,在該卷積基上訓(xùn)練自己的密集全連接分類器。在輸入數(shù)據(jù)上端到端地運(yùn)行模型,確保每個(gè)輸入都可以經(jīng)過卷積基。然后在此模型基礎(chǔ)上進(jìn)一步改進(jìn),重新訓(xùn)練其部分卷積層,讓提取VGG特征上添加自定義密集全連接層后訓(xùn)練的模型中的抽象表示和駕駛行為識(shí)別相關(guān)。經(jīng)過遷移學(xué)習(xí)改進(jìn)后的VGG19模型如表2所示。
表2 遷移學(xué)習(xí)權(quán)重微調(diào)的VGG19配置
盡管VGG19有著優(yōu)異的表現(xiàn),但因其卷積層的通道數(shù)過大,需要耗費(fèi)更多計(jì)算資源,導(dǎo)致更多的內(nèi)存占用,故其并不高效。
3.2.2 ResNet50
在計(jì)算機(jī)視覺里,網(wǎng)絡(luò)模型的深度和復(fù)雜度對(duì)于特征表示和泛化性能有顯著影響。隨著網(wǎng)絡(luò)深度增加,提取到不同層的特征越豐富,則網(wǎng)絡(luò)模型預(yù)測(cè)的準(zhǔn)確度應(yīng)該同步增加。然而,簡單地疊加卷積層來增加模型的深度并不能提供更好的訓(xùn)練和泛化性能,成為訓(xùn)練深層次網(wǎng)絡(luò)的障礙。因此,He等[25]引入了一種新的深度卷積神經(jīng)網(wǎng)絡(luò)模型,即殘差網(wǎng)絡(luò)(Residual Networks, ResNet),旨在構(gòu)建更深層次的卷積神經(jīng)網(wǎng)絡(luò)。通過引入殘差學(xué)習(xí)方案,ResNet在ILSVRC 2015中獲得第一名,并在ImageNet檢測(cè)、ImageNet定位、COCO檢測(cè)2015和COCO分割中勝出。
圖4(a)為殘差學(xué)習(xí)塊,其基礎(chǔ)映射函數(shù)可以表示為H(x),x表示第一層的輸入。假設(shè)殘差網(wǎng)絡(luò)存在一個(gè)顯式的殘差映射函數(shù),使得F(x)=H(x)-x,并且原始映射可以表示為F(x)+x。若F(x)=0,就構(gòu)成了一個(gè)恒等映射H(x)=x,表明可以讓網(wǎng)絡(luò)隨深度增加而不退化。殘差學(xué)習(xí)塊的核心思想是:盡管H(x)和F(x)+x映射都能漸進(jìn)地逼近所需函數(shù),但學(xué)習(xí)F(x)+x的映射更加容易。ResNet在VGG19基礎(chǔ)上,利用“短路連接”機(jī)制形成殘差網(wǎng)絡(luò)。圖4(b)表示深度殘差網(wǎng)絡(luò)的完整結(jié)構(gòu),其中對(duì)每幾個(gè)堆疊層執(zhí)行殘差學(xué)習(xí)。通過引入恒等映射和從淺層模型復(fù)制其他層,深度殘差網(wǎng)絡(luò)可以有效地解決模型越深時(shí)的模型退化問題[25]。于2015年提出的模型結(jié)構(gòu)主要包括ResNet50和ResNet101等,考慮到計(jì)算成本,選用ResNet50作為預(yù)訓(xùn)練模型。經(jīng)過遷移學(xué)習(xí)改進(jìn)后的ResNet50模型如表3所示。
圖4 殘差學(xué)習(xí)塊和深度殘差網(wǎng)絡(luò)
表3 遷移學(xué)習(xí)權(quán)重微調(diào)的ResNet50配置
3.2.3 MobileNetV2
多數(shù)卷積神經(jīng)網(wǎng)絡(luò)模型都需要很大的內(nèi)存和計(jì)算量,特別是在訓(xùn)練過程中。若想部署在移動(dòng)端,因存儲(chǔ)空間和功耗的限制,需折中考慮準(zhǔn)確度和計(jì)算量。鑒于此,近年來有研究人員提出了一種為移動(dòng)和嵌入式設(shè)備設(shè)計(jì)的輕量化深度神經(jīng)網(wǎng)絡(luò)模型MobileNet[26]。
MobileNet由若干個(gè)深度可分離卷積模塊(即Xception變體結(jié)構(gòu))組成。此模塊本質(zhì)上是對(duì)每個(gè)通道的輸入用深度卷積(DepthWise Convolution)和逐點(diǎn)卷積(PointWise Convolution)替換標(biāo)準(zhǔn)卷積。該分解操作可以大幅度減少參數(shù)量和計(jì)算量、降低復(fù)雜度,尺度和速度上更易滿足智能汽車車載嵌入式設(shè)備的要求。
MobileNetV2是MobileNetV1的改進(jìn)版本,在保留MobileNetV1的深度可分離卷積模塊的基礎(chǔ)上,又結(jié)合了ResNet的快捷連接(shortcut connection)方式,解決了MobileNetV1在訓(xùn)練過程中易出現(xiàn)的梯度彌散問題,效果有所提升[27]。故本文擬選取MobileNetV2作為預(yù)訓(xùn)練模型并對(duì)其作出改進(jìn),經(jīng)遷移學(xué)習(xí)后的模型結(jié)構(gòu)見表4。
表4 遷移學(xué)習(xí)權(quán)重微調(diào)的MobileNetV2配置
隨著信息交流趨向全球化,數(shù)據(jù)可以通過各種渠道采集,出現(xiàn)了很多完備且效果優(yōu)秀的數(shù)據(jù)集。 本文實(shí)驗(yàn)基于美國State Farm公司的駕駛員駕駛行為開源數(shù)據(jù)集,訓(xùn)練和測(cè)試深度卷積網(wǎng)絡(luò)模型。該數(shù)據(jù)集采集了26位不同膚色、種族、年齡的受試者的不同駕駛行為圖片。每張圖片都包含駕駛員行為類別標(biāo)簽,原始圖像尺寸大小均為640×480像素,隨機(jī)讀取部分駕駛員圖像見圖5。
圖5 State Farm數(shù)據(jù)集中駕駛員圖像示例
State Farm數(shù)據(jù)集中,駕駛員駕駛行為被分為本研究預(yù)測(cè)的10類,用C0~C9依次表示。數(shù)據(jù)集由102150張標(biāo)簽圖像組成,其中訓(xùn)練數(shù)據(jù)22424張,測(cè)試數(shù)據(jù)79726張。將原始訓(xùn)練集中的圖像分為2類,80%的數(shù)據(jù)用于訓(xùn)練,其余20%作為驗(yàn)證集。
預(yù)處理階段,為加快卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程,對(duì)原始RGB圖像進(jìn)行處理,統(tǒng)一轉(zhuǎn)換為224×224×3的大小,以滿足VGG19、ResNet50和MobileNetV2的輸入要求。在訓(xùn)練時(shí),為防止過擬合,增強(qiáng)模型泛化能力,對(duì)原始數(shù)據(jù)集做了以下處理來生成可信圖像擴(kuò)充數(shù)據(jù)集:1)采用數(shù)據(jù)增強(qiáng)技術(shù),即對(duì)現(xiàn)有的訓(xùn)練樣本作隨機(jī)偏移與水平隨機(jī)翻轉(zhuǎn)等變換;2)使用ImageDataGenerator生成更多圖像;3)采用分批、隨機(jī)讀取的形式以免數(shù)據(jù)按固定順序訓(xùn)練。
4.2.1 實(shí)驗(yàn)環(huán)境
本文實(shí)驗(yàn)開發(fā)環(huán)境見表5。
表5 實(shí)驗(yàn)環(huán)境
4.2.2 評(píng)估指標(biāo)
在評(píng)價(jià)卷積神經(jīng)網(wǎng)絡(luò)的性能時(shí),一般采用準(zhǔn)確率作為評(píng)估指標(biāo),它反映了算法對(duì)全部樣本的判定能力。準(zhǔn)確率為識(shí)別正確的樣本占總樣本的比例,其公式為:
其中,F(xiàn)P為假正類(預(yù)測(cè)為正類,實(shí)際為負(fù)類),TP為真正類(正類判定為正類),F(xiàn)N為假負(fù)類(預(yù)測(cè)為負(fù)類,實(shí)際為正類),TN為真負(fù)類(負(fù)類判定為負(fù)類)。
4.2.3 模型訓(xùn)練
為了降低卷積層的更新速度,選擇了一個(gè)小的初始學(xué)習(xí)率0.0001。訓(xùn)練過程中,對(duì)以下重要指標(biāo)進(jìn)行監(jiān)控:1)訓(xùn)練損失和驗(yàn)證損失;2)訓(xùn)練準(zhǔn)確率和驗(yàn)證準(zhǔn)確率。為了得到準(zhǔn)確且泛化性強(qiáng)的模型,采用早停(Early Stopping)法避免發(fā)生過擬合,具體地,設(shè)定當(dāng)驗(yàn)證損失連續(xù)10輪(Epoch)都不再減少(即減少的閾值小于0.0003)時(shí),提前終止訓(xùn)練。RMS-Prop優(yōu)化器和分類交叉熵(Categorical Cross Entropy)也用于損失函數(shù)。駕駛員行為識(shí)別方法第二級(jí)網(wǎng)絡(luò)模型訓(xùn)練過程的結(jié)果如圖6~圖8所示,圖6~圖8分別表示遷移學(xué)習(xí)VGG19、ResNet50和MobileNetV2模型訓(xùn)練過程在訓(xùn)練集和驗(yàn)證集上的損失曲線和準(zhǔn)確率曲線。
圖6 遷移學(xué)習(xí)VGG19模型訓(xùn)練過程損失/準(zhǔn)確率曲線
圖7 遷移學(xué)習(xí)ResNet50模型訓(xùn)練過程損失/準(zhǔn)確率曲線
圖8 遷移學(xué)習(xí)MobileNetV2模型訓(xùn)練過程損失/準(zhǔn)確率曲線
遷移學(xué)習(xí)的VGG19模型深度有24層,參數(shù)達(dá)到了20.03 M(20029514)。訓(xùn)練到第25輪時(shí)提前終止訓(xùn)練,在訓(xùn)練集上的損失和準(zhǔn)確率分別達(dá)到1.4691和99.22%,在驗(yàn)證集上的損失和準(zhǔn)確率分別達(dá)到1.4812和98.78%。
遷移學(xué)習(xí)的ResNet50模型深度有168層,參數(shù)達(dá)到了23.61 M(23608202)。訓(xùn)練到第19輪時(shí)提前終止訓(xùn)練,在訓(xùn)練集上的損失和準(zhǔn)確率分別達(dá)到1.5167和94.44%,在驗(yàn)證集上的損失和準(zhǔn)確率分別達(dá)到1.4969和96.67%。
遷移學(xué)習(xí)的MobileNetV2模型深度有162層,參數(shù)量為2.26 M(2257984)。訓(xùn)練到第43輪時(shí)提前終止訓(xùn)練,在訓(xùn)練集上的損失和準(zhǔn)確率分別達(dá)到1.4721和98.90%,在驗(yàn)證集上的損失和準(zhǔn)確率分別達(dá)到1.4726和98.89%。
利用測(cè)試集對(duì)模型的識(shí)別效果進(jìn)行測(cè)試。第一級(jí)網(wǎng)絡(luò)(SSD網(wǎng)絡(luò))輸出結(jié)果見圖9。為了評(píng)估本文提出的級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)框架與單級(jí)卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別效果差異,設(shè)計(jì)了3組對(duì)比實(shí)驗(yàn),并得到了不同模型在駕駛員行為數(shù)據(jù)集上的測(cè)試結(jié)果。實(shí)驗(yàn)1、實(shí)驗(yàn)2、實(shí)驗(yàn)3依次選取遷移學(xué)習(xí)的VGG19、ResNet50、MobileNetV2模型與本文提出的模型作為對(duì)比,在State Farm數(shù)據(jù)集上的測(cè)試結(jié)果見表6。
圖9 SSD網(wǎng)絡(luò)預(yù)測(cè)效果
如表6所示,單模型VGG19、ResNet50、MobileNetV2在駕駛員行為數(shù)據(jù)集上測(cè)試的平均準(zhǔn)確率分別為85.68%、86.91%、89.38%。本文提出的級(jí)聯(lián)網(wǎng)絡(luò)模型SSD+VGG19、SSD+ResNet50、SSD+MobileNetV2在同一數(shù)據(jù)集上的平均準(zhǔn)確率分別為92.93%、92.97%、93.63%,顯然,平均識(shí)別準(zhǔn)確率總體提升了4~7個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,本文提出的基于級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的駕駛員分心行為識(shí)別檢測(cè)框架相比于只利用經(jīng)過遷移學(xué)習(xí)權(quán)重微調(diào)的單級(jí)卷積神經(jīng)網(wǎng)絡(luò)模型的效果更好,并且可以實(shí)現(xiàn)9種駕駛員分心行為的精確檢測(cè)。
表6 網(wǎng)絡(luò)模型識(shí)別效果對(duì)比 單位: %
分心行為對(duì)道路交通的安全有顯著影響,而駕駛員的知覺行為控制是導(dǎo)致各類分心行為發(fā)生的主要因素。由于智能電話、導(dǎo)航系統(tǒng)及車載多媒體系統(tǒng)的普及及其功能的日益豐富,誘發(fā)駕駛員分心行為的因素越來越多。通過精確的駕駛員行為識(shí)別,可以有效降低道路交通事故發(fā)生率。為提高識(shí)別精度,本文提出了一種去除冗余信息干擾且能同時(shí)精確識(shí)別多種駕駛分心行為的級(jí)聯(lián)架構(gòu)。在卷積神經(jīng)網(wǎng)絡(luò)單模型前先利用SSD目標(biāo)檢測(cè)算法對(duì)原始圖像進(jìn)行處理,從背景中提取出駕駛員身體區(qū)域,去除背景中的冗余信息。實(shí)驗(yàn)結(jié)果表明,在行為識(shí)別卷積神經(jīng)網(wǎng)絡(luò)模型之前引入SSD網(wǎng)絡(luò),相較于用原始圖像訓(xùn)練的單模型,平均識(shí)別準(zhǔn)確率總體提升了4~7個(gè)百分點(diǎn),表明了采用級(jí)聯(lián)架構(gòu)的優(yōu)越性。