孫斌艷 曹馨窈 張連勇 郭繼峰
摘? 要: 自動(dòng)駕駛車(chē)輛在實(shí)際行駛過(guò)程中,往往對(duì)車(chē)道線(xiàn)檢測(cè)的算法效率有著很高的要求,針對(duì)這一問(wèn)題,本文基于2018年提出的經(jīng)典車(chē)道線(xiàn)檢測(cè)模型Lanenet,提出一種檢測(cè)時(shí)間開(kāi)銷(xiāo)較小的算法,本算法主要通過(guò)兩個(gè)方法提升車(chē)道線(xiàn)檢測(cè)實(shí)時(shí)性:一是壓縮網(wǎng)絡(luò)結(jié)構(gòu),減少圖片前向處理時(shí)間;二是使用時(shí)間復(fù)雜度小的k-means算法對(duì)車(chē)道線(xiàn)像素進(jìn)行聚類(lèi),加快聚類(lèi)效率。在相同實(shí)驗(yàn)環(huán)境下,本算法在總時(shí)間上比Lanenet減少了77.9%,能更好的解決車(chē)道線(xiàn)檢測(cè)實(shí)時(shí)性能差這一問(wèn)題。
關(guān)鍵詞: 車(chē)道線(xiàn)檢測(cè); 語(yǔ)義分割; 實(shí)時(shí)檢測(cè); 無(wú)人駕駛
中圖分類(lèi)號(hào):TP391.4? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2022)05-39-03
Research on autonomous lane detection algorithm based on semantic segmentation
Sun Binyan, Cao Xinyao, Zhang Lianyong, Guo Jifeng
Abstract: In the actual driving process of autonomous vehicles, high algorithm efficiency of lane detection is often required. Based on the classic lane detection model Lanenet proposed in 2018, an algorithm with less detection time overhead is proposed. In this algorithm, two methods are used to improve the real-time performance of lane detection: one is to compress the network structure and reduce the time of image forward processing, the other is to use the K-MEANS algorithm with low time complexity to cluster lane pixels, which speeds up the clustering efficiency. Under the same experimental environment, the total time of this algorithm is 77.9% less than that of Lanenet. It can better solve the problem of poor real-time lane detection performance.
Key words: lane detection; semantic segmentation; real-time detection; driverless
引言
無(wú)人駕駛[1]車(chē)輛成為汽車(chē)產(chǎn)業(yè)發(fā)展的新趨勢(shì)。在無(wú)人駕駛車(chē)輛行駛過(guò)程中,車(chē)輛需要計(jì)算出車(chē)道線(xiàn)的位置以調(diào)整車(chē)輛前進(jìn)方向,這個(gè)過(guò)程被稱(chēng)為車(chē)道線(xiàn)檢測(cè),它能夠幫助車(chē)輛進(jìn)行軌跡規(guī)劃與偏移決策,保證無(wú)人駕駛車(chē)輛的安全性,在車(chē)輛輔助體系中發(fā)揮著至關(guān)重要的作用,也是目前無(wú)人駕駛領(lǐng)域研究的重點(diǎn)。為了能夠與人的判斷力和反應(yīng)力相媲美,車(chē)道線(xiàn)檢測(cè)需要極高的準(zhǔn)確度和極快的檢測(cè)速度,這也是目前車(chē)道線(xiàn)檢測(cè)研究工作需要突破的難點(diǎn)。
傳統(tǒng)的車(chē)道線(xiàn)檢測(cè)方法主要應(yīng)用Canny算法[2],透視變換[3],霍夫變換方法[4]等圖像處理方法,這些方法實(shí)現(xiàn)過(guò)程比較簡(jiǎn)單但難以應(yīng)對(duì)復(fù)雜的道路場(chǎng)景,在實(shí)際應(yīng)用中存在一定問(wèn)題。
相比傳統(tǒng)的檢測(cè)方法,基于深度學(xué)習(xí)的檢測(cè)算法表現(xiàn)出了更高的準(zhǔn)確性與更強(qiáng)的魯棒性。目前,許多研究團(tuán)隊(duì)提出將語(yǔ)義分割模型FCN,U-net,DeepLabV等應(yīng)用于車(chē)道線(xiàn)檢測(cè)算法。文獻(xiàn)[5]提出一種將編碼信息融入的解碼階段的雙分支圖像分割算法,該算法計(jì)算量大、時(shí)間開(kāi)銷(xiāo)大。文獻(xiàn)[9]提出一種能夠預(yù)測(cè)車(chē)道線(xiàn)數(shù)目的語(yǔ)義分割網(wǎng)絡(luò),然而該網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,參數(shù)量大,存在準(zhǔn)確度與實(shí)時(shí)性的矛盾?;谏鲜龇治?,本文針對(duì)車(chē)道線(xiàn)檢測(cè)時(shí)間復(fù)雜度高的問(wèn)題,提出基于改進(jìn)Lanenet[6]網(wǎng)絡(luò)的高實(shí)時(shí)性車(chē)道線(xiàn)檢測(cè)算法,主要通過(guò)以下兩種方法減小時(shí)間花費(fèi):①調(diào)整Lanenet主干網(wǎng)絡(luò)E-net的結(jié)構(gòu),減少參數(shù)量;②選用k-means算法進(jìn)行聚類(lèi),使每條車(chē)道線(xiàn)對(duì)應(yīng)不同的實(shí)例。
1 算法
1.1 Lanenet算法原理
Lanenet是一個(gè)多任務(wù)網(wǎng)絡(luò)模型,它包括兩個(gè)任務(wù)分支:分割分支與嵌入分支。分割分支輸出一個(gè)二值圖像,將原始圖像像素點(diǎn)分為兩類(lèi):車(chē)道線(xiàn)類(lèi)與背景類(lèi)。另一任務(wù)分支為車(chē)道線(xiàn)像素嵌入分支,輸出一幅N通道像素嵌入圖像用于后續(xù)車(chē)道線(xiàn)的實(shí)例分割。Lanenet采用編碼——解碼架構(gòu)的Enet[7]網(wǎng)絡(luò),Enet網(wǎng)絡(luò)框架如圖1所示?;贓net編碼模塊大而解碼模塊小的特點(diǎn),Lanenet的兩個(gè)網(wǎng)絡(luò)分支共享前兩個(gè)階段,而后三個(gè)階段,兩個(gè)分支分別訓(xùn)練不同參數(shù)和輸出通道數(shù)。
1.2 改進(jìn)的Lanenet算法
Enet網(wǎng)絡(luò)具有計(jì)算量小、存儲(chǔ)空間小、運(yùn)算速度快等優(yōu)點(diǎn),并在語(yǔ)義分割的應(yīng)用上表現(xiàn)出較高的準(zhǔn)確性,很適合應(yīng)用于車(chē)道線(xiàn)檢測(cè)。為了進(jìn)一步提升算法效率,首先對(duì)Enet網(wǎng)絡(luò)進(jìn)行壓縮,壓縮后的網(wǎng)絡(luò)模型如圖2所示,其中stage1由原來(lái)的四層網(wǎng)絡(luò)結(jié)構(gòu)壓縮為雙層網(wǎng)絡(luò)結(jié)構(gòu),一層普通卷積提取圖像基本特征,一層空洞卷積在保持特征圖尺寸不變的同時(shí),增大感受野。基于文獻(xiàn)[8]的思想對(duì)Lanenet進(jìn)行調(diào)整,雙分支共享編碼器的前兩個(gè)階段后進(jìn)入各自分支的主干,嵌入分支保留stage3及解碼階段,而分割分支經(jīng)共享階段后直接進(jìn)入stage4,以減少參數(shù)量與計(jì)算量。
Lanenet采用meanshift方法進(jìn)行聚類(lèi),這種聚類(lèi)算法的優(yōu)點(diǎn)在于不局限于固定數(shù)量的車(chē)道線(xiàn),常出現(xiàn)聚簇結(jié)果過(guò)多的情況,算法在時(shí)間開(kāi)銷(xiāo)上很大,時(shí)間復(fù)雜度為O(T[n2]),(k是聚類(lèi)中心個(gè)數(shù),n是樣本點(diǎn)數(shù),T是迭代次數(shù)),對(duì)此,我們選用時(shí)間復(fù)雜度為O(knT)的K-means算法,加快聚類(lèi)效率,減少聚類(lèi)處理時(shí)間,更好的滿(mǎn)足車(chē)道線(xiàn)檢測(cè)的實(shí)時(shí)性。
2 實(shí)驗(yàn)過(guò)程
2.1 網(wǎng)絡(luò)模型搭建與實(shí)驗(yàn)環(huán)境
模型由Python實(shí)現(xiàn),采用Pytorch框架搭建,實(shí)驗(yàn)環(huán)境配置為Windows10 64bit, Intel(R) Core i5,訓(xùn)練及測(cè)試于CPU(1.60GHz~1.8GHz)上進(jìn)行。
2.2 數(shù)據(jù)集的選取與處理
本次實(shí)驗(yàn)采用tusimple數(shù)據(jù)集,該數(shù)據(jù)集共有6408張不同交通狀況下的道路圖片,其中,訓(xùn)練集占57%,測(cè)試集占43%,該數(shù)據(jù)集發(fā)布公司還提供了原始圖像車(chē)道線(xiàn)的標(biāo)注json文件,json文件所含信息有:車(chē)道線(xiàn)坐標(biāo)值,圖片絕對(duì)路徑等,用于后續(xù)數(shù)據(jù)集訓(xùn)練與測(cè)試。
2.3 模型訓(xùn)練
2.3.1 訓(xùn)練預(yù)處理
訓(xùn)練前,首先將tusimple訓(xùn)練集根據(jù)車(chē)道線(xiàn)標(biāo)記json文件分別轉(zhuǎn)換為二值圖像(1表示車(chē)道線(xiàn),0表示背景)與實(shí)例圖像,并將處理好的3626張圖片按比例分為8:1:1的train_set(2900張),valid_set(362張),test_set(363張),其中train_set用于訓(xùn)練模型,test_set用于測(cè)試模型效果。預(yù)處理后數(shù)據(jù)集效果如圖3(二值圖像)及圖4(實(shí)例圖像)所示。
2.3.2 訓(xùn)練參數(shù)及損失收斂
Epoch=30,batch_size=8,Adam優(yōu)化器(lr=5e-4,weight_decay=0.0002),學(xué)習(xí)率下降間隔step_size=10,學(xué)習(xí)率調(diào)整倍數(shù)gamma=0.1。
3 測(cè)試結(jié)果與分析
3.1 時(shí)間
如圖5,改進(jìn)后的算法前向處理時(shí)間為原Lanenet的0.43倍,聚類(lèi)處理時(shí)間為原模型的0.19倍,總時(shí)間減少了77.9%,提高了算法效率,極大地減少了時(shí)間開(kāi)銷(xiāo),在相同時(shí)間內(nèi)改進(jìn)后的算法能處理更多幀圖片。
3.2 車(chē)道線(xiàn)檢測(cè)準(zhǔn)確率
如圖6,改進(jìn)后的分割模型準(zhǔn)確率有所損失,分析損失原因如下。
⑴ 壓縮后的模型計(jì)算量小,參數(shù)量減少,減少了處理時(shí)間的同時(shí)犧牲了部分準(zhǔn)確率。
⑵ 分割分支網(wǎng)絡(luò)層與嵌入分支網(wǎng)絡(luò)不對(duì)稱(chēng)的結(jié)構(gòu)造成了像素不匹配的問(wèn)題。
3.3 檢測(cè)效果
檢測(cè)效果如圖7所示。
4 結(jié)束語(yǔ)
車(chē)道線(xiàn)檢測(cè)算法在無(wú)人駕駛實(shí)際運(yùn)用中有著至關(guān)重要的作用。本文通過(guò)對(duì)車(chē)道線(xiàn)檢測(cè)研究現(xiàn)狀的分析,提出一種基于改進(jìn)Lanenet模型的新車(chē)道線(xiàn)檢測(cè)算法,通過(guò)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整及聚類(lèi)算法替換減少了算法時(shí)間復(fù)雜度,并通過(guò)實(shí)驗(yàn)證明了該算法能夠達(dá)到檢測(cè)實(shí)時(shí)性的要求,但在準(zhǔn)確率上有所犧牲。未來(lái)將通過(guò)加深網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整分支以提高準(zhǔn)確率。
參考文獻(xiàn)(References):
[1] 張超.無(wú)人駕駛時(shí)代臨近:傳統(tǒng)廣播節(jié)目的破壘與發(fā)展——
以FM107城市之聲《汽車(chē)工作室》為例[J].傳媒,2021(17):72-74
[2] 沈梅,楊洪濤,姜闊勝,等.一種基于樹(shù)莓派平臺(tái)的車(chē)道線(xiàn)檢測(cè)
識(shí)別方法[J].現(xiàn)代電子技術(shù),2021,44(17):141-145
[3] 李海華,萬(wàn)熱華,陳小玲,等.一種基于逆透視變換的車(chē)道線(xiàn)
檢測(cè)方法[J].工業(yè)儀表與自動(dòng)化裝置,2021(2):97-100
[4] 周奇豐,凌莉萍.基于OpenCV視覺(jué)庫(kù)的車(chē)道線(xiàn)圖像識(shí)別[J].
汽車(chē)實(shí)用技術(shù),2021,46(17):18-21,33
[5] 蔡英鳳,張?zhí)锾铮鹾?,?基于實(shí)例分割和自適應(yīng)透視變換算
法的多車(chē)道線(xiàn)檢測(cè)[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2020(4):775-781
[6] Neven D,De Brabandere B,Georgoulis S,et al.Towards
end-toend lane detection:an instance segmentation approach[C].IEEE Intelligent Vehicles Symposium(IV), IEEE,2018:286-291
[7] Paszke A,Chaurasia A,Kim S,et al.Enet:A deep neural
network architecture for real-time semantic segmentation[J].arXiv:1606.02147,2016
[8] 劉彬,劉宏哲.基于改進(jìn)Enet網(wǎng)絡(luò)的車(chē)道線(xiàn)檢測(cè)算法[J].計(jì)算機(jī)
科學(xué),2020(4):142-149
[9] 周蘇,吳迪,金杰.基于卷積神經(jīng)網(wǎng)絡(luò)的車(chē)道線(xiàn)實(shí)例分割算法[J].
激光與光電子學(xué)進(jìn)展,2021,58(8):381-388
收稿日期:2021-10-25
*基金項(xiàng)目:東北林業(yè)大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目資助(41111214)
作者簡(jiǎn)介:孫斌艷(2001-),女,吉林長(zhǎng)春人,本科生,主要研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。
通訊作者:郭繼峰(1974-),男,黑龍江哈爾濱人,博士,高級(jí)工程師/碩士研究生導(dǎo)師,主要研究方向:人工智能與智能控制,物聯(lián)網(wǎng)技術(shù),電器可靠性理論。