1 前言
從輸出維度的角度來(lái)看,基于視覺(jué)傳感器的感知方法可以分為2D感知和3D感知兩種。專欄之前的文章也分別對(duì)這兩種感知任務(wù)做了詳細(xì)的介紹。
從傳感器的數(shù)量上看,視覺(jué)感知系統(tǒng)也分為單目系統(tǒng),雙目系統(tǒng),以及多目系統(tǒng)。2D感知任務(wù)通常采用的是單目系統(tǒng),這也是計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)結(jié)合最緊密的領(lǐng)域。但是自動(dòng)駕駛感知最終需要的是3D輸出,因此我們需要將2D的信息推廣到3D。在深度學(xué)習(xí)取得成功之前,通常的做法是根據(jù)目標(biāo)的先驗(yàn)大小以及目標(biāo)處于地平面上等假設(shè)來(lái)推斷目標(biāo)的深度(距離),或者采用運(yùn)動(dòng)信息進(jìn)行深度估計(jì)(Motion Stereo)。有了深度學(xué)習(xí)的助力之后,從大數(shù)據(jù)集中學(xué)習(xí)場(chǎng)景線索,并進(jìn)行單目深度估計(jì)成為了可行的方案。但是這種方案非常依賴于模式識(shí)別,而且很難處理數(shù)據(jù)集之外的場(chǎng)景(Corner Case)。比如施工路段的特殊工程車輛,由于數(shù)據(jù)庫(kù)中很少出現(xiàn)或者根本沒(méi)有此類樣本,視覺(jué)傳感器無(wú)法準(zhǔn)確檢測(cè)該目標(biāo),因而也就無(wú)法判斷其距離。
雙目系統(tǒng)可以自然的獲得視差,從而估計(jì)障礙物的距離。這種系統(tǒng)對(duì)模式識(shí)別的依賴度較小,只要能在目標(biāo)上獲得穩(wěn)定的關(guān)鍵點(diǎn),就可以完成匹配,計(jì)算視差并估計(jì)距離。但是,雙目系統(tǒng)也有以下缺點(diǎn)。首先,如果關(guān)鍵點(diǎn)無(wú)法獲取,比如在自動(dòng)駕駛中經(jīng)常引發(fā)事故的白色大貨車,如果其橫在路中央,視覺(jué)傳感器在有限的視野中很難捕捉關(guān)鍵點(diǎn),距離的測(cè)算就會(huì)失敗。其次,雙目視覺(jué)系統(tǒng)對(duì)攝像頭之間的標(biāo)定要求非常高,一般來(lái)說(shuō)都需要有非常精確的在線標(biāo)定功能。最后,雙目系統(tǒng)的計(jì)算量較大,需要算力較高的芯片來(lái)支持,一般都會(huì)采用FPGA。雙目系統(tǒng)的成本介于單目和激光雷達(dá)之間,目前也有一些OEM開(kāi)始采用雙目視覺(jué)來(lái)支持不同級(jí)別的自動(dòng)駕駛系統(tǒng),比如斯巴魯,奔馳,寶馬等。
理論上說(shuō),雙目系統(tǒng)已經(jīng)可以解決3D信息獲取的問(wèn)題,那么為什么還需要多目系統(tǒng)呢?原因大致有兩點(diǎn):一是通過(guò)增加不同類別的傳感器,比如紅外攝像頭,來(lái)提高對(duì)各種環(huán)境條件的適應(yīng)性;二是通過(guò)增加不同朝向,不同焦距的攝像頭來(lái)擴(kuò)展系統(tǒng)的視野范圍。下面我們就來(lái)分析幾個(gè)典型的多目系統(tǒng)。
2 Mobileye的三目系統(tǒng)
對(duì)應(yīng)定焦鏡頭來(lái)說(shuō),探測(cè)距離和探測(cè)視角是成反比的關(guān)系。視角越寬,探測(cè)的距離越短,精度越低;視角越窄,探測(cè)的距離越長(zhǎng),精度越高。車載攝像頭很難做到頻繁變焦,因此一般來(lái)說(shuō)探測(cè)距離和視野都是固定的。
多目系統(tǒng),可以通過(guò)不同焦距的攝像頭來(lái)覆蓋不同范圍的場(chǎng)景。比如Mobileye和ZF聯(lián)合推出的三目系統(tǒng),三目包含一個(gè)150°的廣角攝像頭,一個(gè)52°的中距攝像頭和一個(gè)28°的遠(yuǎn)距攝像頭。其最遠(yuǎn)探測(cè)距離可以達(dá)到300米,同時(shí)也可以保證中近距的探測(cè)視野和精度,用于檢測(cè)車輛周邊的環(huán)境,及時(shí)發(fā)現(xiàn)車輛前方突然出現(xiàn)的物體。
這種三目系統(tǒng)主要的難點(diǎn)在于如何處理重疊區(qū)域中不一致的感知結(jié)果。不同攝像頭對(duì)于同一場(chǎng)景給出了不同的理解,那么就需要后面的融合算法來(lái)決定信任哪一個(gè)。不同攝像頭自身的誤差范圍也不同,很難設(shè)計(jì)一個(gè)合理的規(guī)則去定義各種不同情況下的決策,這給融合算法帶來(lái)了更大的挑戰(zhàn)。文章后面會(huì)介紹,多目系統(tǒng)其實(shí)還可以采用數(shù)據(jù)層的融合,利用深度學(xué)習(xí)和大數(shù)據(jù)集來(lái)學(xué)習(xí)融合規(guī)則。當(dāng)然也不是說(shuō)交給機(jī)器學(xué)習(xí)就完事大吉了,黑盒子的深度神經(jīng)網(wǎng)絡(luò)有時(shí)也會(huì)給出難以解釋的輸出。
3 Foresight的四目感知系統(tǒng)
多目系統(tǒng)的另外一個(gè)思路是增加不同波段的傳感器,比如紅外攝像頭(其實(shí)激光雷達(dá)和毫米波雷達(dá)也是不同波段的傳感器而已)。來(lái)自以色列的Foresight公司設(shè)計(jì)并演示了一個(gè)四目感知系統(tǒng)(QuadSight)。在可見(jiàn)光雙目攝像頭的基礎(chǔ)上,QuadSight增加了一對(duì)長(zhǎng)波紅外(LWIR)攝像頭,使探測(cè)范圍從可見(jiàn)光波段擴(kuò)展到紅外波段。紅外波段的加入,一方面增加了信息量,另一方面也增強(qiáng)了在夜間環(huán)境以及在雨霧天氣下的適應(yīng)能力,保證了系統(tǒng)全天候運(yùn)行的能力。
QuadSight系統(tǒng)中攝像頭的視野范圍為45度,最遠(yuǎn)可以探測(cè)150米的距離,可以在100米的距離內(nèi)探測(cè)到35*25厘米大小的物體。運(yùn)行速度方面可以達(dá)到45幀/秒,足以應(yīng)對(duì)高速行駛的場(chǎng)景。
Foresight的QuadSight四目系統(tǒng)
QuardSight系統(tǒng)是由兩對(duì)雙目系統(tǒng)組成。從上圖中可以看到,紅外雙目攝像頭安裝在擋風(fēng)玻璃的左右兩側(cè),其基線長(zhǎng)度要比一般的雙目系統(tǒng)大很多。這里稍微跑點(diǎn)題,討論一下雙目系統(tǒng)基線長(zhǎng)度的問(wèn)題。
傳統(tǒng)的雙目系統(tǒng)一般采用短基線模式,也就是說(shuō)兩個(gè)攝像頭之間的距離比較短,這就限制了探測(cè)的最大距離。當(dāng)一個(gè)目標(biāo)距離很遠(yuǎn)時(shí),其在左右圖像上的視差已經(jīng)小于一個(gè)像素,這時(shí)就無(wú)法估計(jì)其深度,既所謂的基線約束。這已是極限的情況,其實(shí)對(duì)于遠(yuǎn)距離目標(biāo),即使視差大于一個(gè)像素,深度估計(jì)的誤差也是很大的。一般來(lái)說(shuō),深度估計(jì)的誤差應(yīng)該與距離的平方成正比。
為了提高雙目系統(tǒng)的有效探測(cè)距離,一個(gè)直觀的方案就是增加基線長(zhǎng)度,這樣可以增加視差的范圍。NODAR的公司推出的Hammerhead技術(shù),可以實(shí)現(xiàn)兩個(gè)攝像頭超大距離的寬基線配置,探測(cè)距離最遠(yuǎn)可達(dá)1000米,同時(shí)可以生成高密度的點(diǎn)云。這個(gè)系統(tǒng)可以利用整車的寬度,比如把攝像頭安裝在側(cè)視鏡、前大燈或車頂兩側(cè)。
Hammerhead技術(shù)中的寬基線配置
4 Tesla的全景感知系統(tǒng)
分析了三目和四目的例子后,下面進(jìn)入本篇文章的重點(diǎn),也就是基于多目的全景感知系統(tǒng)。這里我們采用的例子是Tesla在2021年的AI Day上展示了一個(gè)純視覺(jué)的FSD(Full Self Driving)系統(tǒng)。雖然說(shuō)只能算是L2級(jí)別(駕駛員必須做好隨時(shí)接管車輛的準(zhǔn)備),但如果只是橫向?qū)Ρ萀2級(jí)的自動(dòng)駕駛系統(tǒng),F(xiàn)SD的表現(xiàn)還是不錯(cuò)的。此外,這個(gè)純視覺(jué)的方案集成了近年來(lái)深度學(xué)習(xí)領(lǐng)域的很多成功經(jīng)驗(yàn),在多攝像頭融合方面很有特點(diǎn),個(gè)人覺(jué)得至少在技術(shù)方面還是值得研究一下。
Tesla FSD系統(tǒng)的多攝像頭配置
這里再稍微跑個(gè)題,說(shuō)一下Tesla AI和Vision方向的負(fù)責(zé)人,Andrej Karpathy。這位小哥1986年出生,2015年在斯坦福大學(xué)獲得博士學(xué)位,師從計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)界的大牛李飛飛教授,研究方向是自然語(yǔ)言處理和計(jì)算機(jī)視覺(jué)的交叉任務(wù)以及深度神經(jīng)網(wǎng)絡(luò)在其中的應(yīng)用。馬斯克2016年將這位青年才俊召入麾下,之后讓其負(fù)責(zé)Tesla的AI部門,是FSD這個(gè)純視覺(jué)系統(tǒng)在算法方面的總設(shè)計(jì)師。
Andrej在AI Day上的報(bào)告中首先提到,五年前Tesla的視覺(jué)系統(tǒng)是先獲得單張圖像上的檢測(cè)結(jié)果,然后將其映射到向量空間(Vector Space)。這個(gè)“向量空間”是報(bào)告中的核心概念之一,我理解其實(shí)它就是環(huán)境中的各種目標(biāo)在世界坐標(biāo)系中的表示空間。比如對(duì)于物體檢測(cè)任務(wù),目標(biāo)在3D空間中的位置,大小,朝向,速度等描述特性組成了一個(gè)向量,所有目標(biāo)的描述向量組成的空間就是向量空間。視覺(jué)感知系統(tǒng)的任務(wù)就是將圖像空間中的信息轉(zhuǎn)化為向量空間中的信息。這可以通過(guò)兩種方法來(lái)實(shí)現(xiàn):一是先在圖像空間中完成所有的感知任務(wù),然后將結(jié)果映射到向量空間,最后融合多攝像頭的結(jié)果;二是先將圖像特征轉(zhuǎn)換到向量空間,然后融合來(lái)自多個(gè)攝像頭的特征,最后在向量空間中完成所有的感知任務(wù)。
Andrej舉了兩個(gè)例子,說(shuō)明為什么第一種方法是不合適的。首先,由于透視投影,圖像中看起來(lái)不錯(cuò)的感知結(jié)果在向量空間中精度很差,尤其是遠(yuǎn)距離的區(qū)域。如下圖所示,車道線(藍(lán)色)和道路邊緣(紅色)在投影到向量空間后位置非常不準(zhǔn),無(wú)法用支持自動(dòng)駕駛的應(yīng)用。
圖像空間的感知結(jié)果(上)及其在向量空間中的投影(下)
其次,在多目系統(tǒng)中,由于視野的限制,單個(gè)攝像頭可能無(wú)法看到完整的目標(biāo)。比如在下圖的例子中,一輛大貨車出現(xiàn)在了一些攝像頭的視野中,但是很多攝像頭都只看到了目標(biāo)的一部分,因此無(wú)法根據(jù)殘缺的信息做出正確的檢測(cè),因此后續(xù)的融合效果也就無(wú)法保證。這其實(shí)是多傳感器決策層融合的一個(gè)一般性問(wèn)題。
單攝像頭受限的視野
綜合以上分析,圖像空間感知+決策層融合并不是一個(gè)很好的方案。直接在向量空間中完成融合和感知可以有效地解決以上問(wèn)題,這也是FSD感知系統(tǒng)的核心思路。為了實(shí)現(xiàn)這個(gè)思路,需要解決兩個(gè)重要的問(wèn)題:一個(gè)是如何將特征從圖像空間變換到特征空間,另一個(gè)是如何得到向量空間中的標(biāo)注數(shù)據(jù)。
4.1 特征的空間變換
對(duì)于特征的空間變換問(wèn)題,專欄之前在3D感知的文章中也做了介紹,一般性的做法就是利用攝像頭的標(biāo)定信息將圖像像素映射到世界坐標(biāo)系。但這是個(gè)病態(tài)問(wèn)題,需要有一定的約束,自動(dòng)駕駛應(yīng)用中通常采用的是地平面約束,也就是目標(biāo)位于地面,而且地面是水平的。這個(gè)約束太強(qiáng)了,在很多場(chǎng)景下無(wú)法滿足。
Tesla的解決方案中核心的有三點(diǎn)。首先,通過(guò)Transformer和Self-Attention的方式建立圖像空間到向量空間的對(duì)應(yīng)關(guān)系,這里向量空間的位置編碼起到了很重要的作用。具體實(shí)現(xiàn)細(xì)節(jié)這里就不展開(kāi)說(shuō)了,以后有時(shí)間再單開(kāi)一篇文章詳細(xì)的介紹。簡(jiǎn)單來(lái)理解的話,向量空間中每一個(gè)位置的特征都可以看作圖像所有位置特征的加權(quán)組合,當(dāng)然對(duì)應(yīng)位置的權(quán)重肯定大一些。但是這個(gè)加權(quán)組合的過(guò)程通過(guò)Self-Attention和空間編碼來(lái)自動(dòng)的實(shí)現(xiàn),不需要手工設(shè)計(jì),完全根據(jù)需要完成的任務(wù)來(lái)進(jìn)行端對(duì)端的學(xué)習(xí)。
其次,在量產(chǎn)應(yīng)用中,每一輛車上攝像頭的標(biāo)定信息都不盡相同,導(dǎo)致輸入數(shù)據(jù)與預(yù)訓(xùn)練的模型不一致。因此這些標(biāo)定信息需要作為額外的輸入提供給神經(jīng)網(wǎng)絡(luò)。簡(jiǎn)單的做法可以將每個(gè)攝像頭的標(biāo)定信息拼接起來(lái),通過(guò)MLP編碼后再輸入給神經(jīng)網(wǎng)絡(luò)。但是,一個(gè)更好的做法是將來(lái)自不同攝像頭的圖像通過(guò)標(biāo)定信息進(jìn)行校正,使不同車輛上對(duì)應(yīng)的攝像頭都輸出一致的圖像。
最后,視頻(多幀)輸入被用來(lái)提取時(shí)序信息,以增加輸出結(jié)果的穩(wěn)定性,更好的處理遮擋場(chǎng)景,并且預(yù)測(cè)目標(biāo)的運(yùn)動(dòng)。這部分還有一個(gè)額外的輸入就是車輛自身的運(yùn)動(dòng)信息(可以通過(guò)IMU獲得),以支持神經(jīng)網(wǎng)絡(luò)對(duì)齊不同時(shí)間點(diǎn)的特征圖。時(shí)序信息的處理可以采用3D卷積,Transformer或者RNN。FSD的方案中采用的是RNN,以我個(gè)人的經(jīng)驗(yàn)來(lái)看,這確實(shí)也是目前在準(zhǔn)確度和計(jì)算量之間平衡度最好的方案。
通過(guò)以上這些算法上的改進(jìn),F(xiàn)SD在向量空間中的輸出質(zhì)量有了很大的提升。在下面的對(duì)比圖中,下方左側(cè)是來(lái)自圖像空間感知+決策層融合方案的輸出,而下方右側(cè)上述特征空間變換+向量空間感知融合的方案。
圖像空間感知(左下) vs. 向量空間感知(右下)
4.2 向量空間中的標(biāo)注
既然是深度學(xué)習(xí)算法,那么數(shù)據(jù)和標(biāo)注自然就是關(guān)鍵環(huán)節(jié)。圖像空間中的標(biāo)注非常直觀,但是系統(tǒng)最終需要的是在向量空間中的標(biāo)注。Tesla的做法是利用來(lái)自多個(gè)攝像頭的圖像重建3D場(chǎng)景,并在3D場(chǎng)景下進(jìn)行標(biāo)注。標(biāo)注者只需要在3D場(chǎng)景中進(jìn)行一次標(biāo)注,就可以實(shí)時(shí)的看到標(biāo)注結(jié)果在各個(gè)圖像中的映射,從而進(jìn)行相應(yīng)的調(diào)整。
3D空間中的標(biāo)注
人工標(biāo)注只是整個(gè)標(biāo)注系統(tǒng)的一部分,為了更快更好的獲得標(biāo)注,還需要借助自動(dòng)標(biāo)注和模擬器。自動(dòng)標(biāo)注系統(tǒng)首先基于單攝像頭的圖像生成標(biāo)注結(jié)果,然后通過(guò)各種空間和時(shí)間的線索將這些結(jié)果整合起來(lái)。形象來(lái)說(shuō)就是各個(gè)攝像頭湊在一起討論出一個(gè)一致的標(biāo)注結(jié)果。除了多個(gè)攝像頭的配合,在路上行駛的多臺(tái)Tesla車輛也可以對(duì)同一個(gè)場(chǎng)景的標(biāo)注進(jìn)行融合改進(jìn)。當(dāng)然這里還需要GPS和IMU傳感器來(lái)獲得車輛的位置和姿態(tài),從而將不同車輛的輸出結(jié)果進(jìn)行空間對(duì)齊。自動(dòng)標(biāo)注可以解決標(biāo)注的效率問(wèn)題,但是對(duì)于一些罕見(jiàn)的場(chǎng)景,比如報(bào)告中所演示的在高速公路上奔跑的行人,還需要借助模擬器來(lái)生成虛擬數(shù)據(jù)。以上所有這些技術(shù)組合起來(lái),才構(gòu)成了Tesla完整的數(shù)據(jù)收集和標(biāo)注系統(tǒng)。關(guān)于數(shù)據(jù)的問(wèn)題,這里只是稍微涉及了一點(diǎn),完整的工作鏈還是相當(dāng)復(fù)雜的,之后專欄中會(huì)有專門的文章進(jìn)行這方面的探討。
編輯:黃飛
?
評(píng)論
查看更多