孔健,李燁,尹婷
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
傳統(tǒng)的車道線檢測(cè)方法依賴于手工特征提取來(lái)檢測(cè)車道線。手工特征一般是基于顏色、邊緣等,這些特征可與霍夫變換或卡爾曼濾波器結(jié)合在一起預(yù)測(cè)車道線。這些方法很簡(jiǎn)單,實(shí)時(shí)性好,對(duì)平臺(tái)的要求也比較低。但是,其性能取決于測(cè)試環(huán)境,例如照明條件和是否遮擋,面對(duì)復(fù)雜路況時(shí)檢測(cè)魯棒性很差,甚至檢測(cè)不出車道線,對(duì)于安全行駛決策是致命的。
近期車道線檢測(cè)采用深度學(xué)習(xí)網(wǎng)絡(luò)來(lái)提取特征,在復(fù)雜的場(chǎng)景中具有出色的性能,其中卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)方法在計(jì)算機(jī)視覺(jué)領(lǐng)域的表現(xiàn)尤為突出。車道線檢測(cè)通?;谡Z(yǔ)義檢測(cè)任務(wù),對(duì)圖像每一個(gè)像素分配一個(gè)二進(jìn)制標(biāo)簽,以指示其是否屬于車道線。盡管這些方法取得了出色的性能,但由于其采用多分類方法來(lái)區(qū)分每個(gè)車道,因此只能應(yīng)用于固定車道數(shù)量的場(chǎng)景。SCNN 網(wǎng)絡(luò)按照一定方向(上、下、左、右),按照順序進(jìn)行卷積,適用于車道線這種持續(xù)延伸的目標(biāo)[1];LaneNet 將問(wèn)題歸結(jié)為實(shí)例分割,使用用于特征提取的共享編碼器和2 個(gè)解碼器,其中一個(gè)解碼器執(zhí)行二進(jìn)制車道線分割,另一個(gè)解碼器進(jìn)行實(shí)例分割,使得該網(wǎng)絡(luò)可以檢測(cè)任意數(shù)量的車道線[2];PointLaneNet 結(jié)合關(guān)鍵點(diǎn)檢測(cè)與點(diǎn)云實(shí)例分割進(jìn)行車道線檢測(cè),也可適用于檢測(cè)任意場(chǎng)景和任意數(shù)量的車道線[3]。
由于駕駛場(chǎng)景是連續(xù)的,在相鄰幀之間存在大量重疊畫(huà)面,因此相鄰幀中車道線的位置具有高度的相關(guān)性。更準(zhǔn)確地說(shuō),即使車道線可能會(huì)受到陰影、污漬和遮擋帶來(lái)的損壞或退化,當(dāng)前幀中的車道線仍可以通過(guò)前面多個(gè)幀進(jìn)行預(yù)測(cè)。使用多幀進(jìn)行車道線檢測(cè),涉及到時(shí)域信息的提取,RNN 具有連續(xù)信號(hào)處理、序列特征提取和綜合等優(yōu)點(diǎn),但是單純使用RNN 進(jìn)行圖像處理會(huì)產(chǎn)生大量參數(shù),造成沉重的計(jì)算負(fù)擔(dān)。同時(shí)車道線大小長(zhǎng)寬不固定,采用單一尺度特征圖進(jìn)行檢測(cè),效果不是很好。
為了改善這些問(wèn)題,提出了一種基于連續(xù)幀的車道線檢測(cè)網(wǎng)絡(luò)。
(1)提出了一種新的融合策略,將CNN 與長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM(Long Short-Term Memory,LSTM)融合;
(2)LSTM 被實(shí)現(xiàn)為雙向ConvLSTM,捕獲來(lái)自正反方向的時(shí)空信息;
(3)編碼器CNN 生成多尺度特征映射,輸入相應(yīng)的雙層LSTM 網(wǎng)絡(luò)捕獲連續(xù)幀的時(shí)空信息,最后在解碼器CNN 中進(jìn)行特征融合。
本文提出網(wǎng)絡(luò)的總體架構(gòu)如圖1 所示,由3 個(gè)主要部分組成:編碼器、雙向ConvLSTM 和解碼器。編碼器和解碼器是2 個(gè)對(duì)稱的卷積網(wǎng)絡(luò),訓(xùn)練時(shí)選取5 幅連續(xù)圖片和最后一幀的地面真實(shí)情況作為輸入訓(xùn)練所提出的網(wǎng)絡(luò),并在最后一幀識(shí)別車道;編碼器生成多尺度特征映射;輸入雙向ConvLSTM 捕獲連續(xù)幀的時(shí)空信息;多尺度特征映射的時(shí)空信息被輸入解碼器進(jìn)行特征融合。
圖1 總體網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Overall network structure diagram
在編碼器部分進(jìn)行特征提取,并生成多尺度特征映射。受SegNet 和U-Net 在語(yǔ)義分割方面的成功啟發(fā),參考SegNet 和U-Net 設(shè)計(jì)了編碼器,并通過(guò)改變卷積核數(shù)和Conv 層對(duì)其進(jìn)行了優(yōu)化如圖2所示,可以在準(zhǔn)確率和效率之間取得平衡。在UNet 中,編碼網(wǎng)絡(luò)的一個(gè)塊包括2 個(gè)卷積層,卷積核數(shù)是最后一個(gè)塊的2 倍,池化層用于特征映射的下采樣。經(jīng)過(guò)此操作后,特征映射的大小將縮小到一半,而通道數(shù)量將加倍,表示高級(jí)語(yǔ)義特征。在優(yōu)化的U-Net 編碼器中,最后一個(gè)塊沒(méi)有使卷積層的核數(shù)加倍,如圖2(a)所示。因?yàn)檐嚨劳ǔ?梢杂妙伾瓦吘壍葋?lái)表示,即使使用較少的通道,原始圖像中的信息也能得到很好的表達(dá)。SegNet 采用VGGNet的16 層卷積結(jié)構(gòu)作為編碼器,如圖2(b)所示。
圖2 編碼器架構(gòu)Fig.2 Encoder architecture
編碼器生成多尺度特征映射,然后將不同大小的特征塊用作ConvLSTM 模塊的輸入。假設(shè)(St,St-1,St-2,St-3,St-4)是在時(shí)間(t,t-1,t-2,t-3,t-4)的輸入,這里使用(其中k=1,2,3,4,5)來(lái)表示(St,St-1,St-2,St-3,St-4)的第k層的特征映射。換句話說(shuō),當(dāng)使用St作為輸入時(shí),將是編碼器網(wǎng)絡(luò)的第一個(gè)塊的特征映射,如式(1)。
為了提取連續(xù)幀的時(shí)空信息,LSTM 塊將編碼器提取的特征映射作為輸入。采用LSTM 是因?yàn)槠溥z忘不重要信息和保留重要特征的能力優(yōu)于傳統(tǒng)的RNN 網(wǎng)絡(luò),而全連接LSTM 耗時(shí)且計(jì)算量大,本文網(wǎng)絡(luò)中使用卷積LSTM(ConvLSTM)。ConvLSTM 用卷積運(yùn)算代替LSTM 中每個(gè)門(mén)的矩陣乘法運(yùn)算,廣泛應(yīng)用于時(shí)間序列數(shù)據(jù)的端到端訓(xùn)練和特征提?。?]。
下面將詳細(xì)描述這些組件,一般的ConvLSTM在t時(shí)刻的激活可以表述為式(2)~式(6):
其中,Xt表示編碼器在時(shí)間t提取的輸入特征映射;Ct、Ht和Ct-1、Ht-1分別表示在時(shí)間t和t-1的存儲(chǔ)器和輸出激活;Ct、it、ft和ot分別表示單元、輸入門(mén)、遺忘門(mén)和輸出門(mén);Wxi是輸入Xt對(duì)輸入門(mén)的權(quán)重矩陣;bi是輸入門(mén)的偏差;其它W和b的含義可以從上述規(guī)則中推斷出來(lái);σ(.)表示sigmoid 運(yùn)算;tanh(.)表示雙曲正切非線性;“*”和“。”分別表示卷積運(yùn)算和阿達(dá)瑪積。
網(wǎng)絡(luò)中第k個(gè)(k=1,2,3,4,5)ConvLSTM 模塊將公式(1)中提到的特征映射作為其輸入,這個(gè)ConvLSTM 模塊產(chǎn)生一個(gè)輸出特征映射(表示為gk),捕獲這些個(gè)幀的時(shí)空信息。操作總結(jié)如式(7):
得益于語(yǔ)音識(shí)別方面的進(jìn)步,在這里進(jìn)一步將ConvLSTM 模塊擴(kuò)展到雙向ConvLSTM,以使用前向和后向2 種方向?qū)r(shí)空信息進(jìn)行建模。
圖3 雙向ConvLSTM 模塊體系結(jié)構(gòu)Fig.3 Bidirectional ConvLSTM module architecture
在解碼器中,接收的特征映射的大小和數(shù)量與編碼器特征映射相同,但方向相反,以便更好地恢復(fù)。在各個(gè)網(wǎng)絡(luò)模型中,ResNet等采用的elementwise add(簡(jiǎn)稱add)來(lái)融合特征[5],而DenseNet等則采用concat 來(lái)融合特征[6]。add 是特征映射的相加,concat 是通道的合并,add 的計(jì)算量要比concat的計(jì)算量小得多,因此選用add 進(jìn)行特征融合。
解碼器每個(gè)子塊中的上采樣和卷積匹配編碼器的子塊中的相應(yīng)操作。解碼器獲取5 個(gè)雙向ConvLSTM 模塊的輸出(g1,g2,g3,g4,g5),并為時(shí)間t+1 生成未來(lái)的語(yǔ)義分段掩碼St+1(假設(shè)提前一步預(yù)測(cè))。解碼器結(jié)構(gòu)如圖4 所示。
圖4 解碼器結(jié)構(gòu)Fig.4 Decoder structure
采用1×1 卷積,在g1上進(jìn)行上采樣,以匹配g2的尺寸;然后通過(guò)add 與g2結(jié)合起來(lái)。g2,g3,g4和g5操作類似,最后1×1 卷積和上采樣來(lái)獲得St+1,式(11)~式(13)。
C1×1(.) 和UP(.) 分別表示1×1 卷積和上采樣操作。
Robust Lane Detection 中自行構(gòu)建了一個(gè)連續(xù)幀車道線數(shù)據(jù)集[7],使用TuSimple 數(shù)據(jù)集和Robust Lane Detection 的一個(gè)數(shù)據(jù)集組成的綜合數(shù)據(jù)集。TuSimple 車道數(shù)據(jù)集包括3 626個(gè)圖像序列。這些圖片是高速公路上的前額駕駛場(chǎng)景,每個(gè)序列包含一秒鐘內(nèi)收集的20 個(gè)連續(xù)幀,最后一幀即第20 張圖像車道線被標(biāo)記。這里為了增加數(shù)據(jù)集,在每個(gè)序列中額外標(biāo)記了第13 幅圖像的車道線。Robust Lane Detection 車道線數(shù)據(jù)集包括1 148個(gè)鄉(xiāng)村道路圖像序列,使用這2 個(gè)數(shù)據(jù)集結(jié)合,大大擴(kuò)展了車道線數(shù)據(jù)集的多樣性,詳細(xì)信息見(jiàn)表1 和圖5。
表1 數(shù)據(jù)集的結(jié)構(gòu)和內(nèi)容Tab.1 The structure and content of the data set
圖5 數(shù)據(jù)集圖像Fig.5 Pictures of date set
訓(xùn)練時(shí),選取5 幅連續(xù)圖片和最后一幀的車道線標(biāo)注作為輸入,訓(xùn)練所提出的網(wǎng)絡(luò),并在最后一幀檢測(cè)車道線。為使所提出的網(wǎng)絡(luò)能夠在不同的行駛速度下進(jìn)行車道檢測(cè),對(duì)輸入圖像進(jìn)行了3 種不同的采樣,即1 幀、2 幀和3 幀的步長(zhǎng),見(jiàn)表2。
表2 連續(xù)輸入圖像的采樣方法Tab.2 Sampling method of continuous input image
在數(shù)據(jù)擴(kuò)充中,采用了旋轉(zhuǎn)、翻轉(zhuǎn)和裁剪等操作,生成了38 192個(gè)用于訓(xùn)練的標(biāo)記圖像組。輸入將隨機(jī)改變?yōu)椴煌墓庹涨闆r,這有助于訓(xùn)練的模型更加健壯。
為了測(cè)試,抽取5 幅連續(xù)圖像來(lái)識(shí)別最后一幀的車道,將其與最后一幀的地面真實(shí)值進(jìn)行比較。構(gòu)建了2 個(gè)測(cè)試集,測(cè)試集1 是在正常的TuSimple測(cè)試集上構(gòu)建的,測(cè)試集2 由在不同情況下路面圖片組成,針對(duì)模型穩(wěn)健性進(jìn)行評(píng)估。
Robust Lane Detection 數(shù)據(jù)集中用細(xì)線來(lái)標(biāo)注車道,然而在語(yǔ)義分割任務(wù)中,網(wǎng)絡(luò)必須學(xué)習(xí)像素級(jí)標(biāo)簽。所以對(duì)圖像進(jìn)行低分辨率采樣,因?yàn)楫?dāng)圖像變小時(shí),車道線寬度接近一個(gè)像素,如圖6 所示。
圖6 低分辨率圖像Fig.6 Low resolution image
(1)ImageNet 是一個(gè)用于分類的大型基準(zhǔn)數(shù)據(jù)集[8],提出的網(wǎng)絡(luò)在ImageNet 上進(jìn)行預(yù)先訓(xùn)練。利用預(yù)先訓(xùn)練好的權(quán)值進(jìn)行初始化,不僅可以節(jié)省訓(xùn)練時(shí)間,而且可以將適當(dāng)權(quán)值傳遞給所提出網(wǎng)絡(luò)[9];
(2)以N幅連續(xù)的駕駛場(chǎng)景圖像為輸入,進(jìn)行車道線識(shí)別。因此在反向傳播中,ConvLSTM 的每個(gè)權(quán)重更新系數(shù)應(yīng)該除以N。在實(shí)驗(yàn)中,設(shè)置N=5,還研究了N對(duì)影響車道線檢測(cè)性能的影響;
(3)基于加權(quán)交叉熵構(gòu)造了一個(gè)損失函數(shù)來(lái)求解區(qū)分性分割任務(wù),式(14):
其中,ι:Ω→{1,…,K} 是每個(gè)像素的真實(shí)標(biāo)簽,w:Ω→? 是每個(gè)類的權(quán)重,目的是平衡車道線類。其被設(shè)置為整個(gè)訓(xùn)練集中2 個(gè)類的像素?cái)?shù)的比率。pι(x)定義為式(15):
其中,ak(x) 表示特征通道k在像素位置x∈Ω,Ω∈Z2處的激活,k是類的數(shù)目;
(4)為了有效地訓(xùn)練所提出的網(wǎng)路,在不同的訓(xùn)練階段使用不同的優(yōu)化器。一開(kāi)始使用自適應(yīng)矩估計(jì)(Adam)優(yōu)化器,其具有更高的梯度下降率,但很容易陷入局部極小。為了避免這種情況,當(dāng)網(wǎng)絡(luò)被訓(xùn)練到一個(gè)相對(duì)較高的精度時(shí),轉(zhuǎn)而使用隨機(jī)梯度下降優(yōu)化器(SGD),其在尋找全局最優(yōu)解方面具有更高的性能。
在更換優(yōu)化器時(shí),需要進(jìn)行學(xué)習(xí)速率匹配,否則學(xué)習(xí)過(guò)程會(huì)受到干擾,導(dǎo)致收斂的混亂或停滯。學(xué)習(xí)率匹配公式(16)~(18):
其中,wk表示第k次迭代中的權(quán)重;αk是學(xué)習(xí)率;f(.)是由損失函數(shù)f(.)計(jì)算的隨機(jī)梯度。實(shí)驗(yàn)中,初始學(xué)習(xí)率設(shè)為0.01,當(dāng)訓(xùn)練精度達(dá)到90%時(shí),改變優(yōu)化器。
在實(shí)驗(yàn)中,車道檢測(cè)圖像的采樣分辨率為256×128。實(shí)驗(yàn)配置為E5-2630@2.3GHz,64GB 內(nèi)存和2 個(gè)GeForce GTX TITAN-X GPU。批量處理大小為16,epoches為100。
將本文提出的網(wǎng)絡(luò)命名為UNet_2ConvLSTM 和SegNet_2ConvLSTM,與其原始基線以及一些修改版本進(jìn)行了比較。包括以下方法:
(1)SegNet:一種經(jīng)典的用于語(yǔ)義分割的編解碼結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),編碼器與VGGNet 相同;
(2)SegNet_Cat:在SegNet 基礎(chǔ)上,在編碼器和解碼器之間添加多尺度編碼特征融合;
(3)SegNet_ConvLSTM:在SegNet_Cat 中添加單向LSTM;
(4)SegNet 3D:通過(guò)將連續(xù)圖像疊放,利用三維卷積核得到混合的空間和序列特征;
(5)UNet 相關(guān)網(wǎng)絡(luò):將SegNet 的編碼器和解碼器替換為修改后的UNet,生成相應(yīng)網(wǎng)絡(luò)。
在對(duì)上述網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,對(duì)測(cè)試集的結(jié)果進(jìn)行了比較。首先從視覺(jué)上檢查不同方法得到的結(jié)果;然后對(duì)其進(jìn)行定量比較;并證明所提出框架的先進(jìn)性。
如圖7 所示,所提網(wǎng)絡(luò)識(shí)別出了輸入圖像中的每一條車道線,當(dāng)車道線被遮擋或形狀不規(guī)則時(shí),也能夠完整地識(shí)別出,避免將一條連續(xù)的車道線檢測(cè)成多條斷裂的車道,而其它方法很容易將其它邊界識(shí)別為車道線或者識(shí)別不連續(xù)。
圖7 車道線檢測(cè)結(jié)果Fig.7 Lane line detection results
SegNet_Cat 表明了在編碼器和解碼器之間添加多尺度特征融合的有效性,見(jiàn)表3。SegNet _ConvLSTM 表明了在SegNet_Cat 中的編碼器網(wǎng)絡(luò)之后使用傳統(tǒng)的單向ConvLSTM 的有效性。而本文所提網(wǎng)絡(luò)即使用多尺度編特征融合,又將傳統(tǒng)的單向ConvLSTM 拓展為雙向ConvLSTM,性能進(jìn)一步提升,同時(shí)也勝過(guò)SegNet_3D,相對(duì)于SegNet 的準(zhǔn)確率分別提高了約1.5%,F(xiàn)N 和FP 也有一定降低。UNet_2ConvLSTM 表現(xiàn)同理。但是由于代表車道線的像素遠(yuǎn)遠(yuǎn)小于代表背景的像素。因此,準(zhǔn)確度只能看作是一個(gè)參考指標(biāo)。
表3 各網(wǎng)絡(luò)在測(cè)試集1 上準(zhǔn)確度對(duì)比Tab.3 Comparison of each network on test set 1
在車道線檢測(cè)任務(wù)中,將車道線設(shè)置為正類,背景設(shè)置為負(fù)類。根據(jù)公式(19)(20),其中TruePositive表示正確預(yù)測(cè)為車道線的像素?cái)?shù),F(xiàn)alsePositive表示錯(cuò)誤預(yù)測(cè)為車道線的像素?cái)?shù),F(xiàn)alseNegative表示錯(cuò)誤預(yù)測(cè)為背景的像素?cái)?shù),UNet_2ConvLSTM 的Precision比UNet 提高了8%,Recall僅下降了1.5%。對(duì)于SegNet,加入雙向ConvLSTM后,Precision提高了6%,Recall也略有提高,見(jiàn)表4。
表4 各網(wǎng)絡(luò)在測(cè)試集1 上的測(cè)試結(jié)果Tab.4 Test results of each network on test set 1
考慮到Precision或Recall只反映車道檢測(cè)性能的一個(gè)方面,又引入F1 測(cè)度作為一個(gè)整體進(jìn)行評(píng)價(jià)。F1 定義為式(21)。所提方法的F1 測(cè)量值比原始版本提高了約4%,見(jiàn)表4。這些顯著的改進(jìn)表明,多幀比單幀預(yù)測(cè)車道線更加準(zhǔn)確和雙向ConvLSTM 在語(yǔ)義分割框架中對(duì)序列數(shù)據(jù)的有效性。
從表4 可以更明顯的看出,SegNet 基礎(chǔ)上添加多尺度特征融合的有效性。由于ConvLSTM 能夠接受高維張量作為輸入,因此其可以在原始基線的基礎(chǔ)上提高精度,而雙向ConvLSTM 性能提升更加明顯,相對(duì)于SegNet 的F1 提高了約3.8%。UNet_2ConvLSTM 表現(xiàn)同理,相比于UNet 網(wǎng)絡(luò)的F1 提高了約4.1%。
三維卷積核在立體視覺(jué)問(wèn)題中非常普遍,其也可以通過(guò)將圖像堆積到三維體積來(lái)處理連續(xù)圖像。也測(cè)試了SegNet_3D 和UNet_3D 的性能,見(jiàn)表4。然而由于三維卷積核對(duì)時(shí)間序列特征的描述能力不強(qiáng),導(dǎo)致沒(méi)有很好的性能表現(xiàn)。
本文提出網(wǎng)絡(luò)以一系列圖像為輸入,可能會(huì)增加運(yùn)行時(shí)間。如果處理全部5 幀,則所提出的網(wǎng)絡(luò)比僅處理一個(gè)圖像的網(wǎng)絡(luò)要耗費(fèi)更多時(shí)間。因?yàn)橹皫奶卣饕呀?jīng)被抽象出來(lái),編碼器可以重用前4幀的特征,只需要處理當(dāng)前幀,而且性能與全部處理5 幀相差無(wú)幾,由于ConvLSTM 塊可以在gpu 并行執(zhí)行,對(duì)于以單個(gè)圖像作為輸入的模型,其運(yùn)行時(shí)間與原網(wǎng)絡(luò)幾乎相同,具體表現(xiàn)見(jiàn)表5。
表5 在測(cè)試集1 上測(cè)試結(jié)果和運(yùn)行時(shí)間Tab.5 Test results and running time on test set 1
SegNet_2ConvLSTM 如果將所有5 個(gè)幀作為新的輸入進(jìn)行處理,則運(yùn)行時(shí)間大約為25 ms。如果存儲(chǔ)并重用前4 幀的特征,則運(yùn)行時(shí)間為6.8 ms,比原SegNet 的5.2 ms 稍長(zhǎng)。同樣,U-Net_2ConvLSTM運(yùn)行的平均時(shí)間約為5.9 ms,比U-Net 的4.8 ms 稍長(zhǎng)。
為了進(jìn)一步驗(yàn)證所提出方法的性能,將所提出的方法與TuSimple 車道線檢測(cè)競(jìng)賽中的方法進(jìn)行了比較。這里訓(xùn)練集是基于原始圖像大小的TuSimple 數(shù)據(jù)集。PointLaneNet 可以在單個(gè)網(wǎng)絡(luò)中同時(shí)執(zhí)行位置預(yù)測(cè)和車道線分類;ENet-SAD 與現(xiàn)有方法相比精度屬于前列,且參數(shù)量更少[10];SCNN由于網(wǎng)絡(luò)結(jié)構(gòu)較深,并且采用行列卷積的形式,也取得了不錯(cuò)的精度;LaneNet 由于設(shè)計(jì)了一個(gè)帶分支結(jié)構(gòu)的多任務(wù)網(wǎng)絡(luò),取得了較好的結(jié)果;ERFNet 核心元素是一個(gè)新層,利用跳躍連接和1D 卷積核,也在檢測(cè)精度上得到了提升[11]。從表6 可看出,所提網(wǎng)絡(luò)的FN和FP都接近最佳結(jié)果,在所有方法中具有最高的精確度。
表6 與TuSimple 車道線檢測(cè)競(jìng)賽先進(jìn)算法比較Tab.6 Comparison of advanced algorithms with TuSimple lane line detection competition
盡管在之前的測(cè)試集上取得了很高的性能,但是仍需要測(cè)試所提網(wǎng)絡(luò)的魯棒性。因?yàn)榧词故羌?xì)微的錯(cuò)誤識(shí)別也會(huì)增加交通事故的風(fēng)險(xiǎn)[12]。一個(gè)好的車道檢測(cè)模型應(yīng)該能夠處理各種不同的駕駛場(chǎng)景,如城市道路和高速公路等日常駕駛場(chǎng)景,以及具有挑戰(zhàn)性的駕駛場(chǎng)景,如鄉(xiāng)村道路、照明不良、人車遮擋等。
在魯棒性測(cè)試中,使用具有不同的駕駛場(chǎng)景的測(cè)試集2 進(jìn)行測(cè)試。測(cè)試集2 包含728 個(gè)圖像,包括農(nóng)村、城市和高速公路場(chǎng)景中的車道線圖片,是一個(gè)綜合性和挑戰(zhàn)性的測(cè)試集,其中一些車道線人眼也很難檢測(cè)到。
UNet_2ConvLSTM 在所有場(chǎng)景的Precision 上都優(yōu)于其它方法,并且有很大的提高,見(jiàn)表7。表8 所示在大多數(shù)場(chǎng)景中也都達(dá)到了最高的F1值,這說(shuō)明了所提網(wǎng)絡(luò)具有很好的魯棒性。大多數(shù)實(shí)驗(yàn)UNet_2ConvLSTM 的性能優(yōu)于SegNet_2ConvLSTM。
表7 在12 種挑戰(zhàn)性場(chǎng)景中的表現(xiàn)(Precision)Tab.7 Performance in 12 challenging scenarios(Precision)
表8 在12 種挑戰(zhàn)性場(chǎng)景中的表現(xiàn)(F1 度量)Tab.8 Performance in 12 challenging scenarios(F1 measurement)
網(wǎng)絡(luò)中主要有2 個(gè)參數(shù)可能會(huì)影響本文所提出網(wǎng)絡(luò)的性能,一個(gè)是輸入的連續(xù)幀總幀數(shù),另一個(gè)是采樣步長(zhǎng)。這2 個(gè)參數(shù)共同決定第一幀和最后一幀之間的范圍。
當(dāng)更多的幀作為網(wǎng)絡(luò)輸入時(shí),網(wǎng)絡(luò)可以生成包含更多附加信息的特征映射,這可能有助于最終的預(yù)測(cè)結(jié)果。但是如果使用太多的前面的幀,結(jié)果也可能不好,因?yàn)榫嚯x當(dāng)前幀較遠(yuǎn)的前面幀中的車道線情況可能與當(dāng)前幀顯著不同。在這里首先分析了輸入幀數(shù)對(duì)檢測(cè)結(jié)果的影響,將輸入幀數(shù)設(shè)置為1~5,同時(shí)也分析了在輸入幀數(shù)相同情況下,采樣步長(zhǎng)對(duì)檢測(cè)結(jié)果的影響。
這里以UNet_2ConvLSTM為例,在測(cè)試集1 上進(jìn)行了測(cè)試。從表9 可以看出,在相同的采樣步長(zhǎng)下,當(dāng)使用更多的連續(xù)圖像作為輸入時(shí),精確度和F1 測(cè)量值都會(huì)增加,這說(shuō)明了使用所提出的網(wǎng)絡(luò)結(jié)構(gòu)使用連續(xù)幀作為輸入的有用性,采用多幀的方法比僅使用一幅圖像作為輸入的方法有顯著的改進(jìn)。隨著步幅的增加,性能的增長(zhǎng)趨于穩(wěn)定。例如,從4幀到5 幀的性能改善要小于從2 幀到3 幀的性能改善,因?yàn)閺妮^遠(yuǎn)的前一幀得到的信息對(duì)車道預(yù)測(cè)和檢測(cè)的幫助要小。分析了另一個(gè)參數(shù):2 幅連續(xù)輸入圖像之間的采樣步長(zhǎng)的影響。從表9 可以看出,當(dāng)幀數(shù)固定時(shí),所提出的模型在不同的采樣步長(zhǎng)下獲得了非常接近的性能,這表明抽樣步幅的影響較小。
表9 UNet_2ConvLSTM 在不同參數(shù)設(shè)置下在測(cè)試集1 的表現(xiàn)Tab.9 UNet_2ConvLSTM performance in test set 1 under different parameter settings
上述結(jié)果有助于理解雙向ConvLSTM 的有效性。單幀輸入時(shí),編碼器提取的特征地圖不能包含車道的全部信息,在某種程度上,解碼器必須想象來(lái)預(yù)測(cè)結(jié)果;當(dāng)使用多幀作為輸入時(shí),雙向ConvLSTM將從連續(xù)圖像中提取的特征映射集成在一起,得到更全面、更豐富的車道線信息,有助于解碼器做出更準(zhǔn)確的預(yù)測(cè)。
本文提出了一種連續(xù)幀車道線檢測(cè)網(wǎng)絡(luò)。首先,在該網(wǎng)絡(luò)中用編碼器提取輸入幀的多尺度特征信息;其次,用雙向ConvLSTM 對(duì)多尺度的序列特征進(jìn)行處理;最后,將雙向ConvLSTM 的輸出輸入解碼器進(jìn)行特征融合和車道線預(yù)測(cè)。與其它網(wǎng)絡(luò)相比,提出的網(wǎng)絡(luò)具有較高的精確率、召回率和F1值。此外,該網(wǎng)絡(luò)在一個(gè)具有挑戰(zhàn)性駕駛場(chǎng)景的數(shù)據(jù)集上進(jìn)行了測(cè)試,檢驗(yàn)其魯棒性。結(jié)果表明,本文所提出的網(wǎng)絡(luò)能夠在各種情況下穩(wěn)定地檢測(cè)出車道,并能很好地避免錯(cuò)誤。在參數(shù)分析中,采用較長(zhǎng)的輸入序列來(lái)提高檢測(cè)性能,進(jìn)一步證明了多幀比單一圖像更有利于車道檢測(cè)的策略。