ECCV2020 Ultra Fast Structure-aware Deep Lane Detection論文解讀


論文解讀Ultra Fast Structure-aware Deep Lane Detection

最近閱讀了ECCV2020一篇車道線檢測的論文, 看完了源代碼, 寫下這篇博客, 希望能對其他學習的同學有所幫助。

1. Intro

車道線檢測有很久遠的歷史, 在之前的工作中主要有以下兩個流派:

比較有代表性的工作可點擊下面的鏈接查看

對於任何一個流派, 在目前的自動駕駛車道線檢測中, 都需要面臨兩個問題:

  1. computational cost

    自動駕駛的車輛上往往有多個攝像頭, 如果同時對每個車輛的攝像頭進行道路線進行識別的話, 需要耗費大量的計算資源, 因此需要計算復雜度更低的車道線檢測方法。

  2. no-visual-clue

    在很多道路上, 由於車輛擁堵, 車道線被車擋住了, 需要通過車的位置和環境的語義信息去猜測。 在這種情況下, 沒有視覺信息(車道的顏色, 形狀)去引導車道線的識別, 造成了很大的困難。 下面這張圖就是很好的例子。

    image-20200903153938512

為了解決以上兩個問題, 作者提出了基於row achor的網絡, 讓網絡在不同的行中選擇屬於車道線的列, 減少了傳統語義分割pixel level prediction的復雜度, 同時使用global feature來增加網絡的感受野, 提升在有車輛遮擋關系下的網絡推理能力。

論文的貢獻有以下幾點:

  1. 提出了很有效的辦法來解決fast speed和no visual cue的問題 Global Feature, Row Anchor
  2. 提出了結構化損失函數structural loss來對道路的形狀進行約束 Structural Loss
  3. 在CULane數據集上取得了SOTA, 可達到300fps的識別速度。

2. Method

2.1 符號定義

論文里首先定義了一些符號, 如下圖所示

image-20200903163346322

作者首先把圖像降采樣到800x288, 然后定義了row anchor, 也就是作者從圖片里里事先選好的一些行。

比如在tumsimple這個數據集里, 作者選了這些行, 作為車道線可能的起始行。

image-20200904175308611

在這些符號里P代表的是某一行, 某一列里采樣的像素屬於某一條車道的概率

比如下圖里的 Pij是一個向量, 向量的長度是w+1, 代表了第j行(row anchor)里的每個grid屬於第i條車道的概率

我們可以發現向量的長度是w+1而不是w, 因為有可能這一行里所有的grid都不屬於第i條車道, 這個時候需要多出一個grid來代表不存在, 此時向量前w個grid都是0, 第w+1個元素為1

image-20200909151335341

根據以上的描述, 作者對於車道線檢測的優化目標是如下的classification loss, 其中LCE代表的是交叉熵損失函數

image-20200909152710279

作者認為這樣對問題的表述能解決兩個問題:

  1. Fast speed

傳統的語義分割的預測目標維度為HxWx(C + 1), 但是作者的方法的維度是Cxhx(w + 1)

h比H小恨到, w比W小很多,總體計算復雜度是傳統分割的1%

  1. No visual-clue

作者用resnet提取了全局特征, 全連接層使用了全局特征, 因此作者這樣的方法能使用環境信息來對車道線的位置進行推斷。

2.2 損失函數

總體來看, loss分為三部分

image-20200909153716033

  • 上文所述的classification cross entropy loss
  • structural loss
  • segmentation loss

其中structural loss分為similarity loss和shape loss兩部分image-20200909153928644

其中similarity loss如下, 作者希望相鄰的兩個row anchor的預測概率接近

image-20200909153920008

shape loss的推導如下

首先是第j行, 第i個車道的位置, 選擇預測概率最大的作為預測值

image-20200909154117113

但是由於argmax不可導, 作者換了一種表示方式

image-20200909154221206

image-20200909154232885

對location求二階差分得到下面的loss

image-20200909154334656

3.3 總體結構

最后, 網絡的總體結構如下圖

image-20200909154407647

藍線上的網絡做語義分割, 得到segmentation loss, 下面的網絡進行預測, 得到structural loss和classication loss

3. Experiments

作者分別在CULane和Tusimple上實驗

對於tusimple, 准確度的定義如下

image-20200909155102610

Cclip指的是預測正確的道路點數, Sclip是所有的道路點數。

對於CULane用F1-measure來度量, 因為CULane的每條車道都是一條30pixel的線, 因此TP代表的是IoU>0.5的預測, FP代表的是IoU<0.5的預測, TN代表的是沒有這條車道且預測沒有這條車道, FN代表的是有這條車道但是被預測為沒有這條車道

image-20200909155712608

Tusimple結果如下

image-20200909160444841

CULane結果如下

image-20200909160512145

4. 代碼研讀

TODO:
288x800

Adam

cosine decay


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM