經典論文 | 300FPS,超快結構感知的深度車道檢測

語言: CN / TW / HK

前言 現代的車道線檢測的主要做法是將車道檢測視為畫素分割的問題,這樣做很難解決具有挑戰性的場景和速度問題。受到human perception的啟發,即嚴重遮擋和極端光照條件下的車道識別主要基於背景資訊和全域性資訊。 作者提出一種新穎、簡單而有效的方式,旨在實現極快的速度和具有挑戰性的場景。作者將車道檢測的過程看作是一個使用全域性特徵的基於行的選擇問題,在全域性特徵上使用一個大的接受域,這樣可以處理具有挑戰性的場景,在此基礎上,作者還提出了一個結構損失模型來明確地建模車道的結構。 在兩個車道檢測基準資料集上的大量實驗表明,該方法在速度和精度方面都達到了較好的效能。一個輕量級版本甚至可以達到300+幀每秒與相同的解析度,比SOTA至少有4倍的速度。

歡迎關注公眾號CV技術指南,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀、CV招聘資訊。

論文:Ultra Fast Structure-aware Deep Lane Detection

論文:https://arxiv.org/abs/2004.11757

程式碼:https://github.com/cfzd/Ultra-Fast-Lane-Detection

背景

車道檢測是計算機視覺研究的一個基礎問題,在ADAS和自動駕駛等領域有著廣泛的應用。對於車道檢測,主流的方法有兩種,即傳統的影象處理方法和深度分割方法。車道檢測演算法作為自動駕駛的基本組成部分,被大量執行。這需要非常低的計算成本的車道檢測。此外,目前的自動駕駛解決方案通常配備多個相機輸入,這通常需要較低的計算成本。車道檢測的另一個關鍵問題是具有嚴重遮擋和極端光照條件的挑戰性場景,如下圖所示。

雖然深度分割方法在車道檢測領域占主導地位,但這種表示方式使得這些方法難以明確利用車道的剛性和平滑度等先驗資訊。基於上述動機,作者提出了一種新的以極快速度和解決無視覺線索問題為目標的車道檢測公式。同時,在此基礎上,作者提出了一種結構損失來明確利用車道的先驗資訊。

location selecting的示意圖如下圖所示

傳統的方法通常是基於視覺資訊來解決車道檢測問題。這些方法的主要思想是通過HSI顏色模型和邊緣提取演算法等基於視覺線索進行影象處理。當視覺資訊不夠強時(遇到車道線被遮擋的時候),跟蹤是另一種流行的後處理方案。除跟蹤外,還採用了馬爾可夫和條件隨機場作為後處理方法。

隨著機器學習的發展,提出了一些採用模板匹配、支援向量機等演算法的方法。隨著深度學習的發展,一些基於深度學習的神經網路的的方法在車道檢測方面顯示出了優勢。

這些方法通常使用相同的公式,將問題視為語義分割任務。例如VPGNet提出了一種基於消失點引導的多工網路,用於車道和道路標線檢測。為了更有效地利用視覺資訊,SCNN在分割模組中使用了一種特殊的卷積運算。它通過處理切片特徵,將不同維度的資訊逐個相加,類似於遞迴神經網路。

一些工作試圖探索實時應用的輕量化方法。自注意蒸餾(SAD)就是其中之一。它採用了一種注意力蒸餾機制,將高、低層次的注意力分別視為教師和學生。

除了主流的分割方法外,研究者還提出了序列預測和聚類等方法。例如,採用長短期記憶(LSTM)網路來處理車道的長線結構。同樣的原理,Fast-Draw預測每個車道點的車道方向,並依次繪製出來。此外,車道檢測問題被看作是聚類的二值段問題。不同於以往工作的二維視角,有研究者提出了一種基於三維公式的車道檢測方法來解決非平坦地面問題。

本文主要貢獻

1、作者提出了一種新穎、簡單而有效的車道檢測公式,以達到極高的速度和解決無視覺線索問題。與深度分割方法相比,作者的方法是選擇車道的位置,而不是分割每個畫素,並且可以在不同的維度上工作,速度非常快。此外,作者的方法使用全域性特徵進行預測,比分割公式有更大的接受域。這樣,沒有視覺線索的問題也可以得到解決。

2、作者提出了一種明確利用車道先驗資訊的結構損失。這是在深通道檢測方法中首次明確優化此類資訊。

3、在具有挑戰性的CULane資料集上,該方法在精度和速度方面都達到了最先進的效能。作者的方法的輕量版本甚至可以達到300+ FPS,具有相當的效能和相同的解析度,這至少比之SOTA的方法快4倍。

方法

1、新的車道檢測公式

高速和無視覺線索問題對車道檢測非常重要。因此,如何有效地處理這些問題是良好效能的關鍵,下表顯示了使用的一些符號。

用於選擇車道位置的分類器,在第i車道,第j行錨定,則車道預測可表示為

對應的優化方法為

其中LCE是交叉熵損失。作者使用一個額外的維度來表示車道,所以作者的公式由(w + 1)維組成,而不是w維分類。

作者的方法基於全域性特徵預測每個行錨上所有位置的概率分佈。因此,可以根據概率分佈來選擇正確的位置(即根據車道線分佈的全域性資訊,預測對於某一行錨中車道線的分佈)。作者的方法分割的示意圖如下圖所示,可以看出,作者的提法比常用的分割方法要簡單。

作者的公式以基於行的方式建立車道位置模型,這樣有機會明確地建立不同行之間的關係。該方法可以彌補由低階畫素化建模和高階車道長線結構造成的原有語義鴻溝。

2、車道結構損失

除了分類損失外,作者進一步提出了兩個損失函式,用於建模車道點的位置關係。這樣,結構資訊的學習就可以得到鼓勵。第一個是由車道是連續的這一事實推匯出來的,也就是說,相鄰行錨中的車道點應該彼此接近。在作者的公式中,車道的位置用分類向量表示。因此,連續性是通過約束分類向量在相鄰行上的分佈來實現的錨。這樣,相似度損失函式為

另一個結構損失函式關注的是車道的形狀。一般來說,大多數車道都是直的。即使是彎道,由於透視效果,大部分還是直線。在這篇工作中,作者使用二階差分方程來約束車道的形狀,對於直線的情況,它是零。為了考慮形狀,需要計算每排錨上的車道位置。

二階差分約束可表示為

整體損失

3、特徵聚合

作者提出了一種輔助的特徵聚合方法,對全域性上下文和區域性特徵進行聚合。提出了一種利用多尺度特徵建模區域性特徵的輔助分割任務。作者使用交叉熵作為輔助分割損失。這樣,所提方法的整體損失可以寫成

總體架構如下圖所示

此方法只在訓練階段使用輔助分割任務,在測試階段將其刪除。這樣,即使增加了額外的分割任務,也不會影響方法的執行速度。

實驗

1、資料集

2、實驗設定

作者在兩個廣泛使用的基準資料集上進行了實驗:TuSimple車道線資料集和CULane車道線資料集。在高速公路照明條件穩定的情況下,採集了TuSimple資料集。CULane資料集包含城區正常、人群、曲線、眩光等9種不同場景。

評價指標:兩個資料集的評價指標是不同的。對於TuSimple資料集,主要的評價指標是精確度,計算公式如下

CULane的評價指標為F1-measure,計算公式如下

3、資料增強

由於車道的固有結構,基於分類的網路容易過擬合訓練集,在驗證集上表現較差。為了防止這種現象,提高泛化能力,採用了一種由旋轉、垂直和水平位移組成的增強方法。另外,為了保持車道結構,將車道擴充套件到影象邊界。增強效果如下圖所示。

4、實驗結果

在TuSimple測試集上與其他方法進行了比較,執行時間倍數的計算是基於最慢的SCNN方法。

在CULane測試集的結果

在Tusimple和CULane資料集上視覺化的效果

結論

作者將車道檢測的過程看作是一個使用全域性特徵的基於行的選擇問題,在全域性特徵上使用一個大的接受域,這樣可以處理具有挑戰性的場景,在此基礎上,作者還提出了一個結構損失模型來明確地建模車道的結構,在兩個車道檢測基準資料集上的大量實驗表明,該方法在速度和精度方面都達到了較好的效能。一個輕量級版本甚至可以達到300+幀每秒與相同的解析度,比SOTA至少有4倍的速度。

CV技術指南建立了一個計算機視覺技術交流群和免費版的知識星球,目前星球內人數已經700+,主題數量達到200+。

知識星球內將會每天釋出一些作業,用於引導大家去學一些東西,大家可根據作業來持續打卡學習。

CV技術群內每天都會發最近幾天出來的頂會論文,大家可以選擇感興趣的論文去閱讀,持續follow最新技術,若是看完後寫個解讀給我們投稿,還可以收到稿費。 另外,技術群內和本人朋友圈內也將釋出各個期刊、會議的徵稿通知,若有需要的請掃描加好友,並及時關注。

加群加星球方式:關注公眾號CV技術指南,獲取編輯微信,邀請加入。

公眾號其它文章

計算機視覺入門路線

計算機視覺中的論文常見單詞總結

YOLO系列梳理(四)關於YOLO的部署

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(二)YOLOv4

YOLO系列梳理(一)YOLOv1-YOLOv3

CVPR2022 | 長期行動預期的Future Transformer

CVPR2022 | 可精簡域適應

CVPR2022 | 基於自我中心資料的OCR評估

CVPR 2022 | 使用對比正則化方法應對噪聲標籤

CVPR2022 | 弱監督多標籤分類中的損失問題

CVPR2022 | iFS-RCNN:一種增量小樣本例項分割器

CVPR2022 | A ConvNet for the 2020s & 如何設計神經網路總結

CVPR2022 | PanopticDepth:深度感知全景分割的統一框架

CVPR2022 | 重新審視池化:你的感受野不是最理想的

CVPR2022 | 未知目標檢測模組STUD:學習視訊中的未知目標

從零搭建Pytorch模型教程(六)編寫訓練過程和推理過程

從零搭建Pytorch模型教程(五)編寫訓練過程--一些基本的配置

從零搭建Pytorch模型教程(四)編寫訓練過程--引數解析

從零搭建Pytorch模型教程(三)搭建Transformer網路

從零搭建Pytorch模型教程(二)搭建網路

從零搭建Pytorch模型教程(一)資料讀取

關於快速學習一項新技術或新領域的一些個人思維習慣與思想總結