ECCV 2020 | 超快的車(chē)道線(xiàn)檢測(cè)
點(diǎn)擊上方“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)載自知乎,僅做學(xué)習(xí)交流分享,如有侵權(quán)請(qǐng)聯(lián)系刪除
鏈接:https://zhuanlan.zhihu.com/p/157530787

很高興和大家分享一下我們剛剛被 ECCV 2020 接收的新工作:一種超快速的車(chē)道線(xiàn)檢測(cè)算法(Ultra Fast Structure-aware Deep Lane Detection),能夠達(dá)到SOTA水平的性能,同時(shí)保持超高的檢測(cè)速度。輕量級(jí)的版本可以在接近SOTA的性能情況下達(dá)到300+FPS的檢測(cè)速度。
代碼和模型已開(kāi)源。話(huà)不多說(shuō),先放demo。
車(chē)道線(xiàn)檢測(cè)是自動(dòng)駕駛中的一個(gè)基礎(chǔ)模塊,其實(shí)也是一個(gè)由來(lái)已久的任務(wù),早期已有很多基于傳統(tǒng)圖像處理實(shí)現(xiàn)的車(chē)道線(xiàn)檢測(cè)算法。但隨著大家研究的深入,車(chē)道線(xiàn)檢測(cè)任務(wù)所應(yīng)對(duì)的場(chǎng)景越來(lái)越多樣化,逐步已經(jīng)脫離了對(duì)于“白、黃色線(xiàn)條”這種低階理解。目前更多的方式是尋求對(duì)于?語(yǔ)義上車(chē)道線(xiàn)存在位置的檢測(cè),即使它是模糊的、被光照影響的、甚至是完全被遮擋的,如下圖所示。

對(duì)于上圖這類(lèi)問(wèn)題,基于傳統(tǒng)圖像處理的方法幾乎無(wú)法實(shí)現(xiàn)檢測(cè),因此有了一些方法開(kāi)始嘗試一種最直接的深度學(xué)習(xí)方案——把車(chē)道線(xiàn)檢測(cè)視為分割任務(wù)。雖然深度分割方法效果強(qiáng)于傳統(tǒng)方法,但存在兩個(gè)關(guān)鍵問(wèn)題
速度慢
因?yàn)榉指钍侵鹣袼胤诸?lèi)的,要對(duì)圖像中每一個(gè)像素點(diǎn)進(jìn)行分類(lèi)。為了分割車(chē)道線(xiàn)要進(jìn)行非常密集的計(jì)算,導(dǎo)致的結(jié)果就是速度比較慢。其實(shí)車(chē)道線(xiàn)像素其實(shí)只占圖像很少一部分,想想也不需要進(jìn)行這么舍本逐末的操作。
局部感受野
分割的另一個(gè)問(wèn)題是感受野問(wèn)題。因?yàn)榉指钜话闶侨矸e得到分割結(jié)果,而卷積基本上是比較局部的,所以每個(gè)像素的感受野有限。在其他分割問(wèn)題中可能問(wèn)題不大,但在車(chē)道線(xiàn)檢測(cè)中,問(wèn)題就很大了。由于我們關(guān)注的問(wèn)題大多是上圖這種語(yǔ)義線(xiàn)的檢測(cè),需要對(duì)全局有很好的感知才能實(shí)現(xiàn)良好的定位。比如在圖1中,對(duì)于車(chē)道線(xiàn)的定位只有靠周?chē)?chē)流走向這種全局信息才能很好地定位。
雖然有些很好的工作,比如SCNN[1]使用不同方向上的特征傳播實(shí)現(xiàn)信息傳遞,間接完成了增大感受野,增加全局信息的目標(biāo),但是速度更慢了。
為了更簡(jiǎn)單地建模車(chē)道線(xiàn),也為了解決上述兩個(gè)分割方法存在的問(wèn)題,我們提出了一個(gè)全新的車(chē)道線(xiàn)檢測(cè)定義:將車(chē)道線(xiàn)檢測(cè)定義為尋找車(chē)道線(xiàn)在圖像中某些行的位置的集合,即基于行方向上的位置選擇、分類(lèi)(row-based classification),如下圖所示。

假設(shè)我們要檢測(cè)一條車(chē)道線(xiàn)的圖像大小為HxW,對(duì)于分割問(wèn)題,我們需要處理HxW個(gè)分類(lèi)問(wèn)題。
由于我們的方案是行向選擇,假設(shè)我們?cè)趆個(gè)行上做選擇,我們只需要處理h個(gè)行上的分類(lèi)問(wèn)題,只不過(guò)每行上的分類(lèi)問(wèn)題是W維的。因此這樣就把原來(lái)HxW個(gè)分類(lèi)問(wèn)題簡(jiǎn)化為了只需要h個(gè)分類(lèi)問(wèn)題,而且由于在哪些行上進(jìn)行定位是可以人為設(shè)定的,因此h的大小可以按需設(shè)置,但一般h都是遠(yuǎn)小于圖像高度H的。
這樣,我們就把分類(lèi)數(shù)目從HxW直接縮減到了h,并且h遠(yuǎn)小于H,更不用說(shuō)h遠(yuǎn)小于HxW了。因此我們的方法將計(jì)算復(fù)雜度縮減到了一個(gè)極小的范圍內(nèi),解決了分割速度慢的問(wèn)題,極大地提速的了車(chē)道線(xiàn)檢測(cè)算法的速度,這也是我們方法能夠達(dá)到300+FPS的原因。下圖展示了我們方法和基于分割的車(chē)道線(xiàn)檢測(cè)方法的比較。

除了速度快之外,我們的方法還可以解決上文提到的另一個(gè)問(wèn)題:局部感受野小導(dǎo)致的復(fù)雜車(chē)道線(xiàn)檢測(cè)困難問(wèn)題。由于我們的方法不是分割的全卷積形式,是一般的基于全連接層的分類(lèi),它所使用的特征是全局特征。這樣就直接解決了感受野的問(wèn)題,對(duì)于我們的方法,在檢測(cè)某一行的車(chē)道線(xiàn)位置時(shí),感受野就是全圖大小。因此也不需要復(fù)雜的信息傳遞機(jī)制就可以實(shí)現(xiàn)很好的效果。
除此之外,由于有了水平行方向上直接的位置信息,我們還可以使用這些信息來(lái)加入車(chē)道線(xiàn)的先驗(yàn)約束——平滑性和剛性。
我們將相鄰行上分類(lèi)的L1范數(shù)定義為平滑性,希望車(chē)道線(xiàn)位置在相鄰行上是相近且平滑變化的。

將相鄰行間的二階差分定義為車(chē)道線(xiàn)的形狀。由于車(chē)道線(xiàn)大多是直線(xiàn),因此其二階差分為0,所以約束其二階差分與0的差異可以在優(yōu)化過(guò)程中使得預(yù)測(cè)出的車(chē)道線(xiàn)更直。

具體公式符號(hào)定義請(qǐng)見(jiàn)我們的文章。

可以看到在Tusimple數(shù)據(jù)集上我們的方法比SCNN[1]快了41.7倍,比SOTA的SAD[2]也快了4倍。但是Tusimple數(shù)據(jù)集上大家性能也比較飽和了,沒(méi)有達(dá)到SOTA的水平。

在另一個(gè)更為挑戰(zhàn)性的CULane數(shù)據(jù)集上,我們的方法同時(shí)達(dá)到了最快的速度和最好的精度。SOTA性能的模型能跑到175幀,輕量級(jí)的模型甚至可以跑到322幀。
這個(gè)速度是我們?cè)贕TX 1080Ti上測(cè)的,在20系或者Tesla顯卡上應(yīng)該速度會(huì)更快。但已經(jīng)這么快了,還要啥自行車(chē) : )
目前代碼和模型都已開(kāi)源,希望大家多多指教!
論文:https://arxiv.org/pdf/2004.11757.pdf
代碼:https://github.com/cfzd/Ultra-Fast-Lane-Detection
參考
1. https://arxiv.org/abs/1712.06080
2. https://arxiv.org/abs/1908.00821
下載1:動(dòng)手學(xué)深度學(xué)習(xí)
在「AI算法與圖像處理」公眾號(hào)后臺(tái)回復(fù):OpenCV黑魔法,即可下載小編精心編寫(xiě)整理的計(jì)算機(jī)視覺(jué)趣味實(shí)戰(zhàn)教程
下載2 在「AI算法與圖像處理」公眾號(hào)后臺(tái)回復(fù):CVPR2020,即可下載1467篇CVPR?2020論文 個(gè)人微信(如果沒(méi)有備注不拉群!) 請(qǐng)注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱(chēng)


