国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進MMA-Net的車道線檢測算法

2023-10-29 01:46張宇航
計算機仿真 2023年9期
關(guān)鍵詞:編碼器車道記憶

江 漫,張 乾,朱 瑜,張宇航

(貴州民族大學(xué)數(shù)據(jù)科學(xué)與信息工程學(xué)院,貴州 貴陽 550025)

1 引言

隨著智能交通的發(fā)展,近年來,智能輔助駕駛技術(shù)已成為研究熱點,而車道線檢測是智能輔助駕駛的一項基本任務(wù)。目前基于計算機視覺的車道線檢測技術(shù)已經(jīng)廣泛應(yīng)用于自適應(yīng)巡航控制系統(tǒng)、盲點監(jiān)控系統(tǒng)、車道偏離預(yù)警系統(tǒng)等智能輔助駕駛系統(tǒng)[1]。準確識別車道線的位置能為車輛安全行駛提供重要信息,因此,研究車道線檢測具有重要的現(xiàn)實價值。

在實際場景中,受天氣環(huán)境、光照條件變化、道路復(fù)雜性、車道線磨損程度、路面陰影、來往車輛對車道線的遮擋等影響,車道線檢測面臨著諸多的挑戰(zhàn)。此外,由于車道線形狀細長,占圖像面積較小,也給檢測帶來了一定的困難。

隨著深度學(xué)習(xí)的發(fā)展,近年來,通過對大規(guī)模真實數(shù)據(jù)進行標注和訓(xùn)練,車道線檢測取得了重大進展[2-6]。與傳統(tǒng)的基于車道線的顏色、邊緣等特征信息的方法[7-9]相比,深度學(xué)習(xí)網(wǎng)絡(luò)大大提高了車道線檢測的性能。

然而,現(xiàn)有的大多數(shù)深度學(xué)習(xí)方法都是對圖像級數(shù)據(jù)進行車道線檢測,忽略了視頻幀前后的順序信息。視頻中的連續(xù)幀可以利用時間連貫性來解決圖像模糊、遮擋、車道線磨損等問題,基于此,MMA-Net[10]將車道線檢測從圖像級擴展到了視頻級,采集了一個新的視頻車道線檢測數(shù)據(jù)集VIL-100,并提出了一個多層記憶聚合網(wǎng)絡(luò)(MMA-Net)進行視頻實例車道線分割,該方法在VIL-100數(shù)據(jù)集上的性能優(yōu)于目前最先進的車道線檢測方法,故本文將其作為基礎(chǔ)網(wǎng)絡(luò),提出改進的MMA-Net算法。

2 相關(guān)工作

從如何定義車道檢測任務(wù)的角度,可以將基于深度學(xué)習(xí)的車道線檢測方法分為四類:①基于分類的方法,其通常結(jié)合先驗信息來確定車道線位置,如DeepLane[2]通過在網(wǎng)絡(luò)中加入一些與位置相關(guān)的先驗知識,克服了圖像分類無法直接獲得車道線位置的缺點,利用深度神經(jīng)網(wǎng)絡(luò)直接估計車道線位置。基于分類的車道線檢測方法網(wǎng)絡(luò)結(jié)構(gòu)較簡單,但應(yīng)用場景有限,且后處理的計算復(fù)雜度較高。②基于目標檢測的方法,其利用坐標回歸檢測車道線的邊界框位置,如VPGNet[11]使用改進的消失點定位方法,提出了一個端到端的多任務(wù)網(wǎng)絡(luò),能夠在多雨和低照明的惡劣天氣條件下識別車道線,但需要進行點采樣、聚類和車道線回歸等復(fù)雜的后處理操作;文獻[12]提出了一種基于時空深度學(xué)習(xí)的車道線檢測方法,利用時間和空間約束縮小搜索區(qū)域范圍,能夠準確檢測車道線邊界,但其數(shù)據(jù)流和網(wǎng)絡(luò)結(jié)架構(gòu)復(fù)雜,且當(dāng)初始假設(shè)不滿足時,預(yù)處理不能提供有效的結(jié)果。③基于建模的方法,其采用數(shù)學(xué)模型對車道線進行建模,通過求解模型參數(shù)擬合車道線。文獻[13]采用分段直線模型來擬合彎道車道線,利用啟發(fā)式搜索算法在感興趣區(qū)域(ROI)中搜索車道邊界線,將檢測到的車道線擬合為連續(xù)平滑的曲線,可以很好地逼近彎道,但該方法只適用于小曲率車道線,對大曲率車道線的檢測效果不夠精確。文獻[14]采用雙曲線模型擬合車道線,使兩條雙曲線收斂于同一點,有效地克服了直線和拋物線模型在直道與彎道連接處不連續(xù)的問題,但其在惡劣天氣或存在其它車輛干擾的情況下檢測效果較差。每種數(shù)學(xué)模型各有其優(yōu)缺點,通常無法只通過一種模型就完美地擬合出車道線。④基于圖像分割的方法,其將車道線和背景像素標記為不同的類,檢測結(jié)果采用像素級分類的形式,與傳統(tǒng)方法相比檢測效果較理想,且通過端到端的學(xué)習(xí)魯棒性更好。文獻[3]提出一種改進分割網(wǎng)絡(luò)(segmentation network,SegNet)算法,采用卷積與池化提取車道線特征,利用連通域約束實現(xiàn)了對二值化圖像車道線的準確分割,但其結(jié)構(gòu)復(fù)雜,實時性較差。LaneNet[4]是一種基于實例分割的車道線檢測方法,有兩個解碼器,一個用于分割,一個用于嵌入,LaneNet可以在訓(xùn)練階段而非后處理階段對每條車道線進行聚類。CNN-LSTM[15]是一種將CNN和RNN相結(jié)合的混合深度網(wǎng)絡(luò)結(jié)構(gòu),在編碼器和解碼器之間增加了兩層LSTM,融合了時域信息,該方法在車輛遮擋、陰影、惡劣的天氣條件下也能取得較好的性能,但將CNN和LSTM結(jié)合需要較大的計算量。

本文相關(guān)的MMA-Net[10]算法屬于基于圖像分割的方法,其采用4層CNN作為編碼器提取車道線的局部和全局記憶特征,并利用局部全局記憶聚合模塊(Local and Global Memory Aggregation Module,LGMA)對多層的局部和全局記憶特征進行聚合,來增強目標幀的特征,最后通過解碼器預(yù)測車道線實例分割結(jié)果。針對MMA-Net算法存在的準確率低和漏檢率高的問題,本文對MMA-Net算法進行改進:

1)由于CNN只能提取空間特征,沒有考慮到長時記憶特征,將MMA-Net的編碼器由CNN替換為GRU,以獲取長時記憶信息。

2)將MMA-Net原本的對稱結(jié)構(gòu)改為編碼多解碼少的非對稱網(wǎng)絡(luò)結(jié)構(gòu),將編碼器層數(shù)從4層增加到6層,以提取車道線的深層特征,更好地獲取其細長形狀結(jié)構(gòu)。

3)采用兩階段訓(xùn)練方法,用4層循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)作為特征提取主干進行預(yù)訓(xùn)練,獲取視頻幀序列的記憶信息。

在視頻級數(shù)據(jù)集VIL-100上進行驗證,并與11個先進的車道線檢測方法進行了比較,結(jié)果表明,改進MMA-Net算法以最高的檢測精度和和最快的檢測速度顯著勝于其它方法。

3 改進MMA-Net算法

改進MMA-Net的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。首先,將視頻序列中的有序歷史幀作為局部記憶,將打亂順序后的歷史幀作為全局記憶,采用6層GRU網(wǎng)絡(luò)作為編碼器提取局部和全局記憶特征,然后利用 LGMA模塊中的注意力機制對多層的局部和全局記憶特征進行聚合,最后采用3個Refine模塊[16]作為解碼器來預(yù)測目標幀的車道線實例分割結(jié)果。

3.1 GRU編碼器

由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)只能提取空間特征,而門控循環(huán)單元(GRU)具有記憶功能,能夠提取時間特征,考慮到視頻歷史幀的車道線記憶信息對于檢測當(dāng)前幀的車道線位置具有一定作用,將MMA-Net中的CNN替換為GRU,其利用更新門和重置門選擇性地遺忘過去不重要的信息并記憶重要的信息。

較于原始MMA-Net的CNN編碼器,改進的GRU編碼器具有更強的長距離(long-range)特征捕獲能力,可以獲取視頻幀序列的長時記憶信息,增強每個目標視頻幀的低級和高級特征,更好地用于視頻實例車道線檢測。而且,GRU網(wǎng)絡(luò)在保留長時序列信息的同時還減少了梯度消失問題,有效地提高了模型的檢測精度,同時減少了網(wǎng)絡(luò)運行時間。

3.2 非對稱網(wǎng)絡(luò)結(jié)構(gòu)

MMA-Net的網(wǎng)絡(luò)結(jié)構(gòu)主要由編碼器和解碼器組成,編碼器采用4層CNN網(wǎng)絡(luò)對輸入圖像進行下采樣,提取車道線特征,而解碼器由3層Refine網(wǎng)絡(luò)和1層卷積層還原圖像大小,得到車道線分割結(jié)果。改進的MMA-Net將原本的對稱結(jié)構(gòu)改為編碼多解碼少的非對稱網(wǎng)絡(luò)結(jié)構(gòu),為提取車道線的深層特征,將編碼器層數(shù)從4層增加到6層,增大感受野的同時,可以獲得不同尺度的圖像特征,這樣更好地獲取了車道線的細長形狀,極大地提高了網(wǎng)絡(luò)的檢測精度。

如圖1所示,為檢測目標幀的車道線,將目標幀按順序排列的前5幀圖像{Ot-5,Ot-4,Ot-3,Ot-2,Ot-1}作為局部記憶,在打亂順序后的歷史幀中抽取5幀{St-5,St-4,St-3,St-2,St-1}作為全局記憶,輸入編碼器。然后,將每個視頻幀傳遞給一個由6層GRU組成的編碼器,獲得局部記憶特征{Lt-5,Lt-4,Lt-3,Lt-2,Lt-1}和全局記憶特征{Gt-5,Gt-4,Gt-3,Gt-2,Gt-1}。

3.3 LGMA和MR模塊

目前大部分記憶網(wǎng)絡(luò)都是對有序的視頻幀進行特征提取,提取的特征很大程度上依賴于時間信息,而LGMA模塊利用從5幀打亂順序的視頻幀中提取的全局記憶特征{Gt-5,Gt-4,Gt-3,Gt-2,Gt-1}來去除時間信息,增強車道線檢測的全局語義信息。而且,由于不同視頻幀對車道線檢測的貢獻程度不同,故LGMA模塊利用注意機制來為每個局部記憶特征和全局記憶特征分配不同的權(quán)重,以幫助當(dāng)前幀識別背景像素。

(1)

(2)

其中fatt(·)表示注意力運算,這里使用點乘運算。

3.4 解碼器

網(wǎng)絡(luò)的解碼器利用MR模塊的輸出特征來預(yù)測目標視頻幀的車道線檢測結(jié)果。首先,通過一個卷積層和一個殘差塊(residual block)[17]將MR模塊的輸出特征壓縮為256通道;然后,使用3個細化塊(refinement block)[16]逐步融合編碼器提取的特征;最后,通過一個卷積層和一個softmax層生成目標視頻幀的車道線實例分割結(jié)果。

4 實驗與分析

4.1 數(shù)據(jù)集

實驗使用公開車道線檢測視頻數(shù)據(jù)集VIL-100,共10000幀圖片,含100個視頻,每個視頻有100幀。包含10種道路場景:正常、擁擠、彎道、磨損道路、陰影、道路標線、眩光、霧霾、夜晚、十字路口,大小為640×368~1920×1080像素。將數(shù)據(jù)集按8:2的比例劃分為訓(xùn)練集和測試集,訓(xùn)練集和測試集都包含這10種場景,以保證不同的方法在該數(shù)據(jù)集上可以進行公平比較。部分數(shù)據(jù)示例如圖2所示。

圖2 數(shù)據(jù)集示例

4.2 實驗平臺

實驗環(huán)境配置為:Windows10×64操作系統(tǒng),Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz 3.70 GHz處理器,NVIDIA GeForce RTX 3080 Ti顯卡,64GB內(nèi)存,實驗采用Python 3.8編程語言,深度學(xué)習(xí)框架為PyTorch。

4.3 評價指標

算法評價指標采用準確率(Accuracy),誤檢率(False positives,FP)和漏檢率(False negatives,FN)。一般來說,Accuracy越高,FP和FN越小,車道線檢測效果越好。準確率的計算方式如下

(3)

其中,表示預(yù)測正確的車道線數(shù)量,表示總的車道線數(shù)量。誤檢率和漏檢率的計算公式:

(4)

(5)

其中,Fpred表示預(yù)測錯誤的車道線數(shù)量,Npred表示預(yù)測的車道線總數(shù)量,Mpred為沒有預(yù)測到但真實存在的車道線數(shù)量,Ngt為標簽中的車道線總數(shù)量[18]。

4.4 兩階段訓(xùn)練

在預(yù)訓(xùn)練階段,使用4層RNN作為編碼器初始化特征提取主干(backbone),RNN的記憶功能有助于獲取連續(xù)視頻幀序列中車道線的長時記憶信息,更準確地預(yù)測車道線位置。原始MMA-Net的CNN編碼器只能用于靜態(tài)輸出,而RNN可以用于描述時間上連續(xù)狀態(tài)的輸出,其獲取的歷史幀車道線記憶信息可輔助檢測當(dāng)前幀的車道線位置。

在正式訓(xùn)練階段,利用預(yù)訓(xùn)練階段得到的最優(yōu)權(quán)重進行訓(xùn)練,使用6層GRU作為編碼器,用隨機梯度下降(SGD)優(yōu)化器對網(wǎng)絡(luò)進行優(yōu)化,輸入圖像大小為240×427像素,學(xué)習(xí)率為10-3,學(xué)習(xí)動量為0.9,權(quán)重衰減為10-6,批量大小為1,迭代輪次(epoch)為60次。

4.5 算法性能對比

圖3給出了改進MMA-Net算法車道線檢測的部分可視化結(jié)果,從左到右4列分別為輸入圖像、真實標簽、改進MMA-Net預(yù)測結(jié)果和原始MMA-Net預(yù)測結(jié)果??梢钥闯?改進MMA-Net算法在多種場景下都能準確地檢測出車道線,同時檢測結(jié)果更加接近真實標簽,對原始MMA-Net中的漏檢(如第1行)、預(yù)測車道線模糊(如第2行)等現(xiàn)象都有較大的改進。

圖3 改進MMA-Net和MMA-Net的視覺對比

表1給出了改進MMA-Net算法與其它11個車道線檢測算法在VIL-100數(shù)據(jù)集上的檢測結(jié)果量化性能對比,其中LaneNet[4]、SCNN[5]、ENet-SAD[19]、UFSA[20]和LSTR[6]是圖像級的車道線檢測方法,而GAM[21]、RVOS[22]、STM[23]、AFB-URR[24]、TVOS[25]和MMA-Net[10]是視頻級的車道線檢測方法??梢钥闯?改進MMA-Net算法的準確率(Accuracy)最高,達到97.2%,同時誤檢率(FP)和漏檢率(FN)最低,分別為7.6%和4.4%,都遠遠勝于其它算法。與原始的MMA-Net相比,準確率提升了6.2%,誤檢率降低了3.5%,漏檢率降低了6.1%,性能顯著提高了。

表1 各方法量化性能比較

4.6 消融實驗

4.6.1 編碼器模型

為了研究編碼器模型對車道線檢測結(jié)果的影響,對不同的編碼器模型進行實驗,在控制網(wǎng)絡(luò)層數(shù)為4層的前提下,分別將CNN、RNN、LSTM、GRU作為編碼器進行訓(xùn)練,結(jié)果見表2??梢钥吹?這四種編碼器中GRU的準確率(Accuracy)最高,為91.9%,而RNN的誤檢率(FP)和漏檢率(FN)最低,分別為10.8%和10.3%,LSTM的檢測速度則最快,達到18.277幀/每秒(fps)。本文使用RNN編碼器進行預(yù)訓(xùn)練,再用得到的最優(yōu)權(quán)重對GRU編碼器進行正式訓(xùn)練,有效地綜合了各網(wǎng)絡(luò)的優(yōu)勢,訓(xùn)練結(jié)果顯示各個性能都有顯著提升,準確率達到了94.7%,誤檢率降為9.9%,漏檢率降為6.1%,同時檢測速度也提高到18.391 fps??梢姴捎肦NN進行預(yù)訓(xùn)練,再用GRU作為編碼器的檢測效果最好。

表2 編碼器模型的定量評估

4.6.2 編碼器層數(shù)

為了研究編碼器層數(shù)取多少時車道線檢測效果最佳,采用RNN預(yù)訓(xùn)練,GRU作為編碼器,對不同層數(shù)的編碼器進行實驗。從表3可以看出,隨著層數(shù)的增加,準確率呈現(xiàn)先上升后下降的趨勢,在6層時達到最高,為97.2%;而誤檢率和漏檢率則相反,呈現(xiàn)先下降后上升的趨勢,同樣在6層時達到最低,分別為7.6%和4.4%;而檢測速度也是在6層時達到最快,為18.571 fps,較原始MMA-Net的4層CNN編碼器(17.928 fps)提高了0.643 fps。這驗證了選擇編碼器層數(shù)為6層是最佳的,可達到最高的檢測精度和最快的檢測速度。

表3 編碼器層數(shù)的定量評估

5 結(jié)論

本文提出了一種改進MMA-Net算法的車道線檢測方法,將MMA-Net的編碼器由CNN替換為GRU,增加長時記憶信息,同時將編碼器層數(shù)增加到6層,形成編碼多解碼少的非對稱網(wǎng)絡(luò)結(jié)構(gòu),更好地獲取車道線的細長形狀。采用兩階段訓(xùn)練方法在VIL-100數(shù)據(jù)集上進行訓(xùn)練與測試,實驗結(jié)果表明,改進MMA-Net算法的準確率和檢測速度都明顯高于原始MMA-Net,且遠勝于其它車道線檢測方法。下一步將在其它數(shù)據(jù)集上進行實驗,對模型的泛化能力進一步深入研究。

猜你喜歡
編碼器車道記憶
北斗+手機實現(xiàn)車道級導(dǎo)航應(yīng)用
避免跟車闖紅燈的地面車道線
淺談MTC車道改造
基于FPGA的同步機軸角編碼器
記憶中的他們
基于PRBS檢測的8B/IOB編碼器設(shè)計
兒時的記憶(四)
兒時的記憶(四)
記憶翻新
JESD204B接口協(xié)議中的8B10B編碼器設(shè)計