天天看點

一文讀懂自動駕駛多目視覺感覺

從輸出次元的角度來看,基于視覺傳感器的感覺方法可以分為2D感覺和3D感覺兩種。(相關閱讀:一文讀懂2D感覺算法)

從傳感器的數量上看,視覺感覺系統也分為單目系統,雙目系統,以及多目系統。2D感覺任務通常采用的是單目系統,這也是計算機視覺和深度學習結合最緊密的領域。但是自動駕駛感覺最終需要的是3D輸出,是以我們需要将2D的資訊推廣到3D。

在深度學習取得成功之前,通常的做法是根據目标的先驗大小以及目标處于地平面上等假設來推斷目标的深度(距離),或者采用運動資訊進行深度估計(Motion Stereo)。有了深度學習的助力之後,從大資料集中學習場景線索,并進行單目深度估計成為了可行的方案。但是這種方案非常依賴于模式識别,而且很難處理資料集之外的場景(Corner Case)。比如施工路段的特殊工程車輛,由于資料庫中很少出現或者根本沒有此類樣本,視覺傳感器無法準确檢測該目标,因而也就無法判斷其距離。雙目系統可以自然的獲得視差,進而估計障礙物的距離。這種系統對模式識别的依賴度較小,隻要能在目标上獲得穩定的關鍵點,就可以完成比對,計算視差并估計距離。但是,雙目系統也有以下缺點。

首先,如果關鍵點無法擷取,比如在自動駕駛中經常引發事故的白色大貨車,如果其橫在路中央,視覺傳感器在有限的視野中很難捕捉關鍵點,距離的測算就會失敗。

其次,雙目視覺系統對攝像頭之間的标定要求非常高,一般來說都需要有非常精确的線上标定功能。

最後,雙目系統的計算量較大,需要算力較高的晶片來支援,一般都會采用FPGA。

雙目系統的成本介于單目和雷射雷達之間,目前也有一些OEM開始采用雙目視覺來支援不同級别的自動駕駛系統,比如斯巴魯,奔馳,寶馬等。理論上說,雙目系統已經可以解決3D資訊擷取的問題,那麼為什麼還需要多目系統呢?

原因大緻有兩點:一是通過增加不同類别的傳感器,比如紅外攝像頭,來提高對各種環境條件的适應性;二是通過增加不同朝向,不同焦距的攝像頭來擴充系統的視野範圍。下面我們就來分析幾個典型的多目系統。

Mobileye的三目系統

對應定焦鏡頭來說,探測距離和探測視角是成反比的關系。視角越寬,探測的距離越短,精度越低;視角越窄,探測的距離越長,精度越高。車載攝像頭很難做到頻繁變焦,是以一般來說探測距離和視野都是固定的。

多目系統,可以通過不同焦距的攝像頭來覆寫不同範圍的場景。比如Mobileye和ZF聯合推出的三目系統,三目包含一個150°的廣角攝像頭,一個52°的中距攝像頭和一個28°的遠距攝像頭。其最遠探測距離可以達到300米,同時也可以保證中近距的探測視野和精度,用于檢測車輛周邊的環境,及時發現車輛前方突然出現的物體。

一文讀懂自動駕駛多目視覺感覺

Mobileye和ZF的三目相機

這種三目系統主要的難點在于如何處理重疊區域中不一緻的感覺結果。不同攝像頭對于同一場景給出了不同的了解,那麼就需要後面的融合算法來決定信任哪一個。不同攝像頭自身的誤差範圍也不同,很難設計一個合理的規則去定義各種不同情況下的決策,這給融合算法帶來了更大的挑戰。文章後面會介紹,多目系統其實還可以采用資料層的融合,利用深度學習和大資料集來學習融合規則。當然也不是說交給機器學習就完事大吉了,黑盒子的深度神經網絡有時也會給出難以解釋的輸出。

Foresight的四目感覺系統

多目系統的另外一個思路是增加不同波段的傳感器,比如紅外攝像頭(其實雷射雷達和毫米波雷達也是不同波段的傳感器而已)。來自以色列的Foresight公司設計并示範了一個四目感覺系統(QuadSight)。在可見光雙目攝像頭的基礎上,QuadSight增加了一對長波紅外(LWIR)攝像頭,使探測範圍從可見光波段擴充到紅外波段。紅外波段的加入,一方面增加了資訊量,另一方面也增強了在夜間環境以及在雨霧天氣下的适應能力,保證了系統全天候運作的能力。

QuadSight系統中攝像頭的視野範圍為45度,最遠可以探測150米的距離,可以在100米的距離内探測到35*25厘米大小的物體。運作速度方面可以達到45幀/秒,足以應對高速行駛的場景。

一文讀懂自動駕駛多目視覺感覺

Foresight的QuadSight四目系統

QuardSight系統是由兩對雙目系統組成。從上圖中可以看到,紅外雙目攝像頭安裝在擋風玻璃的左右兩側,其基線長度要比一般的雙目系統大很多。這裡稍微跑點題,讨論一下雙目系統基線長度的問題。

傳統的雙目系統一般采用短基線模式,也就是說兩個攝像頭之間的距離比較短,這就限制了探測的最大距離。當一個目标距離很遠時,其在左右圖像上的視差已經小于一個像素,這時就無法估計其深度,既所謂的基線限制。這已是極限的情況,其實對于遠距離目标,即使視差大于一個像素,深度估計的誤差也是很大的。一般來說,深度估計的誤差應該與距離的平方成正比。

為了提高雙目系統的有效探測距離,一個直覺的方案就是增加基線長度,這樣可以增加視差的範圍。NODAR的公司推出的Hammerhead技術,可以實作兩個攝像頭超大距離的寬基線配置,探測距離最遠可達1000米,同時可以生成高密度的點雲。這個系統可以利用整車的寬度,比如把攝像頭安裝在側視鏡、前大燈或車頂兩側。

一文讀懂自動駕駛多目視覺感覺

Hammerhead技術中的寬基線配置

Tesla的全景感覺系統

分析了三目和四目的例子後,下面進入本篇文章的重點,也就是基于多目的全景感覺系統。這裡我們采用的例子是Tesla在2021年的AI Day上展示了一個純視覺的FSD(Full Self Driving)系統。雖然說隻能算是L2級别(駕駛員必須做好随時接管車輛的準備),但如果隻是橫向對比L2級的自動駕駛系統,FSD的表現還是不錯的。此外,這個純視覺的方案內建了近年來深度學習領域的很多成功經驗,在多攝像頭融合方面很有特點,個人覺得至少在技術方面還是值得研究一下。

一文讀懂自動駕駛多目視覺感覺

Tesla FSD系統的多攝像頭配置

這裡再稍微跑個題,說一下Tesla AI和Vision方向的負責人,Andrej Karpathy。這位小哥1986年出生,2015年在斯坦福大學獲得博士學位,師從計算機視覺和機器學習界的大牛李飛飛教授,研究方向是自然語言處理和計算機視覺的交叉任務以及深度神經網絡在其中的應用。馬斯克2016年将這位青年才俊召入麾下,之後讓其負責Tesla的AI部門,是FSD這個純視覺系統在算法方面的總設計師。

Andrej在AI Day上的報告中首先提到,五年前Tesla的視覺系統是先獲得單張圖像上的檢測結果,然後将其映射到向量空間(Vector Space)。這個“向量空間”是報告中的核心概念之一,我了解其實它就是環境中的各種目标在世界坐标系中的表示空間。比如對于物體檢測任務,目标在3D空間中的位置,大小,朝向,速度等描述特性組成了一個向量,所有目标的描述向量組成的空間就是向量空間。視覺感覺系統的任務就是将圖像空間中的資訊轉化為向量空間中的資訊。這可以通過兩種方法來實作:一是先在圖像空間中完成所有的感覺任務,然後将結果映射到向量空間,最後融合多攝像頭的結果;二是先将圖像特征轉換到向量空間,然後融合來自多個攝像頭的特征,最後在向量空間中完成所有的感覺任務。

Andrej舉了兩個例子,說明為什麼第一種方法是不合适的。首先,由于透視投影,圖像中看起來不錯的感覺結果在向量空間中精度很差,尤其是遠距離的區域。如下圖所示,車道線(藍色)和道路邊緣(紅色)在投影到向量空間後位置非常不準,無法用支援自動駕駛的應用。

一文讀懂自動駕駛多目視覺感覺

圖像空間的感覺結果(上)及其在向量空間中的投影(下)

其次,在多目系統中,由于視野的限制,單個攝像頭可能無法看到完整的目标。比如在下圖的例子中,一輛大貨車出現在了一些攝像頭的視野中,但是很多攝像頭都隻看到了目标的一部分,是以無法根據殘缺的資訊做出正确的檢測,是以後續的融合效果也就無法保證。這其實是多傳感器決策層融合的一個一般性問題。

一文讀懂自動駕駛多目視覺感覺

單攝像頭受限的視野

綜合以上分析,圖像空間感覺+決策層融合并不是一個很好的方案。直接在向量空間中完成融合和感覺可以有效地解決以上問題,這也是FSD感覺系統的核心思路。為了實作這個思路,需要解決兩個重要的問題:一個是如何将特征從圖像空間變換到特征空間,另一個是如何得到向量空間中的标注資料。

特征的空間變換

對于特征的空間變換問題,專欄之前在3D感覺的文章中也做了介紹,一般性的做法就是利用攝像頭的标定資訊将圖像像素映射到世界坐标系。但這是個病态問題,需要有一定的限制,自動駕駛應用中通常采用的是地平面限制,也就是目标位于地面,而且地面是水準的。這個限制太強了,在很多場景下無法滿足。

Tesla的解決方案中核心的有三點。

首先,通過Transformer和Self-Attention的方式建立圖像空間到向量空間的對應關系,這裡向量空間的位置編碼起到了很重要的作用。具體實作細節這裡就不展開說了,以後有時間再單開一篇文章詳細的介紹。簡單來了解的話,向量空間中每一個位置的特征都可以看作圖像所有位置特征的權重組合,當然對應位置的權重肯定大一些。但是這個權重組合的過程通過Self-Attention和空間編碼來自動的實作,不需要手工設計,完全根據需要完成的任務來進行端對端的學習。

其次,在量産應用中,每一輛車上攝像頭的标定資訊都不盡相同,導緻輸入資料與預訓練的模型不一緻。是以這些标定資訊需要作為額外的輸入提供給神經網絡。簡單的做法可以将每個攝像頭的标定資訊拼接起來,通過MLP編碼後再輸入給神經網絡。但是,一個更好的做法是将來自不同攝像頭的圖像通過标定資訊進行校正,使不同車輛上對應的攝像頭都輸出一緻的圖像。

最後,視訊(多幀)輸入被用來提取時序資訊,以增加輸出結果的穩定性,更好的處理遮擋場景,并且預測目标的運動。這部分還有一個額外的輸入就是車輛自身的運動資訊(可以通過IMU獲得),以支援神經網絡對齊不同時間點的特征圖。時序資訊的處理可以采用3D卷積,Transformer或者RNN。FSD的方案中采用的是RNN,以我個人的經驗來看,這确實也是目前在準确度和計算量之間平衡度最好的方案。

通過以上這些算法上的改進,FSD在向量空間中的輸出品質有了很大的提升。在下面的對比圖中,下方左側是來自圖像空間感覺+決策層融合方案的輸出,而下方右側上述特征空間變換+向量空間感覺融合的方案。

一文讀懂自動駕駛多目視覺感覺

圖像空間感覺(左下) vs. 向量空間感覺(右下)

向量空間中的标注

既然是深度學習算法,那麼資料和标注自然就是關鍵環節。圖像空間中的标注非常直覺,但是系統最終需要的是在向量空間中的标注。Tesla的做法是利用來自多個攝像頭的圖像重建3D場景,并在3D場景下進行标注。标注者隻需要在3D場景中進行一次标注,就可以實時的看到标注結果在各個圖像中的映射,進而進行相應的調整。

一文讀懂自動駕駛多目視覺感覺

3D空間中的标注

人工标注隻是整個标注系統的一部分,為了更快更好的獲得标注,還需要借助自動标注和模拟器。自動标注系統首先基于單攝像頭的圖像生成标注結果,然後通過各種空間和時間的線索将這些結果整合起來。形象來說就是各個攝像頭湊在一起讨論出一個一緻的标注結果。除了多個攝像頭的配合,在路上行駛的多台Tesla車輛也可以對同一個場景的标注進行融合改進。當然這裡還需要GPS和IMU傳感器來獲得車輛的位置和姿态,進而将不同車輛的輸出結果進行空間對齊。自動标注可以解決标注的效率問題,但是對于一些罕見的場景,比如報告中所示範的在高速公路上奔跑的行人,還需要借助模拟器來生成虛拟資料。以上所有這些技術組合起來,才構成了Tesla完整的資料收集和标注系統。

轉載自焉知智能汽車、知乎,文中觀點僅供分享交流,不代表本公衆号立場,如涉及版權等問題,請您告知,我們将及時處理。

-- END --

繼續閱讀