周 曉,李新成,王進(jìn)舉
(武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)
車道線是人工駕駛和自動(dòng)駕駛車輛需要識(shí)別的重要目標(biāo)之一[1]。但是一般情況下,車道線所處環(huán)境惡劣,在長時(shí)間的服役中,會(huì)出現(xiàn)不同程度的磨損、變色、變形等損壞,造成交通事故,因此需要對車道線損壞進(jìn)行及時(shí)檢測和修復(fù)[2-3]。
目前,對于車道線的損壞檢測主要有人工檢測和圖像處理檢測[4]。人工檢測是通過檢測員多年經(jīng)驗(yàn),對車道線進(jìn)行評估來判別損壞程度,準(zhǔn)確度較高,但是工作量大、效率低[5]。圖像處理檢測一般是利用傳統(tǒng)的圖像處理技術(shù),根據(jù)車道線某一特征,如磨損面積、截?cái)嚅L度等進(jìn)行損壞程度的評估,具有效率高、易保存等優(yōu)點(diǎn),但是也存在準(zhǔn)確度低、魯棒性差等缺點(diǎn)[6]。
筆者將人工檢測對于車道線損壞程度評定標(biāo)準(zhǔn)定義為車道線的健康度,并對健康度分級,將車道線損壞檢測轉(zhuǎn)化為健康度評估分類任務(wù)。由于深度學(xué)習(xí)在分類任務(wù)中比傳統(tǒng)圖像處理方法具有更高的準(zhǔn)確率、魯棒性[7],因此筆者提出了一種基于深度學(xué)習(xí)的車道線健康度評估系統(tǒng)。首先利用IPM(inverse perspective mapping)變換消除車道線透視變形,基于Mask R-CNN網(wǎng)絡(luò)進(jìn)行車道線區(qū)域分割,然后基于車道線區(qū)域分割結(jié)果和ResNet網(wǎng)絡(luò)進(jìn)行健康度評估。實(shí)驗(yàn)證明,該系統(tǒng)在車道線區(qū)域檢測上的AP(average precision)指標(biāo)可以達(dá)到0.79,車道線健康度評估準(zhǔn)確率可以達(dá)到95%。
車道線健康度檢測系統(tǒng)主要由圖像采集系統(tǒng)和圖像處理系統(tǒng)組成。圖像采集系統(tǒng)由兩個(gè)工業(yè)相機(jī)、同步觸發(fā)裝置、相機(jī)支架及PC組成。同步觸發(fā)裝置按照設(shè)定的頻率發(fā)送觸發(fā)信號(hào)觸發(fā)兩個(gè)工業(yè)相機(jī)同步采集圖像,然后通過USB將圖像數(shù)據(jù)發(fā)送到PC端進(jìn)行保存和圖像數(shù)據(jù)處理,圖1為數(shù)據(jù)采集系統(tǒng)各組件相對位置關(guān)系。兩個(gè)工業(yè)相機(jī)能夠提供兩個(gè)視角,可以采集到車輛行駛道路上的所有車道線,增加了數(shù)據(jù)的豐富性。
圖1 各組件相對位置圖
PC機(jī)接收工業(yè)相機(jī)采集的車道線圖像數(shù)據(jù),利用圖像處理系統(tǒng)進(jìn)行車道線健康度評估,系統(tǒng)算法流程如圖2所示。算法主要分為3個(gè)階段:①IPM變換,對采集圖像進(jìn)行IPM變換,消除車道線透視變形。②車道線區(qū)域檢測,對IPM變換后圖像中車道線進(jìn)行區(qū)域檢測,通過構(gòu)建車道線區(qū)域檢測數(shù)據(jù)集,標(biāo)記后訓(xùn)練Mask R-CNN網(wǎng)絡(luò)框架實(shí)現(xiàn)車道線檢測。③車道線健康度評估,針對同一車道線不同區(qū)域可能存在不同程度損壞,提取車道線局部區(qū)域進(jìn)行健康度分級,進(jìn)行分類評估,筆者通過構(gòu)建健康度分級基準(zhǔn)數(shù)據(jù)集,標(biāo)記后訓(xùn)練ResNet-34分類器,實(shí)現(xiàn)車道線局部區(qū)域健康度評估。
圖2 圖像處理系統(tǒng)算法流程
相機(jī)拍攝存在透視變形,導(dǎo)致圖像中車道線靠近相機(jī)的部分寬,遠(yuǎn)處的部分較窄,而且清晰的車道線主要集中在圖像下半部分,大部分區(qū)域?qū)τ谲嚨谰€健康度判定并沒有幫助。因此將IPM變換(逆透視變換)作為系統(tǒng)評估算法的第一步,對原圖中局部區(qū)域進(jìn)行IPM變換,消除透視變形,同時(shí)減少算法處理數(shù)據(jù)量。
IPM假設(shè)路面是平坦的,利用相機(jī)內(nèi)參矩陣(焦距,光心位置)、外參矩陣(偏航角、俯仰角)及相機(jī)高度h實(shí)現(xiàn)變換。相機(jī)內(nèi)參矩陣通過相機(jī)標(biāo)定獲取,高度h可以直接測量,外參矩陣則通過定義如圖3所示的坐標(biāo)系關(guān)系圖,推導(dǎo)外參矩陣。
圖3 IPM變換坐標(biāo)系關(guān)系圖
圖像中一點(diǎn)p,其與在地面上對應(yīng)點(diǎn)P的坐標(biāo)對應(yīng)變換關(guān)系T為:
T=h×
P=Tp,其中(fx,fy)為相機(jī)水平和豎直方向的焦距;(u0,v0)為相機(jī)光心在像素坐標(biāo)系下的坐標(biāo);c1=cosα;s1=sinα;c2=cosβ;s2=sinβ,T即為逆透視變換公式。T的逆變換T-1為:
T-1=
利用T和T-1可以實(shí)現(xiàn)針對圖像ROI(region of interest)區(qū)域進(jìn)行IPM變換,如圖4所示。圖4(a)為原圖,分辨率為1 292×964,白色邊框?yàn)镽OI區(qū)域,圖4(b)為IPM變換結(jié)果,分辨率是800×600,每個(gè)像素代表10 mm×10 mm長度,車道線的寬度固定,在豎直方向上相互平行。
圖4 IPM變換示例
車道線區(qū)域檢測的主要目的是檢測出車道線在逆透視變換圖像中位置坐標(biāo),用矩形檢測框框選出車道線圖像區(qū)域,是目標(biāo)檢測問題。
(1)車道線區(qū)域檢測器?;谏疃葘W(xué)習(xí)的目標(biāo)檢測框架有兩種:一階段框架和兩階段框架。兩階段框架,通過主干網(wǎng)絡(luò)提取圖像的特征,然后利用區(qū)域建議網(wǎng)絡(luò)層以生成候選區(qū)域,針對每個(gè)候選區(qū)域,利用主干網(wǎng)絡(luò)特征在頭部網(wǎng)絡(luò)進(jìn)行分類和邊框回歸。Faster R-CNN[8]和Mask RCNN[9]是兩階段框架的典型代表,與一階段框架相比,具有較高的準(zhǔn)確性,但速度較慢。對于一階段框架,不需要區(qū)域建議層,而是直接精確定位和分類出現(xiàn)在圖像中的感興趣對象。一次檢測即可獲得最終結(jié)果,因此檢測速度更快。一階段框架的典型代表有YOLOv3[10],SSD[11]等。表1為4種主要網(wǎng)絡(luò)基于Nvidia Tesla M40 GPU試驗(yàn)平臺(tái),在COCO數(shù)據(jù)集上的AP及時(shí)間性能指標(biāo)對比[12]。
表1 網(wǎng)絡(luò)性能對比
Mask R-CNN檢測時(shí)間是0.195 ms,耗時(shí)最高但可以接受,AP指標(biāo)性能優(yōu)于其他網(wǎng)絡(luò),檢測精度更高。因此采用Mask R-CNN網(wǎng)絡(luò)實(shí)現(xiàn)車道線區(qū)域高精度檢測。Mask R-CNN網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,在每個(gè)感興趣區(qū)域上添加一個(gè)FCN語義分割網(wǎng)絡(luò)分支,能夠有效地檢測出圖像中目標(biāo)的邊界框,并在每個(gè)檢測框中為目標(biāo)對象生成一個(gè)分割掩碼。
圖5 Mask-CNN網(wǎng)絡(luò)結(jié)構(gòu)
(2)數(shù)據(jù)集構(gòu)造。將采集圖像進(jìn)行逆透視變換后,對圖像中的車道線進(jìn)行標(biāo)注。因?yàn)橹恍枰獧z測出車道線區(qū)域,不需要針對車道線進(jìn)一步分類,因此將所有的車道線標(biāo)注成lane,并將同一張圖像中的車道線用序號(hào)區(qū)分開,如圖6所示。筆者挑選2 200張逆透視變換圖像構(gòu)建數(shù)據(jù)集,按照8∶2的比例,從數(shù)據(jù)集中選取1 760份數(shù)據(jù)作為訓(xùn)練集,其余440份數(shù)據(jù)作為測試集。
圖6 車道線區(qū)域檢測數(shù)據(jù)集標(biāo)注圖
(1)車道線局部區(qū)域提取。從車道線區(qū)域檢測數(shù)據(jù)集可以發(fā)現(xiàn)車道線區(qū)域是一個(gè)細(xì)長方形,車道線不同區(qū)域可能有不同的健康度。針對該問題,采用車道線局部區(qū)域提取的方式解決,利用IPM變換后車道線圖像及車道線區(qū)域檢測器Mask R-CNN處理后輸出的車道線位置區(qū)域,采用64×64的窗口,沿著車道線輸出檢測框豎直方向中心,由上到下以32個(gè)像素為間隔滑動(dòng)提取車道線局部區(qū)域,如圖7所示。
圖7 車道線局部區(qū)域提取示例
車道線的寬度在24個(gè)像素左右,采用32×32的窗口,背景環(huán)境信息較少,不利于研究員人工車道線健康度評估,不易制作數(shù)據(jù)集基準(zhǔn),采用128×128的窗口環(huán)境信息過多,車道線區(qū)域占比較小,不利于車道線特征提取,因此采用64×64窗口進(jìn)行局部區(qū)域提取,同時(shí)采用32步長進(jìn)行滑動(dòng),覆蓋整個(gè)車道線區(qū)域,也可以采用更小的步長,但會(huì)加長健康度評估時(shí)間。
(2)健康度評估網(wǎng)絡(luò)。傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)通過串聯(lián)各卷積層的方式提取圖像特征,但是隨著串聯(lián)層數(shù)的加深,網(wǎng)絡(luò)的準(zhǔn)確度出現(xiàn)飽和,甚至出現(xiàn)下降,網(wǎng)絡(luò)收斂也更慢。筆者基于ResNet[13]網(wǎng)絡(luò)框架實(shí)現(xiàn)車道線健康度評估,ResNet首次采用殘差網(wǎng)絡(luò)結(jié)構(gòu)使網(wǎng)絡(luò)結(jié)構(gòu)可以達(dá)到更深的層次,網(wǎng)絡(luò)的表達(dá)能力更強(qiáng),收斂更快。殘差網(wǎng)絡(luò)結(jié)構(gòu)實(shí)際上是將神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)視為一個(gè)函數(shù),傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)直接訓(xùn)練的是自變量的函數(shù)值,而殘差網(wǎng)絡(luò)訓(xùn)練的是函數(shù)值與自變量的殘差,同時(shí)也可以通過“捷徑”還原函數(shù)值。傳統(tǒng)卷積網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)的基本單元結(jié)構(gòu)如圖8所示。
圖8 神經(jīng)網(wǎng)絡(luò)單元結(jié)構(gòu)
綜合考慮模型性能和時(shí)間效率,使用ResNet-34網(wǎng)絡(luò)進(jìn)行車道線健康度分類。ResNet-34網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。
表2 ResNet-34網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)輸入為64×64×3的車道線局部區(qū)域圖像,網(wǎng)絡(luò)首先采用尺寸較大的卷積核,可以將原始圖像盡可能多的映射到高維空間,同時(shí)減少卷積核數(shù)目,避免之后的隱藏層卷積核數(shù)劇增,導(dǎo)致訓(xùn)練困難。最后接入1層全連接層輸出網(wǎng)絡(luò)分類結(jié)果,采用交叉熵?fù)p失函數(shù)代替原網(wǎng)絡(luò)中的Softmax函數(shù)加速訓(xùn)練進(jìn)程。
(3)數(shù)據(jù)集制作。針對車道線局部區(qū)域進(jìn)行車道線健康度評估,利用車道線區(qū)域檢測器處理車道線區(qū)域檢測數(shù)據(jù)集訓(xùn)練集,以交并比IoU判據(jù)作為準(zhǔn)則,將閾值設(shè)置為0.7,將IoU低于目標(biāo)閾值的檢測結(jié)果視為負(fù)樣本并丟棄。然后針對正樣本,采用車道線局部區(qū)域提取方法提取64×64車道線局部區(qū)域。
采用人工識(shí)別對提取車道線局部區(qū)域的健康度進(jìn)行評估標(biāo)記,將健康度分為健康度極差、中等、完好3個(gè)級別,各等級車道線圖像如圖9(a)~圖9(c)所示。其中健康度完好的車道線區(qū)域明亮完整,內(nèi)部不存在缺陷或存在零星孔點(diǎn),健康度中等的車道線磨損輕微或存在較小的截?cái)鄥^(qū)域,而健康度極差則是磨損和截?cái)嗟碾s糅結(jié)果,車道線嚴(yán)重模糊。
圖9 各等級車道線圖像
由于提取的圖像中健康度完好、中等的車道線占據(jù)較大比例,而健康度極差的車道線占比較少,導(dǎo)致各個(gè)級別的車道線數(shù)量不均勻。因此筆者從各個(gè)級別的車道線中隨機(jī)抽取相同數(shù)目的圖像構(gòu)建車道線健康度級別數(shù)據(jù)集,每個(gè)級別抽取900幅圖像,最后按照8∶2的比例劃分訓(xùn)練集與測試集。
為了驗(yàn)證所提出的方法在車道線健康度檢測上的可行性,進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)平臺(tái)為一臺(tái)配備i7 CPU的臺(tái)式電腦,顯卡型號(hào)為GTX1080Ti,操作系統(tǒng)為Ubuntu18.04。
(1)AP指標(biāo)。mAP指標(biāo)是目標(biāo)檢測的重要指標(biāo),通過設(shè)定IoU閾值和置信度閾值,獲取TP,F(xiàn)P,F(xiàn)N值,根據(jù)式(1)和式(2)計(jì)算精度precision和召回率recall,獲取PR曲線,針對每一種檢測類別計(jì)算PR曲線面積獲取目標(biāo)檢測中每一類的平均精準(zhǔn)度,然后將每一類的平均精確度進(jìn)行平均即可得到mAP值。
(1)
(2)
式中:TP為預(yù)測框的IoU值大于閾值的數(shù)目;FP為標(biāo)志預(yù)測框的IoU值小于閾值數(shù)目;FN為未檢測到的真實(shí)邊界框數(shù)目。
交并比IoU為網(wǎng)絡(luò)輸出預(yù)測框與目標(biāo)真實(shí)框重疊程度,定義如圖10所示。
圖10 IoU定義
筆者采用的COCO(common objects in context)的目標(biāo)檢測AP,APIoU=0.5,APIoU=0.75是最重要的3個(gè)指標(biāo)。APIoU=0.5和APIoU=0.75是IoU閾值設(shè)定為0.5,0.75時(shí)的mAP,AP是IoU閾值從0.5到0.95,以0.05間隔取10個(gè)閾值,分別計(jì)算一個(gè)mAP,然后進(jìn)行平均得到AP指標(biāo)。
(2)實(shí)驗(yàn)。為了增強(qiáng)網(wǎng)絡(luò)特征提取能力,采用遷移學(xué)習(xí)的策略。首先在COCO數(shù)據(jù)集上對模型進(jìn)行訓(xùn)練,保留網(wǎng)絡(luò)權(quán)重;然后在車道線區(qū)域檢測數(shù)據(jù)集上進(jìn)行參數(shù)微調(diào)。在大規(guī)模數(shù)據(jù)集上充分訓(xùn)練,網(wǎng)絡(luò)得到的圖像特征不僅具有更強(qiáng)的表達(dá)能力,并且具有更好的泛化能力。
在車道線區(qū)域檢測數(shù)據(jù)集上訓(xùn)練模型時(shí)采用Mini-batch梯度下降算法,每4張圖像為一個(gè)批次,網(wǎng)絡(luò)學(xué)習(xí)率為0.005,學(xué)習(xí)衰減率為0.000 5和動(dòng)量值為0.9。訓(xùn)練完成后在測試集上檢測網(wǎng)絡(luò)性能,表3為Mask R-CNN網(wǎng)絡(luò)的性能指標(biāo)。
表3 Mask R-CNN網(wǎng)絡(luò)性能指標(biāo)
AP越高,檢測結(jié)果就越準(zhǔn)確。文中AP值79.0與COCO數(shù)據(jù)集上的AP值38.2相比要高得多。導(dǎo)致高AP值的原因如下:①分類任務(wù)很簡單,只針對車道線和背景進(jìn)行分類。②測試集車道線區(qū)域大,由于檢測大目標(biāo)更容易,平均后AP值高。③圖像場景單調(diào),訓(xùn)練集和測試集有許多場景重疊。盡管有這些因素,實(shí)驗(yàn)結(jié)果仍然很好,圖11為一些Mask R-CNN網(wǎng)絡(luò)檢測實(shí)例圖像。IoU值設(shè)置越低,預(yù)測正確檢測框越多,相應(yīng)AP值越高,本文結(jié)果與理論相符。
圖11 Mask R-CNN網(wǎng)絡(luò)檢測實(shí)例
在訓(xùn)練分類器時(shí),利用遷移學(xué)習(xí)的方式,采用ImageNet對ResNet-34進(jìn)行預(yù)訓(xùn)練,然后利用健康度評估數(shù)據(jù)集進(jìn)行分類器訓(xùn)練,增加網(wǎng)絡(luò)的圖像特征表達(dá)能力,使其具有更好的泛化能力。
訓(xùn)練過程中,利用Mini-batch SGD方法作為優(yōu)化方法進(jìn)行訓(xùn)練,批大小設(shè)置為64。在輸入到神經(jīng)網(wǎng)絡(luò)之前,通過對圖像進(jìn)行水平翻轉(zhuǎn)、豎直翻轉(zhuǎn)、中心裁剪、隨機(jī)裁剪等預(yù)操作,增加數(shù)據(jù)的豐富性,將學(xué)習(xí)率設(shè)為0.000 1進(jìn)行微調(diào),同時(shí)采用交叉熵?fù)p失函數(shù)代替原算法中的Softmax函數(shù)加速訓(xùn)練進(jìn)程。訓(xùn)練的損失函數(shù)曲線和準(zhǔn)確率曲線如圖12(a)和圖12(b)所示,網(wǎng)絡(luò)在訓(xùn)練20輪后基本就達(dá)到了最優(yōu)。
圖12 訓(xùn)練損失函數(shù)曲線和準(zhǔn)確率曲線
訓(xùn)練完成后在測試集上檢測網(wǎng)絡(luò)性能,采用準(zhǔn)確率、精確率、召回率和F1得分作為分類網(wǎng)絡(luò)的評定標(biāo)準(zhǔn),并且與傳統(tǒng)的HOG-SVM進(jìn)行了對比實(shí)驗(yàn),評價(jià)參數(shù)對比如表4所示。從表4可知,本文算法在車道線健康度評估中的準(zhǔn)確率、精確率、召回率和F1得分方面與HOG-SVM相比均處于優(yōu)勢狀態(tài)。
表4 評價(jià)參數(shù)對比
圍繞車道線健康度評估問題,首先設(shè)計(jì)雙相機(jī)數(shù)據(jù)采集系統(tǒng)并采集車道線圖像,然后基于IPM變換消除車道線透視變形問題,在此基礎(chǔ)上構(gòu)建車道線區(qū)域檢測數(shù)據(jù)集,訓(xùn)練Mask R-CNN網(wǎng)絡(luò),實(shí)現(xiàn)車道線區(qū)域提取。由于同一車道線不同區(qū)域可能存在不同程度損壞,健康度也不相同,為準(zhǔn)確進(jìn)行健康度評估,結(jié)合區(qū)域檢測器輸出位置信息及IPM原圖,提取車道線局部區(qū)域,并構(gòu)建健康度分級評估數(shù)據(jù)集,訓(xùn)練ResNet網(wǎng)絡(luò),實(shí)現(xiàn)健康度評估。實(shí)驗(yàn)結(jié)果表明,本文健康度評估方法具有可行性,所提出的基于深度學(xué)習(xí)的車道線健康度分類評估對包含復(fù)雜變化的車道線識(shí)別準(zhǔn)確率更高。