向思佳,曾 凱
(昆明理工大學 信息工程與自動化學院,云南 昆明 650504)
車道線檢測是計算機視覺的一項重要任務(wù),同時也是自動駕駛和高級輔助系統(tǒng)(Advanced Driving Assistance System,ADAS)的關(guān)鍵任務(wù)[1]。作為一種重要的感知技術(shù),車道線檢測可以定位道路上的可駕駛區(qū)域[2],為車輛的安全駕駛提供保障。然而由于自動駕駛場景的復(fù)雜性,極易出現(xiàn)車道線難以識別的情況,例如,如圖1(c)所示,車輛遮擋了車道線;如圖1(a)所示,路面問題導(dǎo)致車道線模糊。此外,車道本身具有細長特性,以及常常伴有混淆目標,比如圖1(b)中,道路兩旁有容易與車道線混淆的欄桿。以上這些復(fù)雜場景給車道線的精確檢測帶來了極大的挑戰(zhàn)[3]。車道線檢測逐漸成為國內(nèi)外研究的熱點[4]。
圖1 車道線檢測當前面臨的挑戰(zhàn)
目前車道線檢測算法主要分為基于傳統(tǒng)圖像處理以及基于深度學習的方法。大多數(shù)傳統(tǒng)的車道線檢測方法是利用各種手動設(shè)計的特征,如顏色和紋理,來提取淺層次的交通道路特征[5-6]。這些方法計算量小,無須進行重大調(diào)整以適應(yīng)不同場景。然而,傳統(tǒng)圖像處理方式的性能取決于測試環(huán)境的條件,只能在場景簡單、車道線標記清晰的道路環(huán)境下取得較好的檢測性能[7]。
與傳統(tǒng)圖像處理方向相比,基于深度學習的方法在復(fù)雜場景中表現(xiàn)出更優(yōu)異的性能。現(xiàn)有的基于深度學習的方法[8-9]利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)強大的表征能力來提高車道線檢測精度。早期的方法[10-11]通常先生成分割結(jié)果,然后采用后處理,如分段聚類和曲線擬合。這些方法效率低下,在進行車道線分割時忽略了全局上下文[2,12]。由于車道線固有的細長的形態(tài)結(jié)構(gòu),需要更加強大的高低層次特征融合,來同時獲取全局的空間結(jié)構(gòu)關(guān)系[13]。同時車道線檢測常常伴有復(fù)雜環(huán)境因素,如光線變化,以及遮擋問題。因此,僅僅使用CNN 進行局部關(guān)系的建模無法精準檢測車道線。
文獻[11]使用軟注意力的方法生成一個空間加權(quán)圖來豐富上下文信息,但是僅僅使用注意力機制無法推斷細長結(jié)構(gòu)的特性之間的依賴關(guān)系[14]。空間卷積神經(jīng)網(wǎng)絡(luò)(Spatial CNN,SCNN)[12]旨在獲得更強的空間關(guān)系,將特征圖進行逐行切片以及逐列切片,并對每一個特征片進行卷積操作,使得相鄰的行列間能傳遞信息,但是這種方式不適合長距離行列信息的傳遞[15]?;诖耍h(huán)特征移位增強模塊(REcurrent Feature-Shift Aggregator,RESA)[3]增加了步長,以及迭代次數(shù),然而信息仍然保持在行列間傳遞,缺少對不同像素間關(guān)系建模的考慮。由于自動駕駛場景的復(fù)雜性,細長的車道線較大型車輛較為稀疏,且尺寸差別較大,因此也需要考慮多尺度特征之間的關(guān)系建模[16]。
基于上述問題,本文構(gòu)建了空間特征信息增強網(wǎng)絡(luò)(Spatial Feature Information Enhancement Network,SFE-Net),包含特征提取網(wǎng)絡(luò)、上下文感知模塊(Context Perception Module,CPM)、空間特征增強模塊(Spatial Feature Enhancement Module,SPEM)以及預(yù)測網(wǎng)絡(luò)。上下文感知模塊融合不同尺寸特征圖信息,同時增強對全局上下文信息關(guān)系的建模??臻g特征增強模塊對特征的空間信息和通道信息進行增強,提高網(wǎng)絡(luò)模型的車道線特征表征能力及環(huán)境適應(yīng)能力。
受SCNN 的啟發(fā),本文提出了SFE-Net。SFENet 分別由特征提取網(wǎng)絡(luò)、CPM、SPEM 以及預(yù)測網(wǎng)絡(luò)組成。SFE-Net 的框架結(jié)構(gòu)如圖2 所示,其中圖中的SE 為壓縮激發(fā)模塊(Squeeze-and-Excitation)。
如圖2 所示,本文使用ResNet34 作為特征提取網(wǎng)絡(luò)進行圖像特征的提取。經(jīng)過ResNet34 提取的特征圖尺寸為原圖像尺寸的1/8。為了進行多尺度空間上下文特征的感知,本文選擇ResNet34 的第2、第3 和第4 層特征作為輸出。
圖2 SFE-Net 框架結(jié)構(gòu)
由于卷積神經(jīng)網(wǎng)絡(luò)只能提取到特征的局部信息,缺少對全局信息以及上下文語義的考慮。而車道線在圖片上呈現(xiàn)出連續(xù)細長的條狀,神經(jīng)網(wǎng)絡(luò)進行局部信息建模時容易將道路兩旁的欄桿或其他結(jié)構(gòu)形狀相似的障礙物識別成車道線。此外,車道線與大型車輛相比較為稀疏,且容易被車輛遮擋,因此只考慮局部關(guān)系的建模無法精準檢測車道線。基于上述問題,本文提出了CPM,從而增強網(wǎng)絡(luò)對于全局上下文信息以及局部信息的聯(lián)合學習。如圖3 所示,CPM 的輸入是經(jīng)過特征提取網(wǎng)絡(luò)后的3層特征。
圖3 CPM 的框架結(jié)構(gòu)
CPM 的計算流程可表示為:
式中:X1,X2,X3為上下文感知模塊的輸入;y為經(jīng)過X1,X2兩層特征進行多尺度融合后的特征圖;y′為經(jīng)過上下文感知模塊增強后的特征圖;FFN為前饋網(wǎng)絡(luò)層;LN為層歸一化模塊;Att為注意力機制模塊。
SPEM 將特征圖X∈RC,H,W分別按照H維度和W維度進行切片操作,如圖2 所示。其中,C,H,W分別代表特征圖的通道數(shù)、行數(shù)和列數(shù)。按照H維度切分后的特征分別經(jīng)過垂直方向(由上到下以及由下到上)進行兩次特征聚合,其表達式為:
式中:Km,c,n為一維卷積核;Xm,i+n-1,j為特征圖;m,i+n-1 和j分別為通道、行和列的索引;為經(jīng)過聚合后的特征。
按照W切分后的特征分別在水平方向(由左到右以及由右到左)進行兩次聚合,其表達式為:
式中:SE(·)為通道注意力;F v以及Fh為壓縮激發(fā)模塊輸出的特征。
在經(jīng)過SE 后進行元素相加,特征的空間和通道信息都得到了增強,這一過程,可表示為:
式中:Xc,i,j為CPM 輸出的特征圖;c,i,j分別為代表通道、行和列的索引;ReLU(·)為非線性激活函數(shù);為經(jīng)過SPEM 更新后的特征圖。通道注意力對每個通道上的權(quán)重進行了顯式建模,然后對原特征圖進行加權(quán),突出每個通道的重要程度。
本文預(yù)測網(wǎng)絡(luò)采用RESA 的雙邊上采樣模塊,如圖4 所示。每個采樣塊向上采樣兩次,最后將特征圖恢復(fù)到原始大小。雙側(cè)上采樣模塊由粗粒度分支和細粒度分支組成。使用粗粒度分支來恢復(fù)粗粒度特征,使用細粒度分支來調(diào)整細粒度損失。通過上采樣,輸出的特征圖經(jīng)過全連接來檢測每個車道線是否存在以及存在的概率,并進行分類操作。
圖4 中的殘差塊由4 個3×1 和4 個1×3 卷積,以及批標準化層(BN)和激活函數(shù)ReLU 組成。殘差塊可以保持特征圖的形狀,并有效地提取特征信息。
圖4 預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)
本文在當前廣泛運用的Tusimple 數(shù)據(jù)集上進行了實驗驗證。Tusimple 數(shù)據(jù)集共有6 408 張圖片,包括3 626 張訓練圖片以及2 782 張測試圖片,每張圖片的分辨率為1 280×720。在Tusimple 數(shù)據(jù)集上實驗,使用的評價指標是精確度(accuracy),其定義為:
式中:Cclip為正確預(yù)測的車道點數(shù);Sclip為每個視頻片段中標簽點的總數(shù)。同時,還評估了預(yù)測結(jié)果的假陽性率FP和假陰性率FN。
本實驗將原始圖片的大小調(diào)整為368×640。使用隨機梯度下降(Stochastic Gradient Descent,SGD)[17]作為優(yōu)化器來訓練本實驗的模型,其中動量為0.9,權(quán)重衰減為0.000 1。在此基礎(chǔ)上,設(shè)置實驗的學習率為0.02,共訓練300 個批次,batchsize 設(shè)置為4。
本實驗的實驗環(huán)境為Ubuntu16.04 操作系統(tǒng),CPU 為Intel(R) Xeon(R) Gold 5120 CPU @ 2.20 GHz,GPU 為NVIDIA Tesla V100,深度學習框架采用Pytorch1.5。
為了驗證本文提出的SFE-Net 的有效性,本實驗與當前幾種最先進的車道線檢測方法進行對 比,包 括ENet[18]、PolyLanNet[19]、LaneNet[20]、FastDraw[10]、LSTR[14]。結(jié)果如表1 所示,實驗檢測評估指標為精確度(accuracy)、假陽性率(FP)和假陰性率(FN)。實驗結(jié)果表明,SFE-Net 達到了96.42%的準確率,優(yōu)于當前其他算法。
表1 不同方法對比實驗結(jié)果
本文在第1 節(jié)算法實現(xiàn)中,詳細描述了CPM以及SPEM 的框架結(jié)構(gòu),分析了方法實現(xiàn)的理論依據(jù)。為了驗證每個部分的重要性,本節(jié)進行了消融實驗,實驗結(jié)果如表2所示。其中基線網(wǎng)絡(luò)(Baseline)由ResNet34 以及預(yù)測網(wǎng)絡(luò)組成。
表2 在基礎(chǔ)網(wǎng)絡(luò)ResNet34 上進行消融實驗
經(jīng)實驗檢驗,本文提出的CPM 以及SPEM 對車道線檢測的精度有一定的提升。同時也證明了,上下文信息以及多尺度信息對于細長目標的檢測有一定的影響。此外,空間信息聯(lián)合通道信息的增強有助于捕獲特征間的關(guān)系,利于車道線檢測精度的提升。為了更直觀地展示本文提出方法的可靠性,在Tusimple 數(shù)據(jù)集上進行實驗,SFE-Net 的檢測效果如圖5 所示。對于遮擋類目標以及磨損目標,均能有效檢測,而且在光照不佳的情況下,SFE-Net也能達到良好的檢測效果。
圖5 Tusimple 數(shù)據(jù)集使用檢測效果
為了在復(fù)雜環(huán)境下進行車道線檢測,本文構(gòu)建了SFE-Net。該網(wǎng)絡(luò)中的CPM,能有效捕捉跨尺度信息,并結(jié)合上下文環(huán)境信息進行感知,SPEM 能有效捕獲跨行和跨列的空間關(guān)系。同時使用通道注意力對每個通道上的權(quán)重進行顯式建模,突出每個通道的重要程度。通過在當前經(jīng)典車道線檢測數(shù)據(jù)集上進行驗證評估可知,增強全局上下文信息在車道線檢測任務(wù)中十分關(guān)鍵,并且本文提出的方法具有較好的檢測性能。本文可以為無人駕駛環(huán)境感知、車道線偏離預(yù)警技術(shù)的研究和開發(fā)提供思路,促進智能交通領(lǐng)域的發(fā)展。