趙 旋,黃崇棟,劉云濤,朱永東
(之江實(shí)驗(yàn)室,浙江 杭州 311121)
隨著自動(dòng)駕駛行業(yè)的發(fā)展,全景駕駛感知系統(tǒng)相關(guān)算法的研究顯得尤為重要,特別是在復(fù)雜交通環(huán)境下的高準(zhǔn)確度實(shí)時(shí)道路感知一直是業(yè)界的痛點(diǎn)之一。通過攝像頭提取到的圖像數(shù)據(jù)信息,基于視覺的感知算法能有效提取到自動(dòng)駕駛車輛所需要的道路信息,包括車道位置、道路是否可行駛等,而在復(fù)雜交通環(huán)境下,道路環(huán)境的信息會(huì)受到比較大的影響,如何在復(fù)雜交通環(huán)境下提高可行駛區(qū)域識(shí)別和車道線檢測(cè)的性能和效率是規(guī)劃車輛行駛路線的關(guān)鍵技術(shù)。
目前大多數(shù)對(duì)于車道線檢測(cè)、可行駛區(qū)域識(shí)別的研究是獨(dú)立進(jìn)行的,例如ENet[1]和PSPNet[2]實(shí)現(xiàn)的可行駛區(qū)域識(shí)別算法,SCNN[3]和Lanenet[4]用于檢測(cè)車道。對(duì)于自動(dòng)駕駛領(lǐng)域來說,需要同時(shí)具備高精度和高實(shí)時(shí)性,然而在實(shí)際場(chǎng)景中計(jì)算資源往往是邊際的、有限的,因此如何在保證高性能的同時(shí)高效地實(shí)現(xiàn)自動(dòng)駕駛感知算法的應(yīng)用具有非常大的挑戰(zhàn)。
車道線和可行駛區(qū)域都屬于道路信息,具有非常多相同或相關(guān)的特征信息,例如車道線必須存在于可行駛區(qū)域中,且可行駛區(qū)域的邊緣很有可能存在車道線。因此,一個(gè)能夠捕獲這些關(guān)聯(lián)信息的組織良好且統(tǒng)一的網(wǎng)絡(luò)結(jié)構(gòu)有望比單獨(dú)的網(wǎng)絡(luò)取得更好的效果,可以有效解決復(fù)雜交通環(huán)境下道路特征信息的損壞、缺失等問題。此外,統(tǒng)一的方法也將有利于計(jì)算效率,使其更容易部署在自動(dòng)駕駛汽車的車載系統(tǒng)上。
在多任務(wù)聯(lián)合網(wǎng)絡(luò)研究領(lǐng)域,Mask R-CNN[5]被提出用于聯(lián)合檢測(cè)對(duì)象和分割實(shí)例,每個(gè)任務(wù)都達(dá)到了最先進(jìn)的性能,但不能檢測(cè)可行駛區(qū)域和車道線。MultiNet[6]通過一個(gè)架構(gòu)進(jìn)行聯(lián)合分類、檢測(cè)和語義分割,在多個(gè)任務(wù)中表現(xiàn)良好,但不支持車道線檢測(cè)任務(wù)。
為了在保證高性能和高效率的同時(shí),實(shí)現(xiàn)自動(dòng)駕駛中車道線檢測(cè)和可行駛區(qū)域識(shí)別,提出了一種復(fù)雜交通環(huán)境下基于多任務(wù)學(xué)習(xí)的道路感知網(wǎng)絡(luò)(Multi-task Learning-based Road Perception Network in Complex Traffic Environment,MLRPNet)。MLRPNet主要提出了以下三方面的改進(jìn):對(duì)車道線和可行駛區(qū)域的道路特征信息進(jìn)行共享,有效提高道路感知的準(zhǔn)確率;采用Transformer的Encoder模塊以提取特征圖上對(duì)應(yīng)車道線anchor的全局信息,提高了網(wǎng)絡(luò)對(duì)車道線預(yù)測(cè)的擬合水平;結(jié)合空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)在語義分割領(lǐng)域的優(yōu)勢(shì),將其用于可行駛區(qū)域識(shí)別中,可提高道路區(qū)域特征的提取,提高復(fù)雜交通環(huán)境下可行駛區(qū)域識(shí)別的精度和魯棒性。
經(jīng)典的基于深度學(xué)習(xí)的車道線檢測(cè)和可行駛區(qū)域識(shí)別算法大多數(shù)是獨(dú)立算法,實(shí)際道路情況中,車道線和可行駛區(qū)域具有非常多相同或相關(guān)的特征信息,例如在圖1中,可行駛區(qū)域的邊緣一般為車道線,即一般情況下,車道線會(huì)包裹可行駛區(qū)域,如何利用二者之間的特征信息和道路關(guān)系實(shí)現(xiàn)復(fù)雜交通環(huán)境下的道路感知,并在保證準(zhǔn)確率的情況下提高實(shí)時(shí)性是本文的研究重點(diǎn)。首先對(duì)這2個(gè)方向的算法做一些簡(jiǎn)單介紹,然后再介紹一些常見的多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)。

(a)模型輸入圖像

(b)車道線檢測(cè)輸出圖像

(c)可行駛區(qū)域識(shí)別輸出圖像
在車道檢測(cè)中,基于深度學(xué)習(xí)的研究有很多創(chuàng)新。Lanenet[4]構(gòu)建了雙分支網(wǎng)絡(luò),對(duì)圖像進(jìn)行語義分割和像素嵌入,進(jìn)一步對(duì)雙分支特征進(jìn)行聚類,實(shí)現(xiàn)車道實(shí)例分割。PolyLaneNet[7]是一種用于端到端車道線檢測(cè)估計(jì)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network CNN),能夠直接輸出代表圖像中每個(gè)車道標(biāo)記的多項(xiàng)式。SCNN[3]提出了一種在特征圖中的片連片卷積,使消息能夠在像素之間跨行、跨列傳遞,但這種卷積非常耗時(shí)。文獻(xiàn)[8]提出了一種新穎的基于錨點(diǎn)的注意力機(jī)制,該機(jī)制聚集了全局信息。
在可行駛區(qū)域識(shí)別領(lǐng)域,一類是基于圖像和激光點(diǎn)云數(shù)據(jù)融合的算法,此類方法能有效融合雷達(dá)和圖像的數(shù)據(jù)特征,具有較高的識(shí)別準(zhǔn)確率。SNE-RoadSeg[9]對(duì)深度圖的法向量和圖像融合,能有效獲取空間結(jié)構(gòu)信息。PLARD[10]對(duì)點(diǎn)云梯度圖和RGB圖像信息進(jìn)行融合,實(shí)現(xiàn)了性能最優(yōu)的方案。另一類是基于純圖像的算法,由于深度學(xué)習(xí)的快速發(fā)展,許多基于CNN的方法在語義分割領(lǐng)域取得了巨大的成功,它們可以應(yīng)用于可行駛區(qū)域識(shí)別任務(wù),提供像素級(jí)的結(jié)果。FCN[11]第一個(gè)將全卷積網(wǎng)絡(luò)應(yīng)用到語義分割領(lǐng)域,但其性能受到了低分辨率輸出的限制。PSPNet[2]提出了金字塔池化模塊,用于提取不同尺度的特征,提高性能。在提升算法效率方面,ENet[1]通過減小特征映射的大小實(shí)現(xiàn)推理的實(shí)時(shí)性。
多任務(wù)學(xué)習(xí)的目標(biāo)是通過多個(gè)任務(wù)之間的共享信息來學(xué)習(xí)更好的表征,特別是基于CNN的多任務(wù)學(xué)習(xí)方法也可以實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的卷積共享。Mask R-CNN[5]是在Faster R-CNN[12]的基礎(chǔ)上進(jìn)行了擴(kuò)展,增加了預(yù)測(cè)目標(biāo)掩碼的分支,將實(shí)例分割和目標(biāo)檢測(cè)任務(wù)有效地結(jié)合在一起,這2個(gè)任務(wù)可以相互促進(jìn)性能。LSNet[13]將目標(biāo)檢測(cè)、實(shí)例分割和姿態(tài)估計(jì)總結(jié)為位置敏感視覺識(shí)別,并使用統(tǒng)一的解決方案來處理這些任務(wù)。MultiNet[6]通過一個(gè)共享的編碼器和3個(gè)獨(dú)立的解碼器,同時(shí)完成場(chǎng)景分類、目標(biāo)檢測(cè)和駕駛區(qū)域分割3個(gè)場(chǎng)景感知任務(wù)。DLT-Net[14]繼承了編碼器-解碼器結(jié)構(gòu),并在子任務(wù)解碼器之間貢獻(xiàn)構(gòu)建上下文張量,以在任務(wù)之間共享指定信息。
自動(dòng)駕駛中的道路感知任務(wù)包括車道線檢測(cè)與可行駛區(qū)域識(shí)別,在DLT-NET[14]中提到可行駛區(qū)域與車道線之間具備部分共同的特征信息。利用多任務(wù)學(xué)習(xí)能將2種感知任務(wù)結(jié)合,通過共享一部分特征信息來提升2種任務(wù)的感知準(zhǔn)確率,尤其針對(duì)復(fù)雜交通環(huán)境下存在的道路信息干擾、遮擋,光照過亮、過暗或不均,大霧大雨等視線受損的情況,能夠通過特征信息共享的方式得到一定的優(yōu)化。多任務(wù)學(xué)習(xí)的道路感知避免采用2類模型分別解決感知問題,提高了感知任務(wù)的效率。
復(fù)雜交通環(huán)境下基于多任務(wù)學(xué)習(xí)的道路感知算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,采用硬約束的多任務(wù)學(xué)習(xí)方法,車道線檢測(cè)與可行駛區(qū)域識(shí)別共用一個(gè)特征提取的ResNet34主干網(wǎng)絡(luò),主干網(wǎng)絡(luò)由4個(gè)殘差塊與首尾的池化處理構(gòu)成。通過共享特征提取的底層參數(shù),聯(lián)合多個(gè)相關(guān)任務(wù),一方面可以降低模型的過擬合風(fēng)險(xiǎn),另一方面通過特征信息的互補(bǔ)可以有效提高復(fù)雜交通環(huán)境下特征缺失、受損時(shí)的特征提取能力。獨(dú)立的檢測(cè)輸出層所應(yīng)對(duì)的車道線檢測(cè)與可行駛區(qū)域識(shí)別任務(wù)處理的場(chǎng)景數(shù)據(jù)具備圖像的空間特征信息一致性,可行使區(qū)域同樣是車道線的所在區(qū)域,且存在邊界的對(duì)應(yīng)關(guān)系。共享主干網(wǎng)絡(luò)能提高模型對(duì)特征的學(xué)習(xí)能力。

圖2 基于多任務(wù)學(xué)習(xí)的道路感知算法網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Architecture of MLRPNet
經(jīng)過主干網(wǎng)絡(luò)ResNet34提取到特征信息后,模型輸出層分為2路,各自對(duì)應(yīng)一類感知任務(wù)。車道線檢測(cè)模塊采用基于行錨點(diǎn)(Line-Anchor,LA)的檢測(cè)方法,車道線的錨點(diǎn)設(shè)計(jì)沿用Line-CNN[15]的設(shè)計(jì)方式,利用對(duì)數(shù)據(jù)的先驗(yàn)知識(shí),仿照車道線的射線形態(tài),分別從圖像的底邊與左右兩邊上均勻取數(shù)個(gè)點(diǎn),對(duì)每條邊規(guī)劃一組方向角,左邊界取(0°,90°),右邊界取(90°,180°),底邊取(0°,180°),3條邊上每個(gè)點(diǎn)沿各自的方向角分別構(gòu)造射線,即得到車道線的車道線錨點(diǎn)組。通過一個(gè)錨點(diǎn)映射(Anchor Mapping,AM)模塊可以得到錨線在特征圖上的映射,對(duì)每個(gè)起始點(diǎn)(xorg,yorg)以及發(fā)散角θ,其在特征圖上的特征點(diǎn)(xi,yi)表示可由式(1)確定:
(1)
基于車道線錨點(diǎn)的檢測(cè)方法能加速學(xué)習(xí)過程,避免預(yù)測(cè)結(jié)果產(chǎn)生較大波動(dòng),使模型專注于提高對(duì)車道線預(yù)測(cè)的擬合水平。
復(fù)雜交通環(huán)境場(chǎng)景通常存在大量的車輛、行人及非機(jī)動(dòng)車,會(huì)對(duì)車道線產(chǎn)生遮擋覆蓋等。此外,道路線標(biāo)志會(huì)隨著時(shí)間推移而發(fā)生缺損,或是由于夜晚、柏油路反光以及惡劣天氣等外界因素而模糊,導(dǎo)致通過圖像對(duì)復(fù)雜場(chǎng)景的道路線進(jìn)行檢測(cè)更具挑戰(zhàn)性。為了解決遮擋、覆蓋及光照條件等復(fù)雜場(chǎng)景下難以檢測(cè)的問題,基于多任務(wù)學(xué)習(xí)的道路感知算法采用Transformer[16]的編碼器模塊以提取特征圖上對(duì)應(yīng)車道線錨點(diǎn)的全局信息。本文采用的Transformer的編碼器模塊核心是一個(gè)帶有4個(gè)輸出層的多頭注意力層,用以計(jì)算上一層輸出的車道線特征之間的關(guān)聯(lián)信息。將Transformer的輸出分別做回歸與分類計(jì)算,分類層區(qū)分特征是否為車道,其輸出記為cp;回歸層計(jì)算預(yù)測(cè)車道線相對(duì)于車道線錨點(diǎn)的水平偏移以及預(yù)測(cè)線的長(zhǎng)度,其輸出記為xp和lp。

(2)
式中:N為點(diǎn)集內(nèi)的總點(diǎn)數(shù),w為近點(diǎn)車道的偏移范圍,b為遠(yuǎn)點(diǎn)車道的固定偏移范圍。
網(wǎng)絡(luò)的總損失由車道類別損失、長(zhǎng)度計(jì)算損失以及IoU損失共同組成,即:
Llane=λLcls(cp,cg)+Llen(lp,lg)+μLIoU(xp,xg),
(3)
式中:λ和μ為損失的平衡系數(shù)。
復(fù)雜交通環(huán)境下會(huì)存在道路特征信息磨損、缺失的情況,導(dǎo)致可行駛區(qū)域識(shí)別過程中出現(xiàn)目標(biāo)丟失、目標(biāo)識(shí)別錯(cuò)誤等問題。針對(duì)此類問題,基于多任務(wù)學(xué)習(xí)的道路感知方法采用基于空洞卷積計(jì)算的ASPP的可行駛區(qū)域識(shí)別網(wǎng)絡(luò)進(jìn)行區(qū)域分割。分割任務(wù)對(duì)分辨率有較高要求,通常會(huì)對(duì)特征圖進(jìn)行上采樣以滿足分割需求,但上采樣過程計(jì)算量較大。為了解決分辨率需求與計(jì)算效率的問題,DeepLabV2[18]提出了一種使用空洞卷積計(jì)算的ASPP模塊對(duì)特征圖進(jìn)行處理,可以在不下采樣的情況下增加網(wǎng)絡(luò)的感受野,從而增加網(wǎng)絡(luò)獲得多尺度感受野的能力。采用ASPP模塊能夠在擴(kuò)大感受野的同時(shí),通過堆疊不同權(quán)重間隔的空洞卷積結(jié)果,得到具備全局信息且維持較高分辨率的特征。
可行使區(qū)域分割模型引入ASPP模塊對(duì)特征圖進(jìn)行處理,一方面可以提高計(jì)算效率,另一方面通過提取到的全局特征信息提高復(fù)雜交通環(huán)境下可行駛區(qū)域特征提取的精度和魯棒性。網(wǎng)絡(luò)的輸入同樣為特征提取網(wǎng)絡(luò)的輸出,得到的特征圖再輸入到ASPP模塊,分別由6、12、18的空洞系數(shù)rate進(jìn)行卷積,得到3種不同感受野下的空洞卷積特征,堆疊后輸出到分割模型的解碼器中,示例如圖3所示。

圖3 ASPP模塊示意Fig.3 Schematic of ASPP module
經(jīng)過ASPP模塊處理后的特征再通過解碼器做上采樣,得到維度為(w,h,2)的分割結(jié)果Segpred,其中(w,h)是輸入圖像的原始寬高,Segpred表示原尺寸圖上每個(gè)像素點(diǎn)是可行駛區(qū)域或背景的概率。損失函數(shù)計(jì)算輸出圖上像素與目標(biāo)之間的分類誤差,采用交叉熵?fù)p失,即:
Ldrive=Lce(Segpred,Segtarget),
(4)
式中:Segtarget表示可通行域分割的目標(biāo)結(jié)果圖。
BDD100K[19]是自動(dòng)駕駛領(lǐng)域一個(gè)包含道路目標(biāo)、車道線和可行駛區(qū)域的公開數(shù)據(jù)集,也是目前計(jì)算機(jī)視覺領(lǐng)域規(guī)模最大、最多樣化的開源視頻數(shù)據(jù)集。數(shù)據(jù)集由100 000個(gè)視頻組成,每個(gè)視頻大約40 s,720P,30幀/秒,涵蓋了不同的天氣狀況,包含晴天、陰天和雨天以及在白天和黑夜的不同時(shí)間。數(shù)據(jù)集進(jìn)行了圖像標(biāo)記、道路對(duì)象邊界框、可駕駛區(qū)域、車道標(biāo)記線和全幀實(shí)例分割。表1給出了BDD100K數(shù)據(jù)集和當(dāng)前主流交通領(lǐng)域數(shù)據(jù)集的對(duì)比。

表1 交通領(lǐng)域不同數(shù)據(jù)集比較Tab.1 Comparison between different datasets
從表1可以看出,BDD100K不但具有數(shù)量龐大的數(shù)據(jù),同時(shí)包含車道線數(shù)據(jù)和可行駛區(qū)域數(shù)據(jù)而且還具有更多的復(fù)雜場(chǎng)景,包括不同城市、不同天氣和一天的不同時(shí)間段等。實(shí)驗(yàn)將在該數(shù)據(jù)集上對(duì)本文算法和對(duì)比算法進(jìn)行測(cè)試對(duì)比。
網(wǎng)絡(luò)的輸入數(shù)據(jù)維度為1 280×720×3,經(jīng)主干網(wǎng)絡(luò)提取后得到32倍降采樣下的512維特征圖。Transform Encoder設(shè)置檢測(cè)頭為4,激活函數(shù)采用ReLU。實(shí)驗(yàn)共設(shè)置40個(gè)epoch,Batch Size設(shè)為8。實(shí)驗(yàn)使用 Pytorch 庫在 Python 上實(shí)現(xiàn),并在GPU環(huán)境為NVIDIA GTX TITAN Xp的服務(wù)器上進(jìn)行訓(xùn)練測(cè)試。
3.2.1 車道線檢測(cè)
在BDD100K數(shù)據(jù)集上對(duì)包含可行駛區(qū)域識(shí)別模塊在內(nèi)的多任務(wù)道路感知模型進(jìn)行了測(cè)試,測(cè)試結(jié)果如表2所示,其中Accuracy=Npred/Ngt,Npred表示預(yù)測(cè)正確的車道線點(diǎn)數(shù),Ngt表示Ground-truth車道線點(diǎn)數(shù)。由表2可以看出,聯(lián)合可行駛區(qū)域的多任務(wù)學(xué)習(xí)顯著提高了模型的車道線檢測(cè)準(zhǔn)確率,準(zhǔn)確率較ENet[1]等提高了30%,稍低于YOLOP[21],但檢測(cè)速度更快,在提高檢測(cè)準(zhǔn)確率的同時(shí)保證了檢測(cè)效率。

表2 BDD100K車道線檢測(cè)結(jié)果對(duì)比Tab.2 Comparison of lane detection results on BDD100K
測(cè)試數(shù)據(jù)集上的車道線檢測(cè)結(jié)果可視化如圖4所示,測(cè)試數(shù)據(jù)的可視化結(jié)果分為白天光照充足路段以及夜間光照不足路段。由可視化測(cè)試結(jié)果圖可以看出,本文的車道線檢測(cè)方法能夠在城市道路內(nèi)對(duì)不同光照條件下場(chǎng)景的車道線準(zhǔn)確檢測(cè)。

(a)白天路段
3.2.2 可行駛區(qū)域識(shí)別
在訓(xùn)練測(cè)試中將BDD100K數(shù)據(jù)集中的“area/drivable”和“area/alternative”兩類都?xì)w為“drivable area”。本文模型只需要區(qū)分圖像中的可行駛區(qū)域和背景。可行駛區(qū)域識(shí)別的可視化結(jié)果如圖5所示。與車道線檢測(cè)劃分相同,可視化結(jié)果測(cè)試數(shù)據(jù)同樣分為白天光照充足路段以及夜間光照不足路段。

(a)常規(guī)場(chǎng)景
與經(jīng)典算法的對(duì)比測(cè)試結(jié)果如表3所示。可行駛區(qū)域識(shí)別使用平均交并比(mIoU)來評(píng)估模型的分割性能,mIoU表示所有類別交集和并集之比的平均值。
由表3可以看出,MLRPNet的mIoU比MultiNet、ERFNet、DLT-Net和PSPNet分別高出19.7%、 22.6%、19.2%和1.7%,比YOLOP略低,但推理速度比YOLOP略高,在保證性能的同時(shí)提高了效率。

表3 可行駛區(qū)域識(shí)別結(jié)果對(duì)比Tab.3 Comparison of drivable area segmentation results
本文分析了在復(fù)雜交通環(huán)境下道路感知領(lǐng)域內(nèi)的車道線檢測(cè)與可行駛區(qū)域識(shí)別任務(wù)的共同點(diǎn),針對(duì)感知任務(wù)獨(dú)立訓(xùn)練推理效率低、無法利用共同場(chǎng)景信息的問題,利用2類任務(wù)之間存在的關(guān)聯(lián),設(shè)計(jì)了基于多任務(wù)學(xué)習(xí)的道路感知算法。由于車道線與可行駛區(qū)域在圖像上的重疊,2類任務(wù)具備同樣的感興趣區(qū)域,通過共享一個(gè)特征提取的主干網(wǎng)絡(luò)參數(shù)使模型快速學(xué)習(xí)有效特征。同時(shí)針對(duì)可行駛區(qū)域在復(fù)雜交通環(huán)境下特征提取困難的問題,采用ASPP模塊提高特征缺失、特征受損時(shí)的特征提取能力,另外車道線檢測(cè)分支則采用線型錨點(diǎn)做特征映射,通過基于Transformer編碼器模塊提取全局信息。在BDD100K數(shù)據(jù)集上進(jìn)行的車道線檢測(cè)與可行駛區(qū)域識(shí)別任務(wù)的測(cè)試實(shí)驗(yàn)表明,2類任務(wù)共同學(xué)習(xí)能夠顯著提高準(zhǔn)確率,同時(shí)達(dá)到了較高的推理速度,提升了任務(wù)處理效率。