自動駕駛四大核心技術(shù),分別是環(huán)境感知、精確定位、路徑規(guī)劃、線控執(zhí)行。環(huán)境感知是其中被研究最多的部分,不過基于視覺的環(huán)境感知是無法滿足無人駕駛要求的。
環(huán)境感知主要包括三個方面,路面、靜態(tài)物體和動態(tài)物體。對于動態(tài)物體,不僅要檢測還要對其軌跡進行追蹤,并根據(jù)追蹤結(jié)果,預(yù)測該物體下一步的軌跡(位置)。這在市區(qū),尤其中國市區(qū)必不可少,最典型場景就是北京五道口:如果你見到行人就停,那你就永遠無法通過五道口,行人幾乎是從不停歇地從車前走過。人類駕駛員會根據(jù)行人的移動軌跡大概評估其下一步的位置,然后根據(jù)車速,計算出安全空間(路徑規(guī)劃),公交司機最擅長此道。無人車同樣要能做到。 要注意這是多個移動物體的軌跡的追蹤與預(yù)測,難度比單一物體要高得多。這就是MODAT(Moving Object Detection and Tracking)。也是無人車最具難度的技術(shù)。
圖:無人車環(huán)境感知框架
這是基于激光雷達的環(huán)境感知模型,搞視覺環(huán)境感知模型研究的人遠多于激光雷達。不過很遺憾地講,在無人車這件事上,視覺不夠靠譜。
讓我們來看計算機視覺的發(fā)展歷程,神經(jīng)網(wǎng)絡(luò)的歷史可追述到上世紀四十年代,曾經(jīng)在八九十年代流行。神經(jīng)網(wǎng)絡(luò)試圖通過模擬大腦認知的機理,解決各種機器學(xué)習(xí)的問題。1986 年Rumelhart,Hinton 和Williams 在《自然》發(fā)表了著名的反向傳播算法用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),直到今天仍被廣泛應(yīng)用。
不過深度學(xué)習(xí)自80年代后沉寂了許久。神經(jīng)網(wǎng)絡(luò)有大量的參數(shù),經(jīng)常發(fā)生過擬合問題,即往往在訓(xùn)練集上準確率很高,而在測試集上效果差。這部分歸因于當時的訓(xùn)練數(shù)據(jù)集規(guī)模都較小,而且計算資源有限,即便是訓(xùn)練一個較小的網(wǎng)絡(luò)也需要很長的時間。神經(jīng)網(wǎng)絡(luò)與其它模型相比并未在識別的準確率上體現(xiàn)出明顯的優(yōu)勢,而且難于訓(xùn)練。
因此更多的學(xué)者開始采用諸如支持向量機(SVM)、Boosting、最近鄰等分類器。這些分類器可以用具有一個或兩個隱含層的神經(jīng)網(wǎng)絡(luò)模擬,因此被稱作淺層機器學(xué)習(xí)模型。它們不再模擬大腦的認知機理;相反,針對不同的任務(wù)設(shè)計不同的系統(tǒng),并采用不同的手工設(shè)計的特征。例如語音識別采用高斯混合模型和隱馬爾可夫模型,物體識別采用SIFT 特征,人臉識別采用LBP 特征,行人檢測采用HOG特征。
2006年以后,得益于電腦游戲愛好者對性能的追求,GPU性能飛速增長。同時,互聯(lián)網(wǎng)很容易獲得海量訓(xùn)練數(shù)據(jù)。兩者結(jié)合,深度學(xué)習(xí)或者說神經(jīng)網(wǎng)絡(luò)煥發(fā)了第二春。2012 年,Hinton 的研究小組采用深度學(xué)習(xí)贏得了ImageNet 圖像分類的比賽。從此深度學(xué)習(xí)開始席卷全球,到今天,你不說深度學(xué)習(xí)都不好出街了。
深度學(xué)習(xí)與傳統(tǒng)模式識別方法的最大不同在于它是從大數(shù)據(jù)中自動學(xué)習(xí)特征,而非采用手工設(shè)計的特征。好的特征可以極大提高模式識別系統(tǒng)的性能。在過去幾十年模式識別的各種應(yīng)用中,手工設(shè)計的特征處于統(tǒng)治地位。它主要依靠設(shè)計者的先驗知識,很難利用大數(shù)據(jù)的優(yōu)勢。由于依賴手工調(diào)參數(shù),特征的設(shè)計中只允許出現(xiàn)少量的參數(shù)。深度學(xué)習(xí)可以從大數(shù)據(jù)中自動學(xué)習(xí)特征的表示,其中可以包含成千上萬的參數(shù)。手工設(shè)計出有效的特征是一個相當漫長的過程。回顧計算機視覺發(fā)展的歷史,往往需要五到十年才能出現(xiàn)一個受到廣泛認可的好的特征。而深度學(xué)習(xí)可以針對新的應(yīng)用從訓(xùn)練數(shù)據(jù)中很快學(xué)習(xí)得到新的有效的特征表示。
一個模式識別系統(tǒng)包括特征和分類器兩個主要的組成部分,二者關(guān)系密切,而在傳統(tǒng)的方法中它們的優(yōu)化是分開的。在神經(jīng)網(wǎng)絡(luò)的框架下,特征表示和分類器是聯(lián)合優(yōu)化的。兩者密不可分。深度學(xué)習(xí)的檢測和識別是一體的,很難割裂,從一開始訓(xùn)練數(shù)據(jù)即是如此,語義級標注是訓(xùn)練數(shù)據(jù)的最明顯特征。絕對的非監(jiān)督深度學(xué)習(xí)是不存在的,即便弱監(jiān)督深度學(xué)習(xí)都是很少的。因此視覺識別和檢測障礙物很難做到實時。而激光雷達云點則擅長探測檢測障礙物3D輪廓,算法相對深度學(xué)習(xí)要簡單的多,很容易做到實時。激光雷達擁有強度掃描成像,換句話說激光雷達可以知道障礙物的密度,因此可以輕易分辨出草地,樹木,建筑物,樹葉,樹干,路燈,混凝土,車輛。這種語義識別非常簡單,只需要根據(jù)強度頻譜圖即可。而視覺來說要準確的識別,非常耗時且可靠性不高。
視覺深度學(xué)習(xí)最致命的缺點是對視頻分析能力極弱,而無人車面對的視頻,不是靜態(tài)圖像。而視頻分析正是激光雷達的特長。視覺深度學(xué)習(xí)在視頻分析上處于最初的起步階段,描述視頻的靜態(tài)圖像特征, 可以采用從ImageNet 上學(xué)習(xí)得到的深度模型;難點是如何描述動態(tài)特征。以往的視覺方法中,對動態(tài)特征的描述往往依賴于光流估計,對關(guān)鍵點的跟蹤,和動態(tài)紋理。如何將這些信息體現(xiàn)在深度模型中是個難點。最直接的做法是將視頻視為三維圖像,直接應(yīng)用卷積網(wǎng)絡(luò),在每一層學(xué)習(xí)三維濾波器。但是這一思路顯然沒有考慮到時間維和空間維的差異性。另外一種簡單但更加有效的思路是通過預(yù)處理計算光流場,作為卷積網(wǎng)絡(luò)的一個輸入通道。也有研究工作利用深度編碼器(deep autoencoder)以非線性的方式提取動態(tài)紋理,而傳統(tǒng)的方法大多采用線性動態(tài)系統(tǒng)建模。
光流只計算相鄰兩幀的運動情況,時間信息也表述不充分。two-stream只能算是個過渡方法。目前CNN搞空域,RNN搞時域已經(jīng)成共識,尤其是LSTM和GRU結(jié)構(gòu)的引入。RNN在動作識別上效果不彰,某些單幀就可識別動作。除了大的結(jié)構(gòu)之外,一些輔助的模型,比如visual hard/soft attention model,以及ICLR2016上的壓縮神經(jīng)網(wǎng)絡(luò)都會對未來的深度學(xué)習(xí)視頻處理產(chǎn)生影響。
目前深度學(xué)習(xí)對視頻分析還不如手工特征,而手工特征的缺點,前面已經(jīng)說過,準確率很低,誤報率很高。未來恐怕也難以提升。太多的坑要填。
MODAT首先要對視頻分析,實時計算出地平面,這對點云為主的激光雷達來說易如反掌,對視覺來說難比登天。
用分段平面擬合和RANSAC算法計算出真實地平面。實際單靠激光雷達的強度掃描成像,一樣可以得出準確的地平面,這也是激光雷達用于遙感的主要原因,可以排除植被的干擾,獲得準確的地形圖,大地基準面。
用VOXEL GRID濾波器將動靜物體分開,黑棕藍綠是激光雷達發(fā)射到行人身上的每個時間段的假設(shè),與動態(tài)物體比,靜態(tài)物體捕獲的點云數(shù)自然要多。
左邊是深度學(xué)習(xí)領(lǐng)域人盡皆知的權(quán)威Kitti數(shù)據(jù)集的采集車,右邊是數(shù)據(jù)集的數(shù)據(jù)格式和內(nèi)容。Kitti對其Ground Truth有一段描述,To generate 3D object ground-truth we hired a set of annotators, and asked them to assign tracklets in the form of 3D bounding boxes to objects such as cars, vans, trucks,trams, pedestrians and cyclists. Unlike most existing benchmarks, we do not rely on online crowd-sourcing to perform the labeling. Towards this goal, we create a special purpose labeling tool, which displays 3D laser points as well as the camera images to increase the quality of the annotations.這里Kitti說的很明確,其訓(xùn)練數(shù)據(jù)的標簽加注不是人工眾包,而是打造了一個自動標簽軟件,這個軟件把3D激光云點像光學(xué)圖像一樣顯示出來,以此來提高標注的質(zhì)量。很簡單,激光雷達是3D Object Detection的標準,即使視覺深度學(xué)習(xí)再強大,與激光雷達始終有差距。
再來說一下Stixel(sticks above the ground in the image),中文一般叫棒狀像素,這是2008年由奔馳和法蘭克福大學(xué)Hern′an Badino教授推出的一種快速實時檢測障礙物的方法,尤其適合檢測行人,每秒可做到150甚至200幀,這也是奔馳和寶馬雙目的由來。Hern′an Badino后來被卡梅隆大學(xué)的機器人實驗室挖走了,Uber的無人車主要就是基于卡梅隆大學(xué)機器人實驗室開發(fā)的。Stixel的核心是計算棒狀物的上下邊緣和雙目視差,構(gòu)建一個Stixel,可以準確快速地檢測障礙物,特別是行人。這是奔馳寶馬大規(guī)模使用雙目的主要原因,相對單目的行人識別,雙目Stixel擁有碾壓性優(yōu)勢。
激光雷達的3D距離信息更容易獲得,也更準確,因此建立Steixel更加快捷準確。
現(xiàn)在該說Tracking了,現(xiàn)在不少人把跟蹤(tracking)和計算機視覺中的目標跟蹤搞混了。前者更偏向數(shù)學(xué),是對狀態(tài)空間在時間上的變化進行建模,并對下一時刻的狀態(tài)進行預(yù)測的算法。例如卡爾曼濾波,粒子濾波等。后者則偏向應(yīng)用,給定視頻中第一幀的某個物體的框,由算法給出后續(xù)幀中該物體的位置。最初是為了解決檢測算法速度較慢的問題,后來慢慢自成一系。因為變成了應(yīng)用問題,所以算法更加復(fù)雜,通常由好幾個模塊組成,其中也包括數(shù)學(xué)上的tracking算法,還有提取特征,在線分類器等步驟。
在自成一系之后,目標跟蹤實際上就變成了利用之前幾幀的物體狀態(tài)(旋轉(zhuǎn)角度,尺度),對下一幀的物體檢測進行約束(剪枝)的問題了。它又變回物體檢測算法了,但卻人為地把首幀得到目標框的那步剝離出來。在各界都在努力建立end-to-end系統(tǒng)的時候,目標跟蹤卻只去研究一個子問題,選擇性無視'第一幀的框是怎么來的'的問題。
激光雷達的Tracking則很容易做到,以IBEO為例,IBEO每一款激光雷達都會附送一個叫IBEO Object Tracking的軟件,這是一個基于開曼濾波器的技術(shù),最多可實時跟蹤65個目標,是實時喲,這可是視覺類根本不敢想的事。Quanergy也有類似的軟件,叫3D Perception。
感知、決策(路徑規(guī)劃)、定位都是基于傳感器或軟件系統(tǒng)的,這也是科技類廠家的強項,不過線控執(zhí)行系統(tǒng)則是傳統(tǒng)汽車產(chǎn)業(yè)(不一定是整車廠)的絕對強項,這也是科技類廠家注定無法獨立造車的主要原因,無論是谷歌還是百度,都必須要與傳統(tǒng)汽車產(chǎn)業(yè)聯(lián)合,才能進軍無人車領(lǐng)域。下一節(jié),我們就說說線控執(zhí)行。
近期活動:
2016汽車傳感器與汽車人工智能論壇(AUTOSAI)
時間:2016年11月24日-25日
地點:北京圣龍翔會議中心
一、部分特邀演講嘉賓
二、論壇研討主題
三、報名方式: