今天我主要想分享自動駕駛感知技術(shù)在探索的過程中,采用的傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法不代表多傳統(tǒng),深度學(xué)習(xí)也不代表多深度。它們有各自的優(yōu)點,也都能解決各自的問題,最終希望將其結(jié)合起來,發(fā)揮所有方法的優(yōu)點。
感知系統(tǒng)簡介
首先介紹下感知系統(tǒng)。感知可以被看作是對周圍世界建模的過程,比如車輛在行駛過程中,需要知道其他物體的地理位置、速度、運動方向、加速度等各種各樣的信息,自動駕駛系統(tǒng)接收這些信息之后,再通過后續(xù)的規(guī)劃和控制模塊來對車的運動做真正的調(diào)節(jié)。
感知可以類比為人類眼睛的功能,即觀察周圍世界的能力:
◆幀信號處理:多傳感器深度融合、物體分割、物體檢測、物體分類。
◆物體追蹤:當(dāng)有多幀信息之后,可以推算速度、加速度、方向等更有意義的信息,甚至可以用多幀的信息調(diào)整物體分割的結(jié)果。
◆道路特征分析:對道路特征進行理解,比如交通信號燈、交通指示牌等。
感知可以認為是自動駕駛系統(tǒng)的基礎(chǔ)部分,假如感知不到這個世界,就談不上對這個世界做出反應(yīng),更談不上后續(xù)的路徑規(guī)劃和車輛控制的過程。
2D物體檢測
我今天主要介紹關(guān)于物體檢測部分,因為必須先有了準確的物體檢測和分割結(jié)果,我們才能對物體做出準確的分類、追蹤等。我首先介紹下2D物體檢測。
2D物體檢測是指以2D信息作為輸入(input)的檢測過程,而典型的2D輸入信息來自于照相機。
傳統(tǒng)2D物體檢測方法及缺點
傳統(tǒng)的 2D 信息檢測方法是使用檢測框遍歷圖片,把對應(yīng)的圖片位置摳出來之后,進行特征提取,用 Harris計算子檢測角點信息,Canny計算子檢測邊緣信息等。物體特征被提取并聚集在一起后,通過做分類器(比如SVM),我們可以判斷提取的圖中是否存在物體,以及物體的類別是什么。
但傳統(tǒng) 2D 物體檢測方法存在不足:
檢測物體時,需要預(yù)置檢測框,對不同物體需要設(shè)置不同的檢測框。
自動駕駛需要高級的組合特征,而傳統(tǒng)方法提取的特征維度比較低,對后續(xù)的分類會造成比較大的影響。
基于深度學(xué)習(xí)的2D物體檢測
卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn),解決了部分傳統(tǒng)2D物體檢測方法的不足。
卷積神經(jīng)網(wǎng)絡(luò)首先是多層感知機加卷積操作的結(jié)合,它的特征提取能力非常不錯。因為卷積神經(jīng)網(wǎng)絡(luò)經(jīng)常會有幾十、上百個卷積,使其具備高維特征提取能力。
其次,通過 ROI pooling和RPN,整張圖可以共享同樣的特征,物體檢測時不用遍歷整張圖片,還可以在單次操作中對圖片中所有物體進行檢測。這種檢測方法使物體檢測模型真正具備了應(yīng)用于實際場景中的性能。
目前基于卷積神經(jīng)網(wǎng)絡(luò)的2D物體檢測有兩類分支:
◆Anchor Based Methods:跟傳統(tǒng)方法比較類似,先預(yù)置檢測框,檢測過程則是對預(yù)設(shè)框的擬合過程。
RCNN(fast,faster)
SSD(DSSD)
YOLO(v1,v2,v3)
RetinaNET
◆Anchor Free Methods:直接對照特征金字塔的每個位置,回歸對應(yīng)位置上,判斷物體是否存在、它的大小是多少等。這類方法是2018年底開始大量出現(xiàn)的,也是未來的一個發(fā)展方向。
CornerNet
FSAF
FCOS
這是路測場景中的一個真實檢測案例(上圖),2D 物體檢測已經(jīng)應(yīng)用于檢測路面上一些小物體。
同時遠距離物體檢測也是2D物體檢測中關(guān)注的重點。受限于激光雷達和毫米波雷達的物理特征,遠距離物體缺乏良好的檢測效果,而照相機在這方面比較有優(yōu)勢,可以和其他的檢測方法進行互補。
2D物體檢測面臨的問題
物體相互遮擋
但是采用照相機做 2D 物體檢測不可避免要面臨一些問題。因為照相機回饋的圖像只有兩個維度,當(dāng)兩個物體堆疊時,對一個神經(jīng)網(wǎng)絡(luò)而言,圖像的特征就比較聚集。
一般做物體檢測的過程,會用一些非極大值抑制的方法,對檢測結(jié)果進行后處理,當(dāng)特征結(jié)果非常密集的時候,這種方法往往會受到影響。
成像質(zhì)量波動
照相機是可見光設(shè)備,因此會受到光照強度的影響,成像質(zhì)量出現(xiàn)波動。但我們總是希望圖中的特征不管是在哪個位置,都能得到足夠的表達。
例如,2D圖像中遠處的車燈和路燈很難區(qū)分開,導(dǎo)致可能都被檢測為車或者路燈。在這種情況下,特征總會難以區(qū)分。
測距 另一個的問題就是測距問題。因為照相機是被動光源的設(shè)備,它不具備主動測距的能力。
如果希望借助照相機進行物體測距,就需要做很多的假設(shè)或者求解一些病態(tài)的數(shù)學(xué)問題,用以估算車與物體的距離。但這個結(jié)果通常不如主動測距設(shè)備的結(jié)果,比如激光雷達和毫米波雷達。
3D物體檢測
正是因為照相機存在上面提到的問題,所以我們物體檢測也使用了其他的傳感器,將它們的結(jié)果共同結(jié)合起來,最終達到更可靠的檢測效果。
什么是3D物體檢測?
3D物體檢測,顧名思義就是把3D的一些數(shù)據(jù)坐標,聚集起來進行物體檢測。比如激光雷達,類似于我們拿一支激光筆不斷掃描周圍,它會提供相對明顯的信息。當(dāng)把3D數(shù)據(jù)聚集起來之后,我們可以用來推測周圍物體的位置,大小,朝向等等。
3D物體檢測一個很大的好處就是,我們在2D物體檢測中很難區(qū)分的物體,有了3D數(shù)據(jù)提供的距離信息之后,將更容易從距離的維度上分開。這樣感知系統(tǒng)在進行物體分割的時候能使用的信息更多,達到一個更好的工作效果。
傳統(tǒng)3D分割方法及限制
傳統(tǒng)的 3D 分割方法包括:
Flood Fill
DB scan
Graph Cut
它主要是利用一些點的距離信息、密度信息或者點的一些天然屬性,比如它的強度,把物體聚類分割。
傳統(tǒng)分割方法也存在不少限制,首先是過度分割。
比如上圖中的異形車,由于車尾和車頭之間有縫隙,在 3D 檢測中,它可能會被分割成多個物體,因為點和點之間有間隙,在激光雷達檢測時呈現(xiàn)的是離散信息,就會出現(xiàn)過度分割。
傳統(tǒng)分割方法的另一個問題是分割不足。
我們將上圖出現(xiàn)的情況稱為“三人成車”,就是當(dāng)三個人離的很近的時候,有可能被傳統(tǒng)分割方法識別成一輛車。
基于深度學(xué)習(xí)的3D分割方法
當(dāng)深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)引入到 3D 物體檢測中時,我們發(fā)現(xiàn)傳統(tǒng)3D分割方法遇到的問題得到較好解決。
首先讓點云信息進行特征工程,即將點的位置、反射強度、高級特征聚合在一起,組織成類似圖片或者圖的關(guān)系。隨后進行卷積神經(jīng)網(wǎng)絡(luò)特征提取,再進行多幀特征的聚合(它的意義是對運動的物體有一個更好的反映),最后輸出物體的位置、聚類信息、物體速度。
通過上述深度學(xué)習(xí)方法,“三人成車”的情況得到避免。系統(tǒng)不僅可以提取人的距離關(guān)系,還可以提取到更多的高級信息,比如在點云變化中,人類的點云形似長的柱體,而自行車類似于小山一樣的點云分布,這樣感知系統(tǒng)可以了解這些障礙物不屬于同一物體,而將其割離開。
深度學(xué)習(xí)3D分割方法的限制
另一方面,我們也要認識到深度學(xué)習(xí)分割方法也可能面對的挑戰(zhàn)。
◆結(jié)果的不完全可控:首先卷積神經(jīng)網(wǎng)絡(luò)經(jīng)常有幾百層的卷積層,參數(shù)總量可能有百萬級,并且是自動學(xué)習(xí)的,這可能會導(dǎo)致對網(wǎng)絡(luò)的輸出缺少把控。換句話說,系統(tǒng)無法預(yù)期數(shù)據(jù)輸入(input)后會得到怎樣的數(shù)據(jù)輸出,于自動駕駛而言,這是比較致命的。因為自動駕駛對場景的召回率和精度有非常高要求,如果車輛在行駛中,前面的一位行人miss(丟失),這是極其嚴重的隱患。
◆無法保證100%的召回(recall):如上圖所示,垃圾桶和行人的特征其實非常相似,那么深度學(xué)習(xí)可能會出現(xiàn)把人學(xué)成了垃圾桶,最后導(dǎo)致行人在感知系統(tǒng)中出現(xiàn)丟失的情況。
◆易導(dǎo)致過擬合:由于卷積神經(jīng)網(wǎng)絡(luò)有非常好的特征提取能力,固定的數(shù)據(jù)集訓(xùn)練可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)過擬合。例如同樣的數(shù)據(jù)集訓(xùn)練后,在北京路測的表現(xiàn)很好,但是當(dāng)?shù)竭_一個新的城市進行測試時,因為路面特征和北京有所區(qū)別,可能導(dǎo)致物體分割效果下降,這對感知系統(tǒng)非常不友好。
優(yōu)點兼得:傳統(tǒng)方法和深度學(xué)習(xí)方法的結(jié)合
為了解決分割方法的限制,我們的想法是將傳統(tǒng)方法和深度學(xué)習(xí)方法的結(jié)果進行結(jié)合:
◆使用深度學(xué)習(xí)的分割結(jié)果調(diào)整傳統(tǒng)分割方法的結(jié)果。
◆使用傳統(tǒng)分割方法的結(jié)果補足深度學(xué)習(xí)結(jié)果的召回。
◆基于多幀追蹤的概率模型融合:比如利用馬爾可夫分布的特點、貝葉斯的方法對多幀數(shù)據(jù)進行一定的平滑,以得到更好的效果。
通過傳統(tǒng)方法和深度學(xué)習(xí)方法的相互結(jié)合與補充,我們最終可以實現(xiàn)優(yōu)點兼具的物體檢測策略。
做自動駕駛真的是一個很崎嶇的旅程,不斷的解決問題之后又出現(xiàn)新的問題,不過正是因為過程的艱難,才帶來更多的快樂。
感知系統(tǒng)基本介紹
Perception(感知)系統(tǒng)是以多種傳感器的數(shù)據(jù)與高精度地圖的信息作為輸入,經(jīng)過一系列的計算及處理,對自動駕駛車的周圍環(huán)境精確感知的系統(tǒng)。
它能夠為下游模塊提供豐富的信息,包括障礙物的位置、形狀、類別及速度信息,也包括對一些特殊場景的語義理解(例如施工區(qū)域,交通信號燈及交通路牌等)。
感知系統(tǒng)的構(gòu)成與子系統(tǒng)
◆傳感器:涉及到傳感器的安裝,視場角,探測距離,數(shù)據(jù)吞吐,標定精度,時間同步等。因為自動駕駛使用的傳感器比較多,時間同步的解決方案至關(guān)重要。
◆目標檢測及分類:為了保證自動駕駛的安全,感知系統(tǒng)需要達到近似百分之百的召回率及非常高的準確率。目標檢測及分類往往會涉及到深度學(xué)習(xí)方面的工作,包括3D點云及2D Image(圖片)上的物體檢測及多傳感器深度融合等。
◆多目標追蹤:跟進多幀的信息計算并預(yù)測障礙物的運動軌跡。
◆場景理解:包括交通信號燈,路牌,施工區(qū)域,以及特殊類別,比如校車,警車。
◆機器學(xué)習(xí)分布式訓(xùn)練基礎(chǔ)架構(gòu)及相關(guān)評價系統(tǒng)
◆數(shù)據(jù):大量的標注數(shù)據(jù),這里包括3D點云數(shù)據(jù)及2D的圖片數(shù)據(jù)等。
傳感器詳解
目前自動駕駛應(yīng)用的傳感器主要分為三類:激光雷達(LiDAR),相機(Camera),毫米波雷達(Radar)。
開頭提到,感知系統(tǒng)的輸入為多種傳感器數(shù)據(jù)和高精地圖,而上圖展示了感知系統(tǒng)物體檢測的輸出結(jié)果,即能夠檢測車輛周圍的障礙物,如車輛、行人、自行車等,同時結(jié)合高精度地圖,感知系統(tǒng)也會對周邊的Background(環(huán)境背景)信息進行輸出。
如上圖所示,綠顏色的塊狀代表一輛乘用車,橙色代表一輛摩托車,黃色代表一位行人,灰色則是檢測到的環(huán)境信息,如植被。
感知系統(tǒng)結(jié)合多幀的信息(上圖),還能對運動的行人和車輛的速度、方向、軌跡預(yù)測等進行精確的輸出。
傳感器配置與多傳感器深度融合
了解了關(guān)于感知系統(tǒng)從輸入到輸出的大致介紹,接下來,我簡要介紹一下小馬智行第三代自動駕駛系統(tǒng)PonyAlpha的傳感器安裝方案以及多傳感器深度融合的解決方案。
傳感器安裝方案
目前PonyAlpha傳感器安裝方案的感知距離能夠覆蓋車周360度、范圍200米以內(nèi)。
具體來看,這套方案用到了3個激光雷達,在車的頂部和兩側(cè)。同時,通過多個廣角的攝像頭來覆蓋360度的視野。遠處的視野方面,前向的毫米波雷達以及長焦相機將感知距離擴到200米的范圍,使其可以探測到更遠處的物體信息。這套傳感器配置能保證我們的自動駕駛車輛在居民區(qū)、商業(yè)區(qū)、工業(yè)區(qū)這樣的場景進行自動駕駛。
多傳感器深度融合解決方案
多傳感器深度融合的基礎(chǔ) 多傳感器深度融合的方案首要解決的是將不同的傳感器的數(shù)據(jù)標定到同一個坐標系里,包括了相機的內(nèi)參標定,激光雷達到相機的外參標定,毫米波雷達到GPS的外參標定等等。
傳感器融合重要前提是使標定精度達到到極高水平,不論對于結(jié)果層面的傳感器融合還是元數(shù)據(jù)層面的傳感器融合,這都是必要的基礎(chǔ)。
通過上圖你會發(fā)現(xiàn),我們的感知系統(tǒng)將3D的激光點云精準地投射到影像上,可見傳感器標定的精度是足夠高的。
不同傳感器的標定方案 整個傳感器標定的工作基本上已做到完全自動化的方式。
首先是相機內(nèi)參的標定(上圖),這是為了修正由相機自身特性導(dǎo)致的圖像扭曲等。相機內(nèi)參的標定平臺使每一個相機能夠在兩到三分鐘之內(nèi)完成傳感器的標定。
其次是激光雷達與GPS/IMU的外參標定(上圖),激光雷達的原始數(shù)據(jù)是基于雷達坐標系,因此我們需要將點由雷達坐標系轉(zhuǎn)換為世界坐標系,這就涉及到激光雷達與GPS/IMU相對位置關(guān)系的計算。我們的標定工具在室外通過優(yōu)化的方案,能夠快速找到最優(yōu)的位置關(guān)系。
第三是相機到激光雷達的融合(上圖)。激光雷達的感知環(huán)境是360度旋轉(zhuǎn)的方式,每旋轉(zhuǎn)一周是100毫秒,而相機是某一瞬時曝光,為了保證相機的曝光與激光雷達的旋轉(zhuǎn)保證同步,需要對二者進行時間同步,即通過Lidar來觸發(fā)相機曝光。比如說,可以通過激光雷達的位置信息來觸發(fā)對應(yīng)位置相機的曝光時間,以達到相機與激光雷達的精確同步。
3D(激光雷達)和2D(相機)彼此互補,二者更好的融合可使得感知得到更精確的輸出。
最后是毫米波雷達(Radar)與GPS/IMU的標定(上圖),同樣是將Radar數(shù)據(jù)由Local(本地)坐標系將其轉(zhuǎn)換到世界坐標系,我們將通過真實的3D環(huán)境來計算Radar與GPS/IMU的相對位置關(guān)系。好的標定結(jié)果能夠保證感知系統(tǒng)給出200米距離以內(nèi)障礙車的車道信息(如位于車道內(nèi)或壓車道線等)等。
下面這個demo視頻簡明生動地展示了多傳感器深度融合的部分處理效果。
車載感知系統(tǒng)架構(gòu)
那么車載感知系統(tǒng)架構(gòu)是什么樣的?它的解決方案又是什么?
上圖展示了整個車載感知系統(tǒng)的架構(gòu)。首先激光雷達、相機、毫米波雷達三種傳感器數(shù)據(jù)須進行時間同步,將所有的時間誤差控制在毫秒級。結(jié)合傳感器數(shù)據(jù),感知系統(tǒng)以幀為基礎(chǔ)(frame-based)進行檢測(detection)、分割(segmentation)、分類(classification)等計算,最后利用多幀信息進行多目標跟蹤,將相關(guān)結(jié)果輸出。這個過程中將涉及到多傳感器深度融合和深度學(xué)習(xí)相關(guān)的技術(shù)細節(jié),我這里不做過多的討論。
感知系統(tǒng)的解決方案應(yīng)保證以下五點:
◆首先是安全,保證近乎百分之百的檢測(Detection)召回率(Recall)。
◆精度(Precision)要求非常高,如果低于某個閾值,造成False Positive(誤報),會導(dǎo)致車輛在自動駕駛狀態(tài)下行駛得非常不舒適。
◆盡量輸出所有對行車有幫助的信息,包括路牌,交通信號燈及其它場景理解的信息。
◆保證感知系統(tǒng)的高效運行,能夠近實時處理大量的傳感器數(shù)據(jù)。
◆可擴展性(Scalability)也很重要。深度學(xué)習(xí)(Deep learning)依賴大量數(shù)據(jù),其訓(xùn)練模型的泛化能力對于感知系統(tǒng)非常重要。未來,我們希望模型(model)和新算法有能力適配更多的城市和國家的路況。
感知技術(shù)的挑戰(zhàn)
感知精度與召回率相平衡的挑戰(zhàn)
上圖展示了晚高峰時期十字路口的繁忙場景,此時有大量行人、摩托車穿過十字路口。
通過3D點云數(shù)據(jù)(上圖),能夠看到此時對應(yīng)的感知原始數(shù)據(jù)。
這里挑戰(zhàn)是,經(jīng)過計算處理后,感知系統(tǒng)需要在這樣環(huán)境下輸出所有障礙物的正確的分割(segmentation)結(jié)果和障礙物類別。
除了繁忙的十字路口,感知系統(tǒng)在處理一些特殊的或者惡劣的天氣條件,也面臨不小挑戰(zhàn)。
突降暴雨或者長時間降雨往往會造成路面積水,車輛經(jīng)過自然會濺起水花。上方視頻中白色點云展示了激光雷達檢測到其他車輛經(jīng)過濺起的水花并對其進行filter(過濾)的結(jié)果。如果感知系統(tǒng)不能對水花進行準確的識別和過濾,這會對自動駕駛造成麻煩。結(jié)合激光雷達與攝像頭(Lidar&Camera)的數(shù)據(jù),我們的感知系統(tǒng)對水花有很高的識別率。
長尾場景挑戰(zhàn)
灑水車 上圖是我們在路測時曾遇到的兩類灑水車(上圖)。左邊灑水車采用向上噴的霧炮,而右邊是向兩側(cè)噴灑的灑水車。
人類司機遇到灑水車時,可以很容易做出判斷并超過灑水車,但是對于感知系統(tǒng)來說,則需要花一定時間去處理和識別這類場景和車輛,我們的自動駕駛在遇到類似場景已獲得更優(yōu)的乘坐體驗。
小物體的檢測
小物體檢測的意義在于,面對意想不到的路測事件,比如流浪的小貓、小狗突然出現(xiàn)馬路上,感知系統(tǒng)對這類小物體能夠有準確的召回,以保證小生命的安全。
紅綠燈
隨著越來越多地區(qū)和國家開展自動駕駛路測,感知系統(tǒng)在處理交通信號燈總會遇到新的長尾場景。
例如,逆光的問題(上圖)或者突然從橋洞中駛出后相機曝光的問題,我們可以通過動態(tài)調(diào)整相機的曝光等方法來解決問題。
還有紅綠燈倒計時的場景(上圖),感知系統(tǒng)可以識別出倒計時的數(shù)字,這樣能夠讓自動駕駛車輛在遇到黃燈時/前,給出更優(yōu)的規(guī)劃決策應(yīng)對,優(yōu)化乘車體驗。
雨天時,攝像頭(照相機)會水珠密布(上圖),感知系統(tǒng)需要處理這類特殊氣候條件下的場景,準確識別紅綠燈。
一些地區(qū)使用的紅綠燈帶有進度條(上圖),要求感知系統(tǒng)能夠識別進度條的變動,這樣可以幫助下游的規(guī)劃決策模塊在綠燈將變黃時,提前給出減速。
-
感知系統(tǒng)
+關(guān)注
關(guān)注
1文章
71瀏覽量
15958 -
自動駕駛
+關(guān)注
關(guān)注
784文章
13838瀏覽量
166525 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5504瀏覽量
121220
原文標題:【智能駕駛】自動駕駛深度感知技術(shù)對車和行人的檢測
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論