王志紅,王少博,顏莉蓉,袁 雨
(武漢理工大學(xué) 汽車工程學(xué)院,湖北 武漢 430070)
根據(jù)統(tǒng)計數(shù)據(jù)顯示,自2007年以來中國16.12%的交通事故都與低附著率的道路狀況有關(guān)[1]。通過對事故特點的分析,可以得出在水、雪、冰、凍結(jié)路面條件下,交通事故率增加,路面條件對公路交通安全和運輸效率影響較大。試驗表明,駕駛員及時了解當(dāng)前行駛的路面狀況,能夠有效地降低交通事故的發(fā)生,因此關(guān)于路面狀況識別技術(shù)的研究已經(jīng)很迫切[2]。
在汽車制動性能的研究中,常將路面狀況分表1所示的8種情況,這幾種情況基本已經(jīng)涵蓋了所有汽車可能行駛的路面狀態(tài),冰雪路面附著系數(shù)明顯低于普通路面附著系數(shù),也是交通事故頻發(fā)的重要原因。
表1 路面狀況分類及附著系數(shù)[3]Tab.1 Road condition classification and adhesion coefficient[3]
目前路面識別技術(shù)主要包括:(1)通過光學(xué)傳感器測量路面粗糙度和干濕狀態(tài)預(yù)測路面附著系數(shù)[4]。(2)通過輪胎中安裝壓電傳感器測量局部應(yīng)變應(yīng)力識別路面[5]。(3)通過附著系數(shù)隨滑移率的變化識別路面[6]。(4)通過麥克風(fēng)獲取車輛和輪胎噪聲,進(jìn)行路面狀態(tài)識別[7]。(5)基于機器視覺的方法識別路面。但是方法1由于光學(xué)傳感器受工作環(huán)境和外部因素影響較大,所以近些年研究較少;方法2因傳感器安裝在車輪中,所以需要無線傳輸和能量自給,導(dǎo)致價格較高,不夠穩(wěn)定;方法3對外界的抗干擾性比較差,并且對滑移率的估計精度要求較高;方法4因行車中噪音較多并且噪音產(chǎn)生機理比較復(fù)雜,因此難以準(zhǔn)確預(yù)測[8];方法5因硬件成本低、識別效果好,成為了當(dāng)今研究的熱點。
目前有以下幾種效果較好的路面識別技術(shù),提出了一種通過車載攝像頭,使用多分類器的路面狀態(tài)識別系統(tǒng)。該系統(tǒng)首先通過攝像頭獲取路面信息,通過預(yù)處理模塊獲得感興趣區(qū)域,然后通過預(yù)訓(xùn)練的多分類器進(jìn)行路面識別獲取分類結(jié)果,試驗結(jié)果表明干濕路面的分類精度為86%。文獻(xiàn)[9]提出一種基于BP神經(jīng)網(wǎng)絡(luò)的路面狀態(tài)識別方法,BP網(wǎng)絡(luò)的輸入?yún)?shù)通過多傳感器獲得,試驗表明在特定車輛模型和速度恒定的情況下,路面附著系數(shù)預(yù)測誤差為0.05左右,但是神經(jīng)網(wǎng)絡(luò)參數(shù)需要針對特定車輛模型,因此難以普及使用。文獻(xiàn)[10]提出一種基于SVM(支持向量機)對攝像頭獲取的路面圖片進(jìn)行分類的算法,試驗結(jié)果表明分類精度可達(dá)90%。文獻(xiàn)[11]提出一種使用加速度傳感器和相機特征數(shù)據(jù)融合對路面類型進(jìn)行分類的方法,試驗結(jié)果表明分類精度可達(dá)90%。文獻(xiàn)[12]提出了一種深度學(xué)習(xí)模型,通過處理攝像頭獲取的路面信息進(jìn)行路面附著系數(shù)的識別,算法分為兩步,第1步進(jìn)行路面種類的識別,第2步進(jìn)行路面附著系數(shù)高低的評估。試驗結(jié)果表明第1步精度可達(dá)97%,第2步精度可達(dá)89%。以上效果較好的識別算法中大部分是基于機器視覺的,也說明了機器視覺是當(dāng)今路面識別算法的主流。雖然以上方法取得了一定的成果,但是識別算法的魯棒性和識別精度仍然有較大的提升空間。
本研究基于深度學(xué)習(xí)語義分割模型[13-14]提出了一種新的識別算法。首先通過Label(一種數(shù)據(jù)集標(biāo)注工具)對收集的路面數(shù)據(jù)集進(jìn)行像素點和類別的標(biāo)注,使用深度學(xué)習(xí)語義分割模型對制作好的數(shù)據(jù)集進(jìn)行800 epoch(批次)的訓(xùn)練,保存訓(xùn)練權(quán)重。根據(jù)訓(xùn)練權(quán)重預(yù)測通過攝像頭采集到的路面圖片,結(jié)果會得到圖片中每一個像素點的分類標(biāo)簽,除去背景標(biāo)簽,將數(shù)目最多的類型標(biāo)簽作為最終道路類型的預(yù)測結(jié)果。
根據(jù)中國常見道路類型,從百度、360、搜狗搜索引擎中下載大量路面圖片,這樣可以保證數(shù)據(jù)集樣本的多樣性。將篩選出的路面圖片分為以下9類:瀝青(干)、瀝青(濕)、混凝土(干)、混凝土(濕)、土路(干)、土路(濕)、礫石、雪地(壓實)和冰面。共挑選出2 700張路面圖片,每1類別包含300張。訓(xùn)練、驗證和測試的圖片數(shù)量如表2所示。
表2 數(shù)據(jù)集結(jié)構(gòu)及數(shù)目Tab.2 Data set structure and numbers
使用Ubuntu系統(tǒng)的Labelme[15]工具對收集的數(shù)據(jù)集進(jìn)行標(biāo)注,不同類別的道路使用不同的標(biāo)簽。標(biāo)注完成后,每張圖片會得到一個Json類型的文件。通過Python編程實現(xiàn)Json文件批量轉(zhuǎn)化為圖片格式,轉(zhuǎn)化時每種類別的標(biāo)簽采用不同的顏色。表3是從每一類道路數(shù)據(jù)集中選取的樣本。數(shù)據(jù)集的結(jié)構(gòu)分為test,test_labe,train,train_label,val,val_label和class_dict, 前6個文件夾分別存放測試、訓(xùn)練和驗證數(shù)據(jù)集的圖片和標(biāo)簽,class_dict用來說明每一個標(biāo)簽對應(yīng)的RGB值。
表3 數(shù)據(jù)集樣本Tab.3 Data set samples
本研究使用的語義分割網(wǎng)絡(luò)模型是FC-DensenNet56[16-17]。此網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示,主要包括5個下采樣模塊TD和5個上采樣模塊TU。實線代表模塊之間的連接,箭頭代表數(shù)據(jù)的流向,中間的虛線代表跳變連接,它將下采樣路徑中的特征圖直接與上采樣路徑中對應(yīng)的特征圖連接起來。
圖1 FC-DensenNet56網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Fc-DensenNet56 network structure
模型中包含10個DB模塊[18],每個DB模塊主要包括4個卷積層。第1層產(chǎn)生k個特征圖,這k個特征圖直接與輸出相連,同時傳入第2層。第2層也產(chǎn)生k個特征圖,同時輸入到第3層。這樣的操作進(jìn)行4 次,最終會輸出4×k個特征圖。DB網(wǎng)絡(luò)模型用于語義分割主要有以下3個優(yōu)點:(1)緩解了特征圖數(shù)量的激增。(2)DB 模塊采用的上采樣結(jié)構(gòu)比普通的上采樣效果要好。(3)該模型無需預(yù)訓(xùn)練模型和后處理。
模型中包含5個TU模塊 ,TU模塊為上采樣模塊。它由1層反卷積層組成,采用3×3的卷積核對DB模塊輸出的特征圖進(jìn)行反卷積操作,步長為2。卷積核的最優(yōu)參數(shù)可以通過學(xué)習(xí)得到,因此上采樣效果優(yōu)于插值方法的上采樣操作效果。
數(shù)據(jù)集中的圖片來源于互聯(lián)網(wǎng),因此圖片尺寸不同。為了減少網(wǎng)絡(luò)參數(shù)和資源的占用,在圖片輸入到網(wǎng)絡(luò)之前,將圖片尺寸統(tǒng)一裁剪成128×96。
使用前面制作的路面分類數(shù)據(jù)集,對FC-DensenNet56語義分割網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練時的基本參數(shù)設(shè)置如表4所示。其中深度學(xué)習(xí)模型的梯度下降學(xué)習(xí)率值一般根據(jù)經(jīng)驗值獲取,即一般不存在普遍性規(guī)律,本研究參數(shù)采用經(jīng)驗值0.000 1。
表4 模型基本參數(shù)設(shè)置Tab.4 Setting basic parameters of model
經(jīng)過大約7 h的訓(xùn)練,完成800 epoch。訓(xùn)練過程中平均Loss隨epoch的變化如圖2所示,平均驗證精度隨epoch的變化如圖3所示,平均Iou值隨epoch的變化如圖4所示。
圖2 平均損失函數(shù)圖Fig.2 Graph of average loss function
圖3 訓(xùn)練驗證精度圖Fig.3 Graph of training verification accuracy
圖4 平均占空比精度圖Fig.4 Graph of average IOU accuracy
由圖2可知經(jīng)過800 epoch的訓(xùn)練,損失值已經(jīng)明顯下降到比較低的水平,到訓(xùn)練結(jié)束平均損失值大約為0.6左右,并且逐漸收斂。由圖3可知,單個像素點的平均驗證精度已達(dá)95%左右。由圖4可知平均Iou值也隨著訓(xùn)練的進(jìn)行逐漸上升,最終平均Iou值為0.9左右。
使用訓(xùn)練好的權(quán)重和搭建的模型對200張圖片進(jìn)行預(yù)測,訓(xùn)練和預(yù)測使用的平臺硬件配置如表5所示,針對像素點的預(yù)測正確率如表6所示,預(yù)測效果指標(biāo)如表7所示。由表6可知,9種路面所對應(yīng)像素點的正確率平均為98%,背景所對應(yīng)像素點的正確率為93.9%。單張圖片中的背景像素點占總像素點的比例較大,背景像素點的預(yù)測精度較低。同時可以發(fā)現(xiàn)結(jié)構(gòu)化路面的識別精度較高,例如瀝青、混泥土路面;非結(jié)構(gòu)化路面識別精度較低,例如冰面、雪地和礫石路面。由表7可知,所有像素點的平均精度為94%左右;每張圖片的平均預(yù)測時間為0.028 6 s,視頻輸出達(dá)到25幀以上時可滿足實時性要求,處理時間理論上滿足實時預(yù)測的要求。
表5 試驗平臺硬件配置參數(shù)Tab.5 Hardware configuration parameters of experimental platform
表6 圖片像素點的識別結(jié)果Tab.6 Image pixel recognition result
表7 預(yù)測效果指標(biāo)Tab.7 Prediction effect indicators
語義分割模型是對圖片中的每一個像素點進(jìn)行預(yù)測,輸入模型中的每一張圖片的每一個像素點都會得到一個預(yù)測標(biāo)簽值,每一種標(biāo)簽對應(yīng)一種道路類別。輸入模型中的圖片統(tǒng)一裁剪成128×96,每張圖片共計122 88個標(biāo)簽值。語義分割模型無法直接得到整張圖片的道路類型識別結(jié)果。統(tǒng)計圖片中每一個像素點的預(yù)測標(biāo)簽數(shù)目,將數(shù)目最多的預(yù)測標(biāo)簽作為整張圖片的道路類型預(yù)測結(jié)果,預(yù)測整體流程如圖5所示。
圖5 道路類型預(yù)測流程圖Fig.5 Flowchart of pavement type prediction
統(tǒng)計每張圖片含有道路類型的數(shù)目,統(tǒng)計結(jié)果如下:含有一種路面類型的圖片數(shù)目占總數(shù)據(jù)集圖片數(shù)目的比例如式(1)所示,含有多種路面類型的圖片數(shù)目占總數(shù)據(jù)集圖片數(shù)目的比例如式(2)所示。
統(tǒng)計每張圖片含有道路類型的數(shù)目。統(tǒng)計結(jié)果如下:含有一種路面類型的圖片數(shù)目占總數(shù)據(jù)集圖片數(shù)目的比例如式(1)所示,含有多種路面類型的圖片數(shù)目占總數(shù)據(jù)集圖片數(shù)目的比例如式(2)所示。
Proad=1=95.132%,
(1)
Proad=n=4.868%。
(2)
根據(jù)圖片中包含以上9種道路類型的數(shù)目,對整張圖片的道路類型預(yù)測精度進(jìn)行以下理論推導(dǎo),理論推導(dǎo)過程分為以下2種情況:
(1)圖片中只包含一種路面,圖片中只包含1種路面的概率見式(3)。
Proad=1=95.132%。
(3)
此路面為當(dāng)前行駛路面。圖片中含有背景和真實路面2類標(biāo)簽,只有當(dāng)兩者的誤判像素點數(shù)目大于真實路面的像素點數(shù)目時才會出現(xiàn)誤判。假設(shè)兩者都以最大概率出現(xiàn)誤判,并且誤判為同一種錯誤道路類型。以上假設(shè)為只有1種路面情況時出現(xiàn)誤判的最大概率。
假設(shè)真實路面所占比例為A,背景所占比例為B,總像素點的個數(shù)為Z。通過以上圖片驗證結(jié)果可知,平均預(yù)測精度為94%,誤判率為6%。當(dāng)滿足式(4)時會出現(xiàn)誤判,根據(jù)式(4)和式(5)解得式(6)。
Z×(A+B)×6%>A×(1-6%),
(4)
A+B=1,
(5)
A<6.38%。
(6)
通過對數(shù)據(jù)集的統(tǒng)計分析,滿足式(6)時的概率為式(7)。
P(A<6.38%)=0.27%
(7)
圖片中只包含一種路面情況的誤判概率為式(8)。
P1=Proad=1×P(A<6.38%)=0.257%。
(8)
(2)圖片中含有兩種及以上路面,圖片中含有兩種及以上路面的概率見式(9),由于此情況比較復(fù)雜不易計算出誤判概率。因此采用最大誤判概率P(all)=1時進(jìn)行計算,如式(10)所示。
Proad=n=4.868%,
(9)
P2=Proad=n×P(all)=4.868%。
(10)
兩種情況誤判概率為Pfalse如式(11)所示,預(yù)測正確的概率Pright如式(12)所示。
Pfalse=P1+P2=0.257%+4.868%=5.125%,
(11)
Pright=1-Pfalse=94.875%。
(12)
為了驗證以上理論推導(dǎo),更全面地分析模型的實際效果,采集實際路面圖片對Acc(accuracy)、PR(precision)和RE(recall)進(jìn)行分析[15]。Acc指的是所有預(yù)測正確圖片的數(shù)量占總預(yù)測圖片的比例,它是模型效果對比最常用的指標(biāo);PR指的是預(yù)測標(biāo)簽為某一類別中預(yù)測正確的比例;RE指的是真實標(biāo)簽為某一類圖片中預(yù)測正確的比例。算法驗證結(jié)果如表8所示。
表8 算法驗證結(jié)果Tab.8 Algorithm verification result
將算法驗證測得的路面識別結(jié)果和當(dāng)前主流的路面識別效果做以下對比,如表9所示,對比結(jié)果表明,本研究識別的道路種類比原來識別系統(tǒng)的識別種類要多,精度要高,在一定程度上說明了本方法具有較好的魯棒性和較高的精度,對未來道路類型識別研究具有一定的幫助。
表9 識別效果對比Tab.9 Comparison of recognition effects
本研究提出基于語義分割模型識別路面類型的新方法,并通過試驗驗證得出結(jié)論如下:
(1)通過試驗驗證本研究提出的方法具有較好的識別效果,平均精度可達(dá)94%左右。
(2)試驗結(jié)果表明本方法具有一定的魯棒性,對于復(fù)雜環(huán)境下的路面都能有較好的識別效果。
(3)試驗結(jié)果表明采用本研究提出的方法每張圖片的平均測試時間為0.028 6 s,滿足實時性的要求。
該方法具有較好的應(yīng)用前景,能夠較容易的嵌入到車輛系統(tǒng)中。將道路類型的預(yù)測結(jié)果應(yīng)用到ADAS中可以有效提高行車安全性。在未來的工作中,將會對語義分割模型進(jìn)行優(yōu)化,直接輸出路面識別類型,減少模型計算參數(shù)。同時提高數(shù)據(jù)集質(zhì)量,將路面類型所對應(yīng)的附著系數(shù)區(qū)間進(jìn)一步細(xì)化,達(dá)到路面附著系數(shù)更加精確的估計。