UniOcc:自動駕駛占用預測和預報的統一基準

25年3月來自 UC Riverside、U Wisconsin 和 TAMU 的論文"UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous Driving"。

UniOcc 是一個全面統一的占用預測基準(即基于歷史信息預測未來占用)和基于攝像頭圖像的當前幀占用預測。UniOcc 整合來自多個真實數據集(例如 nuScenes、Waymo)和高保真駕駛模擬器(例如 CARLA、OpenCOOD)的數據,提供帶有逐體素流標注的 2D/3D 占用標簽,并支持協作自動駕駛。在評估方面,與依賴次優偽標簽進行評估的現有研究不同,UniOcc 采用不依賴于真實占用的全新指標,從而能夠對占用質量的其他方面進行穩健評估。通過對最先進模型進行大量實驗,證明大規模、多樣化的訓練數據和明確的流信息可顯著提升占用預測和預報性能。

UniOcc 概述如圖所示:

請添加圖片描述

如下表所示:UniOCC和其他占用數據集的比較

請添加圖片描述

統一的數據格式和特征

基準測試支持各種以占用為中心的任務,包括占用預測、單幀占用預測和流量估計。該框架定義以下與任務無關的數據格式:

語義占用標簽。將場景表示為一個 3D 體素網格 G ∈ {0,…,C},其中 C 表示類別數,L、W、H 分別表示網格沿自車航向軸、橫軸和縱軸的尺寸。該網格以自車為中心,+x 軸與行駛方向對齊,+y 軸向左,+z 軸向上。對于某些 2D 任務(例如,運動規劃),通過優先級方案(例如,行人 > 汽車 > 道路)折疊高度維度,使得每個垂直柱采用其最高優先級體素的標簽。這種方法可以防止重要目標類別(例如行人)被同一網格列中優先級較低的標簽遮擋,從而確保后續任務能夠獲得有意義的表示。

攝像機圖像。將原始 RGB 圖像存儲在四維張量 I ∈ {0,…,255} 中,K_cam 表示機載攝像機的數量,每幅圖像的分辨率為 Img_x × Img_y。

攝像機視場 (FOV) 掩碼。二元的三維張量 U ∈ {0, 1} 表示哪些體素位于每個攝像機的可觀察視錐體內(U = 1 表示可見體素,U = 0 表示其他體素)。對于需要明確描繪遮擋區域或未觀察空間的基于攝像機占用方法而言,此掩碼至關重要。

攝像機內參和外參。將相機內參表示為 Int,而外部變換(從每個相機到自身坐標系)則表示為 Ext,其中 SE(3) 表示一組三維齊次變換。這些參數統一從三維自身坐標系到二維圖像平面的投影。

自身到世界坐標系的變換。齊次變換矩陣 T_e^w 表示自身車輛在全局世界坐標系中的姿態,從而能夠精確地對齊來自多個傳感器和坐標系的數據。

前向占用流。定義一個四維張量 F,用于記錄每個體素的前向運動矢量。與之前的方法 [49] 為物體的所有體素分配單一速度(因此忽略物體的旋轉)不同,該方法計算單個體素流,同時捕捉平移和旋轉。分別計算動態前景目標(例如汽車、行人)和靜態背景環境(例如道路、植被)的光流,并將動態和靜態光流合并到 F_n^t 中。如圖所示,這種體素級光流捕捉完整的三維運動,包括旋轉。

請添加圖片描述

后向占用光流。與前向光流類似,定義一個四維張量 B 來捕捉后向運動矢量。不是計算每個體素從 t 到 t + 1 的位移,而是評估從 t 到 t ? 1 的運動。這種后向光流對于那些受益于逆-時間監督或多個-未來訓練策略的模型尤其有用 [24]。

如圖所示目標級和體素級流示意圖(二維),表示一輛汽車右轉。目標級流為所有體素分配相同的速度矢量,從而忽略汽車的旋轉。

請添加圖片描述

目標注釋。還以字典列表的形式提供目標級注釋,每個字典包含:(1) 智體到自車的轉換。變換矩陣 T_a^e 將智體的局部坐標系映射到自車框架。這可以捕捉智體相對于自車的位置和方向。(2) 尺寸。一個 3D 向量 d,描述智體的邊框尺寸(長、寬、高)。(3) 類別。目標的語義類別標簽,定義見如下表:

請添加圖片描述

任務類別

統一的輸入支持廣泛的以占用為中心的任務,涵蓋靜態預測和動態預測。通過在多個領域采用統一的表示,簡化了跨數據集訓練,并允許公平地比較解決不同子問題的方法。下面,概述三個代表性任務:

占用預測。在此,模型使用過去 W_obs 個相機幀 {It?W_obs,…,t},以及它們的視場掩碼 {Ut?W_obs,…,t} 和相機參數(內參 Int,外參 Ext)。輸出是當前的 3D 占用網格 G^t,它捕獲時間 t 的場景。

使用可選流進行占用預測。在預測設置中,輸入是 W_obs 個幀的歷史數據——體素網格 {Gt?W_obs,…,t} 或相機圖像 {It?W_obs,…,t}。該模型預測未來的占用 {Gt,…,t+W_fut},并可選擇以細粒度的自車軌跡 T_e^w, t: t+W_fut^ 或高級駕駛意圖(例如,右轉)為條件。對于某些用例,預測方法還可以生成未來流 F^t: t+W_fut^ 或未來自車運動 T_e^w,t: t+W_fut。這種聯合占用和流預測方案,有助于捕捉隨時間推移的復雜運動模式。流場默認位于自車坐標系中,但可選擇為旋轉不變模型提供以智體為中心的流變型 [44, 63]。

基于可選流的協作占用預測和預報。在協作設置下,多輛車聯網車輛 (CAV) 通過共享圖像或占用數據進行協作。從自車的角度來看,它接收共享的歷史觀測值 {I_CAVt?W_obs,…,t} 或 {G_CAV^t?W_obs,…,t},以及將 CAV 幀映射到自我幀的變換。輸出保持不變(即單-自車占用或預測),但增加的視點覆蓋范圍可以減輕遮擋并提升整體場景理解。

統一數據集

從以下來源構建統一數據集:
? nuScenes [3] 和 Waymo [35]。這兩個數據集都提供攝像頭圖像、激光雷達掃描數據和目標級標注。由于它們均未直接包含 3D 占用標簽,通過三個偽標簽流程——Occ3D [36]、OpenOccupancy [43] 和 SurroundOcc [48]——來合成占用真值。這種多工具方法提高標簽輸出的魯棒性和多樣性。
? CARLA [5]。使用 CARLA 的仿真引擎生成無限多樣的虛擬駕駛場景,從中提取“完美”的 3D 占用標簽(網格、目標狀態等)。這些逼真且可控的場景已公開發布,可輕松進行大規模訓練。該框架支持生成任意長度的數據。
? OpenCOOD [54]。OpenCOOD 基于 CARLA 構建,提供多車協作場景。擴展其數據生成腳本,以便從模擬網格導出 3D 占用信息,從而通過協作駕駛示例擴展數據集。

統一占用處理工具包

大多數基于占用信息的方法僅專注于生成占用網格,但提供的下游處理或運動分析工具有限。為了彌補這一缺陷,其框架包含一個工具包,用于直接在體素空間內進行目標分割和跟蹤,從而支持更高級的任務,例如形狀分析或運動規劃。

目標識別

給定一個占用網格 G ∈ {0, …, C },按照以下步驟識別和分割相關目標,如圖所示:

請添加圖片描述

  1. 目標分割。按類別(例如,汽車、行人)提取體素,然后通過廣度優先搜索實現 6 連通域標記 (CCL):

L = CCL(G), t ∈ {0,1,…,T}, (1)

其中 L ∈ {1,…,N} 為每個連通域分配一個唯一的目標 ID,N 為目標總數。

  1. 體素提取。對于每個目標 ID n,收集其體素坐標 V_n:

V_n = {< x,y,z > | L(x,y,z) = n}, (2)

  1. 橫軸邊框。體素預測可能不完整(如圖所示),因此直接測量邊框(長度、寬度、高度)并不可靠。因此,使用旋轉卡尺法(rotating calipers) [38] 在水平面上擬合一個邊界矩形,其目標體素數量為 O(n^2),假設每個目標平行于地面運動。這將得到一個二維最小邊界矩形,由此可以恢復航向和平面大小。

  2. 維度提取。將矩形的長和寬作為內部的平面尺寸,然后根據體素的垂直范圍計算高度。所有尺寸均按體素分辨率 ε 縮放,轉換為公制單位。

目標跟蹤

利用體素預測的前向占用光流,還提供一種簡單的基于占用光流的目標跟蹤算法:

  1. 目標體素提取。對于第 t 幀占用網格中已識別的每個目標,檢索其體素坐標 V_nt(??2)和相應的光流矢量 F_n^t。
  2. 步長預測。通過添加流來估計下一幀體素位置 ~V_n^t+1:

~V_nt+1 = V_nt + F_n^t,(3)

  1. 質心提取。令 ~c_nt+1 為預測體素集 ~V_nt+1 的質心。還計算第 t + 1 幀的真實目標體素 V _nt+1 及其質心 c_n^t+1。
  2. 二分關聯。使用匈牙利算法將預測質心 {~c_pt} 與觀測質心 {c_q^t+1} 進行匹配,以最小化成對距離。

上述過程產生跨幀關聯,可以統一隨時間變化的目標身份,從而能夠直接在體素空間中進行運動解釋和分析。

目標對齊

最后,將追蹤目標的體素集對齊,以便進行形狀分析或一致性檢查:

  1. 平移對齊。將每個目標的體素坐標平移至原點中心,即 V ?_n^t。
  2. 旋轉對齊。將主成分分析 (PCA) 應用于每幀的體素集,以解析出一個規范的方向。為了保持一致性,調整新主軸的符號,使其與前一幀的方向對齊。最終旋轉后的體素坐標表示為 ?V_n^t。通過這些步驟,可以在占用網格域內進行完全以目標為中心的分析(例如,測量形狀變化或旋轉一致性),而無需參考真值標簽或注釋。

統一評估指標

基準測試包含多個用于評估生成或預測占用網格質量的指標。

基于體素的評估

基于先前的占用預測 [57] 和預測 [2, 42, 47, 61] 研究,采用兩個標準指標:幾何 IoU(或簡稱為 IoU_geo)和 mIoU(跨語義類別的平均交并比)。具體來說,對于預測的占用網格 G_pred 和真實網格 G_gt,

請添加圖片描述

對于多類別占用(總共 C 個類別),mIoU 的計算方式如下:

請添加圖片描述

雖然這些基于體素的指標很簡單,但它們可能會懲罰超過偽真實值的預測(如圖所示)。此外,像多模態預測這樣的任務,可能會產生許多單一參考標簽無法捕捉的合理未來結果。出于這些原因,本文提出一些不需要完美真實值的評估策略。

請添加圖片描述

無真值評估

除了依賴標簽的 IoU 之外,其提出一些無需參考單一真值場景即可評估幾何合理性的指標。這些指標對于多模態生成或真值標簽不完整的情況尤其有用。

關鍵目標的維度概率。給定一個預測目標的邊框 < l, w, h>,并將其歸類為類別 c,通過計算高斯混合模型 (GMM) 的似然來評估其合理性。具體來說,每個類別 c 都有一個預訓練的 GMM,記為 GMM_c,該模型是從統一數據集中的真實或合成數據中學習而來的。在推理時,使用目標的尺寸來查詢 GMM_c。這個查詢概率 P_n 可以啟發式地判斷該目標是否具有與其報告類別相符的實際尺寸。使用經驗值 ρ = 0.5 作為閾值來確定該形狀是否真實存在。

時域前景目標形狀一致性。對于跨多幀預測的動態目標,通過隨時間序列對齊每個目標的體素并計算體素交集而非并集來測量形狀一致性 IoU_object。較高的 IoU_object 表示從 t 幀到 t + 1 幀的形狀幾何形狀穩定。然后,在每個類別中計算這些 IoU 的平均值,以評估整體的隨時間序列一致性。

時域背景環境一致性。對于靜態背景區域,預期在重疊視野內的連續幀之間持續占用。令 V_et 為時間 t 時的環境體素,~V_e^t+1 為它們在 t + 1 時的投影坐標(使用已知的自車運動)。舍棄超出邊界的體素,并計算重疊部分的二值 IoU,即 IoU_bg。即使沒有完美的真實標簽,較高的 IoU_bg 也表明跨幀的靜態背景一致。

總體而言,這些無真實值的指標補充標準 IoU,能夠更深入地洞察場景真實性和時間連貫性,這對于生成性或多模態占用任務尤其有價值。

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

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

相關文章

模型量化核心技術解析:從算法原理到工業級實踐

一、模型量化為何成為大模型落地剛需&#xff1f; 算力困境&#xff1a;175B參數模型FP32推理需0.5TB內存&#xff0c;超出主流顯卡容量 速度瓶頸&#xff1a;FP16推理延遲難以滿足實時對話需求&#xff08;如客服場景<200ms&#xff09; 能效挑戰&#xff1a;邊緣設備運行…

AD9253鏈路訓練

傳統方式 參考Xilinx官方文檔xapp524。對于AD9253器件 - 125M采樣率 - DDR模式&#xff0c;ADC器件的DCO采樣時鐘(500M Hz)和FCO幀時鐘是中心對齊的&#xff0c;適合直接采樣。但是DCO時鐘不能直接被FPGA內部邏輯使用&#xff0c;需要經過BUFIO和BUFR緩沖后&#xff0c;得到s_b…

解決方案:遠程shell連不上Ubuntu服務器

服務器是可以通過VNC登錄&#xff0c;排除了是服務器本身故障 檢查服務是否在全網卡監聽 sudo ss -tlnp | grep sshd確保有一行類似 LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid...,fd3))返回無結果&#xff0c;表明系統里并沒有任…

關于大數據的基礎知識(四)——大數據的意義與趨勢

成長路上不孤單&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///計算機愛好者&#x1f60a;///持續分享所學&#x1f60a;///如有需要歡迎收藏轉發///&#x1f60a;】 今日分享關于大數據的基礎知識&#xff08;四&a…

智能指針(weak_ptr )之三

1. std::weak_ptr 1.1 定義與用法 std::weak_ptr 是一種不擁有對象所有權的智能指針&#xff0c;用于觀察但不影響對象的生命周期。主要用于解決 shared_ptr 之間的循環引用問題。 主要特性&#xff1a; 非擁有所有權&#xff1a;不增加引用計數。可從 shared_ptr 生成&…

學習海康VisionMaster之卡尺工具

一&#xff1a;進一步學習了 今天學習下VisionMaster中的卡尺工具&#xff1a;主要用于測量物體的寬度、邊緣的特征的位置以及圖像中邊緣對的位置和間距 二&#xff1a;開始學習 1&#xff1a;什么是卡尺工具&#xff1f; 如果我需要檢測芯片的每一個PIN的寬度和坐標&#xff…

Java面試實戰:從Spring Boot到微服務的深入探討

Java面試實戰&#xff1a;從Spring Boot到微服務的深入探討 場景&#xff1a;電商場景的面試之旅 在某互聯網大廠的面試間&#xff0c;面試官李老師正襟危坐&#xff0c;而對面坐著的是傳說中的“水貨程序員”趙大寶。 第一輪&#xff1a;核心Java與構建工具 面試官&#x…

深入理解 Spring @Configuration 注解

在 Spring 框架中,@Configuration 注解是一個非常重要的工具,它用于定義配置類,這些類可以包含 Bean 定義方法。通過使用 @Configuration 和 @Bean 注解,開發者能夠以編程方式創建和管理應用程序上下文中的 Bean。本文將詳細介紹 @Configuration 注解的作用、如何使用它以及…

密碼學中的鹽值是什么?

目錄 1. 鹽值的基本概念 2. 鹽值的作用 (1) 防止彩虹表攻擊 (2) 防止相同的密碼生成相同的哈希值 (3) 增加暴力破解的難度 3. 如何使用鹽值&#xff1f; (1) 生成鹽值 (2) 將鹽值附加到密碼 (3) 存儲鹽值和哈希值 (4) 驗證密碼 4. 鹽值如何增加暴力破解的難度 在線暴…

基于瑞芯微RK3576國產ARM八核2.2GHz A72 工業評估板——Docker容器部署方法說明

前 言 本文適用開發環境: Windows開發環境:Windows 7 64bit、Windows 10 64bit Linux開發環境:VMware16.2.5、Ubuntu22.04.5 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-6.1.115 LinuxSDK:LinuxSDK-[版本號](基于rk3576_linux6.1_release_v1.1.0) Docker是一個開…

大數據技術全解析

目錄 前言1. Kafka&#xff1a;流數據的傳輸平臺1.1 Kafka概述1.2 Kafka的應用場景1.3 Kafka的特點 2. HBase&#xff1a;分布式列式數據庫2.1 HBase概述2.2 HBase的應用場景2.3 HBase的特點 3. Hadoop&#xff1a;大數據處理的基石3.1 Hadoop概述3.2 Hadoop的應用場景3.3 Hado…

mcpo的簡單使用

1.安裝依賴 conda create -n mcpo python3.11 conda activate mcpo pip install mcpo pip install uv2.隨便從https://github.com/modelcontextprotocol/servers?tabreadme-ov-file 找一個mcp服務使用就行&#xff0c;我這里選的是爬蟲 然后安裝 pip install mcp-server-f…

uniapp-商城-32-shop 我的訂單-訂單詳情和組件goods-list

上面完成了我的訂單&#xff0c;通過點擊我的訂單中每一條數據&#xff0c;可以跳轉到訂單詳情中。 這里就需要展示訂單的狀態&#xff0c;支付狀態&#xff0c;物流狀態&#xff0c;取貨狀態&#xff0c;用戶信息&#xff0c;訂單中的貨物詳情等。 1、創建一個訂單詳情文件 …

XCVU13P-2FHGA2104I Xilinx Virtex UltraScale+ FPGA

XCVU13P-2FHGA2104I 是 Xilinx&#xff08;現為 AMD&#xff09;Virtex UltraScale? FPGA 系列中的高端 Premium 器件&#xff0c;基于 16nm FinFET 工藝并采用 3D IC 堆疊硅互連&#xff08;SSI&#xff09;技術&#xff0c;提供業內頂級的計算密度和帶寬?。該芯片集成約 3,…

【Python3】Django 學習之路

第一章&#xff1a;Django 簡介 1.1 什么是 Django&#xff1f; Django 是一個高級的 Python Web 框架&#xff0c;旨在讓 Web 開發變得更加快速和簡便。它鼓勵遵循“不要重復自己”&#xff08;DRY&#xff0c;Don’t Repeat Yourself&#xff09;的原則&#xff0c;并提供了…

Python 設計模式:模板模式

1. 什么是模板模式&#xff1f; 模板模式是一種行為設計模式&#xff0c;它定義了一個操作的算法的骨架&#xff0c;而將一些步驟延遲到子類中。模板模式允許子類在不改變算法結構的情況下&#xff0c;重新定義算法的某些特定步驟。 模板模式的核心思想是將算法的固定部分提取…

【后端】構建簡潔的音頻轉寫系統:基于火山引擎ASR實現

在當今數字化時代&#xff0c;語音識別技術已經成為許多應用不可或缺的一部分。無論是會議記錄、語音助手還是內容字幕&#xff0c;將語音轉化為文本的能力對提升用戶體驗和工作效率至關重要。本文將介紹如何構建一個簡潔的音頻轉寫系統&#xff0c;專注于文件上傳、云存儲以及…

音頻base64

音頻 Base64 是一種將二進制音頻數據&#xff08;如 MP3、WAV 等格式&#xff09;編碼為 ASCII 字符串的方法。通過 Base64 編碼&#xff0c;音頻文件可以轉換為純文本形式&#xff0c;便于在文本協議&#xff08;如 JSON、XML、HTML 或電子郵件&#xff09;中傳輸或存儲&#…

240422 leetcode exercises

240422 leetcode exercises jarringslee 文章目錄 240422 leetcode exercises[237. 刪除鏈表中的節點](https://leetcode.cn/problems/delete-node-in-a-linked-list/)&#x1f501;節點覆蓋法 [392. 判斷子序列](https://leetcode.cn/problems/is-subsequence/)&#x1f501;…

MYSQL之庫的操作

創建數據庫 語法很簡單, 主要是看看選項(與編碼相關的): CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 1. 語句中大寫的是…