王帥帥,劉建國,紀(jì) 郭
(1.武漢理工大學(xué) 現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430070;2.武漢理工大學(xué) 汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,湖北 武漢 430070)
在智能輔助駕駛系統(tǒng)領(lǐng)域,車道線檢測(cè)一直是智能輔助駕駛系統(tǒng)中重要的組成部分。車道線檢測(cè)的效果對(duì)后續(xù)的車道保持系統(tǒng)和車道偏離預(yù)警系統(tǒng)等都有著至關(guān)重要的作用。基于傳統(tǒng)圖像處理方法的車道線檢測(cè),易受光照、障礙物遮擋、路面破損等自然因素的影響,導(dǎo)致車道線分割準(zhǔn)確率下降,且不能提供場(chǎng)景的語義描述信息。常用的方法有Hough變換的方法[1],RGB顏色特征的方法[2]和卡方統(tǒng)計(jì)的方法[3],這些方法雖然在一定程度上提升了結(jié)構(gòu)化路面的車道線識(shí)別精度,但對(duì)車道線的定位和邊緣分割的精確度遠(yuǎn)不及目前很多結(jié)合深度學(xué)習(xí)的方法。由于神經(jīng)網(wǎng)絡(luò)天生具備擬合任意復(fù)雜函數(shù)的特點(diǎn)和強(qiáng)大的表征能力,所以可以做非常復(fù)雜的非線性映射并且可以實(shí)現(xiàn)圖像的淺層以及深層的語義信息分割,因此結(jié)合深度學(xué)習(xí)的方法更加勝任復(fù)雜情景下的車道線檢測(cè)任務(wù)。自2012年開始越來越多的研究人員將深度學(xué)習(xí)應(yīng)用于圖像處理,并取得了不錯(cuò)的效果。圖像語義分割技術(shù)也從基于隨機(jī)森林(random forest, RF)分類器的分割方法[4]轉(zhuǎn)變?yōu)榛诰矸e神經(jīng)網(wǎng)絡(luò)的分割方法。從2015年提出的全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)[5]到2016年提出的Deeplab網(wǎng)絡(luò)[6],再到2017年提出的large kernel matters[7]網(wǎng)絡(luò)等研究,都在不斷地刷新圖像語義分割的記錄,并且為今后深度學(xué)習(xí)的應(yīng)用奠定了基礎(chǔ)。車道線檢測(cè)領(lǐng)域的學(xué)者們也從中獲取靈感,提出一系列基于深度學(xué)習(xí)的車道線檢測(cè)方法。文獻(xiàn)[8]的VPGNet(vanishing point guided network)模型結(jié)合滅點(diǎn)信息對(duì)網(wǎng)絡(luò)模型訓(xùn)練,針對(duì)雨天和較暗的天氣取得了非常不錯(cuò)的車道線檢測(cè)效果。文獻(xiàn)[9] 的SCNN(spatial convolutional neural network)模型具有更加有效的空間關(guān)系學(xué)習(xí),能有效找出連續(xù)的有效的車道線結(jié)構(gòu)目標(biāo)。文獻(xiàn)[10]的LaneNet模型將車道線檢測(cè)問題轉(zhuǎn)化為實(shí)例分割問題。然而,這些方法沒有考慮車道線像素點(diǎn)在圖像中分布不均勻的問題,導(dǎo)致深度網(wǎng)絡(luò)不能充分提取車道線特征,最終影響車道線檢測(cè)精度。
基于以上分析,筆者借鑒目前主流的車道線檢測(cè)技術(shù)和圖像語義分割技術(shù),提出一種多尺度(multi-scale)的FCN模型讓深度網(wǎng)絡(luò)能充分提取車道線特征,并采用加權(quán)損失函數(shù)解決車道線樣本分布不均勻的問題,從而提升車道線的分割精度,使其更加適用于多場(chǎng)景的車道線檢測(cè)任務(wù)。
基于FCN模型的分割方法在圖像語義分割領(lǐng)域得到廣泛應(yīng)用,近年來幾乎所有的圖像語義分割技術(shù)都是采用的FCN模型。FCN將傳統(tǒng)基于區(qū)域識(shí)別方法的圖像分割任務(wù),提升為像素級(jí)別的端到端(end-to-end)的語義分割任務(wù)。FCN主要使用了3種技術(shù):卷積化、上采樣、跳躍結(jié)構(gòu)。FCN的卷積化方法將CNN(convolutional neural networks)的全連接層換成卷積層,從而保留原始圖像中的空間語義信息。上采樣方法是根據(jù)輸入圖像的特征,反向輸出語義分割圖,起到圖像還原的作用,從而實(shí)現(xiàn)end-to-end。跳躍結(jié)構(gòu)旨在獲取圖像多尺度的信息,針對(duì)不同的池化層結(jié)果進(jìn)行上采樣,然后通過結(jié)合這些結(jié)果來優(yōu)化輸出。雖然通過跳躍結(jié)構(gòu)融合圖像的上下文信息的方法在一定程度上提升了分割效果,但FCN在進(jìn)行解碼時(shí),上采樣過程僅僅就是一個(gè)簡(jiǎn)單的反卷積操作,得到的特征圖過于稀疏。在對(duì)各個(gè)像素進(jìn)行分類時(shí),也沒有考慮到像素之間的關(guān)系,這就導(dǎo)致了在卷積與上采樣過程中丟失了圖像的上下文信息,最終使得結(jié)果分割效果不細(xì)致。因此如何在深度學(xué)習(xí)中保持圖像的上下文信息和多尺度的特征提取成為圖像語義分割研究的重點(diǎn)。文獻(xiàn)[11]組合條件隨機(jī)場(chǎng)的方法,就是在FCN的后端使用了條件隨機(jī)場(chǎng)(conditional random fields, CRF)的方法,這是一種判別式概率無向圖學(xué)習(xí)模型,由于條件隨機(jī)場(chǎng)是計(jì)算全局最優(yōu)輸出節(jié)點(diǎn)的條件概率并且特征設(shè)計(jì)靈活,因此可以容納任意的上下文信息。這種方法對(duì)同類特征和相似特征的分割有著很好的表現(xiàn),可以獲得邊緣更加細(xì)致的分割結(jié)果,但其后端的條件隨機(jī)場(chǎng)方法實(shí)現(xiàn)較為復(fù)雜,還會(huì)消耗額外的訓(xùn)練時(shí)間。文獻(xiàn)[12]SegNet模型采用端到端的對(duì)稱網(wǎng)絡(luò)模型,對(duì)比于FCN利用雙線性插值初始化的反卷積來進(jìn)行上采樣的方式,而SegNet的對(duì)稱結(jié)構(gòu)則是利用每次池化時(shí)都存下最大值的位置,在上采樣時(shí)將值直接賦給相應(yīng)的位置,其他位置的值置為零的方式。這種取最大值的方法雖然比起FCN模型提升了分類能力,但多次的最大值池化方式,會(huì)丟失圖像中的空間邊界關(guān)系。文獻(xiàn)[13]U-Net模型形似與SegNet模型,其采用的是一個(gè)包含下采樣和上采樣的網(wǎng)絡(luò)結(jié)構(gòu)。下采樣用來逐漸展現(xiàn)環(huán)境信息,而上采樣的過程是結(jié)合下采樣各層信息和上采樣的輸入信息來還原細(xì)節(jié)信息,并且逐步還原圖像精度。但其輸入圖像和輸出圖像大小并不一致,每次卷積圖像都會(huì)小一圈,因此下采樣和上采樣所還原的像素并不一致。
針對(duì)上述研究現(xiàn)狀,筆者在前人的研究基礎(chǔ)上,通過對(duì)FCN結(jié)構(gòu)的特點(diǎn)分析,結(jié)合空間金字塔結(jié)構(gòu)的多尺度特征提取的特點(diǎn),提出一種新的多尺度全卷積神經(jīng)網(wǎng)絡(luò)(multi-scale fully convolutional network,MFCN)模型。
MFCN模型是基于FCN的思想,借鑒SegNet模型的對(duì)稱結(jié)構(gòu),提出的一種新的對(duì)稱網(wǎng)絡(luò)結(jié)構(gòu),使其更加適用于車道線分割與道路分割。MFCN模型的編碼器部分,保留了VGG網(wǎng)絡(luò)的主體結(jié)構(gòu),加入空間金字塔池化模塊,并在原網(wǎng)絡(luò)后添加5層反卷積網(wǎng)絡(luò)作為解碼器。每個(gè)編碼器層對(duì)應(yīng)一個(gè)解碼器層,每個(gè)編碼器層由數(shù)個(gè)卷積層和池化層組成。每個(gè)解碼器層由上采樣層和數(shù)個(gè)卷積層組成,最后使用Soft-max分類器進(jìn)行分類,其結(jié)構(gòu)如圖1所示。
圖1 MFCN結(jié)構(gòu)模型
MFCN接受任意尺寸大小的圖像作為輸入,對(duì)稱的網(wǎng)絡(luò)結(jié)構(gòu)在解碼階段能使特征圖恢復(fù)到與原圖一樣的尺寸。同時(shí)為了更好地得到車道線的特征,以及充分利用圖像的上下文信息,在編碼階段引入空間金字塔池化模塊[14],再結(jié)合FCN的跳躍結(jié)構(gòu),將空間金字塔池化模塊得到的多尺度特征圖與倒數(shù)第二層解碼器得到的特征圖融合,再上采樣到最后一層解碼器,最終實(shí)現(xiàn)端到端的車道線分割。MFCN模型在SegNet對(duì)稱網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上做了兩個(gè)方面的改進(jìn):①為了解決FCN因不能充分利用上下文信息的缺點(diǎn),MFCN在Block3之前加入空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling structure,SPPS)并結(jié)合FCN的跳躍式結(jié)構(gòu)與Block9的特征圖融合,以此增強(qiáng)多尺度特征信息的提取。②針對(duì)車道線樣本分布不均勻的問題,MFCN采用加權(quán)交叉熵?fù)p失函數(shù),以此增強(qiáng)車道線的分割效果。工作流程如圖2所示:
圖2 MFCN工作流程圖
針對(duì)圖像的上下文信息和多尺度特征提取問題,采用空間金字塔池化結(jié)構(gòu)來增強(qiáng)網(wǎng)絡(luò)的空間特征信息學(xué)習(xí)能力,其結(jié)構(gòu)如圖3所示。
這種多尺度表達(dá)的優(yōu)點(diǎn)在于圖像的局部特征可以用簡(jiǎn)單的形式在不同尺度上進(jìn)行描述,多尺度特征圖生成較快,且占用存儲(chǔ)空間少,選用不同的池化尺度個(gè)數(shù)也會(huì)造成最終的分割結(jié)果。文中的SPPS選用了 4種不同大小的池化核(1×1,3×3,5×5,7×7)進(jìn)行池化,得到四種不同尺度的特征圖。同時(shí)為了保持全局特征的權(quán)重,以平行的方式對(duì)4種不同尺度的特征圖分別進(jìn)行(1×1)的卷積,將通道數(shù)壓縮為原本的1/4,再上采樣恢復(fù)成與輸入特征圖一樣的大小,最后再將4種特征圖級(jí)聯(lián)起來作為后端的輸入。同時(shí)為了高度保持上下文信息,借鑒FCN的跳躍結(jié)構(gòu),將SPPS的特征圖與Block9的特征圖融合以此增強(qiáng)模型對(duì)圖像空間邊界特征的提取能力。這種多尺度池化結(jié)構(gòu),將局部上下文信息與全局上下文信息結(jié)合,增強(qiáng)了圖像中的空間特征信息,最終提升了邊界的分割效果。
因?yàn)樵谲嚨谰€邊緣的檢測(cè)中真正屬于車道線的像素相對(duì)太少,所以乘以相同的權(quán)重時(shí),網(wǎng)絡(luò)就會(huì)把所有的車道線像素都預(yù)測(cè)成負(fù)樣本,不能正確分割車道線。MFCN模型為了提高對(duì)車道線的分割質(zhì)量,采用加權(quán)交叉熵?fù)p失函數(shù)來解決樣本分布不均勻的問題。在原本的交叉熵函數(shù)基礎(chǔ)上增加一個(gè)權(quán)重,當(dāng)對(duì)車道線分類時(shí)乘以一個(gè)較大的權(quán)重,當(dāng)對(duì)道路背景分割時(shí)乘以一個(gè)較小的權(quán)重,但由于道路背景的像素總數(shù)比較多,因此總的損失也是符合實(shí)際情況。加權(quán)損失函數(shù)公式如下:
(1)
(2)
式中:w為權(quán)重;c為常數(shù)1.02;β為在總體樣本中出現(xiàn)的概率;H(p,q)為交叉熵;p為期望輸出概率;q為真實(shí)輸出概率。
使用相同的訓(xùn)練集和測(cè)試集作為實(shí)驗(yàn)樣本,在實(shí)驗(yàn)過程中使用Tensorflow深度學(xué)習(xí)框架對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。采用Adam優(yōu)化器對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行更新,Adam算法對(duì)超參數(shù)有很好的解釋性,僅需要很少的微調(diào)就能夠自動(dòng)調(diào)整學(xué)習(xí)率。根據(jù)Adam算法在文獻(xiàn)[15]良好的表現(xiàn),筆者也將Adam算法中的β1、β2參數(shù)分別設(shè)置為0.9和0.99,初始學(xué)習(xí)率為0.000 75,Bach-size為2。
目前關(guān)于道路真實(shí)場(chǎng)景的語義分割數(shù)據(jù)集有很多,例如Kitti數(shù)據(jù)集、Cityscapes數(shù)據(jù)集、Tusimple數(shù)據(jù)集等。這些數(shù)據(jù)集關(guān)注真實(shí)場(chǎng)景下的道路實(shí)景環(huán)境,包含多個(gè)城市不同場(chǎng)景、不同背景、不同季節(jié)的街景。Kitti和Cityscapes主要關(guān)注于多目標(biāo)的檢測(cè),且目標(biāo)變化較大。而Tusimple數(shù)據(jù)集針對(duì)車道線有著更加精細(xì)的標(biāo)注。本文采用Tusimple數(shù)據(jù)集中3 000張帶有精細(xì)標(biāo)注的圖像作為訓(xùn)練集,并從Kitti數(shù)據(jù)集和Cityscapes數(shù)據(jù)集中隨機(jī)抽取了1 000張圖像作為測(cè)試集。
實(shí)驗(yàn)平臺(tái)軟硬件配置如表1所示。
表1 軟硬件配置表
針對(duì)整體道路場(chǎng)景分割效果,使用平均交并比(mean intersection over union, IOU)來評(píng)估網(wǎng)絡(luò)分割性能。IOU為預(yù)測(cè)信息和標(biāo)注信息的交集區(qū)域與其并集區(qū)域的比值,公式如下:
(3)
式中:Predicted為預(yù)測(cè)像素點(diǎn)數(shù)量;GroundTruth為標(biāo)注像素點(diǎn)數(shù)量。
平均交并比為所有標(biāo)簽類IOU值的平均值。
針對(duì)車道線檢測(cè)效果評(píng)估,采用車道線檢測(cè)有效像素PredictedPixel相比原始車道線標(biāo)注像素GroundPixel的方法,比值越大說明車道線檢測(cè)準(zhǔn)確率越精確。公式如下:
(4)
雖然空間金字塔池化能夠聚合不同區(qū)域的上下文信息,從而提高獲取全局信息的能力,但當(dāng)其池化尺度個(gè)數(shù)超過一定數(shù)量時(shí),只會(huì)導(dǎo)致模型訓(xùn)練時(shí)間變長(zhǎng),而分割效果并不提升。因此筆者針對(duì)池化尺度個(gè)數(shù)對(duì)整體網(wǎng)絡(luò)的性能影響做了測(cè)試,測(cè)試數(shù)據(jù)如表2所示。
表2 SPPS模塊比較
由表2可知,選用4個(gè)池化尺度的空間金字塔結(jié)構(gòu)時(shí)網(wǎng)絡(luò)分割效果最優(yōu),同時(shí)比不帶有SPPS的網(wǎng)絡(luò)的Mean IOU提高了3.4%。但當(dāng)池化尺度個(gè)數(shù)超過4個(gè)時(shí)Mean IOU出現(xiàn)下降,其原因是出現(xiàn)過擬合現(xiàn)象,模型泛化能力降低。實(shí)驗(yàn)結(jié)果表明SPPS結(jié)構(gòu)在車道線檢測(cè)的任務(wù)中能有效提升分割效果,并且在池化尺度個(gè)數(shù)為4時(shí)取得最優(yōu)效果,分割效果如圖4所示。
圖4 SPPS分割效果對(duì)比圖
為了解決圖像中樣本分布不均勻的問題,使用了加權(quán)交叉熵?fù)p失函數(shù)來提高車道線的分割準(zhǔn)確率,從而提高車道線檢測(cè)精度。
圖5為標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)情況下的車道線檢測(cè)準(zhǔn)確率。在網(wǎng)絡(luò)迭代了10 000次以后,準(zhǔn)確率僅僅只有82.34%。由于沒有使用加權(quán)損失函數(shù)導(dǎo)致車道線像素點(diǎn)樣本和道路背景像素點(diǎn)樣本不均勻,這就導(dǎo)致在對(duì)像素點(diǎn)分類時(shí)無法正確分類,出現(xiàn)遮擋陰影時(shí)更會(huì)影響車道線的檢測(cè)。
圖5 標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)的車道線檢測(cè)準(zhǔn)確率
圖6為使用加權(quán)交叉熵?fù)p失函數(shù)后的車道線檢測(cè)準(zhǔn)確率。在迭代8 000次后檢測(cè)準(zhǔn)確率達(dá)到了95.56%。其原因是在使用了加權(quán)交叉熵?fù)p失函數(shù)后,車道線分割的有效像素點(diǎn)得到放大,提高了車道線分割的準(zhǔn)確率。對(duì)比兩次實(shí)驗(yàn)結(jié)果證明加權(quán)損失函數(shù)能有效提升車道線檢測(cè)精度。
圖6 使用加權(quán)交叉熵?fù)p失函數(shù)后的車道線檢測(cè)準(zhǔn)確率
表3針對(duì)同一實(shí)驗(yàn)樣本給出了本文模型與其他模型的車道線檢測(cè)準(zhǔn)確率,Mean IOU和平均單幅圖像處理耗時(shí)的對(duì)比。因?yàn)镾PPS模塊的引入導(dǎo)致額外計(jì)算耗時(shí),所以平均耗時(shí)沒有取得最短時(shí)間。但加權(quán)交叉熵?fù)p失函數(shù)的使用和SPPS模塊的引入,使得本文模型取得了最高的車道線檢測(cè)準(zhǔn)確率和Mean IOU。
表3 車道線檢測(cè)準(zhǔn)確率比較
實(shí)驗(yàn)結(jié)果表明K-means聚類這種傳統(tǒng)檢測(cè)模型,其車道線檢測(cè)準(zhǔn)確率遠(yuǎn)不如其他結(jié)合深度學(xué)習(xí)的模型。FCN結(jié)合CRF條件隨機(jī)場(chǎng)的方法雖然提升了檢測(cè)準(zhǔn)確率,但其處理單幅圖像的平均耗時(shí)最長(zhǎng)。SegNet模型對(duì)比于FCN結(jié)合隨機(jī)條件場(chǎng)的方式,車道線檢測(cè)準(zhǔn)確率和平均耗時(shí)都有較大提升。MFCN模型對(duì)比于其他模型雖然平均耗時(shí)不是最短,但其在車道線檢測(cè)和道路場(chǎng)景語義分割都有著最優(yōu)表現(xiàn)。后期工作可以在保證車道線檢測(cè)準(zhǔn)確率和Mean IOU不下降的情況下,通過提升硬件設(shè)備或者設(shè)計(jì)更優(yōu)的SPPS模塊來減少平均耗時(shí)。
筆者基于FCN,提出了一種融合上下文信息的多尺度分割網(wǎng)絡(luò)結(jié)構(gòu)對(duì)道路圖像進(jìn)行語義分割。通過加入SPPS提取圖像的多尺度信息,從而使得整體輪廓信息與細(xì)節(jié)紋理結(jié)合,減少了空間特征信息的丟失,并在上采樣過程中結(jié)合FCN的跳躍結(jié)構(gòu),融合SPPS的多尺度特征圖來強(qiáng)化輸出,使得邊緣分割更加細(xì)致。除此之外筆者還利用加權(quán)交叉熵?fù)p失函數(shù),解決車道線樣本不均勻的問題,提升車道線檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,利用本文的方法能夠較為精準(zhǔn)的對(duì)道路路面和車道線進(jìn)行分割,分割效果也有提高,性能明顯優(yōu)于傳統(tǒng)的K-means聚類的分割方法。