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