0
本文作者: 易建成 | 2016-10-23 12:30 | 專題:雷峰網(wǎng)公開課 |
編者按:本文內(nèi)容來自圖森互聯(lián)科技首席科學(xué)家王乃巖在雷鋒網(wǎng)硬創(chuàng)公開課的分享,由雷鋒網(wǎng)旗下欄目“新智駕”整理。
本期公開課要點(diǎn):
1、在自動(dòng)駕駛場(chǎng)景中使用到的具體計(jì)算機(jī)視覺技術(shù);
2、如何利用計(jì)算機(jī)視覺打造低成本自動(dòng)駕駛方案。
無人駕駛技術(shù)鏈非常長,基本分為三大階段:感知、決策和控制。計(jì)算機(jī)視覺技術(shù)在無人駕駛的感知階段,我個(gè)人總結(jié)下來,包括五方面的應(yīng)用場(chǎng)景和技術(shù)。
第一,使用雙目視覺系統(tǒng)獲取場(chǎng)景中的深度信息。它可以幫助我們進(jìn)行后續(xù)的圖像語義理解,在無人駕駛中可以幫我們探索可行駛區(qū)域和目標(biāo)障礙物。
上面兩張圖片分別對(duì)應(yīng)雙目成像系統(tǒng)中的左眼和右眼,圖片下半部分是根據(jù)左眼和右眼的圖像,估算出的一個(gè)深度信息。
我們可以把雙目成像系統(tǒng)看作是一個(gè)廉價(jià)但沒有那么準(zhǔn)確的激光雷達(dá)。它的作用是得到周圍場(chǎng)景每個(gè)像素的深度信息,這與激光雷達(dá)獲取的 3D 點(diǎn)云數(shù)據(jù)非常像。雙目的優(yōu)點(diǎn)是成本非常便宜,但缺點(diǎn)也明顯,探測(cè)距離可能沒有激光雷達(dá)遠(yuǎn);其次是對(duì)計(jì)算能力,其次是對(duì)計(jì)算能力要求較高。
第二,通過一段視頻來估計(jì)每一個(gè)像素的運(yùn)動(dòng)方向和運(yùn)動(dòng)速度。下圖是一個(gè)例子:
如圖,一個(gè)人在打網(wǎng)球,這是兩幀圖片聯(lián)系在一起進(jìn)行的一個(gè)運(yùn)動(dòng)估計(jì),其中亮度代表運(yùn)動(dòng)激烈程度,顏色代表它不同運(yùn)動(dòng)方向。
這樣一個(gè)運(yùn)動(dòng)估計(jì)的任務(wù),在無人駕駛中是可以較好地幫助我們?nèi)ス烙?jì),首先是自身的運(yùn)動(dòng),這與后面我們提到的定位息息相關(guān)。除此之外,我們還可以使用它來估計(jì)周圍場(chǎng)景中其他我們感興趣物體的運(yùn)動(dòng)方向,對(duì)于后續(xù)的決策模塊、路徑規(guī)劃模塊非常有意義。
除此之外,我們還可以根據(jù)某個(gè)感興趣物體歷史的運(yùn)動(dòng)軌跡,來對(duì)它后續(xù)的運(yùn)動(dòng)方向和軌跡進(jìn)行預(yù)測(cè),這是非常重要的一點(diǎn),也是我們常提到的,對(duì)路面上移動(dòng)物體意圖的估計(jì)去獲取它的軌跡。
第三,對(duì)物體的檢測(cè)與追蹤。在無人駕駛中主要是各種車輛、行人、非機(jī)動(dòng)車。這可能是大家比較熟悉的應(yīng)用,在這樣一個(gè)問題中也分為多種設(shè)置,比如說我們最常熟悉的是 2D下的檢測(cè),但我們同樣也很關(guān)注 3D 包圍框的表示方式。
上圖中,上半部分是 2D 檢測(cè),下半部分是 3D 檢測(cè)。2D 檢測(cè)只需要畫一個(gè)平面矩形框,把它框住就可以。但在 3D 檢測(cè)中,我們需要報(bào)告每個(gè)物體的中心點(diǎn)的位置,包括 X、Y、Z 的位置、長寬高以及朝向,這對(duì)于后續(xù)的軌跡估計(jì)以及它的意圖分析非常重要。
這種基于深度學(xué)習(xí)的物體檢測(cè)方法是目前效果最好、最主流的方法。它對(duì)于傳統(tǒng)算法來講,大大降低了物體檢測(cè)的漏檢率和誤檢率。
比如下圖,我們可以看到在一個(gè)非常擁擠的環(huán)境下,深度學(xué)習(xí)算法是可以很準(zhǔn)確地檢測(cè)出場(chǎng)景中的行人。
第四,對(duì)于整個(gè)場(chǎng)景的理解,最重要的兩個(gè),第一是道路線檢測(cè),其次是在道路線檢測(cè)下更進(jìn)一步,需要把場(chǎng)景中的每一個(gè)像素打成標(biāo)簽,這叫做場(chǎng)景分割或者場(chǎng)景解析。
道路線檢測(cè)其實(shí)是相對(duì)容易的任務(wù),在過去的十年也有很多研究,在絕大多數(shù)正常情況下做到的結(jié)果是相當(dāng)不錯(cuò)的。而場(chǎng)景分割和場(chǎng)景解析,相對(duì)來說是比較新的概念。
上圖中,我們給整個(gè)場(chǎng)景中每個(gè)像素打了標(biāo)簽。比如深紫色是路面,粉色是人行道,紅色是行人,綠色是樹木。如果我們有了每個(gè)像素的標(biāo)簽圖,就可以根據(jù)它得到的語義信息,對(duì)避障以及路徑規(guī)劃等決策模塊做一個(gè)非常有價(jià)值的輸入和參考。
場(chǎng)景分割其實(shí)是在檢測(cè)任務(wù)上對(duì)周圍的環(huán)境更進(jìn)一步的理解。例如,目標(biāo)檢測(cè)任務(wù)中,我們可能只關(guān)心路面上移動(dòng)的物體。但是,在場(chǎng)景分割中,我們不僅僅對(duì)行人、車輛和非機(jī)動(dòng)車等進(jìn)行一個(gè)分割,同樣對(duì)背景靜態(tài)障礙物,也能進(jìn)行很好地感知。
第五,是同步的地圖構(gòu)建和定位技術(shù),即 SLAM (Simultaneous Localization and Mapping)技術(shù)。這是最早在機(jī)器人領(lǐng)域中的一項(xiàng)研究,在這里我們主要說的是基于視覺的傳感器,即攝像頭的 SLAM 技術(shù):
通過攝像頭和其他多種廉價(jià)傳感器的融合,能夠遞增創(chuàng)建周圍環(huán)境地圖,同時(shí)利用多種傳感器提供的位置信息去實(shí)現(xiàn)自身位置的精確定位。
比如,無人駕駛對(duì)于定位的要求非常高,需要達(dá)到分米級(jí)別的定位。如果我們只使用加速傳感器、GPS 等,得到的精度是遠(yuǎn)遠(yuǎn)不夠的。但借助視覺傳感器、視覺地圖,再融合這些加速傳感器和 GPS 等,我們可以得到一個(gè)非常準(zhǔn)確的定位效果。
上圖是 SLAM 自身軌跡的繪制,一條藍(lán)色軌跡以及 3D 點(diǎn)云地圖。如果我們離線建立一個(gè)比較準(zhǔn)確的 3D 地圖,我們只需要根據(jù)視覺標(biāo)定(Visual landmark),再輔以其他傳感器的驗(yàn)證,就可以得到對(duì)無人車位置的一個(gè)準(zhǔn)確估計(jì),這是 SLAM 技術(shù)在無人駕駛中的作用和地位。
目前計(jì)算機(jī)視覺在無人駕駛上的應(yīng)用有兩個(gè)難點(diǎn)。
第一個(gè)難點(diǎn)可能是精度和可靠性達(dá)不到我們的預(yù)期,但是隨著這幾年深度學(xué)習(xí)的快速發(fā)展,在這方面的難點(diǎn)會(huì)被一一攻克;
第二個(gè)難點(diǎn)主要源自于傳感器本身,比如說過曝和欠曝,都是非常嚴(yán)重和常見的問題。解決這個(gè)問題的方法就是通過傳感器融合,也就是說當(dāng)視覺傳感器失效的時(shí)候,我們?nèi)诤掀渌麄鞲衅?,包括毫米波雷達(dá)甚至激光雷達(dá),對(duì)周圍環(huán)境進(jìn)行感知,來保證它的安全。
和絕大多數(shù)自動(dòng)駕駛公司不一樣,我們服務(wù)的對(duì)象是大型的客運(yùn)車輛,尤其是大型的物流公司。我們希望通過人工智能與計(jì)算機(jī)視覺技術(shù),開發(fā)一個(gè)可商業(yè)化的物流自動(dòng)化解決方案:在限定路段限定條件下,可以降低駕駛員的工作量,減少物流公司運(yùn)營成本和大型車輛事故率,提升運(yùn)輸車輛的安全。
目前自動(dòng)駕駛落地主要有三個(gè)方向:
小型乘用車輛,以特斯拉、各大傳統(tǒng)車企為代表;
特種車輛:特定廠房和園區(qū)里的固定路線和貨物運(yùn)輸車輛;
大型商用車:比如 Otto 這樣的公司;
我們?cè)诖_定商用車方向前做了很多調(diào)研,最后結(jié)論是:對(duì)于自動(dòng)駕駛這項(xiàng)技術(shù),最有剛需的是商用車:
1、企業(yè)會(huì)考慮成本
在長途運(yùn)輸中,尤其是超過 800 公里,為保證時(shí)效性,一輛車上大概會(huì)有 2 到 3 名司機(jī)。如果我們?cè)谙薅l件下通過自動(dòng)駕駛,把人力降低 1 名甚至 2 名,這能為物流企業(yè)節(jié)省 50% 的人力成本;
自動(dòng)駕駛車輛能夠?qū)φ麄€(gè)路線進(jìn)行更好的規(guī)劃,駕駛習(xí)慣比普通司機(jī)好,使車輛耗油量大大降低,減少 5%-7% 的油量,這對(duì)物流企業(yè)來講有比較大的吸引力。
2、增加車輛的安全性
尤其在中國環(huán)境下,大型貨運(yùn)車輛的安全事故非常多,一旦出現(xiàn)事故大多是致命的。大型車輛事故主要有兩個(gè)原因:一個(gè)是超載,一個(gè)是疲勞駕駛。超載我們不能控制,但在疲勞駕駛方面,我們能通過輔助駕駛和自動(dòng)駕駛技術(shù)來減少駕駛員的工作壓力;
對(duì)物流車輛來講,他們絕大多數(shù)倉庫在高速路附近,我們可能只需要讓駕駛員通過人工駕駛的方式把車輛開到高速路上。在下高速之前,我們?cè)偬嵝疡{駛員接管駕駛權(quán)。自動(dòng)駕駛技術(shù)能在長途運(yùn)輸中絕大多數(shù)路段,比如高速公路相對(duì)封閉、固定、確定性的路段實(shí)現(xiàn)高度自動(dòng)駕駛。在這種情況下,駕駛員可以適當(dāng)休息,增加車輛的安全性。
簡(jiǎn)單來說,就是路線相對(duì)固定,環(huán)境更加可控,而商用車對(duì)成本更加敏感。綜合這幾點(diǎn),這是我們通過視覺技術(shù)能夠發(fā)揮作用的地方。
在無人駕駛的體系中,我們采用的是一個(gè)雙目攝像頭,因?yàn)槌杀颈容^低。
但是,雙目在實(shí)際生產(chǎn)中的問題在于:雙目系統(tǒng)的兩個(gè)攝像頭需要精確標(biāo)定,由于硬件機(jī)械結(jié)構(gòu)的不穩(wěn)定,在車輛行進(jìn)的過程中,比較小的顛簸和抖動(dòng)都會(huì)對(duì)兩個(gè)攝像頭的外參造成擾動(dòng)。所以我們要實(shí)現(xiàn)一個(gè)相對(duì)可靠的自標(biāo)定,這是雙目從實(shí)驗(yàn)環(huán)境走到實(shí)際生產(chǎn)比較大的挑戰(zhàn)。
我們的做法是研發(fā)了一套比較可靠的雙目自標(biāo)定算法,在車輛行駛過程中會(huì)以一個(gè)固定的頻率對(duì)雙目的外參不停地進(jìn)行修正。在無人駕駛中,我們采用的解決方案是以計(jì)算機(jī)視覺為主導(dǎo),然后輔以其他傳感器,比如說毫米波雷達(dá)、GPS、IMU 等傳感器的解決方案。
降低成本最關(guān)鍵的一點(diǎn)是如何利用算法的優(yōu)勢(shì)來保障安全性,這其中包含兩點(diǎn):
第一,在視覺傳感器自身之間不同任務(wù)和算法之間做交叉驗(yàn)證。我們知道沒有一個(gè)算法是 100% 可靠的,任何一個(gè)單一算法都會(huì)有失效的可能。但是,如果我們同時(shí)進(jìn)行多個(gè)算法之間的交叉驗(yàn)證,那么安全性就會(huì)得到一個(gè)大的提升。
比如前段時(shí)間特斯拉出的致命事故,就是在白色的大卡車在轉(zhuǎn)彎的時(shí)候,Mobileye 的視覺感知芯片沒有檢測(cè)出卡車,這是它第一重傳感器失效。但是想像一下,如果我們?cè)谶@個(gè)時(shí)候去做一個(gè)道路可行駛區(qū)域的分割,特斯拉一定不會(huì)把白色物體當(dāng)成是可以行駛的道路,直接以巡航的速度去撞上一輛大卡車。
這是我們說的多個(gè)任務(wù)之間的交叉驗(yàn)證。
第二,多個(gè)傳感器之間的交叉驗(yàn)證,主要是視覺傳感器的輸出和毫米波雷達(dá)的交叉驗(yàn)證。
所以降低成本的關(guān)鍵,并不意味著我們犧牲安全性,降低的關(guān)鍵就是提升單個(gè)算法性能極限,同時(shí)對(duì)多個(gè)算法的結(jié)果做交叉驗(yàn)證。
問:機(jī)器視覺對(duì)光線,進(jìn)動(dòng)態(tài)要求很高,計(jì)算機(jī)的運(yùn)算速度要求更好,據(jù)我所知,目前連最基本的 ADAS 系統(tǒng)的準(zhǔn)確度都很低,除了 Mobileye 有芯片,其他還沒有成熟,出現(xiàn)虛報(bào)誤報(bào)的情況很多,如何保證無人駕駛的安全?
答:這個(gè)其實(shí)是基于上一代計(jì)算機(jī)算法,就是傳統(tǒng)的視覺算法。使用深度學(xué)習(xí)之后,結(jié)果會(huì)有非常大的提升,以我們目前的測(cè)試結(jié)果來看,最起碼在檢測(cè)任務(wù)上,計(jì)算機(jī)視覺是完全可以達(dá)到產(chǎn)品的需求,尤其是對(duì)于 ADAS 這樣的產(chǎn)品完全不成問題。
至于芯片的選擇,Mobileye 有自己專用的芯片,但目前我們也可以針對(duì)這種深度學(xué)習(xí)算法考慮英偉達(dá)嵌入式 GPU 這樣的平臺(tái)。我們的 ADAS 系統(tǒng)是基于英偉達(dá) TX1 芯片,自動(dòng)駕駛平臺(tái)則會(huì)基于英偉達(dá) Drive PX2 以及后續(xù)的 Drive PX 平臺(tái)去做。在這樣的支撐下,我們可以做到很好的結(jié)果。
問:目前自動(dòng)駕駛技術(shù)突破是從車場(chǎng)突破可能性大一點(diǎn),例如特斯拉、豐田還是計(jì)算機(jī)算法公司如谷歌、百度?
答:其實(shí)單就任何一個(gè)方面,車廠或者是計(jì)算機(jī)視覺公司,能實(shí)現(xiàn)突破的可能性都不大,汽車產(chǎn)業(yè)是一個(gè)非常長的產(chǎn)業(yè)鏈,車廠是偏向底層的控制,如車輛本身的控制;而上層是算法公司控制的。其實(shí)這兩部分缺哪一部分都是不可以的。
如果自動(dòng)駕駛技術(shù)在乘用車上真正能夠商用化,這兩者一定需要一個(gè)非常好的合作關(guān)系,目前我們也看到了這樣一些聯(lián)盟。我相信在不遠(yuǎn)的將來,在乘用車市場(chǎng)的上游和下游產(chǎn)業(yè)鏈一定會(huì)有比較好的融合。
PS:如果你對(duì)這個(gè)話題有興趣,并想做更深入的了解,歡迎掃描下方二維碼。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。