實時車道線檢測和智能告警 | 車距 + 彎道 + 車道線
作者:Priya Dwivedi
編譯:ronghuaiyang
車道線檢測 + 距離告警 + 轉(zhuǎn)彎曲率半徑計算。
代碼:https://github.com/MaybeShewill-CV/lanenet-lane-detection

介紹
自動駕駛將在未來十年給旅行帶來革命性的變化。目前,自動駕駛應(yīng)用正在進行各種應(yīng)用案例的測試,包括乘用車、機器人出租車、自動商業(yè)送貨卡車、智能叉車和用于農(nóng)業(yè)的自動拖拉機。
自動駕駛需要一個計算機視覺感知模塊來理解和導(dǎo)航環(huán)境。感知模塊的作用包括:
-
檢測車道線 -
檢測其他物體:車輛、人、環(huán)境中的動物 -
跟蹤檢測到的對象 -
預(yù)測他們可能的運動
一個好的感知系統(tǒng)應(yīng)該能夠在各種駕駛條件下 —— 白天/晚上,夏天/冬天,雨雪等等,實時做到這一點。在這篇博客中,我們著眼于一個實時模型,用于檢測車道線、其他車輛等,并生成警報。
訓(xùn)練一個實時的車道線檢測器
車道檢測問題通常被定義為語義或?qū)嵗指顔栴},目標是識別屬于車道類別的像素。
TUSimple是車道檢測任務(wù)常用的數(shù)據(jù)集。該數(shù)據(jù)集包含3626個道路場景的標注視頻剪輯。每個剪輯有20幀。這些數(shù)據(jù)是通過安裝在車上的攝像頭捕捉到的。下面分享了一個示例圖像及其標注。

在這個數(shù)據(jù)集上,我們可以訓(xùn)練一個語義分割模型來分割出屬于lane類的像素。U-Net model非常適合做這個,因為它是一個具有實時推理速度的輕量級模型。U-Net是一種帶有跳躍連接的編譯碼器和解碼器模塊的編譯碼器模型。模型架構(gòu)如下所示。

然而,損失函數(shù)需要修改為Dice損失系數(shù)。車道線分割問題是一個極其不平衡的數(shù)據(jù)問題。圖像中的大多數(shù)像素屬于背景類。Dice Loss基于Sorenson-Dice系數(shù),其對false positives和false negatives的重要性相似,這使得它在處理不平衡數(shù)據(jù)問題時表現(xiàn)得更好。Dice損失試圖匹配groundtruth和預(yù)測模型中的車道線像素,希望能夠得到一個清晰的邊界預(yù)測。
LaneNet模型
這里,我使用了LaneNet模型來生成車道線。LaneNet模型是一種兩階段車道線預(yù)測器。第一階段是一個編碼器-解碼器模型,為車道線創(chuàng)建分割掩碼。第二階段是車道先定位網(wǎng)絡(luò),從掩碼中提取的車道點作為輸入,使用LSTM學(xué)習(xí)一個二次函數(shù)來預(yù)測車道線點。
下圖顯示了這兩個階段的運行情況。左邊是原始圖像,中間是階段1的車道線掩碼輸出,右邊是階段2的最終輸出。

生成智能告警
我將車道線預(yù)測與物體檢測結(jié)合起來,生成智能警報。這些智能警報可能涉及:
-
檢測其他車輛是否在車道線內(nèi),并量度與他們的距離 -
檢測鄰近車道上是否有車輛的存在 -
了解彎曲道路的轉(zhuǎn)彎半徑
在這里,我使用YOLO-v5來檢測道路上的汽車和人。YOLO-v5在檢測道路上的其他車輛方面做得很好。推理時間也非常快。
下面我們用YOLO v5來測量自己的車和前面最近的車的距離。模型返回的距離以像素為單位,可以根據(jù)相機參數(shù)轉(zhuǎn)換成米。由于TUSimple數(shù)據(jù)集的相機參數(shù)未知,我根據(jù)車道線的標準寬度估計了像素到米的轉(zhuǎn)換。

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

總結(jié)
在這篇博客中,我們探討了在自動駕駛中準確和快速檢測車道線的問題。然后,我們使用YOLOv5來構(gòu)建對道路上其他物體的理解。這可以用來生成智能警報。
英文原文:https://towardsdatascience.com/real-time-lane-detection-and-alerts-for-autonomous-driving-1f0a021390ee
—版權(quán)聲明—
來源:AI公園
僅用于學(xué)術(shù)分享,版權(quán)屬于原作者。
若有侵權(quán),請聯(lián)系微信號:yiyang-sy 刪除或修改!
—THE END—
