(附代碼)自動駕駛的實時車道檢測和警報
點擊左上方藍字關注我們

前言:
自動駕駛將在未來十年徹底改變旅行。 目前正在測試自動駕駛應用程序的各種用例,包括乘用車、機器人出租車、自動商業(yè)送貨卡車、智能叉車和用于農(nóng)業(yè)的事件自動拖拉機。
一個好的感知系統(tǒng)應該能夠在各種駕駛條件下實時地做到這一點——白天/黑夜、夏天/冬天、雨/雪等。
在本文中,我們將研究用于檢測車道線、其他車輛等并生成警報的實時模型。
訓練實時車道檢測器
車道檢測問題通常被定義為語義或?qū)嵗指顔栴},其目標是識別屬于車道類別的像素。
TUSimple 是用于車道檢測任務的流行數(shù)據(jù)集。該數(shù)據(jù)集包含 3626 個帶注釋的道路場景視頻剪輯。每個剪輯有 20 幀。數(shù)據(jù)是從安裝在汽車上的攝像頭捕獲的。下面分享了一個示例圖像及其注釋。
TUSimple地址:
https://github.com/TuSimple/tusimple-benchmark/tree/master/doc/lane_detection

在這個數(shù)據(jù)集上,我們可以訓練一個語義分割模型來分割出屬于車道類的像素。 U-Net 模型將是這里的理想選擇,因為它是具有實時推理速度的輕量級模型。U-Net 是一種編碼器-解碼器模型,具有跳過連接 b/w 編碼器和解碼器塊。模型架構如下所示。

但是,應該將損失函數(shù)修改為 Dice Loss 系數(shù)。車道線分割問題是一個極其不平衡的數(shù)據(jù)問題。圖像中的大部分像素屬于背景類。Dice Loss 基于 Sorenson-Dice 系數(shù),它對誤報和漏報同樣重視,這使得它能夠更好地解決不平衡數(shù)據(jù)問題。Dice 損失嘗試匹配地面實況和預測模型中的車道像素,并且能夠獲得清晰的邊界預測。
車道網(wǎng)模型
在本文中,我使用了 LaneNet 模型來生成車道線。LaneNet 模型是一個兩階段車道線預測器。第一階段是編碼器-解碼器模型,用于為車道線創(chuàng)建分割掩碼。第二階段是車道定位網(wǎng)絡,它將從掩碼中提取的車道點作為輸入,并使用 LSTM 學習預測車道點的二次函數(shù)。
下圖顯示了運行中的兩個階段。 左側面板是原始圖像,中間面板是第 1 階段的車道掩碼輸出,右側面板是第 2 階段的最終輸出。

LaneNet代碼:
https://github.com/MaybeShewill-CV/lanenet-lane-detection
生成智能警報
我將車道線的預測與物體檢測相結合以生成智能警報。 這些智能警報可能與以下因素有關:
檢測車輛的自我車道中是否存在其他車輛并測量與它們的距離
檢測相鄰車道中車輛的存在
檢測彎曲道路的轉(zhuǎn)彎半徑
YOLO-v5 在檢測道路上的其他汽車方面做得很好,推理時間也非常快。在這里,使用 YOLO-v5 來檢測道路上的汽車和行人。
下面我們使用 YOLO v5 來測量黑白本車與前方最近車輛的距離。模型返回以像素為單位的距離,可以根據(jù)相機參數(shù)將其轉(zhuǎn)換為米。由于 TUSimple 數(shù)據(jù)集不知道相機參數(shù),因此我根據(jù)車道線的標準寬度估計了像素到米的轉(zhuǎn)換。

我們可以類似地計算車道的曲率半徑,并將其用于汽車的轉(zhuǎn)向模塊。

結論
在本文中,我們探討了在自動駕駛應用中準確快速地檢測車道線的問題。然后我們使用 YOLOv5 來建立對路上其他物體的理解,這可用于生成智能警報。
英文原文鏈接:
https://towardsdatascience.com/real-time-lane-detection-and-alerts-for-autonomous-driving-1f0a021390ee
END
整理不易,點贊三連↓
