3D感知多模態(圖像、雷達感知)

一.BEVFusion

1.簡要介紹

BEV是一個俯視空間,Fusion做的就是融合,這里指的就是圖像和點云的融合。那如何把圖像和點云融合在一起?認為融合方法有三種:

  • a.point level fusion:點集的融合,從點云中采樣一些點,再根據相機的內外參講這些點投影到圖像上,采樣出圖像特征,然后再拼接到點位上,利用這個融合后的特征去做3D目標檢測
  • b.feature?level:將兩種模態的中間特征通過內外參矩陣拼接投影,融合出完整特征去做的。具體啦說就是,對于輸入點云,通過點云網絡得到初始位置,初始位置去圖像上采樣特征,這是一個從點云到圖像的過程,采樣玩特征之后,再拿回到原始的點云空間中,拼接到原始的特征之上(藍色部分是從圖像上采樣過來的特征,橙色部分是原始的初始點云特征),兩種類型特征拼接到一起,去做3D檢測任務

從流程上來看,a和b的方式都離不開一個映射的過程,也就是利用相機內外參,將3D點換算到2D圖像上。但是如果外參計算不好,這也許會導致最終出現問題,同時,如何采樣出來的點對應到圖像上的特定像素,這個像素是模糊的,這都會導致最終效果不好。

因此,以前的方式,無論是a還是b,都存在一個主次依賴的關系,都從點云出發,但如果點云不準、外參不準,那么后續的檢測也就不會準。因此BEVFusion就希望盡可能降低這個主次依賴關系,對點云和圖像做一個分別處理,然后再在BEV空間去做融合,

2.主體結構

圖像經過編碼器得到圖像特征,再通過一個轉換器將2D變換到3D,再投影到BEV空間上,就得到了圖像特征在BEV空間上的表征(Camera BEV Features)。而雷達點云通過一個3D Backbone 得到點云的BEV特征。接下來就需要去做融合了(Fusion Model),利用得到的混合特征去做預測。

Camera Stream

圖像流的輸入是多視角圖像,相同一個2D Backbone提取基礎的圖像特征,再經過FPN+ADP模塊(ADP模塊包括上采樣、池化、卷積)對多尺度特征做一個融合,得到多尺度圖像特征;再通過一個2D->3D轉換模塊做一個轉換,這個轉換的過程其實就是對每一個像素位置做一個 深度分布的預測,會預測一系列的離散的深度概率,這個概率會作為一個權重去乘上像素的圖像特征,然后每個像素點按照射線去進行特征投影,組成了所謂的3D空間;然后再投影,就可以得到Camera BEV Features了。

Lidar Stream

雷達流的輸入是3D雷達點云,經過一個3D Backobone提取點云特征,這里主要使用Point pillar進行點云特征提取,由于點云本身就是3D的,所以只需要做投影或者直接拍扁,就可以將其轉換到BEV空間了。

Fusion Model

融合模塊輸入前面兩個得到的BEV空間的圖像特征和點云特征,接著按通道級聯點云和圖像BEV特征,再通過卷積網絡提取級聯后的特征,之后引入一個Adaptive Feature Selection模塊,這其實一種通道注意力,去對通道維度進行了加權,考慮的是哪個通道更重要,是點云上的通道呢還是圖象上的通道呢,通過這樣一個權重的預測,對通道維度進行一個重新的加權;之后就得到了一個融合后的特征,自然也就可以用來做預測。

二.BEVFusio4D

三.BEVFormer

1.簡要介紹

BEV是一個俯視空間,Former做的就是Transformer,這里指的就是使用transformer去做BEV的圖像處理,完成后續檢測目標。

2.主體結構

首先,輸入的圖像經過Backbone得到圖像特征,將圖像特征、History BEV、BEV Queries一起輸入到一個結構當中,會得到Current BEV,就可以作為檢測頭的輸入完成后續的檢測分割任務。

Temporal Self-attention

時序注意力是考慮到前一幀和當前幀的一個關聯,那如何將前一幀的特征引入到當前幀的EBV空間中呢。這里使用的就是一個Deformable Attention,History BEV可以自適應選擇哪一個BEV Queries對當前點是有增益的。有了History BEV的引導之后,BEV Queries查詢的先驗也就會更好。后續,再結合當前提取到的空間特征和已經有很強的BEV先驗的Queries,就可以生成更好的BEV Feature。

Spatial Attention

那已經有了提取好的multi-camera feature之后,怎么樣生成想要的當前的BEV feature呢。使用空間注意力,利用BEV Queries對multi-camera feature做一個查詢,去問一問“你有我這個位置的特征嗎”;具體就是將XY先映射到他這個視角下所對應的位置上,通過去找這個位置臨近的相鄰點的一個特征,去進行一個融合,然后生成他當前視角下需要被融合的特征。后續他把這個多視角全都查詢完之后,會生成X'Y'位置上通過multi-camera feature融合好的特征

四.PETR

從名字可以知道,主要就是Position Emebedding Transformer。那么核心設計思路就是位置編碼(position emebedding)的設計上。

DETR3D

PETR是一個根據DETR3D改進的一個工作,因此先回顧一下DETR3D。對于輸入的多視角圖像,采用ResNet+FPN來提取圖像特征,得到多尺度圖像融合特征;再初始化一系列的Object query,query的主要作用就是隨機初始化一些查詢向量,用于查詢空間中哪里有物體,query通過transformer結構來預測生成3D reference point,有了參考點之后就可以根據相機內外參,將參考點逆投影回圖像空間,找到參考點在圖象上的位置,進而找到該像素位置對應的特征。通過3種尺度的融合,得到最終的圖像特征,進而可以進行預測;而這個過程其實是一個迭代預測的過程,是多次refine的過程,可以不斷地得到新的object query,不斷地更新預測。DETR3D通過這樣一個過程去做3D目標檢測任務。

PETR

動機

PETR認為DETR3D中的利用3D參考點來索引圖像特征是不合理的,因為如果參考點位置出錯了,那么圖像特征也就錯了,從而導致采樣到的圖像特征是無效的,同時認為,如果只采用參考點的投影位置得到圖像特征來更新query是不夠充分的,可能導致模型對于全局特征學習的不夠充分。

因此PETR使用3D PE(position emebedding)將多視角的2D圖像特征轉化為3D感知特征,也就是將2D feature和3D PE結合得到3D感知特征,這也使得query可以在3D語義環境下進行更新,從而省略了來回投影的過程,簡化了DETR3D的流程。

主體結構

對于輸入的多視角圖像,經過Backbone可以得到圖像特征,同時3D坐標生成器(3D Coordinates Generator)經過一系列的坐標變換將圖像坐標轉化為3D空間中的坐標,然后2D圖像特征和3D位置坐標同時送到3D位置編碼(3D Position Encoder),將3D位置信息融入到2D特征里面,生成一系列的object query,與得到的特征一起去得到預測結果。

3D Coordinates Generator:

3D Position Encoder:

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

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

相關文章

STM32 HAL庫驅動W25QXX Flash

STM32 HAL庫驅動W25QXX Flash 1. 概述 W25QXX系列是一種SPI接口的Flash存儲器,廣泛應用于嵌入式系統中作為數據存儲設備。本文檔詳細介紹了基于STM32 HAL庫的W25QXX Flash驅動實現,包括硬件連接、驅動函數實現以及使用示例。 項目源碼倉庫&#xff1a…

Vivado自定義IP核學習筆記

文章目錄【1】創建一個新的IP核【2】實現功能【3】編輯IP核【4】IP封裝【5】創建Vivado工程【1】創建一個新的IP核 1.1 打開Vivado->點擊【Tasks->Manage IP->New IP Location】->彈出窗口1.2 【Next】->設置IP屬性->【Finish】->【OK】 【IP Location】…

【面試】高級開發面試場景題

1、如何保證MySql到ES的數據一致性? 答:ES是一個開元分布式搜索和分析引擎、它提供了全文搜索、結構化搜索分析以及這些組合的能力。 全文搜索能力:ES支持復雜的搜索能力,包括模糊匹配、短語查詢、布爾查詢等,并且可以快速的返回結果 實時數據分析:實時數據分析,支持對…

《 慢 SQL 分析與 SQL 優化實戰指南》

🔍 慢 SQL 分析與 SQL 優化實戰指南、 🧠前言 在數據庫性能調優中,慢 SQL 是性能瓶頸的常見元兇。 一次慢查詢可能會拖垮整個業務線程池,甚至引發鎖等待、雪崩效應。 對后端開發與 DBA 而言,快速定位并優化慢 SQL&am…

C#中如何運用JWT用戶認證

一、JWT概述JSON Web Token(JWT)是一種輕量級的身份認證機制,廣泛應用于分布式系統中的用戶認證。它通過緊湊的JSON格式存儲用戶身份信息,并使用數字簽名確保信息的完整性和真實性。與傳統的基于Session的認證相比,JWT…

Hibernate 使用詳解

在現代的Java開發中,數據持久化是一個至關重要的環節。而在眾多持久化框架中,Hibernate以其強大的功能和靈活性,成為了開發者們的首選工具。本文將詳細介紹Hibernate的原理、實現過程以及其使用方法,希望能為廣大開發者提供一些有…

【圖像算法 - 13】基于 YOLO12 與 OpenCV 的實時目標點擊跟蹤系統(系統介紹 + 源碼詳細)

基于 YOLO12 與 OpenCV 的實時點擊目標跟蹤系統 在計算機視覺領域,目標檢測與跟蹤是兩個核心任務。本文將介紹一個結合 YOLO 目標檢測模型與 OpenCV 跟蹤算法的實時目標跟蹤系統,該系統允許用戶通過鼠標交互選擇特定目標進行持續跟蹤,支持多…

【數據庫】 MySQL 表的操作詳解

在 MySQL 數據庫的日常開發與維護中,表的操作是最基礎且最常用的部分。本文將從 創建表、查看表結構、修改表 以及 刪除表 等方面進行詳細講解,并附上對應的 SQL 語句示例,方便在實際項目中直接應用。一、創建表 1.1 創建表語法 CREATE TABLE…

DiT: Transformer上的擴散模型

論文(ICCV 2023):Scalable Diffusion Models with Transformers 代碼和工程網頁:https://www.wpeebles.com/DiT.html DiTs(Diffusion Transformers)是首個基于Transformer架構的擴散模型!它在…

MySQL 索引:索引為什么使用 B+樹?(詳解B樹、B+樹)

文章目錄一、二叉查找樹(BST):不平衡二、平衡二叉樹(AVL):旋轉耗時三、紅黑樹:樹太高由一個例子總結索引的特點基于哈希表實現的哈希索引高效的查找方式:二分查找基于二分查找思想的二叉查找樹升級版的BST樹:AVL 樹四、…

ESP32入門開發·VScode空白項目搭建·點亮一顆LED燈

目錄 1. 環境搭建 2. 創建項目 3. 調試相關介紹 4. 代碼編寫 4.1 包含頭文件 4.2 引腳配置 4.3 設置輸出電平 4.4 延時函數 4.5 調試 1. 環境搭建 默認已經搭建好環境,如果未搭建好可參考: ESP32入門開發Windows平臺下開發環境的搭建…

ONLYOFFICE AI 智能體上線!與編輯器、新的 AI 提供商等進行智能交互

ONLYOFFICE AI 插件?迎來重要更新,帶來了新功能和更智能的交互體驗。隨著 AI 智能體(現為測試版)的上線、帶來更多 AI 提供商支持以及其他新功能,AI 插件已經成為功能強大的文檔智能助理。 關于 ONLYOFFICE ONLYOFFICE 文檔是多…

【C++進階學習】第十一彈——C++11(上)——右值引用和移動語義

前言: 前面我們已經將C的重點語法講的大差不差了,但是在C11版本之后,又出來了很多新的語法,其中有一些作用還是非常大的,今天我們就先來學習其中一個很重要的點——右值引用以及它所擴展的移動定義 目錄 一、左值引用和…

【IoTDB】363萬點/秒寫入!IoTDB憑何領跑工業時序數據庫賽道?

【作者主頁】Francek Chen 【專欄介紹】???大數據與數據庫應用??? 大數據是規模龐大、類型多樣且增長迅速的數據集合,需特殊技術處理分析以挖掘價值。數據庫作為數據管理的關鍵工具,具備高效存儲、精準查詢與安全維護能力。二者緊密結合&#xff0…

IEEE 2025 | 重磅開源!SLAM框架用“法向量+LRU緩存”,將三維重建效率飆升72%!

一、前言 當前研究領域在基于擴散模型的文本到圖像生成技術方面取得了顯著進展,尤其在視覺條件控制方面。然而,現有方法(如ControlNet)在組合多個視覺條件時存在明顯不足,主要表現為獨立控制分支在去噪過程中容易引入…

無人機遙控器教練模式技術要點

一、技術要點1.控制權仲裁機制:核心功能:清晰定義主控權歸屬邏輯(默認為學員,但教練隨時可接管)。切換方式:通常通過教練遙控器上的物理開關(瞬時或鎖定型)或軟件按鈕觸發。切換邏輯…

【跨服務器的數據自動化下載--安裝公鑰,免密下載】

跨服務器的數據自動化下載功能介紹:上代碼:發現好久沒寫csdn了,說多了都是淚~~ 以后會更新一些自動化工作的腳本or 小tricks,歡迎交流。分享一個最近在業務上寫的較為實用的自動化腳本,可以批量從遠端服務器下載指定數…

C++-->stl: list的使用

前言list的認識list是可以在固定時間(O(1))內在任意位置進行插入和刪除的序列式容器,并且該容器可以前后雙向迭代。 2. list的底層是雙向鏈表結構,雙向鏈表中每個元素存儲在互不相關的獨立節點中&#xff0…

本地WSL部署接入 whisper + ollama qwen3:14b 總結字幕

1. 實現功能 M4-1 接入 whisper ollama qwen3:14b 總結字幕 自動下載視頻元數據如果有字幕,只下載字幕使用 ollama 的 qwen3:14b 對字幕內容進行總結 2.運行效果 source /root/anaconda3/bin/activate ytdlp 🔍 正在提取視頻元數據… 📝 正在…

《Linux運維總結:Shell腳本高級特性之變量間接調用》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:Linux運維實戰總結 一、變量間接調用 在Shell腳本中,變量間接調用是一種高級特性,它允許你通過另一個變量的值來動態地訪問…