
文章目錄
- 摘要
- 一、引言
- 二、車道線檢測網路
- 2.1 LaneNet
- (1) 二值化分割
- (2) 實體分割
- (3) 聚類
- (4) 網路結構
- 2.2 H-NET
- (1) 曲線擬合
- (2) 損失函式
- (3) 網路結構
- 三、實驗結果
- 3.1 資料集
- 3.2 Setup
- 3.3 實驗
- 四、結論
想獲取原論文的同學,可關注我的微信公眾號:AI Jun,回復:全套,獲取全套深度學習論文,

關注微信公眾號可掃描下圖二維碼:

摘要
傳統的車道檢測方法依賴于高度專業化的、手工制作的特征和啟發式方法的組合,通常緊隨其后的是后處理技術,這些技術計算昂貴,并且容易由于道路場景的變化而變得可伸縮,
更新的方法利用深度學習模型,這些模型被訓練用于像素級車道分割,即使在影像中由于其較大的接受范圍而沒有標記時也是如此,盡管它們具有優勢,但這些方法僅限于檢測預定義的固定數量的車道,例如自我車道,并且不能應對車道改變,
相對于以前的作業,該車道檢測網路主要有兩大貢獻:
- 將車道檢測問題歸結為一個實體分割問題,其中每條車道都形成了自己的實體,可以端到端地進行訓練,
- 為了在擬合車道之前將分段車道實體引數化,應用以影像為條件的學習透視變換,而不是固定的“鳥瞰”變換,通過這樣做,可以確保車道擬合對于道路平面的變化是魯棒的,而不像現有的依賴于固定的、預定義的變換的方法,
綜上所述,這是一種快速車道檢測演算法,運行速度為50fps,可以處理可變數量的車道和應對車道變化,在tuSimple資料集上驗證了該方法,并取得了有競爭力的結果,
一、引言
全自動駕駛汽車是當今計算機視覺和機器人研究的主要焦點,無論是在學術層面還是在工業層面上都是如此,每種情況的目標都是通過使用各種傳感器和控制模塊來全面了解汽車周圍的環境,基于攝像頭的車道檢測是邁向這種環境感知的重要一步,因為它允許汽車在道路車道內正確定位自己,它對于任何后續的車道偏離或軌跡規劃決策也是至關重要的,因此,實時執行基于攝像頭的準確車道檢測是實作完全自動駕駛的關鍵因素,
傳統的車道檢測方法依賴于高度專門化、手工制作的特征和試探法的組合來識別車道段,這種手工制作的線索的流行選擇包括基于顏色的特征、結構張量、條形濾波器、脊線特征等,這些特征可能與霍夫變換、和粒子或卡爾曼濾波器相結合,在識別車道段之后,采用后處理技術來過濾錯誤檢測并將分段分組在一起以形成最終車道,
有關車道檢測系統的詳細概述,請讀者參閱《 Recent progress in road andlane detection: a survey》,通常,由于道路場景的變化,這些傳統的方法容易出現魯棒性問題,而這些變化不能很容易地被這樣的基于模型的系統建模,
更新的方法已經用深度網路取代了手工制作的特征檢測器,以學習密集預測,即像素級車道分段,Gopalan等人使用像素層次特征描述符來建模背景關系資訊,并使用提升演算法來選擇用于檢測車道標記的相關背景關系特征,類似地,Kim和Lee將卷積神經網路(CNN)與RANSAC演算法相結合,從邊緣影像開始檢測車道,注意,在他們的方法中,CNN主要用于影像增強,并且僅當道路場景復雜時才使用,例如,它包括路邊樹、柵欄或十字路口,
Huval等人展示現有的CNN模型如何用于高速公路駕駛應用,其中包括執行車道檢測和分類的端到端CNN,He等人介紹了雙視圖CNN(DVCNN),它同時使用正視和俯視影像來分別排除錯誤檢測和去除非棒狀結構,Li等人建議使用專注于尋找幾何車道屬性(例如位置和方向)的多任務深度卷積網路,以及檢測車道的遞回神經網路(RNN),最近,Lee等人展示多任務網路如何在惡劣天氣和低光照條件下聯合處理車道和道路標記檢測和識別,除了前述網路更好地分割車道標記的能力外,它們的大接收范圍還允許它們即使在影像中沒有標記的情況下也能估計車道,然而,在最后階段,仍然需要將生成的二元車道分段解纏到不同的車道實體中,
為了解決這個問題,一些方法已經應用了后處理技術,這些技術再次依賴于啟發式演算法,通常是由幾何屬性指導的,如上所述,這些啟發式方法計算昂貴,并且容易由于道路場景變化而產生魯棒性問題,另一項作業將車道檢測問題描述為多類別分割問題,其中每條車道形成其自己的類別,通過這樣做,網路的輸出包含每個車道的解纏的二進制地圖,并且可以以端到端的方式進行訓練,盡管有其優點,該方法僅限于檢測預定義的固定數量的通道,即自我通道,此外,由于每條車道都有指定的等級,因此無法應對變道,
本文設計了一個類似《Fast Scene Understanding for Autonomous Driving》的分枝多任務車道實體分割網路,該網路由車道分割分支和車道嵌入分支組成,可端到端訓練,車道分割分支具有兩個輸出類別,即背景或車道,而車道嵌入分支進一步將分割的車道像素解開為不同的車道實體,通過將車道檢測問題分解為上述兩個任務,我們可以充分利用車道分割分支的能力,而不必將不同的類別分配給不同的車道,取而代之的是,使用聚類損失函式訓練的車道嵌入分支將車道ID分配給車道分割分支中的每個像素,同時忽略背景像素,通過這樣做,我們緩解了車道改變的問題,并且我們可以處理可變數量的車道,
在估計了車道實體(即,哪些像素屬于哪個車道)之后,作為最后一步,我們希望將它們中的每一個都轉換為引數描述,為此,曲線擬合演算法在文獻中得到了廣泛的應用,流行的模型有三次多項式、樣潭訓回旋線,為了在保持計算效率的同時提高擬合質量,通常使用透視變換將影像轉換為“鳥瞰圖”[39]并在那里執行曲線擬合,注意,鳥瞰圖中擬合的線可以通過逆變換矩陣重新投影到原始影像中,通常,變換矩陣在單個影像上計算,并且保持固定,但是,如果地平面改變形式(例如,通過傾斜上坡),則此固定變換不再有效,因此,接近地平線的車道點可能會投影到無窮遠,從而對直線擬合產生負面影響,
為了彌補這種情況,我們還在擬合曲線之前對影像進行透視變換,但與現有的依賴于固定變換矩陣進行透視變換的方法不同,我們訓練神經網路來輸出變換系數,特別地,神經網路將影像作為輸入,并利用針對車道擬合問題量身定做的損失函式進行優化,所提出的方法的固有優點是車道擬合對道路平面變化是穩健的,并且被特別優化以更好地擬合車道,我們整個管道的概況可以在下圖1中看到,

本文的貢獻可以歸結為以下兩點:
- 一種分支的多任務體系結構,將車道檢測問題轉化為實體分割任務,處理車道變化,并允許推斷任意數量的車道,具體地,車道分割分支輸出密集的每像素車道分段,而車道嵌入分支進一步將分段的車道像素解纏成不同的車道實體,
- 給定輸入影像的網路估計透視變換的引數,該透視變換允許車道擬合對道路平面變化(例如,上坡/下坡坡度)具有魯棒性,
二、車道線檢測網路
本文端到端地訓練神經網路進行車道檢測,以解決前面提到的車道切換問題以及車道數量的限制,這是通過將車道檢測視為實體分割問題來實作的,我們將其稱為LaneNet,如下圖2,結合了二進制車道分割的優點和專為單次實體分割而設計的聚類損失函式,在LaneNet的輸出中,為每個車道像素分配其相應車道的ID,

2.1 LaneNet
實體分割任務由兩部分組成,分割部分和集群部分,下面幾節將對此進行更詳細的說明,為了提高性能,在速度和準確性方面[27],這兩個部分在多任務網路中聯合訓練(見圖2),
(1) 二值化分割
對LaneNet的語意分支(參見圖2,底部分支)進行訓練,以輸出二進制語意圖,指示哪些像素屬于車道,哪些不屬于車道,為了構建地面真實分割圖,我們將所有地面真實車道點連接在一起,形成每條車道的連通線,請注意,即使通過遮擋汽車之類的物件,或者在沒有明顯可見車道段(例如虛線或褪色車道)的情況下,我們也會繪制這些地面真實車道,這樣,網路將學會預測車道位置,即使它們被遮擋或在不利的情況下也是如此,用標準的交叉熵損失函式對分割網路進行訓練,由于這兩個類別(車道/背景)高度不平衡,因此我們應用有界反向類別權重,如[29]中所述,
(2) 實體分割
為了解開由語意分支標識的車道像素,我們訓練LaneNet的第二個分支用于車道實體分割(參見圖2),大多數流行的檢測和分割方法(例如,[14]、[38])對于車道實體分割并不理想,因為邊界框檢測更適合于緊湊的物件,而車道不適合,因此,我們使用了De Braband ere等人提出的基于距離度量學習的一次性方法[5],它可以很容易地與標準前饋網路集成,并且是專門為實時應用設計的,
通過使用它們的聚類損失函式,訓練實體分割分支來為每個車道像素輸出嵌入,使得屬于同一車道的像素嵌入之間的距離較小,而屬于不同車道的像素嵌入之間的距離是最大的,通過這樣做,同一通道的像素嵌入將群集在一起,形成每個通道的唯一群集,這是通過引入兩個項來實作的:方差項 L v a r L_{var} Lvar?和距離項 L d i s t L_{dist} Ldist?,其中方差項 L v a r L_{var} Lvar?向每個嵌入施加朝向車道的平均嵌入的拉力,距離項 L d i s t L_{dist} Ldist?將群集中心彼此推開,這兩個術語都是鉸鏈的:僅當嵌入距離其群集中心的距離大于δ時,拉力才有效,而中心之間的推力僅當它們彼此之間的距離大于δ時才有效,C表示簇(通道)的數量, N c N_c Nc?表示簇c中的元素數, x i x_i xi?是一個像素嵌入, μ c μ_c μc?表示簇c的平均嵌入,|| . ||表示L2距離, [ x ] + = m a x ( 0 , x ) [x]_+=max(0,x) [x]+?=max(0,x),總損失L等于 L v a r + L d i s t L_{var}+L_{dist} Lvar?+Ldist?

一旦網路已經收斂,車道像素的嵌入將被聚集在一起,使得每個簇彼此之間的鋪設距離大于
δ
d
δ_d
δd?,并且每個簇的半徑小于
δ
v
δ_v
δv?,
(3) 聚類
聚類是通過迭代程序完成的,通過在上述損失中設定 δ d > 6 δ v δ_d>6δ_v δd?>6δv?,可以采用半徑為 2 δ v 2δ_v 2δv?的隨機通道嵌入和其周圍的閾值來選擇屬于同一通道的所有嵌入,重復此操作,直到將所有車道嵌入指定給車道為止,為了避免選擇離群點作為閾值,我們首先使用均值漂移來靠近聚類中心,然后進行閾值處理,
(4) 網路結構
LaneNet的架構基于編解碼器網路ENet[29],該網路因此被修改為雙分支網路,由于ENet的編碼器比解碼器包含更多的引數,完全在兩個任務之間共享完整的編碼器將導致不令人滿意的結果[27],因此,雖然原來的ENet編碼器由三個階段(階段1、2、3)組成,但LaneNet只在兩個分支之間共享前兩個階段(1和2),留下ENet編碼器的階段3和完整的ENet解碼器作為每個單獨分支的主干,分割分支的最后一層輸出單通道影像(二進制分割),而嵌入分支的最后一層輸出N通道影像,其中N是嵌入維度,圖2示意性地描述了這一點,每個分支的損耗項都是相等加權的,并通過網路反向傳播,
2.2 H-NET
由于LaneNet輸出每個車道的像素集合,因此我們仍然必須通過這些像素擬合曲線才能獲得車道引數化,通常,車道像素首先使用固定的變換矩陣投影到“鳥瞰”表示中,然而,由于變換引數對于所有影像都是固定的,這在遇到非平坦地平面時(例如在斜坡中)會引起問題,為了緩解這個問題,我們訓練了一個網路,稱為H-Net,它根據輸入影像估計“理想”透視變換的引數,這種轉變不一定是典型的“鳥瞰”,相反,它是一種變換,在這種變換中,車道可以用低階多項式進行最佳擬合,
正如上一節所解釋的,LaneNet的輸出是每個通道的像素集合,在原始影像空間中通過這些像素擬合多項式是不理想的,因為人們必須求助于高階多項式才能處理彎曲的車道,
該問題的一種常用解決方案是將影像投影到“鳥瞰”表示中,在該表示中,車道彼此平行,因此,曲線車道可以用2到3次多項式來擬合,
然而,在這些情況下,變換矩陣H被計算一次,并且對于所有影像保持固定,通常,這會導致地平面以下的誤差,即投影到無窮遠處的消失點向上或向下移動(見圖4,第二行),

為了解決這個問題,我們訓練了一個具有自定義損失函式的神經網路H-Net:對網路進行端到端的優化,以預測透視變換H的引數,其中變換后的車道點可以用二階或三階多項式進行最佳擬合,預測是以輸入影像為條件的,允許網路在地平面變化時自適應投影引數,因此車道擬合仍將是正確的(參見圖4的最后一行),在我們的例子中,H有6個自由度:

放置零是為了強制約束,即在變換下水平線保持水平,
(1) 曲線擬合

曲線擬合之前,通過車道像素P擬合曲線,后者使用H網輸出的變換矩陣進行變換,給定通道像素pi=[Xi,yi,1]T∈P,變換像素P0i=[X0i,Y0i,1]T∈P0等于Hpi,接下來,使用最小二乘演算法通過變換后的像素P0擬合n次多項式f(Y0),為了獲得在給定y位置yi的車道的x位置,x?i,點pi=[?,yi,1]ti被變換為P0i=hpi=[?,y0 i,1]t,并且計算為:x0?i=f(Y0 I),請注意,x值并不重要,用‘-’表示,通過將這個點p0?i=[x0?i,y0 i,1]t重新投影到原始像空間中,我們得到:p?i=H?1p0?i,p?i=[x?i,yi,1]T,這樣,我們可以評估不同y位置的車道,該程序在圖3中示出:

(2) 損失函式
損失函式為了訓練H-網輸出對車道像素擬合多項式最優的變換矩陣,我們構造了以下損失函式,給定N個地面真實車道點pi=[xi,yi,1]T∈P,我們首先使用H-NET的輸出轉換這些點:


由于車道擬合是使用最小二乘演算法的閉合解進行的,因此損失是可微的,我們使用自動微分來計算梯度,
(3) 網路結構
網路體系結構H-NET的網路體系結構故意保持較小,由3x3卷積、 batchnorm 和 Relu 的連續塊構成,使用最大池化層來降低維度,并在最后添加2個全連接層,完整的網路結構請參見表I:

三、實驗結果
3.1 資料集
目前,tuSimple車道資料集是用于測驗車道檢測任務中的深度學習方法的唯一大規模資料集,它包括3626個訓練集圖片和2782個測驗集圖片,樣本均在良好和中等天氣條件下,
它們被記錄在2車道/3車道/4車道或更多的高速公路上,在不同的白天,對于每個影像,它們還提供了未加注釋的前19個幀,注釋以JSON格式出現,指示車道在多個離散化的y位置處的xposition,在每個影像上,當前(EGO)車道和左/右車道都有注釋,這在測驗集上也是預期的,在換道時,可以增加第5條車道,以避免混淆,
精度按每幅影像的平均正確點數計算:

用
C
i
m
C_{im}
Cim?值表示正確點的個數,用
S
i
m
S_{im}
Sim?表示地真值點的個數,當地面實測點與預測點之間的差值小于某一閾值時,該點是正確的,與準確性一起,它們還提供假陽性和假陰性分數:


3.2 Setup



3.3 實驗
插值法
在表III中,我們計算了基于H-Net的無變換、固定變換和條件變換的車道擬合精度,我們還測量了二階或三階多項式擬合之間的差異,當在沒有變換的情況下直接在原始影像空間中擬合曲線時,這會導致較差的結果;這是因為曲線車道很難使用低階多項式來擬合,

通過使用固定變換,我們已經獲得了更好的結果,三階多項式比二階多項式性能更好,然而,并非所有車道點都可以在固定變換下適配(另見圖4),當地平面的坡度改變時,接近消失點的點不能被正確擬合,因此在MSE測量中被忽略,但仍被計為遺漏的點,
利用H網生成的變換矩陣對車道擬合進行優化,其結果優于固定變換的車道擬合結果,我們不僅獲得了更好的均方根分數,而且使用這種方法可以擬合所有的點,無論地平面的坡度是否改變,
通過使用LaneNet結合三階多項式擬合和H-Net的變換矩陣,我們在tuSimple挑戰中獲得了第四名,與第一名相比只有0.5%的差異,結果可以在表II中看到,請注意,我們只在tuSimple資料集的訓練影像上進行了訓練,對于其他條目,這一點并不清楚,它們的速度性能也是不清楚的,

四、結論
本文提出了一種50fps的端到端車道檢測方法,受最近的實體分割技術的啟發,與其他相關的深度學習方法相比,我們的方法可以檢測到可變數量的車道,并且可以應對車道變換動作,
為了使用低階多項式對分割的車道進行引數化,我們訓練了一個網路來生成透視變換的引數,該引數以影像為條件,其中車道擬合是最優的,該網路是使用用于車道擬合的自定義損失函式來訓練的,與流行的“鳥瞰”方法不同,我們的方法通過相應地調整變換引數,對地平面的坡度變化具有魯棒性,
關注微信公眾號,更多精彩內容等著你哦!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/31856.html
標籤:其他
下一篇:漫畫:量子計算為什么這么牛?
