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