王聰 張瓏
摘? ?要:在人工智能的時代,自動駕駛技術(shù)越來越成熟,技術(shù)中包含的自動車道保持功能占有重要的地位,這對自動駕駛中的后續(xù)車道偏離與預(yù)警起著關(guān)鍵性的作用。文章利用深度學(xué)習(xí)技術(shù),針對現(xiàn)有雙分支車道線實例分割檢測算法存在的準(zhǔn)確率受批量影響、準(zhǔn)確率不理想等問題,在車道線實例分割中采用自適配歸一化函數(shù),并使用傳統(tǒng)的SGD優(yōu)化器對整個模型進行優(yōu)化解決實驗過程中的效率問題。在TuSimple車道數(shù)據(jù)集進行實驗,在性能方面準(zhǔn)確率與原始算法相比從96.4%提高到98.6%。
關(guān)鍵詞:深度學(xué)習(xí);雙分支實例分割;自適配歸一化
近年來,交通事故頻發(fā),危及生命。事故發(fā)生的原因主要是駕駛員的疏忽、注意力分散等人為因素[1]。許多公司已經(jīng)提出并應(yīng)用了很多改善和減少交通事故的方法。在這些方法中,道路感知和車道線檢測起著非常重要的作用,車道線檢測幫助指導(dǎo)車輛方向,用于提高道路交通的安全性。
1? ? 算法概述
本文主要是以雙分支的車道線檢測方法[2]為基礎(chǔ),把LaneNet與H-Net結(jié)合,將車道線檢測問題作為實例分割[3]問題,執(zhí)行實時車道線檢測的任務(wù)(見圖1)。LaneNet的框架是基于編碼器-解碼器的稍加修改的雙分支ENet網(wǎng)絡(luò)[4]。圖1中第一個分支車道線分割分支向每個像素分配車道線ID輸出每個像素車道段即輸出二進制車道段,具有兩個輸出類別(背景和車道),輸出的是哪些像素屬于一個通道線而哪些不是。通過這樣做減輕車道線變化的問題,可以處理可變數(shù)量的車道線。而另一個分支車道線嵌入分支進一步將分段的車道線像素分解成不同的車道線實例,用基于one-shot的方法做距離度量學(xué)習(xí)[5],該方法易于集成在標(biāo)準(zhǔn)的前饋神經(jīng)網(wǎng)絡(luò)中,可用于實時處理。然后用預(yù)測出來的二進制的圖片去覆蓋實例的圖片。最后使用H-Net進行曲線三階多項式擬合,將圖像轉(zhuǎn)換為鳥瞰視圖,估計理想透視變換的參數(shù),并且將車道線重新投影到圖像上輸出最后的車道線結(jié)果,該方法解決道路平面變動的影響,透視變換使車道線擬合對路面變化具有魯棒性。為了解決使用一種歸一化函數(shù)而導(dǎo)致性能欠佳的影響,使用自適配歸一化,加速模型訓(xùn)練,提升模型準(zhǔn)確度。使用傳統(tǒng)的隨機梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化器對整個模型進行優(yōu)化并訓(xùn)練網(wǎng)絡(luò)直到收斂,而不是像Davy等使用Adam,因為經(jīng)過實驗SGD優(yōu)化器在訓(xùn)練過程中更穩(wěn)定,并且在程序運行時不會輕易地陷入NaN錯誤。
2? ? SN算法簡介
批量歸一化(BN)[6]是以batch的維度作歸一化的歸一化方式,對batch是獨立的,車道線檢測任務(wù)中輸入的圖像數(shù)據(jù)很大,較大的batch size會導(dǎo)致內(nèi)存不夠用,所以本研究在車道線實例分割中不用BN而改用自適配歸一化(Switchable Normalization,SN)。SN訓(xùn)練學(xué)習(xí)為深度神經(jīng)網(wǎng)絡(luò)的不同歸一化層選擇不同的歸一化器,組合IN[7],LN[8]和BN 3種類型的統(tǒng)計信息,這些統(tǒng)計信息分別通過渠道方式、分層方式和小批量方式進行估算,能夠在深度神經(jīng)網(wǎng)絡(luò)中以端到端的方式學(xué)習(xí)其重要性權(quán)重,從而在BN,IN和LN之間切換使用。
3 實驗與結(jié)果分析
3.1? 評價標(biāo)準(zhǔn)
設(shè)Cim表示正確點的數(shù)量,Sim表示實際真實點的數(shù)量。當(dāng)實際真實點和預(yù)測點之間的差異小于某個閾值時,這個點就是正確的。每個圖像的平均正確點準(zhǔn)確度為:
(1)
3.2? 實驗結(jié)果
本文采用TuSimple車道數(shù)據(jù)集,在ubuntu 16.04(x64),python3.5,Cuda-9.0,cudnn-7.0,TensorFlow 1.10.0上進行實驗。實驗結(jié)果顯示檢測速度為50 pfs,能夠達到實時性。
和原算法[2]相比,本實驗使用SN訓(xùn)練學(xué)習(xí)為深度神經(jīng)網(wǎng)絡(luò)的不同歸一化層選擇不同的歸一化器,使模型誤差減少,從而提高了準(zhǔn)確率,準(zhǔn)確率可以達到98.6%,明顯優(yōu)于使用同一個數(shù)據(jù)集下TuSimple2017挑戰(zhàn)賽結(jié)果。
4? ? 結(jié)語
本文優(yōu)化了端到端的雙分支車道線實例分割檢測方法,受近期實例分割技術(shù)的啟發(fā),解決了使用單一歸一化函數(shù)的性能不佳問題,與其他相關(guān)的深度學(xué)習(xí)方法相比,該方法可以提高檢測的準(zhǔn)確度,具有魯棒性,還可以應(yīng)對不同數(shù)量車道線,并且能做到實時性。由于對遮擋面積較大的目標(biāo)車道線檢測效果還不太明顯.后續(xù)工作還需要對上述算法進行針對性的改進和優(yōu)化。
[參考文獻]
[1]BELLIS E,PAGE J.National motor vehicle crash causation survey(NMVCCS)[Z].Washington DC:National Highway Traffic Safety Administration,2008.
[2]DAVY N,BERT D B,STAMATIOS G.Towards end-to-end lane detection:an instance segmentation approach[EB/OL].(2018-02-15)[2020-02-10].https://arxiv.org/abs/1802.05591,2018.
[3]HE K,GKIOXARI G,DOLLAR P,et al. Mask R-CNN.[EB/OL].(2017-06-17)[2020-02-10] .https://arxiv.org/abs/1703.06870.
[4]PASZKE A,CHAURASIA A,KIM S,et al.ENet:a deep neural network architecture for real-time semantic segmentation[EB/OL].(2016-06-16)[2020-02-10].https://dblp.uni-trier.de/search?q=abs%2F1606.02147.
[5]BRABANDERE B D,NEVEN D,VAN GOOL L.Semantic instance segmentation with a discriminative loss function[J].Computing Research Repository,2017(8):255.
[6]SERGEY I,CHRISTIAN S. Batch normalization:accelerating deep network training by reducing internal covariate shift.[C] Lille:International Conference on Machine Learning,2015.
[7]DMITRY U,ANDREA V,VICTOR L. Instance normalization:The missing ingredient for fast stylization[EB/OL].(2016-09-27)[2020-02-10].https://arxiv.org/abs/1607.08022.
[8]JIMMY L B,JAMIE R K,GEOFFREY E, et al.Layer normalization[EB/OL](2016-07-21)[2020-02-10].https://arxiv.org/abs/1607.06450.
[9]XINGANG P,JIANPING S,ING L,et al.Spatial as deep:spatial CNN for traffic scene understanding[C]San Francisco:the Association for the Advance of Artificial Intelligence Confrence,2018.