日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习 相机标定_基于深度学习的多传感器标定

發布時間:2023/12/10 pytorch 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习 相机标定_基于深度学习的多传感器标定 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標定是確定不同坐標系的相互轉換關系,是傳感器數據融合的前提,特別是激光雷達和圖像數據。這里以深度學習的方法訓練CNN模型去回歸坐標系轉換的參數。

主要是兩個CNN模型:RegNet和CalibNet。

RegNet應該是第一個深度卷積神經網絡(CNN)推斷多傳感器的6自由度(DOF)外參數標定,即激光雷達(LiDAR)和單目攝像頭。RegNet將標定的三個步驟(特征提取、特征匹配和全局回歸)映射到單個實時CNN模型中。在訓練期間,隨機對系統進行重新調整,以便訓練RegNet推斷出激光雷達投影到攝像頭的深度測量與RGB圖像之間的對應關系,并最終回歸標定外參數。此外,通過迭代執行多個CNN,在不同程度失標定(decalibration)數據上進行訓練。如圖是一個例子。

失標定

標定基礎事實(GT)

RegNet標定結果

首先,傳感器坐標系中給出的點x變換為世界坐標系中的點y,定義為一個仿射變換矩陣H,即y = Hx。估計變換矩陣H的任務稱為外標定。應用深度學習,需要重新定義外標定的問題,在給定初始標定Hinit和基礎事實標定Hgt的情況下,確定失標定矩陣φdecalib,其定義如下

然后可以隨機改變Hinit以獲得大量的訓練數據。為了能夠建立標定過程可觀測的對應關系,用Hinit和攝像頭內參數矩陣P將激光雷達點投影在攝像頭圖像平面上,即

在每個像素(u,v),如果沒有投射的激光雷達點,則存儲投影點的逆深度值(攝像頭坐標)zc或者為零。 由于相比圖像像素的數量大多數常見的激光雷達傳感器僅提供少量測量數據,因此深度圖像非常稀疏。為了對付這種稀疏性,在輸入深度圖使用最大值池化(Max Pooling)對投影的激光雷達深度點上采樣。

下面圖展示的是Regnet的結構框圖,其實現深度和RGB圖像之間的標定。 使用初始標定Hinit將深度點投影在RGB圖像上。在CNN網絡的第一和第二部分,使用NiN(Network in Network)塊來提取豐富的特征以進行匹配,其中索引顯示NiN塊的第一卷積層的核大小k。 特征通道的數量顯示在每個模塊的右上角。 CNN網絡最后一部分通過使用兩個全連接層收集全局信息來對失標定進行回歸。(注:NiN塊由一個k×k卷積,然后是幾個1×1卷積組成。)在訓練期間,失標定矩陣會被隨機排列,形成深度點的不同投影數據。

如下圖所示,深度點的投影隨給定的初始標定值而強烈地變化。當初始校準從標定的基礎事實(GT)旋轉偏離20°平移偏離1.5米的時候,可能導致激光雷達點云的投影的大多數點在圖像區域之外,難以與RGB圖像建立對應關系。

即使在這些情況下,訓練的CNN網絡仍然能夠改進標定。使用新的估計標定參數可以再次投影深度點,從而產生更多供相關計算的深度點。 然后,該步驟多次迭代即可。

初始化

結果

CalibNet是一個自監督的深度網絡,能夠實時自動估計激光雷達和2D攝像頭之間的6-自由度剛體轉換關系。在訓練時,不進行直接監督(例如不直接回歸標定參數);相反,可以訓練網絡去預測標定參數,以最大化輸入圖像和點云的幾何和光度一致性。

下圖是CalibNet的流程圖:(a)來自標定攝像頭的RGB圖像;(b)原始激光雷達點云作為輸入,并輸出最佳對齊兩個輸入的6-自由度剛體變換T;(c)顯示錯誤標定設置的彩色點云輸出;(d)顯示使用CalibNet網絡標定后的輸出。

該網絡將RGB圖像、相應的誤標定(mis-calibration)的激光雷達點云和相機標定矩陣K作為輸入。作為預處理步驟,首先將點云轉換為稀疏深度圖,將激光雷達點云投影到圖像平面即可。由于初始誤標定的不準確,將誤標定點投影到圖像平面會導致稀疏深度圖與圖像(嚴重)不一致,如上圖(c)所示。 將RGB輸入圖像和稀疏深度圖標準化為±1的范圍,然后用5 x 5最大池化窗將稀疏深度圖最大池化為半致密深度圖。

雖然網絡的輸出可直接預測平移,但需要將so(3) 中的輸出旋轉矢量轉換為其對應的旋轉矩陣。一個元素ω ∈ so(3) 可以通過使用指數圖(exponential map)轉換為SO(3)。

一旦將網絡預測的標定參數轉換為T∈SE(3)中的剛體變換,就會使用3-D空間變換器層(Spatial Transformer Layer),通過預測變換T對輸入深度圖進行變換。這里擴展了原始的3D空間變換器層以處理稀疏或半致密的輸入深度圖,如上圖(d)。

下圖是CalibNet的網絡結構圖。網絡主要由”RGB”和”深度”2個不對稱分支組成,每個分支執行一系列,因此”深度”流的濾波器在每個階段都會減少。然后兩個分支的輸出沿著信道這個維度連接并通過一系列附加全卷積和批規則化(Batch Norm)層,用于全局特征聚合。將旋轉和平移的輸出流分離,以捕獲旋轉和平移之間可能存在的模態差異。網絡的輸出是1×6矢量ξ=(v, ω)∈ se(3), 其中v是平移速度矢量,ω是旋轉速度矢量。

下面是損失函數的定義:

1. 光度損失:在通過預測的T變換深度圖之后,檢查預測的深度圖和正確的深度圖之間的密集像素誤差,誤差定義為,

2. 點云距離損失:3D空間變換器層允許在反投影(back projection)后的點云轉換。 在這個階段,嘗試度量尺度最小化未校準的變換點和目標點云之間的3D-3D點距離。距離測量有

a) Chamfer 距離

b) 推土機距離(Earth Mover’s Distance):

c) 質心ICP距離

最后,整個損失函數定義為:

下圖是CalibNet標定的一些結果。第一行顯示輸入的RGB圖像,第二行顯示投影到圖像上的相應的誤標定的激光雷達點云。 第三行顯示使用網絡預測變換投影的激光雷達點云,最后一行顯示相應的基礎事實結果。 第二行中的紅色框表示未對齊,而在第三行中,紅色框表示標定后的正確對齊。

總結

以上是生活随笔為你收集整理的深度学习 相机标定_基于深度学习的多传感器标定的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。