用于自動駕駛的實時車道線檢測和智能告警
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
本文轉(zhuǎn)自:計算機(jī)視覺life
車道線檢測 + 距離告警 + 轉(zhuǎn)彎曲率半徑計算。
代碼:https://github.com/MaybeShewill-CV/lanenet-lane-detection

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

在這個數(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模型是一種兩階段車道線預(yù)測器。第一階段是一個編碼器-解碼器模型,為車道線創(chuàng)建分割掩碼。第二階段是車道先定位網(wǎng)絡(luò),從掩碼中提取的車道點作為輸入,使用LSTM學(xué)習(xí)一個二次函數(shù)來預(yù)測車道線點。
下圖顯示了這兩個階段的運行情況。左邊是原始圖像,中間是階段1的車道線掩碼輸出,右邊是階段2的最終輸出。

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

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

在這篇博客中,我們探討了在自動駕駛中準(zhǔn)確和快速檢測車道線的問題。然后,我們使用YOLOv5來構(gòu)建對道路上其他物體的理解。這可以用來生成智能警報。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

