Ultra Fast Deep Lane Detection V2
【GiantPandaCV 導(dǎo)語】Ultra Fast Deep Lane Detection 是個比較有特點(diǎn)的車道線檢測模型,把檢測轉(zhuǎn)化成分類來實現(xiàn)?,F(xiàn)在出了 V2,有了幾個創(chuàng)新點(diǎn),于是又來研究一下。之前參考 Ultra Fast Deep Lane Detection V1 設(shè)計了一個全新的車道線檢測網(wǎng)絡(luò),把模型壓縮了80%,并部署使用了。另外還把 v1 和 yolov4 合并實現(xiàn)了多任務(wù):https://github.com/Huangdebo/YOLOv4-MultiTask
1 介紹
這篇文章提出了一個超快車道線檢測,區(qū)別于之前基于分割和回歸的模型,該模型把車道線檢測看車是分類問題,而且使用了全連接層,加強(qiáng)了模型的全局感知能力。另外,本文還設(shè)計了一個混合錨點(diǎn)機(jī)制,對不同的車道使用不用的錨點(diǎn),很好地解決了兩側(cè)車道檢測性能不佳的問題。該模型在兼顧了速度的前提下,還很好地處理了遮擋和暗光等情況,取得了不錯的性能。
2 模型設(shè)計
2.1 使用錨點(diǎn)來表示車道線
為了表示車道線,首先引入了橫向錨點(diǎn),把車道線看車橫向錨點(diǎn)的一組關(guān)鍵點(diǎn)。但當(dāng)兩側(cè)的車道線的水平角度比較小時,便會引起定位問題,也就是一定寬度的車道線會覆蓋到多個關(guān)鍵點(diǎn),導(dǎo)致定位錯亂,而且角度越小,問題越嚴(yán)重:
為了解決上述的定位錯誤問題,文章便提出一種混合錨點(diǎn)機(jī)制,中間水平角度大的車道線使用橫向錨點(diǎn)來表達(dá),兩側(cè)水平角度小的車道線用縱向錨點(diǎn)來表達(dá)。每條車道線都用一組歸一化坐標(biāo)來表示
2.2 基于錨點(diǎn)的網(wǎng)絡(luò)設(shè)計
因為每條車道線都用一組歸一化坐標(biāo)來表示,而且是把車道線檢測看成分類任務(wù),于是可以通過類別數(shù)目來映射出每個車道線關(guān)鍵點(diǎn)的類別:
另外,網(wǎng)絡(luò)還添加了一個分支,用來判別車道線在該處是否存在。該分支的目標(biāo)就只有兩個值:1和0,分別代表存在和不存在:
2.3 序列分類的損失函數(shù)
既然是分類任務(wù),那自然就會想到使用基本的分類損失函數(shù),相當(dāng)于把關(guān)鍵點(diǎn)的不同位置看成不同的類別,直接用 CE loss 來表達(dá):
于基本的分類不一樣的是,這個位置的類別是有序的,也就是可以把這個位置的預(yù)測值看成是各個位置的投票 均值,越靠近 groundtruth 的地方投票值越大,可以緩解預(yù)測偏移的問題:
于是,可以這個期望損失可以表達(dá)成:
另外,對于網(wǎng)絡(luò)另一個用以判別車道線是否存在的分支,就是一個二分類問題,其損失函數(shù)可以表達(dá)成:
所以整個模型的損失函數(shù)便可以組成:
3 消融實驗
3.1 混合錨點(diǎn)機(jī)制的作用
混合錨點(diǎn)機(jī)制中包含了橫向錨點(diǎn)策略和縱向錨點(diǎn)策略,針對不同的車道線,使用不同的策略。為了對比混合錨點(diǎn)機(jī)制的作用,作者分別單獨(dú)使用橫向錨點(diǎn)策略和縱向錨點(diǎn)策略以及混合錨點(diǎn)來進(jìn)行對比:
3.2 序列分類的作用
相比于基本的分類任務(wù),文章中所用的序列分類還利用了車道線關(guān)鍵點(diǎn)位置的有序性。為了對比序列分類的作用,作者還使用了傳統(tǒng)分類和回歸的方式來比對。對于回歸方式,則是把網(wǎng)絡(luò)的分類頭換成回歸頭,并用 smooth L1 los 來訓(xùn)練。實驗表明,利用了關(guān)鍵點(diǎn)有序性的序列分類的性能明顯優(yōu)于一般的分類和回歸方式:
3.3 序列分類損失的消融
序列分類的損失函數(shù)包含了兩部分,一個是基本的分類損失和一個期望損失。作者也進(jìn)行了消融實驗來對比它們的作用:
3.4 類別的個數(shù)和錨點(diǎn)數(shù)量的影響
因為是把車道線的位置檢測看成是關(guān)鍵點(diǎn)位置的分類,那久必須要設(shè)定一個類別數(shù)目,作者通過調(diào)整類別數(shù)目來做對比實驗,發(fā)現(xiàn)隨著類別數(shù)目的增加,模型的性能顯示提升然后再下降,說明類別數(shù)目并不是越多越好。同樣,錨點(diǎn)的數(shù)量也需要預(yù)先設(shè)定,原則上講,錨點(diǎn)數(shù)量越多,對車道線的檢測就越精細(xì),但也意味著計算量也更大,所以必須要在模型速度和性能上做一個權(quán)衡。
4 結(jié)論
使用了混合錨點(diǎn)機(jī)制和序列分類損失,緩解了 V1 中兩側(cè)車道線檢測性能不足的問題,而且還能保持一樣的高效率。但錨點(diǎn)的數(shù)目和序列分類的數(shù)目丟等參數(shù)都需要手動設(shè)定,可能存在一定的數(shù)據(jù)相關(guān)性。而且網(wǎng)絡(luò)最后一層使用的是全連接層來提升網(wǎng)絡(luò)的感知能力,導(dǎo)致參數(shù)比較大,對工程部署不太友好,這些都是可優(yōu)化的點(diǎn)。
審核編輯 :李倩
-
檢測
+關(guān)注
關(guān)注
5文章
4419瀏覽量
91321 -
模型
+關(guān)注
關(guān)注
1文章
3123瀏覽量
48664 -
機(jī)制
+關(guān)注
關(guān)注
0文章
24瀏覽量
9771
原文標(biāo)題:車道線檢測 Ultra Fast Deep Lane Detection V2 講解
文章出處:【微信號:GiantPandaCV,微信公眾號:GiantPandaCV】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論