?

基于非對稱卷積的多車道線檢測方法

2024-02-22 07:44郭心悅韓星宇范自柱
計算機工程與設計 2024年2期
關鍵詞:非對稱分支車道

郭心悅,韓星宇,習 超,王 輝,范自柱,2

(1.華東交通大學 理學院,江西 南昌 330013;2.華東交通大學 江西省先進控制與優化重點實驗室,江西 南昌 330013)

0 引 言

全自動汽車是計算機視覺領域的重點研究對象,其目標是通過使用傳感器和控制模塊來了解汽車周圍的環境?;跀z像頭的車道線檢測則是環境感知的重要一項,它要求汽車在車道內正確地定位自己,是車道保持輔助和車道偏離預警系統的基礎。對于車道線檢測,目前有兩種主流方法:傳統的圖像處理方法[1]和基于深度學習的方法[2,3]。

在傳統方法中,主要是通過邊緣檢測、濾波等方式分割出車道線區域,然后與霍夫變換[4]、粒子或卡爾曼濾波器[5,6]相結合。但這類算法依賴于手工提取特征,并在確定了車道后,采用后處理技術過濾錯誤檢測,將片段分組在一起形成最終車道。這樣做會導致工作量大且魯棒性較差。

近年來,隨著卷積神經網絡[7-9]的發展,車道線檢測的研究重點轉向了基于深度學習的方法。Pan等[10]提出了一種相鄰像素之間的消息傳遞機制,這種方法雖然比傳統的圖像分割方法具有更強的語義表征能力,但是速度很慢,阻礙了它在實際場景中的適用性。Hou等[11]提出了一種自注意力蒸餾模塊,允許模型從自身學習并獲得實質性的改進,不需要任何額外的監督或標簽,且基于信息蒸餾的方法可以更好地聚合文本信息。該方法允許使用更輕量級的骨干網絡,但由于其具有基于分割的密集預測特性,故計算代價大。

本文綜合了上述算法的優缺點,受Lanenet[12]車道線檢測算法的啟發,提出了一種新的多車道線檢測算法。該算法主要分為兩個步驟,首先利用多尺度Retinex算法[13]對輸入圖片進行圖像增強,再送入雙邊多尺度融合網絡進行車道線檢測。網絡結構具有雙分支、多任務、非平衡的特點,整合了不同層次特征圖的語義信息和位置信息,減少了邊緣信息的丟失。同時提出的非對稱卷積金字塔模塊,可以用于統一特征圖的大小,增加圖像大小的多樣性,減少計算量。

1 基于非對稱卷積的車道線檢測模型

1.1 模型簡介

為了減少光照對車道線檢測產生的影響,及針對現有的車道線檢測算法網絡加深所帶來的計算量大、耗時長的問題,本文對Lanenet車道線檢測算法做出了以下改進:在網絡前端加入多尺度圖像增強操作,能夠保持圖像的高保真度、顏色恒常性,實現色彩增強和對圖像的動態壓縮,以減少光照、陰影等對車道檢測的影響。又由于車道線細長型的外觀結構和不確定性的外觀狀態,使得需要強大的高低層次特征融合來同時獲取全局的空間結構關系和細節處的位置信息。因此,本文保留原本二值分割與實例分割相結合的思想,設計了一種帶殘差模塊的雙邊多尺度融合網絡(bilateral multi-scale fusion network,BMFNet)代替原來體積小、結構相對簡單的ENet語義分割網絡。BMFNet采用非對稱的網絡結構分別對兩個分支進行語義分割和實例分割,兩個分支處于并列關系。車道線語義分割分支是一個二分類問題,輸出二值化分割圖,僅包含兩個類,即車道類和背景類。而實例分割分支則更關注車道的高級語義信息,需要繼續對輸入圖片上的每一個像素分類,因此,網絡層次更深,網絡結構更復雜。在實例分割分支階段,本文針對性地提出了非對稱卷積金字塔模塊(asymmetric convolution pyramid,ACP)減少上下文語義信息丟失的同時降低計算量,并通過引入聚類損失函數,從而進一步將分割后的車道線像素分解為不同的車道線實例,最后再進行車道線擬合,輸出結果。系統整體架構如圖1所示。

圖1 系統整體架構

本文將圖像增強算法與雙邊多尺度融合網絡模型相結合,保證對圖片特征提取的全面性,提高了檢測的準確率及魯棒性,使該檢測方法可以更有效地應用于車道線檢測的各種實際場景中。模型的細節描述如下文所示。

1.2 圖像增強

人眼所觀察到的圖像I(x,y) 包括亮度信息L(x,y) 和反射信息R(x,y)。 基于Retinex圖像增強的核心思想是從觀測圖像I(x,y) 中估計出光照L(x,y), 分解得到反射分量R(x,y), 以消除或減少光照不均對圖片的影響,盡可能多地保留包含對象本質信息的反射圖像,改善圖像的視覺效果。因此,Retinex圖像增強算法主要是對R(x,y) 增強。原理如圖2所示。

圖2 Retinex原理

本文使用多尺度的Retinex算法(multi-scale Retinex,MSR)來實現色彩增強、局部動態范圍壓縮和全局動態范圍壓縮。MSR公式請參見文獻[13]。其主要流程分為如下幾個步驟:

(1)讀取原始圖像,將圖片中的顏色信息進行提取并分類,對每類顏色的每個像素的灰度值由整數值轉換為浮點數,并轉換到對數域。

(2)對log圖像的每個尺度進行高斯模糊,得到模糊后的圖像L(x,y)。

(3)用原圖和模糊之后的log圖像做差分,得到R(x,y)。

(4)對每個尺度的結果R(x,y) 進行加權平均。

1.3 車道線檢測網絡

1.3.1 語義分割分支

原Lanenet算法采用的是ENet分割網絡,但ENet采用強下采樣會導致部分空間信息的丟失,如邊緣形狀等,降低精確率。并且強下采樣需要強上采樣才能恢復原來的分辨率,這意味著需要更大的模型復雜度??紤]到ENet的缺點,本文提出了一種帶殘差模塊的雙邊多尺度融合網絡,BMFNet在語義分割分支的網絡結構如圖3所示。

圖3 語義分割分支網絡結構

語義分割分支包括特征提取過程、橋接過程和圖像還原過程3個階段。在特征提取過程中,首先對圖像進行卷積改變圖像的通道數為起始通道數,再經過一個殘差模塊,保持通道數不變。然后進行一次下采樣,通道數翻倍,此步驟執行4次。在橋接過程中,對特征提取過程中最后一步下采樣得到的特征圖,送入一個殘差模塊層,特征圖通道數不改變。圖像還原過程采用跳躍連接結構,融合特征提取過程中的細節特征,將淺層特征與深層特征進行融合,具體操作為:首先將橋接層輸出的特征圖用stride為2,卷積核為4的反卷積進行上采樣,再與特征提取過程中殘差卷積后大小相同的特征圖進行融合,融合后特征圖的通道數減半。此步驟執行4次,得到最終大小與輸入圖像相同,通道數和起始通道數相同的特征圖,再進行一次卷積操作,改變通道數。該分支最后輸出的結果是僅包含車道類和背景類的二值化分割圖。

BMFNet設計了兩種殘差模塊,殘差模塊結構如圖4所示,編碼器前兩層使用圖中的殘差模塊(a),第三到第五層使用殘差模塊(b)。這樣做是出于以下考慮:

圖4 殘差模塊

(1)在正向卷積時,卷積核參數的隨機性、激活函數的抑制作用等會丟失一些細節信息,只能提取到圖像的部分特征。網絡層次越深,原始圖像信息丟失的就越嚴重。加入shortcut結構,相當于在每個block中加入了上一層圖像的全部信息,保留了更多的原始信息,起到了減損作用。除此之外,殘差結構使得網絡需要學習的知識變少,更容易學習。

(2)使用多個3×3大小的卷積核比使用一個大尺寸的卷積核的優勢在于:每個3×3的卷積層中都包含relu激活函數,增加了網絡的非線性,使得決策函數更加具有判別性。

(3)特征具有層次性,淺層網絡提取的特征和輸入數據距離較近,包含更多像素點的信息,且感受野較小,特征圖每個像素點對應的感受野重疊區域小。然而隨著下采樣或卷積次數增加,感受野逐漸增大,感受野之間的重疊區域也不斷增大。此時像素點代表一個區域的信息,包含更多深層抽象信息,相對不夠細粒度,因此就需要更深層的殘差模塊,以此得到更深層次的特征圖。

1.3.2 實例分割分支

在進行圖像分割時,池化操作可以擴大感受野,但會降低空間分辨率。而通過對標準的卷積映射里注入空洞、增加擴張率(dilation rate)這一超參數,可以在擴大感受野的同時不丟失分辨率,且保持像素的相對空間位置不變。但也存在著不足,當僅僅重復疊加多個 dilation rate=2的3×3的卷積核時,就會導致邊緣信息丟失,這對逐像素的預測任務和小物體的分割來說是不利的。Ding等[14]提出了非對稱卷積,利用卷積的可加性驗證了用3個并行的1×d,d×1,d×d卷積來代替原始的d×d卷積是可行的,而且可以減少參數量。因此,本文結合了二者的優點,設計了一個非對稱卷積金字塔模塊。ACP模塊由5個分支組成,前4個分支的第一層都是一個1×1的卷積,第二層分別是1×3,3×1,3×3的非對稱普通卷積,第三層由普通卷積改為dilation rate分別為6,12,18的空洞卷積;第五個分支是圖像級的特征,首先使用全局平均池化,再經過1×1卷積,然后用雙線性插值上采樣至輸入分支前圖像的大小,最后將5個分支的特征進行融合疊加,送入1×1卷積層。這樣做可以在一個高分辨率的特征圖上生成新的特征圖,并且在相同參數量的情況下盡可能地表達上一個特征圖中的全部信息。ACP模塊具體結構如圖5所示。

圖5 非對稱卷積金字塔網絡結構

在實例分割分支中,特征提取過程與語義分割分支保持一致。又由于非對稱卷積用在靠近輸入層會影響精度,應用在較深的層,且為了捕捉車道線更高級的語義信息、提高算法的運行速度,本網絡設計在橋接過程中,即BMFNet實例分割分支編碼部分的第五層加入ACP模塊。具體操作為:先把特征提取過程中最后一步下采樣得到的特征圖,送入一個殘差模塊層,再經過ACP模塊。模塊帶有多個不同dilation rate的空洞卷積,產生不同的感受野,用來獲取多尺度上下文信息,同時在金字塔結構內加入非對稱卷積,來顯式地增強標準正方形的卷積核的表征能力。非對稱卷積可以融合到正方形卷積核中,不需要引入額外的參數,還能有效降低一定計算量,兼顧了車道線檢測的速度與精度。BMFNet在實例分割分支的網絡結構如圖6所示。

圖6 實例分割分支網絡結構

圖像還原過程同樣采用跳躍連接結構,充分利用了實例分割過程中提取的大量中間特征信息,具體操作為:對特征提取過程的每一層先經過一個1×1卷積,再與橋接層輸出特征圖的反卷積結果進行融合,融合后特征圖的通道數減半。

此步驟執行4次,得到最終大小與輸入圖像相同,通道數和起始通道數相同的特征圖。該分支最后輸出的結果是對每一個像素進行了分類的實例分割圖像,比語義分割分支擁有更多的圖片信息,得到的是一個像素級的實例分割圖。

1.3.3 損失函數

基于歸屬于同一車道的像素點距離近,不同車道的像素點距離遠的基本思想,利用聚類損失函數建模車道像素點之間的位置關系,并得到各條車道線。

(1)

一旦網絡收斂,同一車道的像素點將被聚集在一起(如圖1所示),使每個聚類之間的距離超過δd, 每個聚類的半徑小于δv。 通過引入該損失函數,可以在忽略背景像素的情況下,為實例分割分支中的每個像素分配一個車道值,這樣能夠有效減輕車道線變化的問題,有利于可變車道的處理。

2 實驗結果分析

2.1 實驗數據集

本文在圖森(TuSimple)數據集上測試所提模型的實時性和準確率。TuSimple數據集由圖森公司發布,采集自美國圣地亞哥,是一個為自動駕駛算法研發測試打造的專用數據集。相對于其它車道線檢測數據集,圖森數據集更加注重實用性,符合真實道路場景,同時包括了不同天氣下車道線遮擋、殘缺或不存在等復雜情況,應用最為廣泛,也是車道檢測工作中最權威、最具影響力的數據集之一。

圖森數據集具有以下特點:

(1)包括在良好和中等天氣條件下的直線道路、曲線道路、破損道路、分叉道路、外部設施干擾道路以及陰影遮擋道路等情況的3626張訓練圖片和2782張測試圖片。

(2)是針對結構化道路的高速公路場景,適用于多車道線檢測,記錄了白天不同時間段下,2車道、3車道、4車道、5車道上的不同交通狀況。

(3)所有圖像均為1280×720像素,訓練數據圖片注釋采用的是json格式,用離散的x、y表示出車道線的精確位置。

2.2 評價指標

對于車道線檢測任務通常采用3個評價指標來分析實驗結果,分別是準確率指標(Acc)、假陽性指標(false positive,FP)和假陰性指標(false negative,FN)。其中準確率是計算每張預測圖像中正確車道線點數和真實車道點數之間的占比情況,具體公式如下

(2)

其中,Cim表示預測結果正確的車道線像素點數,Sim表示標簽數據中真實的車道線像素點數。若存在標簽真實值和預測點之間的差值小于某個閾值時,則視該預測結果是正確的,否則,視該預測結果是錯誤的。此外,FP和FN也是TuSimple數據集性能評價當中常用的指標,具體計算公式如下

(3)

(4)

其中,Fpred表示模型預測錯誤的車道數;Npred表示模型預測的所有車道線總數;Mpred表示遺漏、未被預測的車道線數;Ngt表示標簽中真實的車道線總數。所以FP、FN分別又稱之為誤檢率和漏檢率。

除了上述3個基本的車道線檢測評價指標之外,我們在訓練中引入語義分割任務的標準度量——平均交并比(mean intersection over union,mIOU)來對我們的模型進行有效性評估,mIOU計算的是真實值和預測值之間的交集和并集的數量之比,由于其簡潔和代表性強的特點成為最常用的度量標準之一,具體公式如下

(5)

其中,pij表示真實值為i, 被預測為j的數量;pii為真實的數量;K+1為包括背景類的總類別個數。此外,mIOU還可以寫成另一種形式,即

(6)

2.3 實驗參數設置

本文實驗代碼基于Python3.7,使用Tensorflow深度學習框架,其它實驗運行的環境配置見表1。

表1 實驗環境配置

模型訓練采用交叉熵損失函數,初始學習率為0.001,學習率策略為Poly,訓練動量設置為0.9,批量訓練數量為32,權重衰減為0.000 05,輸入圖片大小為512×256像素。

網絡訓練過程中模型的損失值(loss)與平均交并比(mIOU)的變化趨勢如圖7所示。從圖中可以看出,本文設計的算法在Tusimple數據集中,隨著模型訓練次數的增加,損失值在前幾次迭代中減小迅速,之后仍有波動,但起伏較小,總體緩慢下降,最終損失值在3左右變動;mIOU值開始增長較快,之后呈緩慢增長趨勢,總體來說變化曲線較為平滑,最終達到60%時停止訓練,迭代次數為165次。

圖7 網絡訓練損失值和均交并比變化趨勢

2.4 實驗對比

本文使用了8種車道線檢測方法進行比較,包括SCNN[10]、R-18-SAD[11]、R-34-SAD[11]、ENet-SAD[11]、Lanenet[12]、Res18-Seg[15]、Res34-Seg[15]、EL-GAN[16]。其中文獻[15]分別使用了Resnet-18和Resnet-34作為骨干模型,文獻[11]分別使用了Resnet-18、Resnet-34和ENet作為骨干模型。實驗比較了各算法的準確率、誤檢率、漏檢率和檢測速度,其中檢測速度取一百次運行的平均時間作為參考指標。將實驗結果按照準確率從低到高排序,數據對比結果見表2。

表2 Tusimple數據集上各算法結果對比

從表2中可以看出,與其它車道線檢測算法相比,本文所提出的方法擁有最高的準確率、最低的誤檢率和較低的漏檢率,且各算法之間漏檢率差距不大,均在0.01到0.05之間。運行時間方面,將SCNN算法作為參考對象,由于本文提取了豐富的上下文信息,加深了網絡結構,雖然與別的算法相比,速度優勢不明顯,但比SCNN算法也快了1.8倍,一定程度提升了網絡的時效性。特別地,與Lanenet算法相比,本文算法的準確率提升了約2%,誤檢率降低了約5%,漏檢率僅相差約0.02%。通過實驗對比表明,本文對Lanenet算法的改進是有效的,且該算法在Tusimple數據集上擁有更好的表現。

除此之外,本文還進行了可視化實驗,不同程度車道線陰影遮擋情況的可視化結果如圖8所示。圖8(a)為原始數據集中的圖像,圖8(b)為數據增強后得到的圖像,圖8(c)為經過語義分割分支后得到的二值化分割圖,圖8(d)為經過實例分割分支后得到的實例分割圖,圖8(e)為聚類兩個分支后得到的車道線圖像,圖8(f)為車道線擬合之后的輸出圖像。從圖上可以看出,本文所使用的MSR算法可以很好地減輕光照、遮擋帶來的圖片亮度不均勻的影響,改善了圖像的視覺效果。設計的雙邊多尺度融合網絡可以在車道線破損、遮擋、陰影情況下有效檢測直道及彎道。

圖8 測試數據的可視化效果

3 結束語

本文提出了一種結合圖像增強技術與改進的Lanenet算法的車道線檢測方法。采用多尺度的Retinex算法來保持輸入圖像的高保真度、顏色恒常性;設計帶殘差模塊的雙邊多尺度融合網絡同時利用低層特征和高層特征的高語義信息,通過融合這些不同層的特征達到預測的效果;通過將非對稱卷積與空洞卷積相結合,提出新的非對稱卷積金字塔模塊,用非對稱卷積替換標準卷積,利用并行的不同擴張率的空洞卷積和一個圖像級特征層進行特征融合,模擬感受野的多種尺度視角并重新生成人眼視覺系統中感受野尺寸和中心的關系。實驗結果表明,本文提出的車道線檢測方法可以減少光照、陰影等對車道檢測的影響,兼顧速度與精度。在TuSimple數據集上,與Lanenet算法相比準確率提高了2%以上,誤檢率降低了5%以上。后續的工作可以針對于抗遮擋、夜間及弱光條件下的車道線檢測問題再展開進一步的研究。

猜你喜歡
非對稱分支車道
北斗+手機實現車道級導航應用
避免跟車闖紅燈的地面車道線
淺談MTC車道改造
巧分支與枝
非對稱Orlicz差體
一類擬齊次多項式中心的極限環分支
點數不超過20的旗傳遞非對稱2-設計
低速ETC/MTC混合式收費車道的設計與實現
非對稱負載下矩陣變換器改進型PI重復控制
生成分支q-矩陣的零流出性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合