梁興碧
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣東 廣州 510000)
隨著深度學(xué)習(xí)算法的不斷發(fā)展,在目標(biāo)檢測、語義分割和車道線檢測等領(lǐng)域皆積累了豐富的研究成果。例如,F(xiàn)aster R-CNN[1]和YOLOv4[2]等是較為經(jīng)典的目標(biāo)檢測算法;U-Net[3]、FCN[4]、SegNet[5]和PSPNet[6]等是較為經(jīng)典的語義分割算法;SCNN[7]和SADENet[8]等是較為經(jīng)典的車道線檢測算法。盡管這些算法都有出色的性能表現(xiàn),但若一個(gè)接一個(gè)地處理這些任務(wù)會(huì)比一次同時(shí)處理所有任務(wù)需要花費(fèi)更多的時(shí)間。
交通場景理解中的不同任務(wù)往往有很多相關(guān)信息可以互補(bǔ)。比如,車道線往往是可行駛區(qū)域的邊界線,而可行駛區(qū)域通常緊密地圍繞著車輛。因此多任務(wù)網(wǎng)絡(luò)模型更適用于這種場景,主要原因有兩個(gè):(1)它可以通過同時(shí)并行處理多個(gè)任務(wù)而不是按順序逐個(gè)處理,從而加速了推理速度。(2)它可以在多個(gè)任務(wù)之間共享信息,這樣一定程度上會(huì)緩解模型的過擬合,提高了模型的泛化能力。對于駕駛環(huán)境感知系統(tǒng),高精度和實(shí)時(shí)性是最關(guān)鍵的兩個(gè)要求,這關(guān)系到無人駕駛系統(tǒng)能否做出準(zhǔn)確及時(shí)的決策以確保安全行駛。然而,對于實(shí)際的無人駕駛系統(tǒng),計(jì)算資源往往是有限的。因此,在實(shí)際場景中同時(shí)考慮這兩個(gè)要求是非常具有挑戰(zhàn)性的。為了在獲得高精度和高效率的同時(shí)解決駕駛環(huán)境感知網(wǎng)絡(luò)的多任務(wù)問題,即目標(biāo)檢測、可行駛區(qū)域分割和車道線檢測,本文設(shè)計(jì)了一種簡單有效的網(wǎng)絡(luò)架構(gòu)。本研究使用CSPDarknet 作為編碼器從圖像中提取特征,然后將這些特征圖輸入到特征融合模塊,該模塊主要由FPN 和PAN 組成,最后將融合后的特征圖分別輸入到三個(gè)解碼器以完成各自的任務(wù)。
本文選擇CSPDarknet[9]作為特征提取網(wǎng)絡(luò),它支持特征傳播和特征重用,解決了優(yōu)化過程中的梯度重復(fù)問題,從而顯著減少了參數(shù)和計(jì)算量,有利于保證網(wǎng)絡(luò)的實(shí)時(shí)性。本文的特征融合網(wǎng)絡(luò)主要由空間金字塔池(SPP)模塊、特征金字塔網(wǎng)絡(luò)(FPN)模塊和路徑聚合網(wǎng)絡(luò)(PAN)模塊組成。SPP 模塊可以提取并融合不同尺度的特征,F(xiàn)PN 模塊可以自上而下地融合不同語義層次的特征,而PAN 模塊可以自下而上地融合不同語義層次的特征。這三個(gè)模塊結(jié)合可以獲得更好的特征融合效果,使得提取到的特征包含多尺度、多語義層次的信息。
本研究目標(biāo)檢測分支網(wǎng)絡(luò)結(jié)構(gòu)見圖1。文獻(xiàn)[10]在目標(biāo)檢測模型的檢測頭中引入了多種自注意力機(jī)制:尺度感知、空間感知和任務(wù)感知,顯著提高了檢測頭的表示能力。本研究借鑒該方案,在本研究的目標(biāo)檢測分支網(wǎng)絡(luò)中引入了自注意力機(jī)制。其中,尺度感知模塊可根據(jù)目標(biāo)的尺度在適當(dāng)?shù)膶哟紊显鰪?qiáng)特征,使得特征圖對不同尺度變得更加敏感;空間感知模塊可在相同的空間位置聚合不同層次的特征,使得特征圖變得更加稀疏并且聚焦于不同位置的目標(biāo);任務(wù)感知模塊可根據(jù)目標(biāo)的不同卷積核的響應(yīng),引導(dǎo)不同通道的特征圖分別支持不同的任務(wù),比如分類、邊框回歸等。
圖1 目標(biāo)檢測分支網(wǎng)絡(luò)結(jié)構(gòu)圖
本研究將FPN 的底層特征圖輸入到可行駛區(qū)域分割分支網(wǎng)絡(luò),其輸入大小為(W/8,H/8,256)。首先經(jīng)過GAU 模塊,該模塊可提供全局上下文信息,來指導(dǎo)低層特征選擇類別定位信息。然后經(jīng)過三個(gè)上采樣過程,將輸出特征圖恢復(fù)為(W,H,2)的大小,表示輸入圖像中每個(gè)像素對于可行駛區(qū)域和背景的預(yù)測概率。此外,本研究在上采樣層中使用最近鄰插值法,而不是反卷積,降低了計(jì)算成本。
本研究車道線檢測分支網(wǎng)絡(luò)采用與可行駛區(qū)域分割分支網(wǎng)絡(luò)相同的網(wǎng)絡(luò)結(jié)構(gòu)。
本研究的多任務(wù)網(wǎng)絡(luò)結(jié)構(gòu)見圖2。首先通過共享的卷積層提取圖像特征,其次經(jīng)過頸部的特征融合模塊,得到語義信息表征能力更強(qiáng)的特征圖,最后分別輸入三個(gè)任務(wù)各自的解碼器,每個(gè)解碼器都結(jié)合了注意力模塊,以提高解碼器的表征能力。
圖2 多任務(wù)網(wǎng)絡(luò)結(jié)構(gòu)圖
1.6.1 目標(biāo)檢測損失函數(shù)Ldet
本研究目標(biāo)檢測損失函數(shù)Ldet是置信度損失、分類損失和邊界框損失的加權(quán)和,公式如下所示:
其中Lclass和Lconf采用Focal Loss 損失函數(shù),該損失函數(shù)有助于解決樣本不均衡問題,提高模型的性能。而Lbox采用CIOU 損失函數(shù),它考慮了預(yù)測框與標(biāo)簽之間的中心點(diǎn)距離、重疊率和長寬比的相似度,有助于進(jìn)一步提高檢測性能。α1、α2、α3可以調(diào)整對應(yīng)損失的權(quán)重大小以平衡損失。
1.6.2 可行駛區(qū)域分割損失函數(shù)Lda-seg
可行駛區(qū)域分割損失函數(shù)采用帶有Logits 的交叉熵?fù)p失函數(shù),旨在最小化網(wǎng)絡(luò)輸出像素與實(shí)際標(biāo)簽之間的分類誤差。該損失函數(shù)的計(jì)算流程由兩步組成:第一步是對網(wǎng)絡(luò)的最后一層輸出做一個(gè)softmax,求取輸出屬于可行駛區(qū)域的概率;第二步則是對softmax 的輸出和樣本的實(shí)際標(biāo)簽求一個(gè)交叉熵。
1.6.3 車道線檢測損失函數(shù)Lll-seg
車道線檢測損失函數(shù)采用同樣帶有Logits 的交叉熵?fù)p失函數(shù)。
1.6.4 多任務(wù)網(wǎng)絡(luò)損失函數(shù)Lall
本研究多任務(wù)網(wǎng)絡(luò)損失函數(shù)是以上三種損失函數(shù)的加權(quán)和,公式如下所示:
其中γ1、γ2、γ3可以調(diào)整各損失權(quán)重以平衡總損失,有助于模型更好更快地收斂。
BDD100K 數(shù)據(jù)集包含10 萬個(gè)高清視頻序列,是目前規(guī)模最大的無人駕駛數(shù)據(jù)集。該數(shù)據(jù)集涵蓋不同時(shí)間、不同天氣條件(包括晴天、陰天和雨天,以及白天和晚上的不同時(shí)間)和駕駛場景,其數(shù)據(jù)規(guī)模大,多樣性豐富。
為了使目標(biāo)檢測器能夠獲得更多關(guān)于交通場景中車輛的先驗(yàn)知識(shí),本研究使用k-means 聚類算法從數(shù)據(jù)集的所有視頻幀中獲取先驗(yàn)錨點(diǎn)。使用Adam 作為優(yōu)化器來訓(xùn)練模型,初始學(xué)習(xí)率設(shè)置為0.001,并在訓(xùn)練過程中使用warm-up 和余弦退火算法來調(diào)整學(xué)習(xí)率,旨在引導(dǎo)模型更快更好地收斂。本研究還采用了一些較為常用的數(shù)據(jù)增強(qiáng)方法來增加圖像的多樣性,比如隨機(jī)旋轉(zhuǎn)、縮放、平移、剪切等。
2.3.1 目標(biāo)檢測分支網(wǎng)絡(luò)
見表1,本研究使用精確率、召回率和mAP50 作為檢測準(zhǔn)確率的評價(jià)指標(biāo)。實(shí)驗(yàn)結(jié)果表明,本研究目標(biāo)檢測分支網(wǎng)絡(luò)在檢測精度上超過了Faster R-CNN、MultiNet[11]和DLT-Net[12]模型,并且與YOLOv5 模型的性能相當(dāng)。由于其他任務(wù)的信息共享,本研究目標(biāo)檢測分支網(wǎng)絡(luò)不會(huì)將遠(yuǎn)離道路(即非可行駛區(qū)域)的物體誤識(shí)別為車輛,預(yù)測結(jié)果更加準(zhǔn)確。
表1 車輛檢測結(jié)果
2.3.2 可行駛區(qū)域分割分支網(wǎng)絡(luò)
本研究使用準(zhǔn)確率和mIoU 作為指標(biāo)來評估不同模型的分割性能,結(jié)果見表2??梢钥闯觯狙芯靠尚旭倕^(qū)域分割分支網(wǎng)絡(luò)的分割性能均優(yōu)于其他三個(gè)模型。本研究可行駛區(qū)域分割分支網(wǎng)絡(luò)在分割靠近車輛或車道線的邊緣區(qū)域方面要好得多,這主要是因?yàn)榱硗鈨蓚€(gè)任務(wù)都為這個(gè)任務(wù)提供了邊緣信息。
表2 可行駛區(qū)域分割結(jié)果
2.3.3 車道線檢測分支網(wǎng)絡(luò)
本研究使用像素精度和mIOU 作為評估指標(biāo)。見表3,本研究車道線檢測分支網(wǎng)絡(luò)的性能大大超過了其他三個(gè)模型。借助其他兩個(gè)任務(wù)共享的信息,本研究車道線檢測分支網(wǎng)絡(luò)幾乎不會(huì)將某些車輛所在或可行駛的區(qū)域誤認(rèn)為車道線。
表3 車道線檢測結(jié)果
本研究提出了一種簡單有效的多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)用于駕駛環(huán)境感知,可以同時(shí)處理目標(biāo)檢測、可行駛區(qū)域分割和車道線檢測三個(gè)任務(wù)。該網(wǎng)絡(luò)由一個(gè)用于特征提取的編碼器和三個(gè)用于處理特定任務(wù)的解碼器組成,并且可以進(jìn)行端到端的訓(xùn)練。經(jīng)實(shí)驗(yàn)驗(yàn)證,目標(biāo)檢測、可行駛區(qū)域分割和車道線檢測三個(gè)任務(wù)具有較高的相關(guān)性,進(jìn)行多任務(wù)學(xué)習(xí)能互相促進(jìn)彼此的性能,最終提高模型的整體性能,并且一次執(zhí)行多任務(wù)比依次執(zhí)行單個(gè)任務(wù)能節(jié)省大量時(shí)間。