重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院 汪建良
在交通強(qiáng)國的大背景下,自動(dòng)駕駛、智能駕駛、遠(yuǎn)程駕駛等新型技術(shù)迅速發(fā)展起來。不論科技如何發(fā)展,人始終是最重要的因素,是一切操作(指揮、指導(dǎo)、控制等)的核心。近年來,危險(xiǎn)駕駛帶來的風(fēng)險(xiǎn)與日俱增,各類交通事故頻繁發(fā)生。如何杜絕駕駛員的危險(xiǎn)駕駛,進(jìn)而從源頭最大幅度地降低交通事故,在車聯(lián)網(wǎng)領(lǐng)域是重點(diǎn)關(guān)注的對(duì)象。就目前在危險(xiǎn)駕駛行為檢測方面的缺陷,本文在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上設(shè)計(jì)了危險(xiǎn)駕駛行為檢測模型,并通過遷移學(xué)習(xí)對(duì)危險(xiǎn)駕駛行為進(jìn)行檢測。實(shí)驗(yàn)表明:本實(shí)驗(yàn)的準(zhǔn)確率最后達(dá)到了98.60%。
2020年上半年數(shù)據(jù)統(tǒng)計(jì),中國的汽車保有量提升較大,目前已經(jīng)達(dá)到2.6億輛已經(jīng)和美國的汽車保有量不相上下,道路上汽車過多以及駕駛員在駕駛過程中的危險(xiǎn)行為使得交通事故的發(fā)生頻率提高。據(jù)統(tǒng)計(jì),目前造成交通事故的原因分析中發(fā)現(xiàn)更多的是駕駛員的危險(xiǎn)駕駛行為,司機(jī)在駕駛過程中打電話、玩手機(jī)、注意力轉(zhuǎn)移等嚴(yán)重?fù)p害了駕駛安全。
目前,國內(nèi)外研究人員使用計(jì)算機(jī)視覺的方法,駕駛員駕駛過程中的圖像獲取主要是通過在車內(nèi)安裝攝像頭,并通過搭建網(wǎng)絡(luò)模型分析這些圖像,判斷是否存在危險(xiǎn)駕駛行為,與人工設(shè)計(jì)特征的方法對(duì)比來說],在深度學(xué)習(xí)中提取到更高級(jí)的特征基于網(wǎng)絡(luò)的深度,克服了人工特征在某些復(fù)雜條件下的局限性,模型的魯棒性和精度都有所提高。惠等人提出一種基于雙向長短記憶網(wǎng)絡(luò)的異常駕駛行為檢測,設(shè)計(jì)了BiLSTM-FC模型,是基于一層BiLSTM網(wǎng)絡(luò)以及一層全連接神經(jīng)網(wǎng)絡(luò),為了更好地捕捉駕駛行為在時(shí)間序列上的雙向依賴,同時(shí)其循環(huán)結(jié)構(gòu),選擇性地記憶或遺忘輸入的數(shù)據(jù),最終的準(zhǔn)確率可達(dá)98.08%,徐等人研究了關(guān)照條件與頭部姿態(tài)的變化,提出一種基于眼睛狀態(tài)識(shí)別的模型用于疲勞駕駛檢測,利用對(duì)眼睛狀態(tài)的識(shí)別在遷移學(xué)習(xí)的基礎(chǔ)上設(shè)計(jì)了網(wǎng)絡(luò)(Gabor and LBP-convolutional neural networks,GL-CNN),在設(shè)計(jì)上保留傳統(tǒng)圖像處理的優(yōu)點(diǎn),并與現(xiàn)有的深度學(xué)習(xí)模型融合,分別提取到人體面部眼睛的Gabor特征和LBP特征,在將兩個(gè)特征送入模型,讓深度學(xué)習(xí)模型在運(yùn)行時(shí)更能有效的提取到關(guān)鍵特征,文章表面這樣的方法可以有效地分類,使得實(shí)驗(yàn)擁有98.20%的分類準(zhǔn)確率。
本文針對(duì)駕駛員在駕駛過程中出現(xiàn)的危險(xiǎn)行為(接電話、玩手機(jī)、喝水、頭往后講話等),搭建了危險(xiǎn)行為檢測模型,模型先在image數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,再通過遷移學(xué)習(xí)進(jìn)行深度學(xué)習(xí),可以更加主觀地學(xué)習(xí)特征,有效地提高分類模型的精度。
本文章所使用的相關(guān)數(shù)據(jù)是state Farm Distracted Driver Detection數(shù)據(jù)集,該數(shù)據(jù)集每張圖片都是在汽車上拍攝的,駕駛員在汽車上做事的類別分為10類,包含:正常駕駛、發(fā)短信-右手、打電話-右手、發(fā)短信-左手、打電話-左手、操作收音機(jī)、喝水、手向后拿東西、與后排乘客交談等。
多層感知機(jī)(MLP)的出現(xiàn)也使得了卷積神經(jīng)網(wǎng)絡(luò)(CNN)得以發(fā)展。它是由生物學(xué)家Huber和Eessel對(duì)貓視皮層的早期研究開發(fā)的。視覺中由單元格等的組成,且對(duì)視覺所輸入的圖像子區(qū)域(感受野)非常敏感,它們讓視覺皮層細(xì)胞結(jié)構(gòu)變得復(fù)雜。一方面,在網(wǎng)絡(luò)中權(quán)重?cái)?shù)量得到了減少,并使網(wǎng)絡(luò)易于優(yōu)化。另一方面,它減少了模型的復(fù)雜性和過度擬合的風(fēng)險(xiǎn)。
為了從這些圖像中提取駕駛員行為特征,我們將網(wǎng)絡(luò)深度與計(jì)算結(jié)果相結(jié)合,并獨(dú)立設(shè)計(jì)了識(shí)別模型。首先,為了防止較大值的數(shù)據(jù)減弱甚至使訓(xùn)練效果無效,我們將數(shù)據(jù)調(diào)整為統(tǒng)一的間隔([0,1],然后對(duì)于圖像的大小統(tǒng)一調(diào)整為128×128,其中包含五層卷積層,在卷積層一層中的神經(jīng)元和下一層只連接一部分,特征平面(FeatureMap)由這些共享權(quán)重(卷積核)的多個(gè)神經(jīng)元組成,多個(gè)特征平面被包含在了卷積層中。共享權(quán)重(卷積核)的優(yōu)點(diǎn)是在網(wǎng)絡(luò)模型中能有效的防止過擬合的風(fēng)險(xiǎn)的同時(shí)還減少了不同網(wǎng)絡(luò)層的連接。
在每個(gè)卷積層運(yùn)算之后,我們還想要提取更高級(jí)的特征,所以在卷積層之后添加最大池化(max-pooling),總共添加了4個(gè)最大池化層,主要目標(biāo)是有效地減少計(jì)算量,或者由于特征圖參數(shù)太多,不利于表達(dá)圖像細(xì)節(jié),最大池化的過程也可以理解為使得特征圖大小降低,參數(shù)太多不利于高級(jí)特征提取。對(duì)于更高級(jí)特征提取之后,最終我們就要實(shí)現(xiàn)對(duì)該圖像的分類處理,所以添加了全連接網(wǎng)絡(luò)(fully connected network),多個(gè)全連接層相結(jié)合這樣的設(shè)計(jì)越來越多的出現(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)之中,所以把它稱之為網(wǎng)絡(luò),在本文網(wǎng)絡(luò)模型中設(shè)置了3個(gè)全連接層,但是由于全連接層的設(shè)計(jì)會(huì)給網(wǎng)絡(luò)帶來更多的參數(shù),使得運(yùn)算量增大,而訓(xùn)練樣本又很少,造成了模型在訓(xùn)練集上的精度很高,但是運(yùn)用到驗(yàn)證集上的時(shí)候,最后分類的準(zhǔn)確率很低,這是由于過擬合的現(xiàn)象發(fā)生了,所以添加1個(gè)Dropout層在全連接層之后。網(wǎng)絡(luò)模型如圖1所示。
圖1 危險(xiǎn)駕駛檢測模型
遷移學(xué)習(xí)有域(Domain)和任務(wù)(Task)兩部分構(gòu)成,域D={X,P(X)}是分別由特征空間X與邊際概率分布P(X)(X∈{x1,x2,…,xn})兩部分組成,任務(wù)T={Y,f(·)}是由標(biāo)簽空間Y和目標(biāo)預(yù)測函數(shù)f(·)兩部分組成。對(duì)于給定的一個(gè)有標(biāo)記的源域DS,一個(gè)無標(biāo)記的目標(biāo)域DT,這兩個(gè)域的數(shù)據(jù)分布P(XS)≠P(XT),遷移學(xué)習(xí)的目標(biāo)就是利用有標(biāo)記的數(shù)據(jù)DS去學(xué)習(xí)一個(gè)分類器f,來提高TT中目標(biāo)預(yù)測函數(shù)f(·)的學(xué)習(xí)效率。現(xiàn)采用傳遞遷移學(xué)習(xí),將在image數(shù)據(jù)集上預(yù)訓(xùn)練得到的模型作為模型初始參數(shù),然后再把我們的數(shù)據(jù)集作為輸入到模型中。
本文所使用的中央處理器為AMD Ryzen 5 3600主頻為3.6GHz,GPU為NVIDIA RTX 2060 SUPER,顯存8G,實(shí)驗(yàn)在win10系統(tǒng)下進(jìn)行,采用GPU進(jìn)行運(yùn)算,編譯環(huán)境使用Python3.7。圖像經(jīng)過剪裁、數(shù)據(jù)增強(qiáng)等預(yù)處理后放入網(wǎng)絡(luò)進(jìn)行端到端的學(xué)習(xí),在訓(xùn)練時(shí),對(duì)實(shí)驗(yàn)數(shù)據(jù)集22424張圖像進(jìn)行劃分,最終劃分得到訓(xùn)練集17939張,測試集4485張,為了防止全連接層參數(shù)量過多,在第一個(gè)Dense后面添加了Dropout函數(shù),設(shè)置為0.2。實(shí)驗(yàn)所用超參數(shù)如表1所示。
表1 超參數(shù)設(shè)置表
圖2所示給出了訓(xùn)練集和測試集在10個(gè)階段的精度變化過程。訓(xùn)練結(jié)果收斂,準(zhǔn)確率達(dá)到98.60%,說明了遷移學(xué)習(xí)在危險(xiǎn)駕駛行為識(shí)別中的可行性和有效性。
本文以準(zhǔn)確率和模型參數(shù)作為評(píng)估指標(biāo),準(zhǔn)確率(Accuracy)計(jì)算公式如(1)所示:
圖2 構(gòu)建的模型精度變化曲線
其中TP表示為將正類判定為正類的數(shù)量,TN表示為將負(fù)類判定為負(fù)類的數(shù)量,F(xiàn)P表示為將負(fù)類判定為正類的數(shù)量、FN表示為將正類判定為負(fù)類的數(shù)量。本文的采用了對(duì)比實(shí)驗(yàn),用經(jīng)過遷移學(xué)習(xí)的VGG16和InceptionV3與本文所用方法的實(shí)驗(yàn)結(jié)果對(duì)比,模型以相同的超參數(shù)、損失函數(shù)進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果如表2所示。
表2 各模型效果對(duì)比
相對(duì)于遷移學(xué)習(xí)后的InceptionV3準(zhǔn)確率提升了26.22%;相對(duì)于遷移學(xué)習(xí)后的VGG16準(zhǔn)確率提升了18.32%。
結(jié)語:造成交通事故的原因中很大程度上是因?yàn)槲kU(xiǎn)駕駛,本文提出在遷移學(xué)習(xí)下的危險(xiǎn)駕駛檢測方法,對(duì)搭建的模型通過遷移學(xué)習(xí)對(duì)權(quán)重進(jìn)行更新,從而提高識(shí)別準(zhǔn)確率。下一步,將繼續(xù)研究更好的對(duì)于圖像特征提取效果,進(jìn)一步提升算法的性能,使得圖像的特征更為明顯。