今天我主要想分享自動(dòng)駕駛感知技術(shù)在探索的過(guò)程中,采用的傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法不代表多傳統(tǒng),深度學(xué)習(xí)也不代表多深度。它們有各自的優(yōu)點(diǎn),也都能解決各自的問(wèn)題,最終希望將其結(jié)合起來(lái),發(fā)揮所有方法的優(yōu)點(diǎn)。
一、感知系統(tǒng)簡(jiǎn)介
首先介紹下感知系統(tǒng)。感知可以被看作是對(duì)周?chē)澜缃5倪^(guò)程,比如車(chē)輛在行駛過(guò)程中,需要知道其他物體的地理位置、速度、運(yùn)動(dòng)方向、加速度等各種各樣的信息,自動(dòng)駕駛系統(tǒng)接收這些信息之后,再通過(guò)后續(xù)的規(guī)劃和控制模塊來(lái)對(duì)車(chē)的運(yùn)動(dòng)做真正的調(diào)節(jié)。
感知可以類比為人類眼睛的功能,即觀察周?chē)澜绲哪芰Γ?/FONT>
◆ 采用的傳感器:激光雷達(dá)、照相機(jī)、毫米波雷達(dá)等。
◆ 幀信號(hào)處理:多傳感器深度融合、物體分割、物體檢測(cè)、物體分類。
◆ 物體追蹤:當(dāng)有多幀信息之后,可以推算速度、加速度、方向等更有意義的信息,甚至可以用多幀的信息調(diào)整物體分割的結(jié)果。
◆ 道路特征分析:對(duì)道路特征進(jìn)行理解,比如交通信號(hào)燈、交通指示牌等。
感知可以認(rèn)為是自動(dòng)駕駛系統(tǒng)的基礎(chǔ)部分,假如感知不到這個(gè)世界,就談不上對(duì)這個(gè)世界做出反應(yīng),更談不上后續(xù)的路徑規(guī)劃和車(chē)輛控制的過(guò)程。
二、2D物體檢測(cè)
我今天主要介紹關(guān)于物體檢測(cè)部分,因?yàn)楸仨毾扔辛藴?zhǔn)確的物體檢測(cè)和分割結(jié)果,我們才能對(duì)物體做出準(zhǔn)確的分類、追蹤等。我首先介紹下2D物體檢測(cè)。
2D物體檢測(cè)是指以2D信息作為輸入(input)的檢測(cè)過(guò)程,而典型的2D輸入信息來(lái)自于照相機(jī)。
傳統(tǒng)2D物體檢測(cè)方法及缺點(diǎn)
傳統(tǒng)的 2D 信息檢測(cè)方法是使用檢測(cè)框遍歷圖片,把對(duì)應(yīng)的圖片位置摳出來(lái)之后,進(jìn)行特征提取,用 Harris計(jì)算子檢測(cè)角點(diǎn)信息,Canny計(jì)算子檢測(cè)邊緣信息等。物體特征被提取并聚集在一起后,通過(guò)做分類器(比如SVM),我們可以判斷提取的圖中是否存在物體,以及物體的類別是什么。
但傳統(tǒng) 2D 物體檢測(cè)方法存在不足:
● 檢測(cè)物體時(shí),需要預(yù)置檢測(cè)框,對(duì)不同物體需要設(shè)置不同的檢測(cè)框。
● 自動(dòng)駕駛需要高級(jí)的組合特征,而傳統(tǒng)方法提取的特征維度比較低,對(duì)后續(xù)的分類會(huì)造成比較大的影響。
基于深度學(xué)習(xí)的2D物體檢測(cè)
卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn),解決了部分傳統(tǒng)2D物體檢測(cè)方法的不足。
卷積神經(jīng)網(wǎng)絡(luò)首先是多層感知機(jī)加卷積操作的結(jié)合,它的特征提取能力非常不錯(cuò)。因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)經(jīng)常會(huì)有幾十、上百個(gè)卷積,使其具備高維特征提取能力。
其次,通過(guò) ROI pooling和RPN,整張圖可以共享同樣的特征,物體檢測(cè)時(shí)不用遍歷整張圖片,還可以在單次操作中對(duì)圖片中所有物體進(jìn)行檢測(cè)。這種檢測(cè)方法使物體檢測(cè)模型真正具備了應(yīng)用于實(shí)際場(chǎng)景中的性能。
目前基于卷積神經(jīng)網(wǎng)絡(luò)的2D物體檢測(cè)有兩類分支:
◆ Anchor Based Methods:跟傳統(tǒng)方法比較類似,先預(yù)置檢測(cè)框,檢測(cè)過(guò)程則是對(duì)預(yù)設(shè)框的擬合過(guò)程。
● RCNN(fast,faster)
● SSD(DSSD)
● YOLO(v1,v2,v3)
● RetinaNET
◆ Anchor Free Methods:直接對(duì)照特征金字塔的每個(gè)位置,回歸對(duì)應(yīng)位置上,判斷物體是否存在、它的大小是多少等。這類方法是2018年底開(kāi)始大量出現(xiàn)的,也是未來(lái)的一個(gè)發(fā)展方向。
● CornerNet
● FSAF
● FCOS
這是路測(cè)場(chǎng)景中的一個(gè)真實(shí)檢測(cè)案例(上圖),2D 物體檢測(cè)已經(jīng)應(yīng)用于檢測(cè)路面上一些小物體。
同時(shí)遠(yuǎn)距離物體檢測(cè)也是2D物體檢測(cè)中關(guān)注的重點(diǎn)。受限于激光雷達(dá)和毫米波雷達(dá)的物理特征,遠(yuǎn)距離物體缺乏良好的檢測(cè)效果,而照相機(jī)在這方面比較有優(yōu)勢(shì),可以和其他的檢測(cè)方法進(jìn)行互補(bǔ)。
2D物體檢測(cè)面臨的問(wèn)題
物體相互遮擋
但是采用照相機(jī)做 2D 物體檢測(cè)不可避免要面臨一些問(wèn)題。因?yàn)檎障鄼C(jī)回饋的圖像只有兩個(gè)維度,當(dāng)兩個(gè)物體堆疊時(shí),對(duì)一個(gè)神經(jīng)網(wǎng)絡(luò)而言,圖像的特征就比較聚集。
一般做物體檢測(cè)的過(guò)程,會(huì)用一些非極大值抑制的方法,對(duì)檢測(cè)結(jié)果進(jìn)行后處理,當(dāng)特征結(jié)果非常密集的時(shí)候,這種方法往往會(huì)受到影響。
成像質(zhì)量波動(dòng)
照相機(jī)是可見(jiàn)光設(shè)備,因此會(huì)受到光照強(qiáng)度的影響,成像質(zhì)量出現(xiàn)波動(dòng)。但我們總是希望圖中的特征不管是在哪個(gè)位置,都能得到足夠的表達(dá)。
例如,2D圖像中遠(yuǎn)處的車(chē)燈和路燈很難區(qū)分開(kāi),導(dǎo)致可能都被檢測(cè)為車(chē)或者路燈。在這種情況下,特征總會(huì)難以區(qū)分。
測(cè)距
另一個(gè)的問(wèn)題就是測(cè)距問(wèn)題。因?yàn)檎障鄼C(jī)是被動(dòng)光源的設(shè)備,它不具備主動(dòng)測(cè)距的能力。
如果希望借助照相機(jī)進(jìn)行物體測(cè)距,就需要做很多的假設(shè)或者求解一些病態(tài)的數(shù)學(xué)問(wèn)題,用以估算車(chē)與物體的距離。但這個(gè)結(jié)果通常不如主動(dòng)測(cè)距設(shè)備的結(jié)果,比如激光雷達(dá)和毫米波雷達(dá)。
三、3D物體檢測(cè)
正是因?yàn)檎障鄼C(jī)存在上面提到的問(wèn)題,所以我們物體檢測(cè)也使用了其他的傳感器,將它們的結(jié)果共同結(jié)合起來(lái),最終達(dá)到更可靠的檢測(cè)效果。
什么是3D物體檢測(cè)?
3D物體檢測(cè),顧名思義就是把3D的一些數(shù)據(jù)坐標(biāo),聚集起來(lái)進(jìn)行物體檢測(cè)。比如激光雷達(dá),類似于我們拿一支激光筆不斷掃描周?chē)?,它?huì)提供相對(duì)明顯的信息。當(dāng)把3D數(shù)據(jù)聚集起來(lái)之后,我們可以用來(lái)推測(cè)周?chē)矬w的位置,大小,朝向等等。
3D物體檢測(cè)一個(gè)很大的好處就是,我們?cè)?D物體檢測(cè)中很難區(qū)分的物體,有了3D數(shù)據(jù)提供的距離信息之后,將更容易從距離的維度上分開(kāi)。這樣感知系統(tǒng)在進(jìn)行物體分割的時(shí)候能使用的信息更多,達(dá)到一個(gè)更好的工作效果。
傳統(tǒng)3D分割方法及限制
傳統(tǒng)的 3D 分割方法包括:
● Flood Fill
● DB scan
● Graph Cut
它主要是利用一些點(diǎn)的距離信息、密度信息或者點(diǎn)的一些天然屬性,比如它的強(qiáng)度,把物體聚類分割。
傳統(tǒng)分割方法也存在不少限制,首先是過(guò)度分割。
比如上圖中的異形車(chē),由于車(chē)尾和車(chē)頭之間有縫隙,在 3D 檢測(cè)中,它可能會(huì)被分割成多個(gè)物體,因?yàn)辄c(diǎn)和點(diǎn)之間有間隙,在激光雷達(dá)檢測(cè)時(shí)呈現(xiàn)的是離散信息,就會(huì)出現(xiàn)過(guò)度分割。
傳統(tǒng)分割方法的另一個(gè)問(wèn)題是分割不足。
我們將上圖出現(xiàn)的情況稱為“三人成車(chē)”,就是當(dāng)三個(gè)人離的很近的時(shí)候,有可能被傳統(tǒng)分割方法識(shí)別成一輛車(chē)。
基于深度學(xué)習(xí)的3D分割方法
當(dāng)深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)引入到 3D 物體檢測(cè)中時(shí),我們發(fā)現(xiàn)傳統(tǒng)3D分割方法遇到的問(wèn)題得到較好解決。
首先讓點(diǎn)云信息進(jìn)行特征工程,即將點(diǎn)的位置、反射強(qiáng)度、高級(jí)特征聚合在一起,組織成類似圖片或者圖的關(guān)系。隨后進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)特征提取,再進(jìn)行多幀特征的聚合(它的意義是對(duì)運(yùn)動(dòng)的物體有一個(gè)更好的反映),最后輸出物體的位置、聚類信息、物體速度。
通過(guò)上述深度學(xué)習(xí)方法,“三人成車(chē)”的情況得到避免。系統(tǒng)不僅可以提取人的距離關(guān)系,還可以提取到更多的高級(jí)信息,比如在點(diǎn)云變化中,人類的點(diǎn)云形似長(zhǎng)的柱體,而自行車(chē)類似于小山一樣的點(diǎn)云分布,這樣感知系統(tǒng)可以了解這些障礙物不屬于同一物體,而將其割離開(kāi)。
深度學(xué)習(xí)3D分割方法的限制
另一方面,我們也要認(rèn)識(shí)到深度學(xué)習(xí)分割方法也可能面對(duì)的挑戰(zhàn)。
◆ 結(jié)果的不完全可控:首先卷積神經(jīng)網(wǎng)絡(luò)經(jīng)常有幾百層的卷積層,參數(shù)總量可能有百萬(wàn)級(jí),并且是自動(dòng)學(xué)習(xí)的,這可能會(huì)導(dǎo)致對(duì)網(wǎng)絡(luò)的輸出缺少把控。換句話說(shuō),系統(tǒng)無(wú)法預(yù)期數(shù)據(jù)輸入(input)后會(huì)得到怎樣的數(shù)據(jù)輸出,于自動(dòng)駕駛而言,這是比較致命的。因?yàn)樽詣?dòng)駕駛對(duì)場(chǎng)景的召回率和精度有非常高要求,如果車(chē)輛在行駛中,前面的一位行人miss(丟失),這是極其嚴(yán)重的隱患。
◆ 無(wú)法保證100%的召回(recall):如上圖所示,垃圾桶和行人的特征其實(shí)非常相似,那么深度學(xué)習(xí)可能會(huì)出現(xiàn)把人學(xué)成了垃圾桶,最后導(dǎo)致行人在感知系統(tǒng)中出現(xiàn)丟失的情況。
◆ 易導(dǎo)致過(guò)擬合:由于卷積神經(jīng)網(wǎng)絡(luò)有非常好的特征提取能力,固定的數(shù)據(jù)集訓(xùn)練可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)過(guò)擬合。例如同樣的數(shù)據(jù)集訓(xùn)練后,在北京路測(cè)的表現(xiàn)很好,但是當(dāng)?shù)竭_(dá)一個(gè)新的城市進(jìn)行測(cè)試時(shí),因?yàn)槁访嫣卣骱捅本┯兴鶇^(qū)別,可能導(dǎo)致物體分割效果下降,這對(duì)感知系統(tǒng)非常不友好。
優(yōu)點(diǎn)兼得:傳統(tǒng)方法和深度學(xué)習(xí)方法的結(jié)合
為了解決分割方法的限制,我們的想法是將傳統(tǒng)方法和深度學(xué)習(xí)方法的結(jié)果進(jìn)行結(jié)合:
◆ 使用深度學(xué)習(xí)的分割結(jié)果調(diào)整傳統(tǒng)分割方法的結(jié)果。
◆ 使用傳統(tǒng)分割方法的結(jié)果補(bǔ)足深度學(xué)習(xí)結(jié)果的召回。
◆ 基于多幀追蹤的概率模型融合:比如利用馬爾可夫分布的特點(diǎn)、貝葉斯的方法對(duì)多幀數(shù)據(jù)進(jìn)行一定的平滑,以得到更好的效果。
通過(guò)傳統(tǒng)方法和深度學(xué)習(xí)方法的相互結(jié)合與補(bǔ)充,我們最終可以實(shí)現(xiàn)優(yōu)點(diǎn)兼具的物體檢測(cè)策略。
做自動(dòng)駕駛真的是一個(gè)很崎嶇的旅程,不斷的解決問(wèn)題之后又出現(xiàn)新的問(wèn)題,不過(guò)正是因?yàn)檫^(guò)程的艱難,才帶來(lái)更多的快樂(lè)。
來(lái)源 :小馬智行第二場(chǎng)技術(shù)沙龍
(轉(zhuǎn)載)