【論文閱讀】Sparse4D v3:Advancing End-to-End 3D Detection and Tracking

標題:Sparse4D v3:Advancing End-to-End 3D Detection and Tracking
作者:Xuewu Lin, Zixiang Pei, Tianwei Lin, Lichao Huang, Zhizhong Su

motivation

作者覺得做自動駕駛,還需要跟蹤。于是更深入的把3D-檢測&跟蹤用sparse的模式做好。 檢測性能的進一步優化及端到端跟蹤實現。
于是將目光聚焦到了兩個問題上:
**收斂困難:**稀疏形式的感知算法,大多數都面臨這個收斂困難的問題,收斂速度相對較慢、訓練不穩定導致最終指標不高;在Sparse4D-V2 中,我們主要采用了額外的深度估計任務來幫助網絡訓練,但由于用上了額外的點云作為監督,這并不是一種理想的形式。
**端到端跟蹤:**在實際業務系統中,在檢測模塊后,我們總是需要在加入跟蹤模塊獲得目標軌跡。因此一個完善的稀疏動態感知框架應該同時具備端到端跟蹤能力。
在這里插入圖片描述

methods

1、Temporal Instance Denoising
在訓練過程中,初始化了兩組錨點。
一組包括均勻分布在檢測空間中的錨點,使用 k 均值方法初始化,這些錨點作為可學習參數。
另一組錨點是通過向地面實況 (GT) 添加噪聲生成的,如公式如下所示,專門為 3D 檢測任務量身定制。對GT加上小規模噪聲來生成noisy instance,用decoder來進行去噪,這樣可以較好的控制instance和gt之間的偏差范圍,decoder 層之間匹配關系穩定,讓訓練更加魯棒,且大幅增加正樣本的數量,讓模型收斂更充分,以得到更好的結果。具體來說,我們設置兩個分布來生產噪聲Delat_A,用于模擬產生正樣本和負樣本,對于3D檢測任務加噪公式如下
在這里插入圖片描述
加上噪聲的GT框需要重新和原始GT進行one2one匹配,確定正負樣本,而并不是直接將加了較大擾動的GT作為負樣本,這可以緩解一部分的分配歧義性。噪聲GT需要轉為instance的形式以輸入進網絡中,首先噪聲GT可以直接作為anchor,把噪聲GT編碼成高維特征作為anchor embed,相應的instance feature直接以全0來初始化。
為了模擬時序特征傳遞的過程,讓時序模型能得到denoisy任務更多的收益,將單幀denosing拓展為時序的形式。具體地,在每個訓練step,隨機選擇部分noisy-instance組,將這些instance通過ego pose和velocity投影到當前幀,投影方式與learnable instance一致。
具體實現中,我們設置了5組noisy-instance,每組最大gt數量限制為32,因此會增加5322=320個額外的instance。時序部分,每次隨機選擇2組來投影到下一幀。每組instance使用attention mask完全隔開,與DINO中的實現不一樣的是,我們讓noisy-instance也無法和learnable instance進行特征交互.
在這里插入圖片描述

2、Quality Estimation
Sparse4D輸出的分類置信度并不適合用來判斷框的準確程度,這主要是因為one2one 匈牙利匹配過程中,正樣本離GT并不能保證一定比負樣本更近,而且正樣本的分類loss并不隨著匹配距離而改變。而對比dense head,如CenterPoint或BEV3D,其分類label為heatmap,隨著離gt距離增大,loss weight會發生變化。
因此,除了一個正負樣本的分類置信度以外,還需要一個描述模型結果與GT匹配程度的置信度,也就是進行Quality Estimation。對于3D檢測來說,我們定義了兩個quality指標,centerness和yawness:
在這里插入圖片描述

qt = qt.flatten(end_dim=1)[mask]  #[n,2]
cns = qt[..., 0]
yns = qt[..., 1].sigmoid()
cns_target = torch.norm(reg_target[..., :3] - reg[..., :3], p=2, dim=-1)
cns_target = torch.exp(-cns_target)
cns_loss = self.loss_cns(cns, cns_target, avg_factor=num_pos)
output[f"loss_cns_{decoder_idx}"] = cns_loss
yns_target = (torch.nn.functional.cosine_similarity(reg_target[..., 6:8],reg[..., 6:8],dim=-1,)  > 0
)
yns_target = yns_target.float()
yns_loss = self.loss_yns(yns, yns_target)
output[f"loss_yns_{decoder_idx}"] = yns_loss

對于centerness和yawness,我們分別用cross entropy loss和focal loss來進行訓練
在這里插入圖片描述
3、Decoupled Attention
Sparse4D中有兩個instance attention模塊,1)instance self-attention和2)temporal instance cross-attention。在這兩個attention模塊中,將instance feature和anchor embed相加作為query與key,在計算attention weights時一定程度上會存在特征混淆的問題,如圖下所示。
在這里插入圖片描述
為了解決這問題,作者對attention模塊進行了簡單的改進,將所有特征相加操作換成了拼接,提出了decoupled atttention module,結構如下圖所示
在這里插入圖片描述

def forward(self, box_3d: torch.Tensor) -> torch.Tensor:pos_feat = self.pos_fc(box_3d[..., 0:3])size_feat = self.size_fc(box_3d[..., 3:6])yaw_feat = self.yaw_fc(box_3d[..., 6:8])if self.vel_dims > 0:vel_feat = self.vel_fc(box_3d[..., 8 : 8 + self.vel_dims])output = self.cat.cat([pos_feat, size_feat, yaw_feat, vel_feat], dim=-1)else:output = self.cat.cat([pos_feat, size_feat, yaw_feat], dim=-1)return output

4、Extend to Tracking
無需額外訓練策略的端到端多目標跟蹤能力。由于Sparse4D已經實現了目標檢測的端到端(無需dense-to-sparse的解碼),進一步考慮將端到端往檢測的下游任務進行拓展,即多目標跟蹤。發現當Sparse4D經過充分檢測任務的訓練之后,instance在時序上已經具備了目標一致性了,即同一個instance始終檢測同一個目標。因此,無需對訓練流程進行任何修改,只需要在infercence階段對instance進行ID assign即可,infer pipeline如下所示。
在這里插入圖片描述
對比如MOTR、TransTrack、TrackFormer等一系列端到端跟蹤算法,實現方式具有以下兩點不同: 1)訓練階段,無需進行任何tracking的約束;2)Temporal instance不需要卡高閾值,大部分temporal instance不表示一個歷史幀的檢測目標。

experiments

在這里插入圖片描述

作者的總結與展望

總的來說,在長時序稀疏化3D 目標檢測的一路探索中,主要有如下的收獲:

顯式的稀疏實例表示方式: 將待檢測的instance 表示為3D anchor 和 instance feature,并不斷進行迭代更新來獲得檢測結果是一種簡潔、有效的方式。同時,這種方式也更容易進行時序的運動補償;
高效的Deformable Aggregation 算子:提出了針對多視角/多尺度圖像特征 + 多關鍵點的層級化特征采樣與融合策略,并進行了大幅的效率優化,能高效獲得高質量的特征表示。同時在稀疏化的形式下,decoder 部分的計算量和計算延時受輸入圖像分辨率的影響不大,能更好處理高分辨率輸入;
Recurrent 的時序稀疏融合框架:基于稀疏實例的時序recurrent 融合框架,使得時序模型基本上具備與單幀模型相同的推理速度,同時在幀間只需要占用少量的帶寬(比起bev 的時序方案)。這樣輕量且有效的時序方案很適合在真實的車端場景處理多攝視頻流數據。
端到端多目標跟蹤:在無需對訓練階段進行任何修改的情況下,實現了從多視角視頻到目標軌跡的端到端感知,進一步減小對后處理的依賴,算法結構和推理流程非常簡潔;
卓越的感知性能:在稀疏感知框架下進行了一系列性能優化,在不增加推理計算量的前提下,讓Sparse4D在檢測和跟蹤任務上都取得了SOTA的水平。

基于稀疏范式的感知算法仍然有很多未解決的問題,也具有很大的發展空間。首先,如何將Sparse的框架應用到更廣泛的感知任務上是下一步需要探索的,例如道路元素的感知任務(HD map construction、 topology等)、預測規控任務(trajectory prediction、end-to-end planning等);其次,需要對稀疏感知算法進行更充足的驗證,保證其具備量產能力,例如遠距離檢測效果、相機內外參泛化能力及多模態融合感知性能等。作者希望Sparse4D(v3)可以作為稀疏感知方向新的baseline,推動該領域的進步。

就是好好好!

【完結】

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

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

相關文章

基于 DNA 的原核生物與微小真核生物分類學:分子革命下的范式重構?

李升偉 李昱均 茅 矛(特趣生物科技公司,email: 1298261062qq.com)傳統微生物分類學長期依賴形態特征和生理生化特性,這在原核生物和微小真核生物研究中面臨巨大挑戰。原核生物形態簡單且表型可塑性強,微小真核生物…

【FastDDS】Layer DDS之Domain (01-overview)

Fast DDS 域(Domain)模塊詳解 一、域(Domain)概述 域代表一個獨立的通信平面,能在共享通用通信基礎設施的實體(Entities)之間建立邏輯隔離。從概念層面來看,域可視為一個虛擬網絡&am…

http和https區別是什么

區別主要有以下四點:HTTP 是超文本傳輸協議,信息是明文傳輸,存在安全風險的問題。HTTPS 則解決 HTTP 不安全的缺陷,在 TCP 和 HTTP 網絡層之間加入了 SSL/TLS 安全協議,使得報文能夠加密傳輸。HTTP 連接建立相對簡單&a…

推薦算法發展歷史

推薦算法的發展歷史是一部從簡單規則到復雜智能,從宏觀群體推薦到微觀個性化精準推薦的 演進史。它大致可以分為以下幾個階段:推薦算法的發展歷史是一部從簡單規則到復雜智能,從宏觀群體推薦到微觀個性化精準推薦的演進史。它大致可以分為以下…

企業DevOps的安全與合規關鍵:三大主流DevOps平臺能力對比

在數字化轉型的浪潮中,DevOps平臺已成為企業加速軟件交付、提升協作效率的核心引擎。然而,隨著應用范圍的擴大,安全漏洞與合規風險也隨之凸顯。如何平衡速度與安全,實現高效且合規的DevOps流程,已成為企業亟需解決的關…

pgroll:簡化PostgreSQL零停機遷移

pgroll:PostgreSQL零停機遷移的新思路作為后端開發者,我們都遇到過數據庫變更的難題。想象一下,你需要在電商大促期間修改用戶表結構——傳統的ALTER TABLE可能導致鎖表,用戶下單流程中斷,每分鐘都是真金白銀的損失。p…

JVM1.8與1.9的區別是什么?

一、核心機制變化 類加載器調整 JDK 1.8:使用三種類加載器: 啟動類加載器(Bootstrap):加載核心類庫(如 rt.jar)。擴展類加載器(ExtClassLoader):加載 JAVA_HO…

CentOS交換區處理

文章目錄前言創建交換文件(推薦)清理舊交換區前言 很多剛開始使用 CentOS 的用戶都會遇到。1GB 的交換分區在現代應用環境下確實偏小,很容易在內存壓力大時導致系統性能下降甚至應用程序被強制終止。 關于交換分區的大小,沒有一…

JavaScript原型與原型鏈:對象的家族傳承系統

文章目錄JavaScript原型與原型鏈:對象的"家族傳承"系統 👨👩👧👦引言:為什么需要原型?原型系統三大核心概念概念關系圖核心概念表一、原型基礎:對象如何"繼承"屬…

數據庫語法差異對比

特性MySQLMSSQLOraclepostgresql單行注釋--、#&#xff08;少&#xff09;------多行注釋/* *//* *//* *//* */字符串連接<code>CONCAT(str1,str2)</code>、<code>CONCAT_WS(separator, str1, str2)</code>、CONCAT&#xff08;str1,str2&#xff09;(…

GIS大學課程表都長啥樣?幾個地信專業的大學一周課程表

前幾天&#xff0c;有個準大一的同學問&#xff1a;地信大學課程安排都是啥樣的&#xff1f;簡單的地理學、遙感學課程之類的對準大一的同學們來說太抽象了&#xff0c;有沒有更具體一點的&#xff1f;他在新生群里問本校的學長&#xff0c;得到的課表不是這樣的&#xff1a;就…

leetcode 3027. 人員站位的方案數 II 中等

給你一個 n x 2 的二維數組 points &#xff0c;它表示二維平面上的一些點坐標&#xff0c;其中 points[i] [xi, yi] 。 我們定義 x 軸的正方向為 右 &#xff08;x 軸遞增的方向&#xff09;&#xff0c;x 軸的負方向為 左 &#xff08;x 軸遞減的方向&#xff09;。類似的…

oracle 從一張表更新到另外一張表的方法(MERGE)

之前更新表格經常用 update aaa set (aaa.q,aaa.w) (select bbb.q,bbb.w from bbb where bbb.eaaa.e)的方法 后面學習了一個新的方法&#xff0c;MERGE法&#xff0c;這種寫法更適合&#xff0c;因為對于空的值可以自定義定義其值&#xff0c;這樣寫存儲過程的時候就不需要頻繁…

Huggingface終于沒忍住,OpenCSG堅持開源開放

在全球人工智能競爭進入白熱化的當下&#xff0c;開源與閉源之路的選擇正在成為決定未來格局的關鍵。當全球最大的AI開源平臺Hugging Face終于承認"開源是贏得AI競賽的關鍵"&#xff0c;并呼吁美國重新重視開源賽道時&#xff0c;OpenCSG&#xff08;開放傳神&#x…

計算機網絡模型總概述

//網絡通訊 --- 不同主機之間的通信(進程間通信) 一、概述 目前使用的計算機網絡模型主要分為兩個&#xff1a;OSI七層模型和TCP/IP模型 相比OSI七層模型 &#xff0c;TCP/IP模型更簡潔&#xff0c;更實用&#xff0c;因此目前所使用的基本都是TCP/IP模型&#xff0c;已成為…

HTTPS -> HTTP 引起的 307 狀態碼與HSTS

1.應用場景 主要用于了解HSTS, 以及如何合理設置, 如正式服和測試服, 開發環境; 摘要&#xff1a;當HTTPS網站返回307狀態碼臨時重定向到HTTP時&#xff0c;會帶來安全風險&#xff08;如中間人攻擊和混合內容問題&#xff09;。 HSTS機制通過強制HTTPS通信可解決此問題&#…

PortSwigger靶場之DOM XSS in document.write sink using source location.search通關秘籍

一、靶場描述這個靶場在搜索查詢的跟蹤功能中&#xff0c;包含一個基于DOM的跨站腳本&#xff08;DOM-based XSS&#xff09;漏洞。該漏洞的產生是因為網站使用了一個名為 document.write 的 JavaScript 函數&#xff0c;這個函數會把數據直接寫入到頁面中。而寫入的數據來源于…

深度學習篇---Pytorch常用優化器

優化器介紹&#xff1a;在 PyTorch 中&#xff0c;優化器&#xff08;Optimizer&#xff09;的作用是根據模型參數的梯度來更新參數&#xff0c;以最小化損失函數。下面用通俗易懂的方式介紹幾種常用的優化器&#xff1a;1. SGD&#xff08;隨機梯度下降&#xff09;最基礎的優…

0903 C++類的運算符重載、靜態成員與繼承

Part 1.梳理思維導圖一.運算符重載1.運算符重載的作用使原本只能對基本數據類型生效的運算符&#xff0c;在重載后&#xff0c;滿足可以對構造類型數據生效。2.關系運算符重載a.關系運算符種類> > < < !b.分析參數表達式…

Cloudflare安全規則實用指南:從路徑攔截到IP限制的10個經典范例

前言&#xff1a;在Cloudflare的安全防護體系中&#xff0c;自定義規則是抵御特定威脅的“精準武器”。除了基礎的路徑攔截&#xff0c;日常運維中還有許多高頻場景需要針對性配置。本文將通過10個實用范例&#xff0c;帶你掌握Cloudflare規則的靈活用法&#xff0c;覆蓋路徑防…