張 沖,黃影平,郭志陽(yáng),楊靜怡
上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093
車(chē)道線識(shí)別是自動(dòng)駕駛環(huán)境感知的一項(xiàng)重要任務(wù)。準(zhǔn)確且快速地檢測(cè)出車(chē)道線,是無(wú)人車(chē)安全可靠行駛的前提。車(chē)道線檢測(cè)可分為傳統(tǒng)視覺(jué)車(chē)道線檢測(cè)以及基于深度學(xué)習(xí)的車(chē)道線檢測(cè)。傳統(tǒng)車(chē)道線檢測(cè)大多是基于幾何方法、使用一些曲線模型來(lái)擬合車(chē)道線[1-4]。最近幾年,卷積神經(jīng)網(wǎng)絡(luò)快速發(fā)展,在目標(biāo)檢測(cè)和場(chǎng)景語(yǔ)義分割中取得了很好的效果。由此,研究人員開(kāi)始使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)車(chē)道線檢測(cè)并且取得了一定的進(jìn)展[5-12],但在模型的實(shí)時(shí)性及檢測(cè)精度上仍有提升的空間。本文借鑒語(yǔ)義分割的思想,設(shè)計(jì)了一個(gè)基于編碼解碼結(jié)構(gòu)的輕量級(jí)車(chē)道線分割網(wǎng)絡(luò)。
主要貢獻(xiàn)有:1) 提出了一種高效的車(chē)道線識(shí)別方法,采用圖像語(yǔ)義分割的思想,通過(guò)編碼器-解碼器結(jié)構(gòu)的深度學(xué)習(xí)模型將車(chē)道線識(shí)別問(wèn)題轉(zhuǎn)化為像素分類(lèi)問(wèn)題。2) 引入深度可分離卷積,并且設(shè)計(jì)了有效的輕量級(jí)卷積結(jié)構(gòu),包括一個(gè)用于特征編碼的下采樣卷積模塊LaneConv 和一個(gè)用于特征解碼的上采樣卷積模塊LaneDeconv,提高計(jì)算效率以解決常規(guī)語(yǔ)義分割方法中因復(fù)雜的卷積計(jì)算而導(dǎo)致實(shí)時(shí)性差的問(wèn)題。3) 相關(guān)的研究表明采用注意力機(jī)制的CBAM[13]模型可以充分利用局部信息來(lái)聚焦場(chǎng)景的顯著特征。本文在編碼階段加入CBAM 模塊獲得更好的車(chē)道線特征提取能力,以提高車(chē)道線分割精度。4)使用Tusimple車(chē)道線數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)評(píng)估,與多種基于深度學(xué)習(xí)的車(chē)道線檢測(cè)算法的對(duì)比分析表明,本文方法在分割精度和分割速度上具有綜合優(yōu)勢(shì)。
大多數(shù)經(jīng)典的車(chē)道檢測(cè)方法都是基于手工特征,并采用預(yù)定義的曲線模型如線模型或拋物線模型來(lái)匹配線特征。Yue 等人[1]提出了一種基于樣條的車(chē)道模型,該模型描述了平行線對(duì)通用車(chē)道邊界的透視效果。與其他車(chē)道模型如直線模型和拋物線模型相比,它可以通過(guò)不同的控制點(diǎn)形成任意形狀,以描述更大范圍的車(chē)道結(jié)構(gòu)。Jiang 等人[2]使用雙拋物線模型來(lái)描述更精確和可靠的車(chē)道線。朱鴻宇等人[3]提出一種基于級(jí)聯(lián)霍夫變換的車(chē)道線檢測(cè)方法,使用感興趣區(qū)域(region of interest,ROI)選取,濾波,邊緣檢測(cè),非極大值抑制等預(yù)處理,克服了傳統(tǒng)霍夫變換在映射過(guò)程時(shí)需對(duì)每一個(gè)點(diǎn)進(jìn)行極坐標(biāo)轉(zhuǎn)換的缺點(diǎn),使計(jì)算更簡(jiǎn)單。Tian 等人[4]提出了一種基于直線段檢測(cè)器(line segment detector,LSD)、自適應(yīng)角度濾波器和雙卡爾曼濾波器的ADAS 車(chē)道檢測(cè)與跟蹤方法。在車(chē)道檢測(cè)過(guò)程中,將輸入圖像中的感興趣區(qū)域(ROI)轉(zhuǎn)換為灰度圖像,然后對(duì)灰度圖像進(jìn)行中值濾波、直方圖均衡化、圖像閾值化和透視映射等預(yù)處理。然后,在ROI 上應(yīng)用快速魯棒的LSD 算法,并使用所提出的自適應(yīng)角度濾波器,更有效地消除不正確的車(chē)道線。
目前基于深度學(xué)習(xí)的車(chē)道檢測(cè)方法可分為兩類(lèi):基于檢測(cè)的方法[5-8]和基于分割的方法[9-12]?;跈z測(cè)的方法會(huì)將場(chǎng)景圖片劃分為一個(gè)個(gè)大小相同的小網(wǎng)格區(qū)域,然后利用YOLO 這樣的目標(biāo)檢測(cè)器對(duì)每一行的網(wǎng)格區(qū)域進(jìn)行檢測(cè)判斷是否屬于車(chē)道線,最后將屬于車(chē)道線的網(wǎng)格擬合為車(chē)道線?;诜指畹姆椒ㄊ菍?chǎng)景圖片的每一個(gè)車(chē)道線像素都進(jìn)行分類(lèi),判斷該像素是否屬于車(chē)道線或者背景。基于檢測(cè)方法的優(yōu)點(diǎn)是速度較快,處理直線車(chē)道能力較強(qiáng)。但是當(dāng)環(huán)境復(fù)雜且彎道較多的情況下,檢測(cè)效果要明顯比基于分割的方法更差?;诜指畹姆椒ㄒ话銠z測(cè)效果都要比基于檢測(cè)的方法更好,但是速度上要稍遜。
在基于檢測(cè)的方法中,Qin 等人[5]將車(chē)道檢測(cè)過(guò)程視為基于行的選擇問(wèn)題,它為無(wú)視覺(jué)線索的車(chē)道線檢測(cè)問(wèn)題提供了很好的解決方案。但是,其結(jié)構(gòu)損失函數(shù)導(dǎo)致了在彎曲處車(chē)道線檢測(cè)效果不佳。Chen 等人[6]通過(guò)將線的表示構(gòu)造為可學(xué)習(xí)的點(diǎn)來(lái)提出了PointLaneNet,然后使用目標(biāo)檢測(cè)網(wǎng)絡(luò)來(lái)檢測(cè)這些車(chē)道線點(diǎn)進(jìn)而得到車(chē)道線。Tabelini 等人[7]對(duì)輸入圖像進(jìn)行特征提取,并使用多項(xiàng)式對(duì)車(chē)道線候選標(biāo)記進(jìn)而直接輸出車(chē)道線曲線。Ji 等人[8]通過(guò)改進(jìn)的YOLO 網(wǎng)絡(luò),并根據(jù)車(chē)道線分布來(lái)確定不同的檢測(cè)尺度,從而提升檢測(cè)效果和速度。通常,基于檢測(cè)的方法可以實(shí)現(xiàn)快速的運(yùn)行速度,而準(zhǔn)確性卻不是很突出。在基于分割的方法中,Neven 等人[9]和劉彬等人[10]是通過(guò)結(jié)合分割方法和聚類(lèi)算法,將車(chē)道檢測(cè)過(guò)程視為一個(gè)實(shí)例分割問(wèn)題。但是,這種方法在車(chē)道線不清晰或車(chē)道被遮擋的情況下不是很有效,并且無(wú)法達(dá)到實(shí)時(shí)性。田錦等人[11]基于實(shí)例分割方法Mask-RCNN 對(duì)車(chē)道線進(jìn)行實(shí)例分割,并且提出了一種自適應(yīng)擬合的方法,通過(guò)多項(xiàng)式擬合對(duì)不同視野內(nèi)的車(chē)道線特征點(diǎn)進(jìn)行擬合。Pan 等人[12]提出了SCNN,通過(guò)用逐片段卷積代替普通卷積來(lái)改善無(wú)視覺(jué)提示的問(wèn)題。但是,逐片段卷積需要更多卷積運(yùn)算以融合局部上下文和層中的通道特征且SCNN 不適用于包含任意數(shù)量車(chē)道的場(chǎng)景。
本文方法的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,整體網(wǎng)絡(luò)結(jié)構(gòu)是基于編碼器-解碼器結(jié)構(gòu)。其中特征編碼階段采用輕量級(jí)卷積LaneConv (LC)與深度可分離卷積[14](DWConv)進(jìn)行快速特征下采樣。接著利用CBAM模塊獲得更多的全局語(yǔ)義信息以及學(xué)習(xí)更多的通道特征,保留更多的且重要的車(chē)道線細(xì)節(jié)。在特征解碼階段采用輕量級(jí)的LaneDeConv (LD)與深度可分離卷積(DWConv)進(jìn)行快速特征上采樣,還原特征圖尺寸,最后將分割的二值車(chē)道線聚類(lèi)產(chǎn)生最終的車(chē)道線語(yǔ)義分割結(jié)果。
圖1 方法框圖Fig.1 Framework of the method
網(wǎng)絡(luò)的詳細(xì)參數(shù)設(shè)置如圖2 所示,圖2 中的每個(gè)分支包含多個(gè)卷積層。每一層的運(yùn)算(opr)可以是DWConv、LC 或LD,其中DWConv 表示深度可分離卷積層,LC 表示LaneConv 層,LD 表示LaneDeconv層。每個(gè)操作包含一個(gè)核大小k,步幅s,輸出通道c,重復(fù)次數(shù)r。
類(lèi)似于膨脹卷積[15],深度可分離卷積(DWConv)也是一種可以有效減少卷積計(jì)算量的輕量化卷積。深度可分離卷積是在MobileNet[14]網(wǎng)絡(luò)中最先提出,隨后Xception[16]也使用了它,在參數(shù)量不增加的情況下提升了模型效果。深度可分離卷積過(guò)程分為兩步,分別是逐通道卷積和逐點(diǎn)卷積,如圖3(a)和圖3(b)所示。逐通道卷積是指一個(gè)3×3 的卷積核只會(huì)與一個(gè)通道進(jìn)行卷積運(yùn)算,避免了普通卷積每個(gè)卷積核需要和每一個(gè)通道進(jìn)行卷積運(yùn)算所帶來(lái)的高昂運(yùn)算,此過(guò)程會(huì)產(chǎn)生與輸入的通道數(shù)相同的特征圖。但是可以看出,逐通道卷積并沒(méi)有將輸入特征的不同通道進(jìn)行關(guān)聯(lián),因此還需要逐點(diǎn)卷積來(lái)加強(qiáng)不同的通道間的聯(lián)系。逐點(diǎn)卷積的卷積核大小為1×1,這里的卷積運(yùn)算會(huì)將上一步的特征圖的不同通道進(jìn)行一個(gè)加權(quán)組合,生成新的特征圖??梢钥闯?,不同于普通卷積,深度可分離卷積是將卷積過(guò)程分成兩步,從而大量減少卷積所帶來(lái)的運(yùn)算并且具有和普通卷積相同的感受野和相同的輸出特征通道數(shù)。
圖3 深度可分離卷積。(a) 逐通道卷積;(b) 逐點(diǎn)卷積Fig.3 Depth separable convolution.(a) Channel by channel convolution;(b) Pointwise convolution
本文由Inception-V3[17]得到啟發(fā),設(shè)計(jì)了一種全新的快速下采模塊LaneConv 以獲得更快的檢測(cè)速度。如圖4 (a)所示,首先將大小為H×W×C的輸入張量輸入到一個(gè)1×1 卷積中,使通道數(shù)減小到C/2,然后用一個(gè)3×3 卷積來(lái)進(jìn)行下采樣,再加上一個(gè)并行的3×3 最大池化來(lái)恢復(fù)C的通道大小。給定相同的輸入和輸出大小,3×3 卷積層需要9C2參數(shù)和9HWC2計(jì)算量,而LaneConv 只需要3C2參數(shù)量和9HWC2/8 計(jì)算量。由SqueezeSeg[18]得到啟發(fā),本文也設(shè)計(jì)了一個(gè)快速上采樣模塊LaneDeConv。如圖4 (b)所示,先使用1×1 卷積進(jìn)行降維,再進(jìn)行反卷積操作,之后將不同卷積核的特征輸出進(jìn)行拼接操作。其中:Conv是卷積運(yùn)算。Mpooling 是最大池化,?表示拼接操作。同時(shí),1×1 和3×3 表示卷積核大小,H×W×C表示張量形狀(高度、寬度、深度)。如表1 所示,LaneConv和LaneDeConv 顯然比普通卷積和反卷積具有更高的計(jì)算效率。
表1 參數(shù)量和計(jì)算量對(duì)比Table 1 Comparison of parameters and computations
圖4 (a) LaneConv 結(jié)構(gòu)圖;(b) LaneDeconv 結(jié)構(gòu)圖Fig.4 (a) Laneconv structure;(b) Lanedeconv structure
CBAM 模塊結(jié)合了通道注意力與空間注意力來(lái)提高特征的表達(dá)能力。在ResNet,Vgg 等分類(lèi)網(wǎng)絡(luò)中加入CBAM 模塊,分類(lèi)效果會(huì)有明顯的提升[13]。而在Faster-RCNN[19]等目標(biāo)檢測(cè)網(wǎng)絡(luò)中加入CBAM 時(shí),其目標(biāo)檢測(cè)效果也會(huì)提升[13]。因此本文嘗試在車(chē)道線分割網(wǎng)絡(luò)中加入CBAM 模塊,以增強(qiáng)網(wǎng)絡(luò)的車(chē)道線特征提取能力。
在判斷像素是否屬于車(chē)道線時(shí),需要考慮不同通道特征圖上的特征信息。每個(gè)通道對(duì)于不同任務(wù)的重要性是不同的。通道注意力通過(guò)賦予每個(gè)通道不同的權(quán)重,以增強(qiáng)判斷重要特征通道的能力??臻g注意力負(fù)責(zé)捕獲全局上下文信息,可以將所有車(chē)道線像素的位置信息與特征圖上的像素相結(jié)合,有助于推斷出模糊像素。下面給出空間注意力模塊的作用原理。
如圖5(a)所示,特征F∈RH×W×C作為輸入,接著使用平均池化和最大池化操作將F轉(zhuǎn)換為平均池化特征和最大池化特征。然后,將這兩個(gè)輸出特征送到可以融合所有通道特征的多層感知器(multiple perceptron,MLP)。最后,使用逐元素求和將兩個(gè)輸出特征向量進(jìn)行合并,以生成通道注意力,該通道注意力機(jī)制計(jì)算方式可以表示為
其中:σ表示sigmoid 函數(shù),ω0和ω1表示MLP 權(quán)重,ω0∈RC/r×C和ω1∈RC×C/r,其中減速比r=1/8。
如圖5(b)所示,假設(shè)將特征編碼后的最后一層特征F∈RH×W×C作為輸入,分別轉(zhuǎn)換為三個(gè)特征圖,其中{F1,F2,F3}∈RC×H×W。F1和F2用于計(jì)算遠(yuǎn)程相關(guān)性;F3用于計(jì)算遠(yuǎn)程依賴(lài)關(guān)系。然后,將它們重塑為RC×N,其中N是像素?cái)?shù)。Cij表示特征圖中第ith位置和第jth位置之間的相關(guān)性,如下所示:
圖5 (a) 通道注意力;(b) 空間注意力結(jié)構(gòu)圖Fig.5 (a) Channel attention;(b) Spatial attention
應(yīng)用Softmax 函數(shù)將相關(guān)Ci j歸一化為Sij∈[0,1]并計(jì)算空間注意圖S∈RN×N,如下所示:
其中:Sij衡量第ith位置對(duì)第jth位置的影響。兩個(gè)位置的特征表示越相似,它們之間的相關(guān)性就越高。最后,本文在S和F3(xi)的轉(zhuǎn)置之間執(zhí)行矩陣乘法,并將最終輸出重塑為RC×H×W,表示為X=(x1,x2,...,xj,...,xH×W)。每個(gè)最終特征圖可以計(jì)算為
訓(xùn)練二值分割是將車(chē)道線像素二值化,從而指明哪些像素屬于車(chē)道線,哪些像素屬于背景。為了處理遮擋或陰影情況,本文在構(gòu)造標(biāo)簽時(shí)將真實(shí)車(chē)道線上的點(diǎn)連接起來(lái)以形成一條車(chē)道,其中包括諸如汽車(chē)遮擋或車(chē)道線褪色之類(lèi)的對(duì)象。另外,使用標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)用于計(jì)算該分支的損失,其輸出的結(jié)果是一維的二值圖。對(duì)于像素x的特定類(lèi)別,其損失函數(shù)計(jì)算如下:
像素聚類(lèi)及曲線擬合是對(duì)網(wǎng)絡(luò)輸出二值分割結(jié)果的后處理。為了后續(xù)的車(chē)道線擬合以及使車(chē)道線形狀更加平整,本文使用DBSCAN 聚類(lèi)對(duì)分割得到的像素進(jìn)行聚類(lèi)。DBSCAN 聚類(lèi)是一種基于密度的聚類(lèi),它將同一類(lèi)別的像素聚集在一起形成一條車(chē)道線。DBSCAN 聚類(lèi)需要設(shè)置兩個(gè)參數(shù) ε和MinPts,其中參數(shù) ε是指鄰域的距離閾值,某個(gè)像素點(diǎn) ε半徑范圍以?xún)?nèi)區(qū)域稱(chēng)之為其鄰域,即如圖6 所示的紅色虛線圓所示,MinPts是指某一鄰域中像素點(diǎn)的數(shù)量閾值,某像素點(diǎn)鄰域如果至少含有MinPts個(gè)車(chē)道像素點(diǎn),則稱(chēng)它為核心對(duì)象,如圖6 中紅色實(shí)線小圓所示。DBSCAN聚類(lèi)的過(guò)程就是通過(guò)將核心對(duì)象和其鄰域內(nèi)的像素點(diǎn)聚類(lèi)成一條車(chē)道線,而不在紅圈范圍內(nèi)的像素點(diǎn)則會(huì)被當(dāng)作噪點(diǎn)。其聚類(lèi)過(guò)程如圖6 所示,需要注意的是,兩個(gè)核心對(duì)象要在同一個(gè)鄰域內(nèi),才會(huì)被聚成一個(gè)類(lèi)簇。
圖6 DBSCAN 聚類(lèi)過(guò)程Fig.6 DBSCAN cluster
網(wǎng)絡(luò)的輸出是二值圖,如圖7(a)所示,對(duì)二值圖的像素進(jìn)行聚類(lèi)后,得到如圖7(b)所示的聚類(lèi)輸出圖。因?yàn)門(mén)usimple 數(shù)據(jù)集評(píng)估需要得到車(chē)道線的具體坐標(biāo),所以還需對(duì)聚類(lèi)后的車(chē)道線進(jìn)行擬合,擬合效果輸出如圖7(c)所示。為了提升網(wǎng)絡(luò)的檢測(cè)速度以及進(jìn)行端到端的輸出,本文使用了簡(jiǎn)單的三次多項(xiàng)式對(duì)車(chē)道線進(jìn)行擬合。
圖7 不同階段的輸出圖。(a) 二值輸出圖;(b) 聚類(lèi)輸出圖;(c) 擬合輸出圖Fig.7 The output in different stages.(a) Binary output;(b) Clustering output;(c) Fitting output
本文采用Tusimple 數(shù)據(jù)集來(lái)驗(yàn)證模型的網(wǎng)絡(luò)性能。Tusimple 數(shù)據(jù)集是目前最常用的車(chē)道線檢測(cè)數(shù)據(jù)集,它含有3626 張訓(xùn)練圖片和2782 張測(cè)試圖片,包含多種天氣狀況,交通狀況。車(chē)道線多樣性方面包含了2 車(chē)道、3 車(chē)道、4 車(chē)道,以及少量的5 車(chē)道。圖像的注釋是json 格式的文件,文件中存儲(chǔ)著車(chē)道線上離散點(diǎn)的位置信息,即初始標(biāo)注是以點(diǎn)的連續(xù)車(chē)道線點(diǎn)的形式。在實(shí)際使用時(shí),本文將這些車(chē)道線點(diǎn)連接起來(lái)轉(zhuǎn)換成車(chē)道線的二值圖。
實(shí)驗(yàn)結(jié)果采用與真實(shí)標(biāo)記相同的格式進(jìn)行評(píng)價(jià),即每個(gè)車(chē)道線用一組固定y坐標(biāo)間隔的點(diǎn)表示。因此,需要對(duì)車(chē)道分割結(jié)果進(jìn)行后處理后擬合車(chē)道線點(diǎn),本文采用三次多項(xiàng)式擬合作為后處理。主要評(píng)價(jià)指標(biāo)由Tusimple 數(shù)據(jù)集官方提供的準(zhǔn)確度(Acc),假陽(yáng)性率(FP)與假陰性率(FN)指標(biāo),計(jì)算方式如下所示:
其中:Cpred是預(yù)測(cè)正確點(diǎn),即預(yù)測(cè)點(diǎn)和真實(shí)點(diǎn)在一定閾值內(nèi),Cgt是真實(shí)點(diǎn)。除了準(zhǔn)確度,還提供了假陽(yáng)性率(FP)與假陰性率(FN)指標(biāo):
其中:Fpred是預(yù)測(cè)錯(cuò)誤的車(chē)道線數(shù)量,Npred是預(yù)測(cè)正確的車(chē)道線數(shù)量,Mpred沒(méi)有正確預(yù)測(cè)真實(shí)車(chē)道線數(shù)量,Ngt是真實(shí)的車(chē)道線數(shù)量。
另外,由于本文的模型是語(yǔ)義分割網(wǎng)絡(luò),那么均交并比(mIoU)也將作為一個(gè)重要的評(píng)估指標(biāo)。在本文中車(chē)道線的寬度設(shè)為10 pixels,mIoU計(jì)算方式可表示為
其中:nc是類(lèi)別數(shù),ti是真實(shí)情況下類(lèi)別i的像素總數(shù),ni j表示預(yù)測(cè)屬于類(lèi)別j的i類(lèi)像素的數(shù)量。
4.3.1 可視化評(píng)估
本文方法與LaneNet[11]都是一個(gè)端到端的車(chē)道線分割網(wǎng)絡(luò)。所以本文主要與LaneNet 進(jìn)行可視化結(jié)果對(duì)比。數(shù)據(jù)均采用Tusimple 數(shù)據(jù)集中的圖片,對(duì)比結(jié)果如圖8 所示。
圖8 在TuSimple 數(shù)據(jù)集下本文方法和基準(zhǔn)的可視化結(jié)果比較。(a) 原始場(chǎng)景;(b) 真值;(c) LaneNet 結(jié)果;(d) 本文結(jié)果Fig.8 Comparison between visualization results of baseline and our method on TuSimple.(a) Original scene;(b) True value;(c) Lanenet results;(d) Results of our method
圖8 中紅色虛線框是兩個(gè)網(wǎng)絡(luò)的效果對(duì)比。可以看出,LaneNet 對(duì)車(chē)道線細(xì)節(jié)部分處理的并不好,而本文的檢測(cè)效果與真值相比,在各種情況下都能提供完美的檢測(cè)結(jié)果。紅色虛線框代表了因?yàn)檎趽醯仍蛟斐傻能?chē)道線漏檢,而本文的網(wǎng)絡(luò)可以借助CBAM恢復(fù)被遮擋的車(chē)道線??梢钥闯?,LaneNet 在紅色框中生成錯(cuò)誤的檢測(cè)結(jié)果,具體地說(shuō),LaneNet 沒(méi)有很好地檢測(cè)到圖8 中遮擋的車(chē)道線,而本文的網(wǎng)絡(luò)可以更清楚地檢測(cè)到這些被遮擋的車(chē)道線。在第3 行中,LaneNet 僅僅識(shí)別出小部分未被遮擋的車(chē)道線,而本文網(wǎng)絡(luò)可以完整準(zhǔn)確地識(shí)別出這些車(chē)道線。此外,為了探究CBAM 對(duì)網(wǎng)絡(luò)的影響,本文還進(jìn)行了消融實(shí)驗(yàn),效果對(duì)比如圖9 黃色虛線部分所示,可以看出加入了CBAM 之后,能夠提升網(wǎng)絡(luò)的車(chē)道線分割精度。
圖9 加入CBAM 前后效果對(duì)比。(a)未加入CBAM;(b)加入了CBAMFig.9 Comparison of effects before and after adding CBAM.(a) Not joined CBAM;(b) Joined CBAM
圖10 顯示了本文的網(wǎng)絡(luò)在Tusimple 數(shù)據(jù)集的測(cè)試集上的一些經(jīng)典場(chǎng)景下生成的視覺(jué)結(jié)果。這些場(chǎng)景包括遮擋、陰影、多車(chē)道、曲線等情況??梢钥闯?,本文的方法在各種情況下均表現(xiàn)良好。
圖10 本文方法在某些典型情況下生成的視覺(jué)結(jié)果Fig.10 Visual results generated by our method on some of typical scenarios
4.3.2 定量評(píng)估
在定量評(píng)估中,本文選取了幾個(gè)最近幾年提出的車(chē)道線檢測(cè)方法來(lái)與本文方法的數(shù)據(jù)進(jìn)行定量比較。這些方法包括了基于檢測(cè)的方法和基于分割的方法。使用的數(shù)據(jù)集為T(mén)usimple 數(shù)據(jù)集,對(duì)比結(jié)果如表2所示。
表2 與其他方法在Tusimple 數(shù)據(jù)集上的比較結(jié)果Table 2 Comparison results with other methods on tusimple dataset
可以看出本文的網(wǎng)絡(luò)的mIoU 達(dá)到了64.46%,超過(guò)了表中大部分基于分割的車(chē)道線識(shí)別方法,這表明了本文能夠很好的將車(chē)道線從場(chǎng)景中分割出來(lái)。需要注意的是,基于檢測(cè)的車(chē)道線識(shí)別方法無(wú)法使用mIoU這一指標(biāo)來(lái)評(píng)估。另外,由于Acc,FP和FN這三個(gè)評(píng)估指標(biāo)十分依賴(lài)于后處理,而本文僅使用了簡(jiǎn)單的三項(xiàng)式擬合,這樣的擬合在彎道情況下可能會(huì)出現(xiàn)擬合偏差。而PointLaneNet 可以直接得到車(chē)道線點(diǎn)的坐標(biāo),更加契合Tusimple 數(shù)據(jù)集的評(píng)估方式,因此本文方法在評(píng)估指標(biāo)上略差于PointLaneNet。而SCNN 使用了更加復(fù)雜的后處理,因此評(píng)估指標(biāo)上更加優(yōu)秀但效率上要稍差。然而在分割網(wǎng)絡(luò)對(duì)比中,mIoU能夠更加直觀反應(yīng)模型是否能夠精確地將車(chē)道線分割出來(lái)。從表2 的mIoU對(duì)比中,本文方法體現(xiàn)出明顯的優(yōu)勢(shì),也反應(yīng)了CBAM 能夠更好地提高車(chē)道線像素識(shí)別的精度。此外,為了了解新引入的卷積結(jié)構(gòu)除提高檢測(cè)速度外,對(duì)車(chē)道線檢測(cè)精度的影響,本文加入了消融實(shí)驗(yàn),結(jié)果如表2 中本文方法2 所示。和本文方法3 的對(duì)比結(jié)果顯示,新卷積結(jié)構(gòu)的加入會(huì)對(duì)分割精度有一定程度的降低,但是分割速度會(huì)有明顯的提升。
在速度方面,本文的網(wǎng)絡(luò)可以達(dá)到98.7 f/s 的速度,能夠完成實(shí)時(shí)的車(chē)道線識(shí)別任務(wù),明顯優(yōu)于其他基于分割的車(chē)道線識(shí)別網(wǎng)絡(luò),但要稍遜于基于檢測(cè)的車(chē)道線識(shí)別網(wǎng)絡(luò)。因?yàn)榉指罹W(wǎng)絡(luò)計(jì)算量要比檢測(cè)網(wǎng)絡(luò)更大,而且本文的網(wǎng)絡(luò)還需要對(duì)像素進(jìn)行聚類(lèi),增加了計(jì)算量??偟膩?lái)說(shuō),本文的模型在檢測(cè)精度和速度方面展現(xiàn)了更綜合的優(yōu)勢(shì)。
本文提出了一種高效的車(chē)道線語(yǔ)義分割方法,通過(guò)編碼器和解碼器結(jié)構(gòu)以及加入輕量化卷積,并結(jié)合CBAM 改善了車(chē)道線分割網(wǎng)絡(luò)的速度與精度。實(shí)驗(yàn)表明,CBAM 能夠提升分割的細(xì)節(jié)和增強(qiáng)網(wǎng)絡(luò)的全局信息捕獲能力,從而提高了車(chē)道線像素分割能力。此外,本文設(shè)計(jì)了高效的卷積結(jié)構(gòu)LaneConv 和LaneDeconv 并引入了深度可分離卷積來(lái)降低模型計(jì)算復(fù)雜性,提高運(yùn)行速度。在Tusimple 數(shù)據(jù)集上進(jìn)行的定量和定性實(shí)驗(yàn),結(jié)果表明,與其他方法相比,本文的模型具有綜合優(yōu)勢(shì)。