0
| 本文作者: 易建成 | 2016-10-23 12:30 | 專題:雷峰網(wǎng)公開課 |

編者按:本文內(nèi)容來自圖森互聯(lián)科技首席科學家王乃巖在雷鋒網(wǎng)硬創(chuàng)公開課的分享,由雷鋒網(wǎng)旗下欄目“新智駕”整理。
本期公開課要點:
1、在自動駕駛場景中使用到的具體計算機視覺技術(shù);
2、如何利用計算機視覺打造低成本自動駕駛方案。
無人駕駛技術(shù)鏈非常長,基本分為三大階段:感知、決策和控制。計算機視覺技術(shù)在無人駕駛的感知階段,我個人總結(jié)下來,包括五方面的應用場景和技術(shù)。
第一,使用雙目視覺系統(tǒng)獲取場景中的深度信息。它可以幫助我們進行后續(xù)的圖像語義理解,在無人駕駛中可以幫我們探索可行駛區(qū)域和目標障礙物。

上面兩張圖片分別對應雙目成像系統(tǒng)中的左眼和右眼,圖片下半部分是根據(jù)左眼和右眼的圖像,估算出的一個深度信息。
我們可以把雙目成像系統(tǒng)看作是一個廉價但沒有那么準確的激光雷達。它的作用是得到周圍場景每個像素的深度信息,這與激光雷達獲取的 3D 點云數(shù)據(jù)非常像。雙目的優(yōu)點是成本非常便宜,但缺點也明顯,探測距離可能沒有激光雷達遠;其次是對計算能力,其次是對計算能力要求較高。
第二,通過一段視頻來估計每一個像素的運動方向和運動速度。下圖是一個例子:

如圖,一個人在打網(wǎng)球,這是兩幀圖片聯(lián)系在一起進行的一個運動估計,其中亮度代表運動激烈程度,顏色代表它不同運動方向。
這樣一個運動估計的任務(wù),在無人駕駛中是可以較好地幫助我們?nèi)ス烙嫞紫仁亲陨淼倪\動,這與后面我們提到的定位息息相關(guān)。除此之外,我們還可以使用它來估計周圍場景中其他我們感興趣物體的運動方向,對于后續(xù)的決策模塊、路徑規(guī)劃模塊非常有意義。
除此之外,我們還可以根據(jù)某個感興趣物體歷史的運動軌跡,來對它后續(xù)的運動方向和軌跡進行預測,這是非常重要的一點,也是我們常提到的,對路面上移動物體意圖的估計去獲取它的軌跡。
第三,對物體的檢測與追蹤。在無人駕駛中主要是各種車輛、行人、非機動車。這可能是大家比較熟悉的應用,在這樣一個問題中也分為多種設(shè)置,比如說我們最常熟悉的是 2D下的檢測,但我們同樣也很關(guān)注 3D 包圍框的表示方式。

上圖中,上半部分是 2D 檢測,下半部分是 3D 檢測。2D 檢測只需要畫一個平面矩形框,把它框住就可以。但在 3D 檢測中,我們需要報告每個物體的中心點的位置,包括 X、Y、Z 的位置、長寬高以及朝向,這對于后續(xù)的軌跡估計以及它的意圖分析非常重要。
這種基于深度學習的物體檢測方法是目前效果最好、最主流的方法。它對于傳統(tǒng)算法來講,大大降低了物體檢測的漏檢率和誤檢率。
比如下圖,我們可以看到在一個非常擁擠的環(huán)境下,深度學習算法是可以很準確地檢測出場景中的行人。

第四,對于整個場景的理解,最重要的兩個,第一是道路線檢測,其次是在道路線檢測下更進一步,需要把場景中的每一個像素打成標簽,這叫做場景分割或者場景解析。
道路線檢測其實是相對容易的任務(wù),在過去的十年也有很多研究,在絕大多數(shù)正常情況下做到的結(jié)果是相當不錯的。而場景分割和場景解析,相對來說是比較新的概念。

上圖中,我們給整個場景中每個像素打了標簽。比如深紫色是路面,粉色是人行道,紅色是行人,綠色是樹木。如果我們有了每個像素的標簽圖,就可以根據(jù)它得到的語義信息,對避障以及路徑規(guī)劃等決策模塊做一個非常有價值的輸入和參考。
場景分割其實是在檢測任務(wù)上對周圍的環(huán)境更進一步的理解。例如,目標檢測任務(wù)中,我們可能只關(guān)心路面上移動的物體。但是,在場景分割中,我們不僅僅對行人、車輛和非機動車等進行一個分割,同樣對背景靜態(tài)障礙物,也能進行很好地感知。
第五,是同步的地圖構(gòu)建和定位技術(shù),即 SLAM (Simultaneous Localization and Mapping)技術(shù)。這是最早在機器人領(lǐng)域中的一項研究,在這里我們主要說的是基于視覺的傳感器,即攝像頭的 SLAM 技術(shù):
通過攝像頭和其他多種廉價傳感器的融合,能夠遞增創(chuàng)建周圍環(huán)境地圖,同時利用多種傳感器提供的位置信息去實現(xiàn)自身位置的精確定位。
比如,無人駕駛對于定位的要求非常高,需要達到分米級別的定位。如果我們只使用加速傳感器、GPS 等,得到的精度是遠遠不夠的。但借助視覺傳感器、視覺地圖,再融合這些加速傳感器和 GPS 等,我們可以得到一個非常準確的定位效果。

上圖是 SLAM 自身軌跡的繪制,一條藍色軌跡以及 3D 點云地圖。如果我們離線建立一個比較準確的 3D 地圖,我們只需要根據(jù)視覺標定(Visual landmark),再輔以其他傳感器的驗證,就可以得到對無人車位置的一個準確估計,這是 SLAM 技術(shù)在無人駕駛中的作用和地位。
目前計算機視覺在無人駕駛上的應用有兩個難點。
第一個難點可能是精度和可靠性達不到我們的預期,但是隨著這幾年深度學習的快速發(fā)展,在這方面的難點會被一一攻克;
第二個難點主要源自于傳感器本身,比如說過曝和欠曝,都是非常嚴重和常見的問題。解決這個問題的方法就是通過傳感器融合,也就是說當視覺傳感器失效的時候,我們?nèi)诤掀渌麄鞲衅鳎ê撩撞ɡ走_甚至激光雷達,對周圍環(huán)境進行感知,來保證它的安全。
和絕大多數(shù)自動駕駛公司不一樣,我們服務(wù)的對象是大型的客運車輛,尤其是大型的物流公司。我們希望通過人工智能與計算機視覺技術(shù),開發(fā)一個可商業(yè)化的物流自動化解決方案:在限定路段限定條件下,可以降低駕駛員的工作量,減少物流公司運營成本和大型車輛事故率,提升運輸車輛的安全。
目前自動駕駛落地主要有三個方向:
小型乘用車輛,以特斯拉、各大傳統(tǒng)車企為代表;
特種車輛:特定廠房和園區(qū)里的固定路線和貨物運輸車輛;
大型商用車:比如 Otto 這樣的公司;
我們在確定商用車方向前做了很多調(diào)研,最后結(jié)論是:對于自動駕駛這項技術(shù),最有剛需的是商用車:
1、企業(yè)會考慮成本
在長途運輸中,尤其是超過 800 公里,為保證時效性,一輛車上大概會有 2 到 3 名司機。如果我們在限定條件下通過自動駕駛,把人力降低 1 名甚至 2 名,這能為物流企業(yè)節(jié)省 50% 的人力成本;
自動駕駛車輛能夠?qū)φ麄€路線進行更好的規(guī)劃,駕駛習慣比普通司機好,使車輛耗油量大大降低,減少 5%-7% 的油量,這對物流企業(yè)來講有比較大的吸引力。
2、增加車輛的安全性
尤其在中國環(huán)境下,大型貨運車輛的安全事故非常多,一旦出現(xiàn)事故大多是致命的。大型車輛事故主要有兩個原因:一個是超載,一個是疲勞駕駛。超載我們不能控制,但在疲勞駕駛方面,我們能通過輔助駕駛和自動駕駛技術(shù)來減少駕駛員的工作壓力;
對物流車輛來講,他們絕大多數(shù)倉庫在高速路附近,我們可能只需要讓駕駛員通過人工駕駛的方式把車輛開到高速路上。在下高速之前,我們再提醒駕駛員接管駕駛權(quán)。自動駕駛技術(shù)能在長途運輸中絕大多數(shù)路段,比如高速公路相對封閉、固定、確定性的路段實現(xiàn)高度自動駕駛。在這種情況下,駕駛員可以適當休息,增加車輛的安全性。
簡單來說,就是路線相對固定,環(huán)境更加可控,而商用車對成本更加敏感。綜合這幾點,這是我們通過視覺技術(shù)能夠發(fā)揮作用的地方。
在無人駕駛的體系中,我們采用的是一個雙目攝像頭,因為成本比較低。
但是,雙目在實際生產(chǎn)中的問題在于:雙目系統(tǒng)的兩個攝像頭需要精確標定,由于硬件機械結(jié)構(gòu)的不穩(wěn)定,在車輛行進的過程中,比較小的顛簸和抖動都會對兩個攝像頭的外參造成擾動。所以我們要實現(xiàn)一個相對可靠的自標定,這是雙目從實驗環(huán)境走到實際生產(chǎn)比較大的挑戰(zhàn)。
我們的做法是研發(fā)了一套比較可靠的雙目自標定算法,在車輛行駛過程中會以一個固定的頻率對雙目的外參不停地進行修正。在無人駕駛中,我們采用的解決方案是以計算機視覺為主導,然后輔以其他傳感器,比如說毫米波雷達、GPS、IMU 等傳感器的解決方案。
降低成本最關(guān)鍵的一點是如何利用算法的優(yōu)勢來保障安全性,這其中包含兩點:
第一,在視覺傳感器自身之間不同任務(wù)和算法之間做交叉驗證。我們知道沒有一個算法是 100% 可靠的,任何一個單一算法都會有失效的可能。但是,如果我們同時進行多個算法之間的交叉驗證,那么安全性就會得到一個大的提升。
比如前段時間特斯拉出的致命事故,就是在白色的大卡車在轉(zhuǎn)彎的時候,Mobileye 的視覺感知芯片沒有檢測出卡車,這是它第一重傳感器失效。但是想像一下,如果我們在這個時候去做一個道路可行駛區(qū)域的分割,特斯拉一定不會把白色物體當成是可以行駛的道路,直接以巡航的速度去撞上一輛大卡車。
這是我們說的多個任務(wù)之間的交叉驗證。
第二,多個傳感器之間的交叉驗證,主要是視覺傳感器的輸出和毫米波雷達的交叉驗證。
所以降低成本的關(guān)鍵,并不意味著我們犧牲安全性,降低的關(guān)鍵就是提升單個算法性能極限,同時對多個算法的結(jié)果做交叉驗證。
問:機器視覺對光線,進動態(tài)要求很高,計算機的運算速度要求更好,據(jù)我所知,目前連最基本的 ADAS 系統(tǒng)的準確度都很低,除了 Mobileye 有芯片,其他還沒有成熟,出現(xiàn)虛報誤報的情況很多,如何保證無人駕駛的安全?
答:這個其實是基于上一代計算機算法,就是傳統(tǒng)的視覺算法。使用深度學習之后,結(jié)果會有非常大的提升,以我們目前的測試結(jié)果來看,最起碼在檢測任務(wù)上,計算機視覺是完全可以達到產(chǎn)品的需求,尤其是對于 ADAS 這樣的產(chǎn)品完全不成問題。
至于芯片的選擇,Mobileye 有自己專用的芯片,但目前我們也可以針對這種深度學習算法考慮英偉達嵌入式 GPU 這樣的平臺。我們的 ADAS 系統(tǒng)是基于英偉達 TX1 芯片,自動駕駛平臺則會基于英偉達 Drive PX2 以及后續(xù)的 Drive PX 平臺去做。在這樣的支撐下,我們可以做到很好的結(jié)果。
問:目前自動駕駛技術(shù)突破是從車場突破可能性大一點,例如特斯拉、豐田還是計算機算法公司如谷歌、百度?
答:其實單就任何一個方面,車廠或者是計算機視覺公司,能實現(xiàn)突破的可能性都不大,汽車產(chǎn)業(yè)是一個非常長的產(chǎn)業(yè)鏈,車廠是偏向底層的控制,如車輛本身的控制;而上層是算法公司控制的。其實這兩部分缺哪一部分都是不可以的。
如果自動駕駛技術(shù)在乘用車上真正能夠商用化,這兩者一定需要一個非常好的合作關(guān)系,目前我們也看到了這樣一些聯(lián)盟。我相信在不遠的將來,在乘用車市場的上游和下游產(chǎn)業(yè)鏈一定會有比較好的融合。
PS:如果你對這個話題有興趣,并想做更深入的了解,歡迎掃描下方二維碼。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。