1. 論文信息
代碼:https://github.com/opendrivelab/thinktwice
2. 引言
端到端自動駕駛是一種基于傳感器觀測預測動作的方法。與傳統的模塊化自動駕駛框架不同,端到端方法展現出了巨大的潛力。在這種方法中,整個駕駛系統從感知到控制都是端到端學習的。系統的輸入是原始的傳感器數據,輸出是車輛的控制信號。這種方法在閉環評估中表現出了令人矚目的性能。
隨著深度學習的進步,自動駕駛引起了學術界和工業界的關注。端到端自動駕駛旨在構建一個完全可微分的學習系統,能夠直接將原始傳感器輸入映射到控制信號或未來的軌跡。由于其高效性和避免累積誤差的能力,近年來取得了令人矚目的進展。現有的工作都采用編碼器-解碼器范式。編碼器模塊從原始傳感器數據(相機,LiDAR,雷達等)中提取信息并生成表示特征。將該特征作為輸入,解碼器直接預測路徑點或控制信號。在這種范式下,編碼器沒有訪問自我代理的預期行為,這使得從大量傳感器輸入的感知領域中找到安全關鍵區域并推斷未來情況的負擔落在解碼器身上。
為了解決這些問題,該研究提出了兩個原則來設計新模型:充分利用編碼器的能力,擴展解碼器的能力并進行密集監督。為了實現這兩個原則,研究人員提出了級聯解碼器范式,以粗到細的方式預測自我車輛的未來動作。具體來說,他們首先采用類似于傳統方法的MLP來生成粗略的未來軌跡和動作。然后從編碼器中檢索預測未來位置周圍的特征,并將其進一步輸入到多個卷積層中以獲取與目標相關的場景特征。接下來,他們設計了一個預測模塊,以當前場景的特征和粗略動作為輸入,并生成未來場景表示特征。最后,他們預測粗略預測和地面真實軌跡之間的偏移量以進行細化。該過程可以級聯堆疊,以增加解碼器對條件未來的時空先驗知識的容量。該研究在CARLA自動駕駛基準測試中進行了實驗,并取得了最先進的性能。他們還進行了廣泛的消融研究,以證明所提出方法的有效性。總之,該研究有三個貢獻:首先,提出了一種可擴展的端到端自動駕駛解碼器范式,強調擴展解碼器容量在這一領域的重要性。其次,他們設計了一個解碼器模塊來查找安全關鍵區域,并預測在預測的動作/軌跡條件下的未來場景,為訓練過程注入了時空先驗知識和密集監督。最后,他們在兩個競爭基準測試中展示了最先進的性能,并進行了廣泛的消融研究,以驗證所提出的模塊的有效性。他們相信,在端到端自動駕駛中,解碼器(決策部分)與編碼器(感知部分)同等重要。他們希望他們的探索能夠激發社區在這一領域的進一步努力。
3. 方法
本文提出了一種可擴展的解碼器范式,稱為ThinkTwice,用于端到端自動駕駛。作者使用模仿學習框架收集駕駛日志,這是一系列車輛狀態和傳感器數據。他們使用4個攝像頭(前置、左側、右側、后置)、一個激光雷達、IMU、GPS和車速表在城鎮01、城鎮03、城鎮04和城鎮06上以2 Hz的速度收集數據。他們總共收集了189K幀用于進行大部分實驗和消融研究。作者使用ResNet-18架構提取圖像特征,使用PointNet++架構提取LiDAR特征。然后,他們將圖像特征投影和對齊到BEV上的LiDAR特征。
3.1. BEV Encoder
本文考慮了在自動駕駛中常用的兩種傳感器:攝像頭和激光雷達。為了融合它們的信息,首先將原始傳感器數據分別轉換為俯視圖(BEV)特征,然后直接連接BEV特征,因為它們已經在空間上對齊。對于來自多個視角的相機輸入 - RGB圖像,首先在每個圖像上使用圖像骨干網絡(例如ResNet)獲得其緊湊的特征圖。為了將2D圖像轉換為BEV空間,采用了LSS :首先預測每個像素的離散深度分布,并將每個像素沿著相機光線分散成離散點,在該點處的特征是其預測深度和相應像素特征的乘積。對于BEV中的每個網格,通過截錐體池化從該網格內的那些點聚合特征。通過這種方式,作者可以將任意數量的相機圖像聚合到一個C×BH×BW特征圖中,其中C是隱藏的維度,BH和BW是BEV網格的高度和寬度。此外,為了引入時間線索,作者通過將歷史圖像的先前BEV轉換為當前自我中心坐標系來聚合先前BEV。因此,先前和當前的特征圖被空間對齊,作者可以簡單地將它們連接起來得到最終的BEV特征。另外,作者發現
深度預測模塊的真實監督對于圖像的分散非常重要,這與物體檢測領域的發現一致。
分散圖像特征時,有益于添加一個語義分割模塊并分散預測的語義分數。作者推測,它通過過濾掉不相關的紋理信息來增加了端到端模型的泛化能力。對于LiDAR輸入 - 點云,作者采用了流行的SECOND ,它在體素化的點云上應用了稀疏的3D卷積,最終輸出也是一個C×BH×BW的BEV特征圖。
為了利用時間信息,類似于物體檢測領域的現有作品,作者將來自多幀的對齊點云簡單地串聯起來,并添加一個通道來指示時間步長。在融合兩個BEV特征圖時,作者只是將它們簡單地串聯起來,并通過一系列2D卷積層進行處理。由于行動是端到端自動駕駛中唯一的直接監督,對于高維多傳感器輸入來說太稀疏了,因此作者為BEV特征圖提供額外的特征級監督。具體來說,作者使用Roach [87]中間的BEV特征圖作為目標,使用基于RL的帶特權輸入的教師網絡,將柵格化的BEV周圍環境作為特權輸入,并通過幾個卷積層實現了不錯的性能。請注意,任何具有BEV特征表示的可學習專家模型都可以在此處采用,作者之所以采用Roach是由于其通過RL訓練獲得的健壯性。通過讓學生網絡(即ThinkTwice的編碼器)的中間BEV特征圖與教師網絡的類似,每個BEV網格都獲得了關于決策相關信息的密集監督。在實驗部分,作者經驗證明,這種監督是必要的,并且比先前SOTA作品中常用的BEV分割監督信號更好。因此,本文提出的方法將BEV特征圖與額外的監督結合起來,以獲得更好的性能。
3.2. Decoder
Decoder模塊包括三個子模塊:Look Module、Prediction Module和Refinement Module。其中,Look Module模塊用于將人類駕駛員的先驗知識(目標位置)注入到模型中,提高模型的泛化能力;Prediction Module模塊用于預測場景的未來發展,以及提供監督信號;Refinement Module模塊用于通過對預測結果的微調來提高預測精度。這三個子模塊分別對應于解碼器中的三個階段:粗略預測、注入先驗知識、微調預測結果。通過將這三個子模塊結合起來,能夠獲得更準確的自動駕駛預測結果。具體來說:
Look Module是解碼器中的第一個子模塊,其主要作用是將駕駛員的先驗知識注入到模型中。在實際駕駛中,駕駛員會查看目標位置,以確保沒有與其他車輛的碰撞和違反交通規則等風險。為了實現這個目標,Look Module通過引入預測軌跡,將模型的關注點引導到了預測軌跡所在的區域。對于攝像頭數據,Look Module使用多尺度變形注意力來聚合信息;對于激光雷達數據,Look Module直接檢索目標軌跡周圍的點云,并通過MLP網絡來獲得特征表示。最后將兩者特征拼接起來,得到Look Feature,用于后續的預測過程。
Prediction Module是解碼器中的第二個子模塊,其主要作用是預測場景的未來發展,并提供監督信號。在實際駕駛中,駕駛員會預測周圍車輛和行人的行為,以及他們對自己的駕駛決策作出的響應。為了實現這個目標,Prediction Module使用空間GRU(Spatial-GRU)對當前的BEV特征進行建模,以及獲得當前時刻的預測動作和軌跡。同時,Prediction Module通過引入Ground-Truth數據,將監督信號注入到模型中。具體而言,Prediction Module使用“Teacher Forcing”技術,將Ground-Truth的動作和軌跡作為額外的輸入提供給模型,以便在訓練過程中獲得準確的監督信號。
Refinement Module是解碼器中的第三個子模塊,其主要作用是通過微調預測結果來提高預測精度。在實際駕駛中,駕駛員會根據周圍的車輛和行人的行為作出相應的駕駛決策,并在行駛過程中不斷微調自己的決策,以適應復雜的交通環境。為了實現這個目標,Refinement Module引入了Look Feature和Prediction Feature,以及當前時刻的預測動作和軌跡,通過MLP網絡對預測結果進行微調,得到更加精確的預測結果。同時,Refinement Module使用Ground-Truth數據對預測結果進行監督,以便在訓練過程中獲得準確的監督信號。最終,通過不斷的微調,預測結果的準確度得到了提高。
因此,這三個子模塊共同構成了解碼器模塊,通過引入駕駛員的先驗知識、預測場景的未來發展,并通過微調預測結果來提高預測精度,實現了更加準確的自動駕駛預測。
4. 實驗
該論文的作者使用了一個名為ThinkTwice的模仿學習框架來收集駕駛記錄,這是車輛狀態和傳感器數據的序列。他們使用了4個相機(前、左、右、后)、一個激光雷達、IMU、GPS和速度計,在town01、town03、town04和town06上以2 Hz的速度收集數據。他們總共收集了189K幀以進行大多數實驗和消融研究。如表格所示,不同模型在Town05 Long基準測試中的表現。該表格包括各種列,如Modality、Extra Supervision、Expert、Seg and Depth和Box。Modality列表示使用的傳感器類型,其中C表示相機傳感器,L表示激光雷達傳感器。Extra Supervision列指訓練學生模型所需的額外標簽,除了自我車輛的行動和狀態。Expert列表示來自特權代理輸出或特征的蒸餾。Seg和Depth列表示2D圖像的深度和語義分割標簽。Box列表示周圍代理的邊界框。結果表明,顯式使用深度和分割預測來自圖像特征到BEV特征的投影過程(Model3)和使用兩幀作為輸入而不是一幀(Model4)的模型表現出了比其他模型更好的性能。然而,盡管引入了運動線索,Model4的改進只是微小的。總的來說,該表格提供了不同模型在Town05 Long基準測試中的表現比較,各個列指示了使用的傳感器類型、訓練所需的額外標簽以及其他影響模型表現的因素。
本文在兩個閉環評估基準測試中與現有的最先進方法進行了比較。在Town5Long基準測試中,ThinkTwice在兩個協議下均取得了最佳的DS得分,而Roach和MILE可以運行較長時間(最高RC),但發生的碰撞或違反交通規則更多。另一方面,Transfuser的運行最安全(最高IS),但過于謹慎而無法完成路線。至于Longest6基準測試,Transfuser可以獲得非常高的路線完成得分,但我們的方法獲得了最佳的DS和IS得分,這表明我們的方法駕駛過程更加安全。
在編碼器方面,作者通過實驗發現,單純采用幾何融合技術而沒有相關監督會導致性能下降;加入深度和語義分割任務的模型略有提升,這可能是這兩個輔助任務對圖像特征的正則化效果;顯式地在投影過程中使用深度和分割預測可以顯著提高性能,這表明監督幾何投影的重要性;使用兩幀作為輸入而不是一幀的模型性能提升不大,這可能與慣性/模仿問題相關;在解碼器方面,作者通過組件分析發現,加入一個額外的解碼器層可以提高性能,而使用5個提出的解碼器層可以顯著提高性能,并證明了提出的解碼器范式的有效性和其強大的可擴展性。最終,作者采用Model6作為ThinkTwice的最終模型,并通過消融實驗驗證了其解碼器設計的有效性,特別是通過密集監督的堆疊解碼器層可以得到SOTA的性能。總的來說,本文的實驗結果證實了作者提出的思路和方法,在編碼器和解碼器中注入先驗知識是非常重要的。
5. 討論
image-20230527130912709
在這篇論文中,作者提出了幾項未來的工作,包括研究所提出的方法在其他自動駕駛任務中的有效性,探索使用無監督或半監督學習減少所需訓練數據量的可能性,并分析所提出方法的計算復雜度。他們還建議研究將其他傳感器模式(如雷達和音頻傳感器)納入到所提出方法中,以提高其性能的可能性。
本文旨在探討增加端到端自動駕駛模型容量的不同方法,并在公平的環境中進行比較。作者嘗試了多種方法,包括增加編碼器的大小以及MLP/GRU解碼器的寬度和深度等。結果顯示,簡單地增加編碼器或解碼器的深度/寬度不會帶來性能提升。相反,ThinkTwice以密集的監督和時空知識以粗到細的方式增加解碼器的容量,注入了強大的先驗知識,并因此帶來了更好的性能。
本文也討論了在部署自動駕駛模型時需要考慮計算需求和內存占用的重要性,因為這些模型通常在計算能力和內存有限的邊緣設備上運行。作者運行了一些現有模型的官方代碼來估計它們的計算需求和內存占用,并列出了結果。其中,ThinkTwice模型由于采用了BEV中的幾何融合技術,需要大量的MAC和GPU內存,但也因此在聯合感知規劃和傳感器融合方面具有優勢。作者指出,學習BEV表示是當前工業和學術界的熱點問題,為了降低BEV模型的計算負擔,一些更高效的實現方法已經被提出。同時,工業界也在積極探索專門設計的邊緣設備和芯片。
6. 結論
本文提出了一種可擴展的解碼器范式,稱為ThinkTwice,用于端到端自動駕駛。該范式強調通過提出具有密集監督和空間-時間先驗的可擴展解碼器層來擴大解碼器的容量。作者在兩個競爭性的閉環自動駕駛基準測試上實現了最先進的性能。本研究為社區中的這一研究領域提供了有用的信息。
責任編輯:彭菁
-
傳感器
+關注
關注
2548文章
50678瀏覽量
752019 -
解碼器
+關注
關注
9文章
1131瀏覽量
40678 -
自動駕駛
+關注
關注
783文章
13684瀏覽量
166148
原文標題:thinktwice:用于端到端自動駕駛的可擴展解碼器(已開源)
文章出處:【微信號:GiantPandaCV,微信公眾號:GiantPandaCV】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論