作者:匡吉
自動駕駛技術在20世紀初的概念和實驗主要集中在車輛自動化和遙控方面。到了20世紀80年代和90年代,隨著計算機技術和人工智能的發展,自動駕駛技術開始取得顯著進展。這一時期,一些大學和研究機構開始開發原型車輛,能夠在特定條件下實現自動駕駛。
進入21世紀,自動駕駛技術迎來了快速發展期。隨著傳感器、算法、計算能力和大數據技術的進步,多家科技公司和汽車制造商開始投入巨資研發自動駕駛車輛。 目前,自動駕駛技術正處于逐步成熟階段,雖然還面臨著技術、法律、倫理和安全等多方面的挑戰,但其發展潛力仍然不可小覷,將對交通安全、效率、環境保護等產生深遠影響。 本文,我們將梳理自動駕駛技術的進化與發展。
如圖1是自動駕駛的經典框架,其中,最為重要的任務是場景理解任務,這一任務在學術文章中常常稱之為感知任務,伴隨AI技術蓬勃發展,感知任務也在不斷刷新其性能上限。為輔助車輛控制系統,以及理解周圍環境,自動駕駛系統使用了各種感知技術,最為重要且廣為人知的就是:SLAM(同步定位與建圖)和BEV(鳥瞰視圖)技術。這些技術賦予車輛無論在靜止還是移動的狀態下,理解自身位置、檢測周圍障礙物、以及估計障礙物方向和距離的能力,這些能力為后續駕駛決策提供信息。
▲圖1|經典的自動駕駛框架
SLAM+DL:第一代自動駕駛技術
■2.1 簡介
開門見山,第一代自動駕駛感知技術,是以SLAM算法結合深度學習技術相結合為代表的。第一代自動駕駛感知技術框架中的多種任務,例如:目標檢測和語義分割任務,都必須和輸入數據處于相同坐標系統下實施。如下圖2所示,唯一例外的是相機感知任務,它是在2D圖像的透視空間中運行的。但是,為了從2D空間升級到3D空間,2D檢測任務需要很多關于傳感器融合的手動規則,例如使用雷達或者激光雷達等傳感器進行3D測量。因此,傳統感知系統通常需要在與車載攝像機圖像相同的空間內進行處理。為了將2D空間中的位置信息更新到3D空間,后續的預測和規劃任務常常用于多傳感器融合,如借助毫米波雷達或激光雷達等有源傳感器。
▲圖2?SLAM+DL的自動駕駛技術框架
■2.2問題和挑戰
但是,上述基于SLAM+DL的第一代自動駕駛技術暴露出越來越多的問題: 1)整個自動駕駛系統最上游的是感知模塊,尤其當傳感器的類型和數量變的越來越復雜,如何融合持續輸入的多模態和不同視圖數據,并實時輸出下游所需的一系列任務結果,成為自動駕駛的核心挑戰。 2)感知環節通常會消耗車輛的大部分算力。在感知過程中,系統需要融合不同視角攝像頭的視覺數據以及毫米波雷達、激光雷達等傳感器的數據,這給模型設計和工程實現帶來了挑戰。在傳統的融合后處理方法中,每個傳感器對應一個神經網絡,無法充分發揮多傳感器融合的優勢,而且計算量大、耗時長。此外,如果多個任務簡單地共享一個骨干網絡,很容易導致每個任務難以同時獲得優異的性能,如圖3所示。
▲圖3|一種多模態融合算法示意圖
■3.1 BEV方案基本流程 ·簡介 BEV(鳥瞰視圖)模型
基于多個攝像頭甚至不同傳感器,可以被視為解決上述SLAM+DL第一代自動駕駛技術問題的潛在技術方案,本文將BEV+Transformer結合技術成為自動駕駛感知2.0時代。如圖4所示,BEV以鳥瞰圖視角呈現車輛信息,是自動駕駛系統中跨攝像頭和多模態融合的體現。其核心思想是將傳統的2D圖像感知轉為3D感知。對于BEV感知來說,關鍵在于將2D圖像作為輸入并輸出3D感知幀,而如何在多攝像頭視角下高效優雅地獲得最佳特征表示仍是一個難題。
目前,基于多視角相機的BEV3D物體檢測感知任務,受到越來越多的關注。如圖5所示,在BEV視圖下,統一和描述不同視角的信息是非常直觀自然的,這為后續規劃和控制模塊的任務提供了便利。此外,BEV視圖下的物體在2D視角下不存在遮擋和比例問題,有助于提高檢測性能。BEV模型還有助于提高感知融合的性能,并通過統一的模型實現從純視覺感知到多傳感器融合解決方案的邏輯一致性,從而降低額外的開發成本。
▲圖5|純視覺的端到端規劃框架
· BEV技術方法 目前為止,BEV研究主要基于深度學習方法。根據BEV特征信息的組織方式,主流方法可分為不同架構的模式。
■3.2 自底向上?vs.?自頂向下
· 自底向上方法 自底向上法采用了從2D到3D的模式:
1)首先,在2D視圖下估計每個像素的深度信息,然后基于相機內外參數將圖像映射到BEV空間。 ?
2)然后,通過融合多個視圖生成BEV特征。
這種方法的早期代表方法是LSS(Lift、Splat、Shoot),如圖6所示,它構建了一個簡單而有效的處理過程:
1)將2D相機圖像投射到3D場景中;
2)然后從上帝視角把得到的3D場景“壓扁”,形成BEV視圖。
平面場景符合人們對地圖的直觀感覺,雖然已經獲得了三維場景數據,但并不是完整的三維數據,因為從 BEV 的角度來看,無法獲得準確的三維高度信息,所以需要將其扁平化。自下而上法的核心步驟是:
1)拉升----在對每幅相機圖像進行圖像平面下采樣后,準確估計特征點的深度分布,并獲得包含圖像特征的視錐(點云);
2)拍打----結合攝像機的內部和外部參數,將所有攝像機的視錐(點云)分布到 BEV 網格中,并對每個網格中的多個視錐點進行求和匯集計算,形成BEV 特征圖;
3)拍攝----使用任務頭處理 BEV 特征圖,輸出感知結果。
LSS 和 BEVDepth等算法基于 LSS 框架進行了優化,是 BEV 算法的經典之作。 · 自頂向下方法 自頂向下法采用了從3D到2D的模式:
1)這類方法首先初始化BEV空間中的特征;
2)然后通過一個多層的Transformer與每個圖像特征進行交互,得到與之對應的BEV特征。
Transformer 是谷歌在 2017 年提出的一種基于注意力機制的神經網絡模型。與傳統的 RNN 和 CNN 不同,Transformer 通過注意力機制挖掘序列中不同元素之間的聯系和關聯,從而適應不同長度和結構的輸入。Transformer 首先在自然語言處理(NLP)領域取得了巨大成功,隨后被應用于計算機視覺(CV)任務,并取得了顯著效果。 這種自頂向下的方法逆轉了 BEV 的構建過程,利用 Transformer 的全局感知能力從多個透視圖像的特征中查詢相應信息,并將這些信息融合和更新到BEV 特征圖中。特斯拉在其 FSD Beta 軟件視覺感知模塊中采用了這種自上而下的方法,并在特斯拉 AI-Day上展示了有關 BEVFormer的更多技術理念。
■3.3?純視覺還是多傳感器融合?
BEV 目前已經是自動駕駛領域一個龐大的算法家族,包括不同方向的算法選擇。其中,以視覺感知為主的流派由特斯拉主導,核心算法建立在多個攝像頭上。另一大流派是融合派,利用激光雷達、毫米波雷達和多個攝像頭進行感知。許多自動駕駛公司都采用了融合式算法,谷歌的 Waymo 也是如此。從輸入信號的角度來看,BEV 可分為視覺流派和激光雷達流派。
· BEV相機
BEV 相機指的是基于多個視角的圖像序列,算法需要將這些視角轉換為 BEV 特征并對其進行感知,例如輸出物體的三維檢測幀或在俯視圖下進行語義分割。與激光雷達相比,視覺感知具有更豐富的語義信息,但缺乏精確的深度測量。此外,BEV 的 DNN 模型需要在訓練階段指出照片中的每個物體是什么,并在標注數據上標注各種物體。如果遇到訓練集中沒有的物體類型,或者模型表現不佳,就會出現問題。 為了解決這個問題,Occupancy Network改變了感知策略,不再強調分類,而是關注道路上是否有障礙物。這種障礙物可以用三維積木來表示,有些地方稱之為體素(voxel)。這種方法更為貼切,無論障礙物的具體類型如何,都能保證不撞擊障礙物。 特斯拉正在經歷從 BEV 技術(鳥瞰圖)到新技術--occupancy network(占用網絡)的過渡,從二維到三維。無論是二維還是三維,它們都致力于描述車輛周圍空間的占用情況,但使用的表示方法不同。在二維 BEV 中,我們使用類似棋盤的方法來表達環境中的占用情況;而在三維占用網絡中,它們使用類似積木的體素來表達。 具體來說,在 BEV 技術中,深度學習模型(DNN)通過概率來衡量不同位置的占用率,通常將物體分為兩類:
1)不經常變化的物體,如車輛可通過區域(Driveable)、路面(Road )、車道(Lane)、建筑物(Building)、植被(Foliage/Vegetation)、停車區域(Parking)、信號燈(TrafficLight)以及一些未分類的靜態物體(Static),這些類別可以相互包含。
2)另一類是可變物體,即會移動的物體,如行人(Pedestrian)、汽車(Car)、卡車(Truck)、錐形交通標志/安全桶(TrafficCone)等。
這種分類的目的是幫助自動駕駛系統進行后續的駕駛規劃和控制。在BEV的感知階段,算法根據物體出現在網格上的概率進行打分,并通過Softmax函數對概率進行歸一化處理,最后選擇概率最高的物體類型對應的網格作為占據網格的預測結果。
▲圖7|BEVFormer流程
BEVFormer的詳細流程如下:
1)使用基干和脖頸模塊(使用 ResNet-101-DCN + FPN)從環視圖像中提取多尺度特征。
2)編碼器模塊(包括時間自注意力模塊和空間交叉注意力模塊)使用本文提出的方法將環視圖像特征轉換為 BEV 特征。
3)與可變形 DETR 的解碼器模塊類似,它完成三維物體檢測的分類和定位任務。
4)使用匈牙利匹配算法定義正負樣本,并使用 Focal Loss + L1 Loss 作為總損失來優化網絡參數。
5)計算損失時使用 Focal Loss 分類損失和 L1 Loss 回歸損失,然后執行反向傳播并更新網絡模型參數。
在算法創新方面,BEVFormer 采用 Transformer 和時間結構來聚合時空信息。它利用預定義的網格狀 BEV 查詢與空間/時間特征進行交互,以查找和聚合時空信息。這種方法能有效捕捉三維場景中物體的時空關系,并生成更強大的表征。這些創新使 BEVFormer 能夠更好地處理環境中的物體檢測和場景理解任務。 · BEV融合
▲圖8|奔馳智能駕駛配備的傳感器套件
BEV 融合學派在自動駕駛領域的主要任務是融合各種傳感器的數據,如圖 8所示,包括攝像頭、激光雷達、GNSS(全球導航衛星系統)、里程表、高精度地圖(HD-Map)、CAN總線等。這種融合機制可以充分利用各個傳感器的優勢,提高自動駕駛系統對周圍環境的感知和理解能力。 除了攝像頭,融合學派還關注激光雷達的數據。與毫米波雷達相比,激光雷達的數據質量更高,因此毫米波雷達逐漸退出了主要用途,在一些車輛中繼續充當停車雷達。
然而,毫米波雷達仍有其獨特的價值,尤其是在自動駕駛領域技術日新月異的背景下。新算法可能會讓毫米波雷達重新發揮作用。 激光雷達的優勢在于可以直接測量物體的距離,其精度遠高于視覺推測的場景深度。激光雷達通常將測量結果轉化為深度數據或點云,這兩種數據形式的應用歷史悠久,成熟的算法可以直接借鑒,從而減少開發工作量。此外,激光雷達在夜間或惡劣天氣條件下仍能正常工作,而相機在這種情況下可能會受到很大影響,導致無法準確感知周圍環境。 總之,融合學派的目標是有效整合多傳感器數據,使自動駕駛系統在各種復雜條件下獲得更全面、更準確的環境感知,從而提高駕駛的安全性和可靠性。融合技術在自動駕駛領域發揮著關鍵作用。它融合了來自不同傳感器的信息,使整個系統能更好地感知和理解周圍環境,做出更準確的決策和計劃。
■4.1 為什么是BEV感知?
首先,自動駕駛是一個 3D 或 BEV 感知問題。使用 BEV 視角可以提供更全面的場景信息,幫助車輛感知周圍環境并做出準確決策。在傳統的二維視角中,由于透視效應,物體可能會出現遮擋和比例問題,而 BEV 視角可以有效解決這些問題。 與以往自動駕駛領域基于正視圖或透視圖進行檢測、分割、跟蹤等任務的大多數模型相比,BEV 表示法能使模型更好地識別遮擋的車輛,有利于后續模塊(如預測、規劃控制)的開發和部署。同時,它還能將二維圖像特征精確轉換為三維特征,并能將提取的 BEV 特征應用于不同的探測頭。 另一個重要原因是促進多模態融合。自動駕駛系統通常使用多種傳感器,如攝像頭、激光雷達、毫米波雷達等。BEV視角可以將不同傳感器的數據統一表達在同一平面上,這使得傳感器數據的融合和處理更加方便。在現有技術中,將單視角檢測擴展到多視角檢測是不可行的。 這是因為單視角檢測器只能處理單個攝像頭的圖像數據,而在多視角的情況下,檢測結果需要根據相應攝像頭的內外部參數進行轉換,才能完成多視角檢測。然而,這種簡單的后處理方法無法用于數據驅動訓練,因為變換是單向的,無法反向區分不同特征的坐標系原點。這使得我們無法輕松地使用端到端訓練模型來改進自動感知系統。為了解決這些問題,基于變換器的 BEV 感知技術應運而生。 總之,對于攝像頭的感知而言,轉向 BEV 將大有裨益:
1)直接在 BEV 中執行攝像頭感知可直接與雷達或激光雷達等其他模式的感知結果相結合,因為它們已在 BEV中表示和使用。BEV 空間中的感知結果也很容易被預測和規劃等下游組件使用。
2)純粹通過手工創建的規則將 2D 觀察結果提升到 3D 是不可擴展的。BEV 表示法有助于向早期融合管道過渡,使融合過程完全由數據驅動。
3)在沒有雷達或激光雷達的純視覺系統中,通過BEV 執行感知任務幾乎是強制的,因為在傳感器融合中沒有其他三維線索可用于執行這種視圖轉換。之所以選擇從 BEV 的角度進行感知,是為了提高感知的準確性和穩定性,并為多模態融合和端到端優化創造條件,從而推動自動駕駛技術的發展。
■4.2 為什么是BEV+Transformer?
為什么?"BEV+Transformer "會成為主流模式?其背后的關鍵在于?"第一原則",即智能駕駛應該越來越接近?"像人一樣駕駛",而映射到感知模型本身,BEV 是一種更自然的表達方式,由于全局注意力機制,變形器更適合進行視圖轉換。目標域中的每個位置訪問源域中任何位置的距離都是相同的,克服了 CNN 中卷積層感受野的局部局限性。此外,與傳統的 CNN 相比,視覺轉換器還有幾個優勢:更好的可解釋性和更好的靈活性。隨著產學研的推進,BEV+Transformer 最近已從普及走向量產,這在當前智能駕駛的商業顛覆背景下或許是一個難得的亮點。
1. 數據采集和預處理 BEV 透視需要進行大量的數據采集和預處理,這對場景感知的性能和效果有著重要影響。其中,需要解決多相機圖像融合、數據對齊、畸變校正等問題。同時,變換器需要海量數據,如何獲取高質量的海量數據也是一個重要的研究課題。 2. Transformer是暴力美學,模型體積驚人,其計算會消耗大量的存儲和帶寬空間。對于芯片而言,除了相應的運算器適配和底層軟件優化外,還需要對緩存和帶寬進行優化,要求也隨之提高。與此同時,還需要對模型進行優化。
▲圖9|模型優化性能對比圖
3. 更多傳感器融合:?目前,BEV 透視技術主要使用激光雷達和攝像頭等傳感器進行數據采集和處理,但仍需要更多傳感器的融合,如圖10所示的毫米波雷達、GPS等,以提高數據的準確性和全面性。
▲圖10|更多的傳感器數據融合
4. 穩健優化:BEV 在復雜環境中的應用面臨諸多挑戰,如天氣變化、光照變化、目標遮擋、對抗性攻擊等。未來有必要加強算法的魯棒優化,以提高系統的穩定性和可靠性。
5. 應用場景更多:BEV 技術的應用場景非常廣泛,包括自動駕駛、智能交通、物流配送、城市規劃等領域,如圖12中的機器人。自動駕駛與 BEV 的融合可以提供全方位的場景信息,有利于車輛準確感知周圍的物體和環境,實現高效、安全的自動駕駛。BEV視角下的智能交通可以提供更直觀、更全面的路況信息,有利于實現高效的路況監測和交通管理,提高城市交通的效率和安全性。物流配送與 BEV 的結合可以提供更準確、更全面的貨物位置和空間信息,有利于實現高效的物流配送,提高物流效率和服務質量。未來,應用領域還可以進一步拓展,如農業、礦業等領域,滿足不同領域的需求。
▲圖12|BEV在機器人領域中的應用
總結
從行業發展趨勢來看,BEV 模式及其應用或將成為主流趨勢。這意味著從芯片開始,傳感器芯片、攝像頭、軟件算法等都需要快速適應,快速實現解決方案。 綜上所述,BEV 是繼深度學習之后的又一新高度,它解決了以往多傳感器變化和異構帶來的各種融合感知算法的發展難題。從原理上講,與傳統的感知算法相比,BEV 的輸入相同,都是多通道傳感器信息,最后直接輸出三維空間規劃和控制所需的輸出形式。BEV 基于二維數據,提供鳥瞰視角,與 SLAM 相輔相成,為自動駕駛的發展和實現帶來了更多可能。隨著技術的不斷進步,感知模塊也將不斷發展,更高效、更精準的感知技術將推動自動駕駛技術走向更廣闊的未來,為人類社會的進步貢獻更多價值。
審核編輯:黃飛
評論
查看更多