DiffAD:自動駕駛的統一擴散建模方法

25年3月來自新加坡公司 Carion 和北航的論文“DiffAD: A Unified Diffusion Modeling Approach for Autonomous Driving”。

端到端自動駕駛 (E2E-AD) 已迅速成為實現完全自動駕駛的一種有前途的方法。然而,現有的 E2E-AD 系統通常采用傳統的多任務框架,通過單獨的特定任務頭來處理感知、預測和規劃任務。盡管以完全可微分的方式進行訓練,但它們仍然遇到任務協調問題,并且系統復雜性仍然很高。這項工作引入 DiffAD——一種擴散概率模型,它將自動駕駛重新定義為條件圖像生成任務。通過將異構目標柵格化到統一的鳥瞰圖 (BEV) 上并對其潛分布進行建模,DiffAD 統一各種駕駛目標并在單一框架中聯合優化所有駕駛任務,顯著降低系統復雜性并協調任務協調。逆過程迭代細化生成的 BEV 圖像,從而產生更穩健和逼真的駕駛行為。

實現全自動駕駛不僅需要對復雜場景有深入的理解,還需要與動態環境進行有效的交互,并全面學習駕駛行為。傳統的自動駕駛系統建立在模塊化架構之上,感知、預測和規劃都是獨立開發的,然后集成到車載系統中。雖然這種設計提供可解釋性并方便調試,但跨模塊的單獨優化目標往往會導致信息丟失和錯誤積累。

最近的端到端自動駕駛 (E2E-AD) 方法(例如 [3、16、20])試圖通過實現所有組件的聯合、完全可微分訓練來克服這些限制,如圖 (a) 所示。然而,仍然存在幾個關鍵問題:

  1. 次優優化:像 UniAD [16] 和 VAD [20] 這樣的方法仍然依賴于順序流水線,其中規劃階段取決于前面模塊的輸出。這種依賴性可能會放大整個系統的錯誤。
  2. 查詢建模效率低下:當前基于查詢的方法(例如 [16, 20])部署數千個可學習查詢來捕獲潛在的交通元素。這種方法導致計算資源分配效率低下,過多關注上游輔助任務而不是核心規劃模塊。例如,在 VAD 中,感知任務消耗了總運行時間的 34.6%,而規劃模塊僅占 5.7%。
  3. 協調復雜性:由于每個任務頭都使用不同的目標函數獨立優化,并且目標的形狀和語義含義各不相同,因此整個系統變得支離破碎,難以進行連貫訓練 [5]。

為了解決這些限制,本文提出一種范式 DiffAD,它將所有駕駛任務的優化統一到一個模型中,如圖 (b) 所示。具體來說,將感知、預測和規劃中的異??構目標柵格化到統一的鳥瞰圖 (BEV) 空間中,從而將自動駕駛問題重塑為條件圖像生成問題之一。

請添加圖片描述

擴散模型,也稱為基于分數的生成模型 [14, 39, 42],在正向(擴散)過程中逐漸將噪聲注入數據,并通過反向(去噪)過程從噪聲中生成數據。

如圖所示,DiffAD 由三個主要組件組成:潛在擴散模型、BEV 特征生成器和軌跡提取網絡 (TEN)。

請添加圖片描述

訓練過程:

  1. 柵格化和潛空間編碼:DiffAD 首先將感知、預測和規劃目標柵格化為 BEV 圖像。然后使用現成的 VAE 編碼器將 BEV 圖像壓縮到潛空間以進行降維。
  2. 特征提取和轉換:將周圍視圖圖像輸入到特征提取器中,該提取器將生成的透視圖特征轉換為統一的 BEV 特征。
  3. 用于噪聲預測的擴散模型:將高斯噪聲添加到潛 BEV 圖像中以獲得噪聲潛圖像。訓練擴散模型以根據 BEV 特征預測來自噪聲潛表示的噪聲。
  4. 軌跡提取:訓練基于查詢的 TEN,從潛 BEV 圖像中恢復自我智體的矢量化軌跡。

推理過程:

  1. 條件去噪:DiffAD 首先根據 BEV 特征,從純高斯噪聲中生成去噪的潛 BEV 圖像。
  2. 規劃提取:TEN 然后從潛 BEV 圖像中提取自智體的規劃軌跡。
  3. 解碼 BEV:通過將潛 BEV 圖像解碼回像素空間,可以獲得預測的 BEV 圖像以供解釋和調試。

據說開環評估不足以滿足 E2E 模型的要求 [19, 26]。為了解決這個問題,用 Bench2Drive 數據集在 CARLA 模擬器中進行訓練和閉環評估[8]。Bench2Drive 提供三個數據子集:mini(10 個剪輯用于調試)、base(1,000 個剪輯)和 full(10,000 個剪輯用于大規模研究)。按照 [19] 的方法,用基礎子集進行訓練。

訓練。用來自 Stable Diffusion[36] 的現成預訓練變分自動編碼器 (VAE) 模型 [23]。VAE 編碼器的下采樣因子為 8。在所有實驗中,擴散模型都在潛空間中運行。保留來自 DiT [34] 的擴散超參。為了促進學習過程,在第一階段從感知部分(即檢測和地圖)的單幅圖像學習開始,而預測和規劃 BEV 圖像則用零填充。然后在時間設置中與所有感知、預測和規劃部分聯合訓練模型。

推理。利用 DDIM-10 采樣器 [40] 進行推理,并使用官方評估工具 [19] 來計算閉環指標。對于車輛控制,采用官方提供的 PID 控制器。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74873.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74873.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python四大核心數據結構深度解析:列表、元組、字典與集合

在Python編程語言中,數據結構是組織和存儲數據的基本方式。Python提供了四種內置的核心數據結構:列表(List)、元組(Tuple)、字典(Dictionary)和集合(Set)。這…

網絡編程—Socket套接字(TCP)

上篇文章: 網絡編程—Socket套接字(UDP)https://blog.csdn.net/sniper_fandc/article/details/146923670?fromshareblogdetail&sharetypeblogdetail&sharerId146923670&sharereferPC&sharesourcesniper_fandc&sharefro…

SkyWalking+Springboot實戰(最詳細)

本篇文章記錄了作者在0到1學習SkyWalking的過程,記錄了對SkyWalking的部署,學習,使用Bug解決等等過程 一、什么是SkyWalking 官方文檔: Apache SkyWalkinghttps://skywalking.apache.org/ SkyWalking 是一個開源的分布式追蹤、性…

Arduino示例代碼講解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩陣

Arduino示例代碼講解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩陣 Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩陣功能概述硬件部分:軟件部分:代碼逐行解釋定義常量定義變量`setup()` 函數`loop()` 函數`readSensors()` 函數`refreshScr…

多線程編程中的鎖策略

目錄 1.悲觀鎖vs樂觀鎖 關鍵總結 悲觀鎖: 樂觀鎖: 選擇建議 用 悲觀鎖 當: 用 樂觀鎖 當: 2.重量級鎖vs輕量級鎖 選擇建議 用 輕量級鎖: 用 重量級鎖: 3.掛起等待鎖vs自旋鎖 關鍵細節說明 選擇…

負載均衡是什么,Kubernetes如何自動實現負載均衡

負載均衡是什么? 負載均衡(Load Balancing) 是一種網絡技術,用于將網絡流量(如 HTTP 請求、TCP 連接等)分發到多個服務器或服務實例上,以避免單個服務器過載,提高系統的可用性、可擴…

React-01React創建第一個項目(npm install -g create-react-app)

1. React特點 JSX是javaScript語法的擴展,React開發不一定使用JSX。單向響應的數據流,React實現單向數據流,減少重復代碼,比傳統數據綁定更簡單。等等 JSX是js的語法擴展,允許在js中編寫類似HTML的代碼 const …

小程序中的網絡請求

在小程序中,使用 wx.request( ) 這個方法來發送網路請求,整個請求的方式和 jQuery 里面的 $.ajax 方法是非常相似的。 在 wx.request( ) 這個方法中,接收一個配置對象,該配置對象中能夠配置的項目如下表: 關于服務器…

jvm 的attach 和agent機制

Java 的 Attach 和 Agent 機制在實際應用中得到了廣泛的成功應用,尤其是在監控、調試、性能分析、故障排查等方面。以下是這兩種機制在實際場景中的一些成功應用案例: 1. 性能監控與分析 Java Agent 和 Attach 機制廣泛應用于性能監控和分析&#xff0…

基于SpringBoot的“留守兒童網站”的設計與實現(源碼+數據庫+文檔+PPT)

基于SpringBoot的“留守兒童網站”的設計與實現(源碼數據庫文檔PPT) 開發語言:Java 數據庫:MySQL 技術:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系統展示 系統整體功能圖 局部E-R圖 系統首頁界面 系統注冊…

iPhone XR:一代神機,止步于此

什么樣的 iPhone ,才配稱為一代神機? 我曾經用過iPhone 4S、iPhone 6S Plus、iPhone 8 Plus,iPhone SE2、iPhone XR、iPhone 13、iPhone 14 Plus、iPhone 15/Pro。 不管硬件再怎么卷,不管囊中是否羞澀,主力機基本沒考…

【VUE】RuoYi-Vue3項目結構的分析

【VUE】RuoYi-Vue3項目結構的分析 1. 項目地址2. RuoYi-Vue3項目結構2.1 整體結構2.2 package.json2.2.1 🧾 基本信息2.2.2 🔧 腳本命令(scripts)2.2.3 🌍 倉庫信息2.2.4 📦 項目依賴(dependenc…

架構師面試(二十五):分布式存儲 Leader 設計

問題 在非常多的分布式存儲系統中,如:Zookeeper、Etcd、Kafka等,往往會存在一個 【Leader】 角色,并由該角色負責數據的寫入,這樣設計最主要的原因是什么呢? A. 唯一負責數據寫入的 Leader 角色可以避免并…

使用YoloV5和Mediapipe實現——上課玩手機檢測(附完整源碼)

目錄 效果展示 應用場景舉例 1. 課堂或考試監控(看到這個學生黨還會愛我嗎) 2. 駕駛安全監控(防止開車玩手機) 3. 企業辦公管理(防止工作時間玩手機) 4. 監獄、戒毒所、特殊場所安保 5. 家長監管&am…

GPT-4o從語義分割到深度圖生成,大模型狂潮下的計算機視覺:技術進步≠替代危機

隨著上周,GPT-4o原生多模態圖像生成功能的推出,更多玩法也被開發出來。一夜之間,GPT-4o原生多模態能力的釋放,讓圖像生成、語義分割、深度圖構建這些曾需要專業工具鏈支持的復雜任務,變成了普通人輸入一句話就能實現的…

Pytorch 張量操作

在深度學習中,數據的表示和處理是至關重要的。PyTorch 作為一個強大的深度學習框架,其核心數據結構是張量(Tensor)。張量是一個多維數組,類似于 NumPy 的數組,但具有更強大的功能,尤其是在 GPU …

小程序中跨頁面組件共享數據的實現方法與對比

小程序中跨頁面/組件共享數據的實現方法與對比 在小程序開發中,實現不同頁面或組件之間的數據共享是常見需求。以下是幾種主要實現方式的詳細總結與對比分析: 一、常用數據共享方法 全局變量(getApp())、本地緩存(w…

vue中的 拖拽

拖拽總結 實現方式特點適用場景HTML5 原生拖拽 API? 直接使用 dataTransfer 進行數據傳輸 ? 兼容性好(大部分瀏覽器支持) ? 適合簡單的拖拽場景低代碼平臺、表單生成器、組件拖拽Vue/React 組件庫(如 Vue Draggable、SortableJS&#xff…

MySQL 函數(入門版)

目錄 一、字符串函數 1、常用的字符串函數 2、函數演示 3、具體案例 二、數值函數 1、常用的數值函數 2、函數演示 3、具體案例 三、日期函數 1、常用的日期函數 2、函數演示 3、具體案例 四、流程函數 1、常用的流程函數 2、函數演示 3、具體案例 在MySQL中&a…

基于快速開發平臺與智能手表的區域心電監測與AI預警系統(源碼+論文+部署講解等)

需要源代碼,演示視頻,ppt設計原稿資料,請文末卡片聯系 !](https://i-blog.csdnimg.cn/direct/242d53cd069940b5b7a6db2bb031d406.png#pic_center)