車道線檢測綜述及近期新工作——為ADAS、自動駕駛服務。
部分視訊效果展示:
https://www.bilibili.com/video/BV1E54y1V7G4
https://www.bilibili.com/video/BV1Lb4y1Z7fT
https://www.bilibili.com/video/BV15q4y1E7gU
0 前言
近期剛入門車道線檢測任務,做了一點調研和整理,算是有了一點了解。發現目前車道線相關的資料還比較少,是以決定将部分整理的内容分享出來,希望可以給同樣的新人一點幫助。(部分内容來自網頁搜集,表示感謝,如有侵權,聯系删除)
1 問題定義
如上圖所示,車道線檢測任務就是對目前行駛道路的車道線進行檢測,給出自車道及左右兩側至少各一個車道的相關資訊,如車道的ID、方向、曲率、類型(虛線、實線、黃線、白線等)、寬度、長度、速度等資訊,并進行可視化輸出。
2 主要難點
- 車道線一般為細長形的外觀結構,需要強大的高低層次特征融合來同時擷取全局的空間結構關系和細節處的定位精度;
- 車道線的狀态呈現具有不确定性,如被遮擋、磨損、道路變化時本身的不連續性、天氣影響(雨、雪)等。需要網絡針對不同情況具備較強的推理能力;
- 車輛的偏離或換道過程會産生自車所在車道的切換,車道線也會發生左/右線的切換。一些提前給車道線指派固定序号的方法,在換道過程中會産生歧義的情況;
- 車道線檢測必須實時或更快速地執行,以節省其他系統的處理能力;
- 目前大多數方法不提供源碼,導緻複用性差;
3 公共資料集
- Caltech:約1.2k張圖,場景比較簡單,且視角較好;大小:640x480;
- VPGNet:20k張圖,包含白天(非雨天、雨天、大雨天)、夜晚的資料,同時包含了各種車道線類型,以及其他不同類型的車道辨別(左轉箭頭、直行箭頭、斑馬線等);
- TuSimple:72k張圖,位于高速路,天氣晴朗,車道線清晰,特點是車道線以點來标注;大小:1280x720;
-
CULane:98k張圖,包含擁擠、黑夜、無線、暗影等8種難以檢測的情況,最多标記4條車道線;大小:1640x590;
-
- BDD100k:120M張圖, 包含美國4個區的白天、黑夜各種天氣狀況,二維8類别車道線;大小:1280x720;
- ApolloScape:140k張圖,特點是車道線以掩碼的形式标注,包含2維或3維28個類别;大小:3384x2710;
- CurveLanes:華為彎道檢測資料集 135k張圖, 采用三次樣條曲線手動标注所有車道線,包括很多較為複雜的場景,如S路、Y車道,還有夜間和多車道的場景。訓練集10萬張,驗證集2萬張,測試集3萬張;大小:2650x1440;
- LLAMAS:19年新提出的,100k張圖,标注不是人工标注,而是高精地圖生成的,全是高速場景。
目前,我看到的最新的學術論文裡,大都是用的 TuSimple 和 CULane 兩個資料集進行性能對比,也有文章使用 LLAMAS。
4 研究方法
4.1 傳統圖像方法
通過邊緣檢測濾波等方式分割出車道線區域,然後結合霍夫變換、RANSAC等算法進行車道線檢測。這類算法需要人工手動去調濾波算子,根據算法所針對的街道場景特點手動調節參數,工作量大且魯棒性較差,當行車環境出現明顯變化時,車道線的檢測效果不佳。主流方式如下:
. 基于霍夫變換的車道線檢測;
. 基于LSD直線的車道線檢測;
. 基于俯視圖變換的車道線檢測;
. 基于拟合的車道線檢測;
. 基于平行透視滅點的車道線檢測;
局限性:
. 應用場景受限;霍夫直線檢測方法準确但不能做彎道檢測,拟合方法可以檢測彎道但不穩定,仿射變換可以做多車道檢測但在遮擋等情況下幹擾嚴重。
. 透視變換操作會對相機有一些具體的要求,在變換前需要調正圖像,而且錄影機的安裝和道路本身的傾斜都會影響變換效果。
4.2 基于深度學習的方法
目前基于深度學習的方法由于具有較高的精度,成為目前的主流方式,大抵可以分為以下四類:
1)基于語義分割的方法
SCNN:對于細長的車道線檢測是很有效的但是速度慢(7.5FPS),這阻礙了它在現實世界中的适用性。
SAD:提出了一種自注意蒸餾子產品,基于資訊蒸餾為了解決大主幹網絡對速度的影響,可以聚合文本資訊。 該方法允許使用更輕量級的骨幹,在保持實時效率的同時實作高性能。
CurveLanes-NAS:使用神經架構搜尋(NAS)來尋找更好的骨幹。 雖然取得了最先進的結果,但在計算上非常耗時。(華為諾亞方舟實驗室)
2)行分類方法
一種基于輸入圖像網格劃分的車道檢測方法。 對于每一行,模型預測最有可能的單元格包含車道标記的一部分。 由于每一行隻選擇一個單元格,是以對圖像中的每個可能的車道重複此過程。
如: E2E-LMD、IntRA-KD、UFAST等,其中UFAST實作了目前最快的檢測速度,達到了300FPS(後面詳細介紹)。
3)基于anchor的方法
類似YOLOv3或SSD的單階段模型,如Line-CNN、LaneATT等,其中LaneATT提出了新的基于anchor的車道檢測注意機制,表現SOTA,達到了250FPS(後面詳細介紹)。
4)其他方法
FastDraw :不需要後處理,需要分割和行分類的方法。雖然速度高。但是精确度不高。
PolyLaneNet:速度快,但是由于現有的資料集不均衡,造成一些偏差。
附:(本節提到的幾篇文章出處)
SCNN—Spatial As Deep: Spatial CNN for Traffic Scene Understanding. AAAI, 2018.
SAD—Learning lightweight Lane Detection CNNs by Self Attention Distillation. ICCV, 2019.
CurveLanes-NAS—CurveLane-NAS: Unifying Lane Sensitive Architecture Search and Adaptive Point Blending. ECCV,2020.
E2E-LMD—End-to-End Lane Marker Detection via Row-wise Classification. CVPR Workshop, 2020.
IntRA-KD—Inter-Region Affinity Distillation for Road Marking Segmentation. CVPR, 2020.
UFAST—Ultra Fast Structure aware Deep Lane Detection. ECCV, 2020.
Line-CNN—Line-CNN: End-to-end traffic line detection with line proposal unit. Intelligent Transportation Systems,2019.
LaneATT—Keep your eyes on the lane: Real-time attention-guided lane detection. CVPR, 2021.
FastDraw—FastDraw: Addressing the Long Tail of Lane Detection by Adapting a Sequential Prediction Network.CVPR, 2019.
PolyLaneNet—PolyLaneNet: Lane Estimation via Deep Polynomial Regression. ICPR, 2020.
5 評價名額
兩個目前主流資料集 TuSimple 和 CULane 采用不用的評價名額。
首先,在判斷 True or False時,主要有兩種方式:
1.End Point,通過判斷線的端點間的距離及其包圍面積是否超過門檻值;(TuSimple資料集)
2.IoU,預測和标注都畫出來,像圖像分割一樣計算IoU的重疊面積,小于門檻值判為負;(CULane資料集)
名額1—準确度(TuSimple):
Cclip:預測正确的道路點數;
Sclip:所有的道路點數;
名額2—F1-measure(CULane):
TP: IoU>0.5的預測;
FP: IoU<0.5的預測;
TN: 沒有這條車道且預測沒有該車道;
FN: 有這條車道但被預測為沒有該車道;
其它名額:
Runtime(ms)
MACs(multiply-accumulate operations)
FPS
FDR(false discovery rate)
FNR(false negative rate)
6 近期比較新的方法
2021:
- Structure Guided Lane Detection IJCAI 2021 美團
- CondLaneNet: a Top-to-down Lane Detection Framework Based on Conditional Convolution
- Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection CVPR 2021 代碼開源
- YOLinO: Generic Single Shot Polyline Detection in Real Time
- LaneAF: Robust Multi-Lane Detection with Affinity Fields 代碼開源
- Robust Lane Detection via Expanded Self Attention
- End-to-End Deep Learning of Lane Detection and Path Prediction for Real-Time Autonomous Driving
- RESA: Recurrent Feature-Shift Aggregator for Lane Detection AAAI 2021 代碼開源
- End-to-end Lane Shape Prediction with Transformers WACV 2021 代碼開源
2020:
-
3D-LaneNet+: Anchor Free Lane Detection using a Semi-Local Representation
Keep your Eyes on the Lane: Attention-guided Lane Detection 代碼開源
- RONELD: Robust Neural Network Output Enhancement for Active Lane Detection ICPR 2020 代碼開源
- CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point Blending ECCV 2020 Datasets
- Towards Lightweight Lane Detection by Optimizing Spatial Embedding ECCV 2020 Workshop
- Structure-Aware Network for Lane Marker Extraction with Dynamic Vision Sensor
- Lane Detection Model Based on Spatio-Temporal Network with Double ConvGRUs
- Heatmap-based Vanishing Point boosts Lane Detection
- Synthetic-to-Real Domain Adaptation for Lane Detection
- E2E-LMD: End-to-End Lane Marker Detection via Row-wise Classification
- SUPER: A Novel Lane Detection System
- Ultra Fast Structure-aware Deep Lane Detection ECCV 2020 代碼開源
- PolyLaneNet: Lane Estimation via Deep Polynomial Regression 代碼開源
- Inter-Region Affinity Distillation for Road Marking Segmentation CVPR 2020 代碼開源
- Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection ECCV 2020 代碼開源
- Detecting Lane and Road Markings at A Distance with Perspective Transformer Layers
- Semi-Local 3D Lane Detection and Uncertainty Estimation
- FusionLane: Multi-Sensor Fusion for Lane Marking Semantic Segmentation Using Deep Neural Networks 代碼開源
- PINet:Key Points Estimation and Point Instance Segmentation Approach for Lane Detection 代碼開源
- Better-CycleGAN + ERFNet: Lane Detection in Low-light Conditions Using an Efficient Data Enhancement : Light Conditions Style Transfer submitted to IV 2020
- Multi-lane Detection Using Instance Segmentation and Attentive Voting ICCAS 2019
7 部分文章原理
留待後期陸續更新。。。。,感興趣的朋友可以關注一下。