李曉旋 徐晨苗 徐 源
(長安大學(xué) 西安 710018)
近年來,大量性能可靠的車道線檢測方法被提出,已經(jīng)能夠應(yīng)對常規(guī)場景,但復(fù)雜多變的道路狀況及光照條件給車道線檢測算法帶來一定的挑戰(zhàn),在遮擋、陰影及光照影響的場景下,提高車道線檢測算法的準(zhǔn)確性和適用性,是一個難點(diǎn)問題。
深度學(xué)習(xí)的發(fā)展為車道線檢測提供了新方向。Neven等[1]提出一種雙分支結(jié)構(gòu)的車道線分割網(wǎng)絡(luò)LaneNet,并設(shè)計了HNet 網(wǎng)絡(luò)來學(xué)習(xí)鳥瞰圖變換的變換矩陣,便于檢測和擬合不同彎曲程度的車道線。Hou等[2]提出了一種自頂向下逐層的自注意蒸餾模塊,在不需要任何額外的監(jiān)督的情況下,提高了車道線檢測準(zhǔn)確率。ERFNet[3]是一種結(jié)合殘差連接和分解卷積的語義分割網(wǎng)絡(luò),在降低模型計算復(fù)雜度的基礎(chǔ)上提高了分割精度。本文將ERF?Net 網(wǎng)絡(luò)應(yīng)用于車道線檢測中,其平均F1-measure達(dá)到73.08%,運(yùn)行時間為16.1ms。但在有遮擋、陰影和夜晚的場景中,該方法的檢測準(zhǔn)確率較低。
充分利用車道線細(xì)長的空間結(jié)構(gòu),是提高車道線檢測準(zhǔn)確率的關(guān)鍵。Pan等[4]提出了一種空間卷積神經(jīng)網(wǎng)絡(luò)(Spatial CNN,SCNN),該方法能有效地獲取圖像中行和列之間的空間關(guān)系,但難以滿足實(shí)時性要求。而Qin等[5]提出了一種基于結(jié)構(gòu)感知的快速車道線檢測算法(Ultra Fast Structure-aware Deep Lane Detection,UFLD),該方法通過對車道線圖像網(wǎng)格化,將逐像素分類問題轉(zhuǎn)化成預(yù)測每一行車道線的位置,實(shí)現(xiàn)了較快的推理速率,但檢測準(zhǔn)確率低。為了平衡準(zhǔn)確率和運(yùn)算速度,本文將自注意力機(jī)制引入到ERFNet 中,提出了SA-ERFNet 網(wǎng)絡(luò),在保證實(shí)時性的同時提高了遮擋、陰影等場景中的檢測準(zhǔn)確率。
低照度車道線檢測方法主要有低照度增強(qiáng)和基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)兩類方法。王杰等[6]提出了一種基于雙邊濾波的Retinex 圖像增強(qiáng)算法改善弱光圖像。周經(jīng)美[7]采用改進(jìn)Gamma 校正對圖像預(yù)處理,消減光照不均勻的環(huán)境干擾,增強(qiáng)了車道線紋理。Liu 等[8]利用RandAugment 數(shù)據(jù)增強(qiáng)方法和風(fēng)格轉(zhuǎn)換方法AdaIN,從兩個方面對車道線圖像數(shù)據(jù)進(jìn)行有針對性的增強(qiáng)。SIM-CycleGAN[9]利用生成對抗網(wǎng)絡(luò)生成弱光條件下的圖像,但該方法增加了模型的訓(xùn)練時間,且需要白天和夜晚成對圖像進(jìn)行訓(xùn)練。
零參考樣本下的曲線估計網(wǎng)絡(luò)(Zero-Refer?ence Deep Curve Estimation,Zero-DCE)[10]通過估計像素和高階曲線的動態(tài)范圍調(diào)整給定的圖像,僅使用夜晚圖像樣本即可獲得圖像的高階增強(qiáng)曲線參數(shù)。本文將Zero-DCE網(wǎng)絡(luò)應(yīng)用于夜間車道線檢測中,在SA-ERFNet 網(wǎng)絡(luò)前端進(jìn)行零參考樣本增強(qiáng),重構(gòu)出一幅對比度強(qiáng)、視覺質(zhì)量好的夜間行車圖像。
定義像素級的光照增強(qiáng)曲線:
其中,x 為像素坐標(biāo),I(x)為圖像數(shù)據(jù),Α[- 1,1]為可訓(xùn)練的曲線參數(shù)。為了解決使用全局參數(shù)導(dǎo)致的局部區(qū)域過增強(qiáng)或欠增強(qiáng)等質(zhì)量退化問題,將參數(shù)Α定義為與圖像同維度的像素級參數(shù)。通過不斷迭代二次曲線,獲得更高階的曲線,進(jìn)一步獲得更好的增強(qiáng)效果。其迭代公式為
其中,An為第n次迭代的像素級參數(shù),n設(shè)置為8。
深度曲線估計網(wǎng)絡(luò)由7 層卷積層組成,前六層進(jìn)行卷積核為3×3、步長為1 的卷積操作,并使用ReLU 作為激活函數(shù),輸出通道數(shù)為32。最后一層進(jìn)行卷積核為3×3、步長為1的卷積操作,采用Tanh作為激活函數(shù),輸出通道數(shù)為24。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 零參考樣本下的圖像增強(qiáng)網(wǎng)絡(luò)結(jié)構(gòu)
圖像增強(qiáng)后的結(jié)果如圖2 所示,可以看出,夜間行車圖像亮度提升、視覺效果良好。
圖2 圖像增強(qiáng)前后對比
為了減少參數(shù)和運(yùn)行時間,本文將ERFNet 作為基準(zhǔn)網(wǎng)絡(luò)。針對車道線形狀細(xì)長的特點(diǎn),本文提出了一種基于注意力機(jī)制的車道線檢測網(wǎng)絡(luò)SA-ERFNet,如圖3所示。
圖3 車道線檢測模型
編碼器由下采樣塊和Non-bt-1D 塊(Non-bot?tleneck-1dimension)組成。下采樣塊將分別經(jīng)過卷積和最大池化操作得到的特征圖在通道維度上拼接,以獲取更豐富的特征。Non-bt-1D塊將兩個3×3 的卷積用兩組3×1、1×3 的非對稱卷積代替,并利用殘差連接融合輸入與輸出的特征。如圖4 所示,其中w 表示輸出特征圖的數(shù)量。為充分利用上下文信息,語義分割網(wǎng)絡(luò)ERFNet 第9~16 層的Non-bt-1D 塊使用空洞卷積,并設(shè)置擴(kuò)張系數(shù)為2、4、8、16。
圖4 Non-bt-1D塊
解碼器由反卷積塊和Non-bt-1D 塊組成。解碼器利用提取到的圖像特征和語義信息進(jìn)行學(xué)習(xí)、推理,對原始圖像中的像素進(jìn)行分類,輸出車道線概率。
根據(jù)方向,將SA 模塊分為HAS 模塊和VSA 模塊,兩個模塊具有相同的編碼結(jié)構(gòu)fsa,如圖5 所示,表示水平方向上的編碼結(jié)構(gòu),表示垂直方向上編碼結(jié)構(gòu),兩者輸入都為編碼器輸出的特征圖,區(qū)別在于全連接層Linear2 輸出的特征圖尺寸分別為C×H×1、C×1×W,其中C 為車道數(shù),H 為圖像的高度,W位圖像的寬度。對于HSA模塊,將輸出特征圖在水平方向上以尺寸W 擴(kuò)展為原始圖像大小,得到擴(kuò)展矩陣,其中每一行具有相同的元素值。對于VSA 模塊,將輸出特征圖在垂直方向上以尺寸H擴(kuò)展為原始圖像大小,得到擴(kuò)展矩陣,其中每一列具有相同的元素值。最后,將HAS 模塊和VSA 模塊輸出的擴(kuò)展矩陣逐像素相加進(jìn)行特征融合,得到權(quán)重圖。
圖5 SA網(wǎng)絡(luò)結(jié)構(gòu),按方向分為HAS模塊和VSA模塊
加權(quán)概率圖的計算公式為Epred=Ppred⊙Msa,其中,Ppred為解碼器輸出的車道概率圖,Msa為SA模塊輸出的權(quán)重圖,⊙表示按像素相乘。
CULane 數(shù)據(jù)集共有133235 張1640×590 的圖像,其中88880 張訓(xùn)練集、9675 張驗(yàn)證集和34680張測試集。CULane 數(shù)據(jù)集共包含正常、遮擋、夜晚、彎道等9類道路場景。
本文實(shí)驗(yàn)使用的硬件設(shè)備為PC、顯卡型號Ge?Force GTX 1050ti 6GB、內(nèi)存16GB,編譯環(huán)境為Py?torch 1.2.0、Tensorflow1.13.2、python3.6。由于GPU內(nèi)存有限,在訓(xùn)練之前將圖片大小調(diào)整到820×295。
將擬合的車道線和真實(shí)標(biāo)簽進(jìn)行比較,計算真實(shí)車道線與預(yù)測車道線的交并比IoU。當(dāng)該IoU 大于設(shè)置的閾值0.5 時,認(rèn)為預(yù)測的該車道線為真正預(yù)測正確的車道線,即為TP,否則為FP。本文使用F1-measure為最終的評估標(biāo)準(zhǔn),其計算方法為
其中,β設(shè)置為1,精確率(Precision)計算方法為
召回率(Recall)計算方法為
4.3.1 SA-ERFNet網(wǎng)絡(luò)有效性驗(yàn)證
為驗(yàn)證SA-ERFNet方法有效性,選擇SCNN[4]、UFLD[5]、SAD[2]和ERFNet[3]進(jìn)行對比,如表1 所示。其中,Crossroad 類僅顯示FP,其他類指標(biāo)為F1-measure。SA-ERFNet 與ERFNet 方 法 相 比,Night 類的F1-measure 增加了0.87%,Crowd 類的F1-measure增加了2.12%,Shadow增加了3.29%,其他類別的檢測精度也均有不同程度的提升。實(shí)驗(yàn)結(jié)果表明,本文的SA-ERFNet 車道線檢測方法可以提高遮擋、陰影等場景的檢測準(zhǔn)確率。
將ERFNet 與SA-ERFNet 進(jìn)行對比實(shí)驗(yàn),可視化結(jié)果如圖6 所示??梢钥闯?,SA-ERFNet方法在遮擋、陰影場景下的檢測結(jié)果更好,但夜間車道線檢測結(jié)果稍差,需進(jìn)一步進(jìn)行夜間行車圖像增強(qiáng)。
圖6 ERFNet與SA-ERFNet對比結(jié)果圖
4.3.2 零樣本增強(qiáng)+SA-ERFNet 方法的有效性驗(yàn)證
將本文零樣本增強(qiáng)方法與SIM-CycleGAN[9]、StarGAN[11]和EnlightenGAN[12]等數(shù)據(jù)增強(qiáng)方法進(jìn)行對比實(shí)驗(yàn)。其中,車道線檢測網(wǎng)絡(luò)均使用SA-ERF?Net,可視化結(jié)果如圖7 所示。實(shí)驗(yàn)結(jié)果表明,由于車燈、路燈等光源的綜合影響,SA-ERFNet 對車道線區(qū)域判斷錯誤,出現(xiàn)了漏檢現(xiàn)象?;陲L(fēng)格轉(zhuǎn)換的數(shù)據(jù)增強(qiáng)方法一定程度上減少了漏檢的車道線像素,車道線邊界的分割效果和車道線連續(xù)性增加,但仍存在車道線的像素點(diǎn)分布較離散的問題。
圖7 數(shù)據(jù)增強(qiáng)方法對比結(jié)果圖
將本文零樣本增強(qiáng)與Retinex[13]、DUAL[14]和AdGamma[15]圖像增強(qiáng)方法進(jìn)行對比實(shí)驗(yàn)。其中,車道線檢測網(wǎng)絡(luò)均使用SA-ERFNet,可視化如圖8所示。這些算法提升了圖像的亮度,但預(yù)處理后的結(jié)果圖像含有明顯的偽影噪聲,不利于車道線的檢測和提取。而本文的零樣本增強(qiáng)方法可以有效地解決圖像增強(qiáng)后圖像存在的偽影問題,并且具有更高的檢測準(zhǔn)確率。
圖8 低照度圖像增強(qiáng)方法對比結(jié)果圖
表2 給出了上述各種方法的檢測數(shù)據(jù)。數(shù)據(jù)增強(qiáng)方法中,SIM-CycleGAN 方法獲得最好的檢測精度69.47%。低照度增強(qiáng)方法中,AdGamma 方法獲得最好的檢測精度69.12%。而本文方法在夜晚場景下表現(xiàn)最佳,F(xiàn)1-measure 達(dá)到了69.91%,比數(shù)據(jù)增強(qiáng)方法的車道線檢測結(jié)果平均提高了1.92%,比低照度圖像增強(qiáng)方法的車道線檢測結(jié)果平均高出3.41%。
本文提出了一種零參考樣本下的圖像增強(qiáng)和自注意力機(jī)制相結(jié)合的夜間車道線檢測方法。首先,通過圖像增強(qiáng)曲線學(xué)習(xí)低照度圖像與增強(qiáng)圖像的映射參數(shù),生成清晰度更高,更加自然、逼真的夜間行車圖像。然后,在基于語義分割的車道線檢測網(wǎng)絡(luò)ERFNet 中引入自注意力機(jī)制,通過預(yù)測圖像中的遮擋位置提取全局上下文信息。實(shí)驗(yàn)結(jié)果表明,本文方法在白天正常情況下具有與ERFNet 相當(dāng)?shù)臏?zhǔn)確率,而在遮擋、夜晚等復(fù)雜場景下具有良好的性能表現(xiàn)。