孫斌艷 曹馨窈 張連勇 郭繼峰
摘? 要: 自動(dòng)駕駛車輛在實(shí)際行駛過(guò)程中,往往對(duì)車道線檢測(cè)的算法效率有著很高的要求,針對(duì)這一問(wèn)題,本文基于2018年提出的經(jīng)典車道線檢測(cè)模型Lanenet,提出一種檢測(cè)時(shí)間開(kāi)銷較小的算法,本算法主要通過(guò)兩個(gè)方法提升車道線檢測(cè)實(shí)時(shí)性:一是壓縮網(wǎng)絡(luò)結(jié)構(gòu),減少圖片前向處理時(shí)間;二是使用時(shí)間復(fù)雜度小的k-means算法對(duì)車道線像素進(jìn)行聚類,加快聚類效率。在相同實(shí)驗(yàn)環(huán)境下,本算法在總時(shí)間上比Lanenet減少了77.9%,能更好的解決車道線檢測(cè)實(shí)時(shí)性能差這一問(wèn)題。
關(guān)鍵詞: 車道線檢測(cè); 語(yǔ)義分割; 實(shí)時(shí)檢測(cè); 無(wú)人駕駛
中圖分類號(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ǎn)業(yè)發(fā)展的新趨勢(shì)。在無(wú)人駕駛車輛行駛過(guò)程中,車輛需要計(jì)算出車道線的位置以調(diào)整車輛前進(jìn)方向,這個(gè)過(guò)程被稱為車道線檢測(cè),它能夠幫助車輛進(jìn)行軌跡規(guī)劃與偏移決策,保證無(wú)人駕駛車輛的安全性,在車輛輔助體系中發(fā)揮著至關(guān)重要的作用,也是目前無(wú)人駕駛領(lǐng)域研究的重點(diǎn)。為了能夠與人的判斷力和反應(yīng)力相媲美,車道線檢測(cè)需要極高的準(zhǔn)確度和極快的檢測(cè)速度,這也是目前車道線檢測(cè)研究工作需要突破的難點(diǎn)。
傳統(tǒng)的車道線檢測(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)用于車道線檢測(cè)算法。文獻(xiàn)[5]提出一種將編碼信息融入的解碼階段的雙分支圖像分割算法,該算法計(jì)算量大、時(shí)間開(kāi)銷大。文獻(xiàn)[9]提出一種能夠預(yù)測(cè)車道線數(shù)目的語(yǔ)義分割網(wǎng)絡(luò),然而該網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,參數(shù)量大,存在準(zhǔn)確度與實(shí)時(shí)性的矛盾?;谏鲜龇治?,本文針對(duì)車道線檢測(cè)時(shí)間復(fù)雜度高的問(wèn)題,提出基于改進(jìn)Lanenet[6]網(wǎng)絡(luò)的高實(shí)時(shí)性車道線檢測(cè)算法,主要通過(guò)以下兩種方法減小時(shí)間花費(fèi):①調(diào)整Lanenet主干網(wǎng)絡(luò)E-net的結(jié)構(gòu),減少參數(shù)量;②選用k-means算法進(jìn)行聚類,使每條車道線對(duì)應(yīng)不同的實(shí)例。
1 算法
1.1 Lanenet算法原理
Lanenet是一個(gè)多任務(wù)網(wǎng)絡(luò)模型,它包括兩個(gè)任務(wù)分支:分割分支與嵌入分支。分割分支輸出一個(gè)二值圖像,將原始圖像像素點(diǎn)分為兩類:車道線類與背景類。另一任務(wù)分支為車道線像素嵌入分支,輸出一幅N通道像素嵌入圖像用于后續(xù)車道線的實(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)用于車道線檢測(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í),增大感受野?;谖墨I(xiàn)[8]的思想對(duì)Lanenet進(jìn)行調(diào)整,雙分支共享編碼器的前兩個(gè)階段后進(jìn)入各自分支的主干,嵌入分支保留stage3及解碼階段,而分割分支經(jīng)共享階段后直接進(jìn)入stage4,以減少參數(shù)量與計(jì)算量。
Lanenet采用meanshift方法進(jìn)行聚類,這種聚類算法的優(yōu)點(diǎn)在于不局限于固定數(shù)量的車道線,常出現(xiàn)聚簇結(jié)果過(guò)多的情況,算法在時(shí)間開(kāi)銷上很大,時(shí)間復(fù)雜度為O(T[n2]),(k是聚類中心個(gè)數(shù),n是樣本點(diǎn)數(shù),T是迭代次數(shù)),對(duì)此,我們選用時(shí)間復(fù)雜度為O(knT)的K-means算法,加快聚類效率,減少聚類處理時(shí)間,更好的滿足車道線檢測(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ā)布公司還提供了原始圖像車道線的標(biāo)注json文件,json文件所含信息有:車道線坐標(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ù)車道線標(biāo)記json文件分別轉(zhuǎn)換為二值圖像(1表示車道線,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倍,聚類處理時(shí)間為原模型的0.19倍,總時(shí)間減少了77.9%,提高了算法效率,極大地減少了時(shí)間開(kāi)銷,在相同時(shí)間內(nèi)改進(jìn)后的算法能處理更多幀圖片。
3.2 車道線檢測(cè)準(zhǔn)確率
如圖6,改進(jìn)后的分割模型準(zhǔn)確率有所損失,分析損失原因如下。
⑴ 壓縮后的模型計(jì)算量小,參數(shù)量減少,減少了處理時(shí)間的同時(shí)犧牲了部分準(zhǔn)確率。
⑵ 分割分支網(wǎng)絡(luò)層與嵌入分支網(wǎng)絡(luò)不對(duì)稱的結(jié)構(gòu)造成了像素不匹配的問(wèn)題。
3.3 檢測(cè)效果
檢測(cè)效果如圖7所示。
4 結(jié)束語(yǔ)
車道線檢測(cè)算法在無(wú)人駕駛實(shí)際運(yùn)用中有著至關(guān)重要的作用。本文通過(guò)對(duì)車道線檢測(cè)研究現(xiàn)狀的分析,提出一種基于改進(jìn)Lanenet模型的新車道線檢測(cè)算法,通過(guò)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整及聚類算法替換減少了算法時(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城市之聲《汽車工作室》為例[J].傳媒,2021(17):72-74
[2] 沈梅,楊洪濤,姜闊勝,等.一種基于樹(shù)莓派平臺(tái)的車道線檢測(cè)
識(shí)別方法[J].現(xiàn)代電子技術(shù),2021,44(17):141-145
[3] 李海華,萬(wàn)熱華,陳小玲,等.一種基于逆透視變換的車道線
檢測(cè)方法[J].工業(yè)儀表與自動(dòng)化裝置,2021(2):97-100
[4] 周奇豐,凌莉萍.基于OpenCV視覺(jué)庫(kù)的車道線圖像識(shí)別[J].
汽車實(shí)用技術(shù),2021,46(17):18-21,33
[5] 蔡英鳳,張?zhí)锾铮鹾?,?基于實(shí)例分割和自適應(yīng)透視變換算
法的多車道線檢測(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ò)的車道線檢測(cè)算法[J].計(jì)算機(jī)
科學(xué),2020(4):142-149
[9] 周蘇,吳迪,金杰.基于卷積神經(jīng)網(wǎng)絡(luò)的車道線實(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ù),電器可靠性理論。