基于地平面的单目视觉里程计绝对尺度估计
點云PCL免費知識星球,點云論文速讀。
文章:Ground Plane based Absolute Scale Estimation for Monocular Visual Odometry
作者:Dingfu Zhou, Yuchao Dai
翻譯:particle
本文僅做學術分享,如有侵權,請聯系刪除。歡迎各位加入免費知識星球,獲取PDF論文,歡迎轉發朋友圈分享快樂。
論文閱讀模塊將分享點云處理,SLAM,三維視覺,高精地圖相關的文章。公眾號致力于理解三維視覺領域相關內容的干貨分享,歡迎各位加入我,我們一起每天一篇文章閱讀,開啟分享之旅,有興趣的可聯系微信dianyunpcl@163.com。
●論文摘要
對于基于單目相機的系統來說,從單目相機中恢復絕對度量尺度是一個具有挑戰性的問題。利用有限的已知條件,提出了多種尺度估計方法,如根據相機的高度、物體大小等。然后,通過對比各種方法的優缺點,提出了一種基于地平面和相機高度的具有一定魯棒性的絕對尺度估計方法。針對單目視覺里程計(VO)估計過程中的尺度漂移問題,提出了一種有效的尺度校正策略。最后,在公開的數據集和自采集圖像數據集上驗證了該方法的有效性和魯棒性。
●?相關工作與介紹
基于視覺的運動恢復結構(SfM)、視覺里程計(VO)和同步定位與建圖(SLAM)在高級駕駛員輔助和自動駕駛系統中發揮著重要作用。與其他主動式傳感器(如激光雷達)相比,基于視覺的系統具有以下優點:首先,攝像機傳感器非常便宜;其次,攝像機可以提供顏色、語義和幾何信息,這對場景理解非常重要。然后僅從單目相機的系統中都有一個缺點,就是無法用相對尺度信息來灰度三維結構和相機的運動信息。也就是說沒有尺度的先驗信息,無法重建真實的場景信息,所以要恢復尺度至少需要一條絕對的尺度信息,這條信息可以是來自場景的先驗知識,比如相機高度,物體的尺度,車輛的速度,立體相機的基線等,也可以是來自其他傳感器,比如IMU,GPS等。
文章中介紹了關于以往論文中如何使用先驗的信息進行尺度估計的相關工作的介紹。
01
基于多傳感器的方法
1,激光雷達已被廣泛應用于VO和SLAM,能夠很好的與相機進行融合。基于距離傳感器,可以直接恢復絕對標度。然而,基于運動估計的激光雷達點云由于在連續運動過程中不同時間接收到的距離測量值而存在所謂的運動失真效應。采用相機和激光雷達相結合的方法進行運動估計,以增強兩者的優勢,彌補彼此的缺點。
2,慣性測量單元(IMU)傳感器也用于VO和SLAM,通過與相融合IMU傳感器可以提供運動系統的三維旋轉和平移加速度。兩者的融合不僅可以提供尺度,而且可以提供穩定的估計值。一般來說,IMU輔助方法可以分為緊耦合或松耦合,這取決于IMU在系統中的使用方式。
3,立體相機也是VO和SLAM的重要傳感器。基于雙目相機的基線可以很容易地恢復絕對尺度。利用這些信息,可以對攝像機運動和場景結構進行尺度重構。
02
基于單目的方法
與附加傳感器的方法相比,基于單目相機的方法性價比更高。但是基于單目的方法為了估計絕對尺度,需要知道一些場景的先驗信息。
1,基于相機高度的方法:相機高度是基于平面假設的絕對比例估計的常用信息。
2,其他基于場景知識的方法:在真實場景中,地面并不總是被檢測到。在這種情況下,需要其他場景知識被考慮用于尺度估計。比如利用相機檢測到物體的大小,人的高度,消失線等等。
3,基于深度學習的方法:上述所有方法都明確利用幾何信息進行尺度估計。近年來,隨著深度學習技術的發展,人們提出了許多從圖像序列中隱式學習出相機姿態和比例的方法。
03
文章的主要貢獻如下:
提出了一種魯棒的尺度估計和校正方法,并在公共VO數據集和我們自己收集的數據集上進行了驗證。
實驗部分對幾種基于攝像機高度的絕對尺度估計方法進行了定量評價。在合成數據集和真實數據集上,對不同方法的優缺點進行了分析和驗證。
最后,本文對各種絕對尺度估計方法進行了概述和總結,為今后的研究提供了指導。
●文章內容精華
01
基于相機高度的尺度估計
基于兩幀或者多幀的單目圖像來說,估計出相機的運動和3D的特征點地圖會遇到一個所謂的模糊的相似性問題( similarity ambiguity),這里主要就是利用兩視圖的對極幾何約束,x2的轉置 * F*x=0;其中x1,x2就是兩個視圖下的對應點的坐標系,F稱之為基本矩陣,假設相機是內參經過標定了,上述的公式可以重新轉換為本質矩陣的公式, ^x2的轉置 * E* ^x1 = 0,其中^ = K的逆 * x,(這里的知識點可以查看歷史文章),就是將像素坐標系下的點經過內參轉換為相機坐標系下歸一化的點,那么本質矩陣可以表示為 E = [t]×R 這里的本質矩陣具有五個自由度,因為旋轉R是有三個自由度的,平移t是只有兩個自由度,相機的平移是有全局的運動決定的滿足t的行列式是等于1。假設一個物體的長度在相機重建場景中的長度為b,那么此時的尺度可以定義為s = b’/ b ,其中b’是真實場景的長度此時絕對尺度就這樣計算出來為s.
相機的高度通常用于比例估計。通常,相機是固定在一個平臺上,在一定時間內其高度(相機中心到地平面的距離)不變。假設相機正前方的地面是平坦的,那么可以根據這個高度信息恢復比例。
地平面的模型
假設第一幀圖像的相機坐標與世界坐標重合。屬于地平面上的任意三維點 X = (X, Y, Z)T遵循以下約束
其中n是地面的法向量,h是相機到地面的高度,如圖所示:
這里我們假設相對運動Rt已經被估計出來,此時的3D點X是可以根據圖像上的特征點三角化計算而來,那么根據相機的高度就可以來估計尺度可以分為以下兩種情況:
1,基于三維平面擬合的尺度估計
在相機的坐標系下,三維地平面的的估計可以根據重建三維點進行平面擬合得來,比如根據下圖
在先驗的ROI中匹配特征點。綠色和紅色表示單應性擬合的輸入和異常值。
這里有三個自由度,主要是法向量兩個,而高度一個,所以一般最少的配置為三個對應點關系就可以擬合出一個平面
計算地平面法向量的方法有兩種:
1)基于3點的RANSAC和最小二乘法優化;
2)從特定場景結構估計的消失點也用于n估計。
2,基于二維單應性的尺度估計
為了避免圖像特征點三角化過程中產生的不確定性,可以利用二維單應矩陣來描述地平面幾何。對于任何屬于平面的三維點,單應性矩陣H將圖像點從第一幀到第二幀的變換可以定義為:
其中x1,x2分別是兩幀圖像的像素坐標,單應矩陣可以用相機運動和平面幾何信息來表示:
其中Rt是相機的位姿,K是相機的內參。理論上,4對匹配點就足夠計算H。通常采用RANSAC等策略來減小匹配噪聲的影響。然后,通過非線性優化方法,利用所有的對應點帶入模型對估計的H進行優化。
通過單應性H矩陣進行圖像映射,H包含了R;t;n和d的信息。
雖然單應性矩陣的分解方法是有效的,但它對噪聲非常敏感,這是由于以下幾個原因造成的:
首先,利用低紋理路面的噪聲特征匹配來擬合H;
其次,需要從計算太多的參數。
相機運動R、t和地平面幾何(n;d)都需要恢復,這是對求解數值穩定性的另一個挑戰。
02
本文提出的魯棒方法
上文提出的方法有兩個明顯的缺點:
一是與基于稀疏點的匹配相比,稠密匹配效率低下;
二是該方法中ROI的選擇非常重要,當ROI中包含一些非圓形平面對象時將會失敗。
為了獲得更好的ROI,可以使用基本的道路檢測器首先給出道路的先驗知識,然后在這些區域內選擇感興趣區域。在這里,我們使用KITTI road數據集1中的的預訓練模型進行道路區域預測。針對這些缺點,我們提出了一種基于稀疏二維特征的魯棒分而治之的尺度恢復方法。這里采用分而治之的方法是將單應性矩陣中的運動參數(相對姿態)從地平面的結構參數(平面)中分解出來,以提高估計的穩定性。
魯棒的尺度估計的優化的公式如下:
其中xi ,xi'表示兩幀之間的對應點,H12表示的是從幀1到幀2的單應性矩陣,H21表示的幀2到幀1的單應性矩陣,H12和H21都是可以根據公式(3)獲取。
VO尺度矯正
我們都知道局部BA可以減少基于多幀信息的尺度漂移,而環路閉合依賴于對同一地點的重新訪問。然而,這兩種方法都不能及時監測尺度漂移,也不能主動選擇合適的時間來糾正尺度漂移。另一種尺度校正策略是利用場景先驗知識逐幀檢測尺度漂移,并在尺度漂移嚴重時及時觸發尺度校正程序。
這是一個去除回環檢測的ORB-SLAM 系統,紅色曲線表示地面真實情況,綠色曲線顯示估計結果。
使用我們提出的利用相機高度和地平面來校正VO/SLAM系統的尺度漂移。此外,本文還提出了一種魯棒的尺度漂移檢測與校正策略。首先,利用每幀的地平面和相機高度來估計絕對尺度,然后通過比較系統中估計的尺度和傳播的尺度來計算尺度漂移率,最后根據這個尺度漂移率決定是否觸發尺度校正算法。雖然我們逐幀估計絕對尺度,但只有當系統檢測到尺度漂移率超過某一閾值時,尺度校正機制才會觸發。我們選擇不連續地校正尺度,主要有以下幾個原因:
1)每幀校正是不必要的,因為系統可以保持一定的時間;
2)每幀校正會破壞原有的VO/SLAM系統,如關鍵幀選擇機制;
3) 由于路面不可能總是可靠地檢測到,因此無法保證每幀的比例估計精度。
雖然所提出的方法可以在大多數幀上給出精確的尺度估計,但是為了保證用于校正的尺度足夠精確,還需要幾個準則:
1)估計的地平面n應該接近于先前幀的法向量。
2) 速度應該高于某個閾值。基于本質矩陣分解的相機姿態估計在小運動情況下是不精確的。
3) 只有估計的尺度漂移比值大于0:075,才會觸發尺度修正程序。
提出的規模化修正策略的圖示。只需要修正當前局部地圖中的地圖點和關鍵幀。
●實驗結果
本文主要比較了三種典型的基于地平面的尺度估計方法。具體內容如下:
1)基于圖像特征點三角化后擬合的方法
2)基于兩視圖單應分解的方法。
3)基于優化的方法:主要是基于稠密和稀疏匹配的方法。
綜合實驗的尺度估計結果。紅線表示基于三維點的方法的結果;藍線和綠線分別表示基于單應性分解和基于稀疏點優化的方法的結果
不同尺度估計方法的計算時間。
ORB-SLAM中單目的時候針對kitti數據集不同條件下的里程計的對比,其中
Ground truth:相機位姿的真值
ORB-SLAM with LC:單目ORB-SLAM帶回環檢測
ORB-SLAM no LC with SC:單目ORB-SLAM沒有回環檢測,帶有我們的尺度矯正算法
ORB-SLAM no LC no SC:單目ORB-SLAM沒有回環檢測,沒有尺度矯正
在魚眼圖像數據集中的尺度估計和校正的結果。紅色和藍色線表示有或無尺度校正策略的VO結果
●總結
本文對單目視覺里程計中基于攝像機的絕對尺度估計方法進行了綜述,為今后的研究提供了指導。在真實數據集上的實驗結果表明了不同方法的性能。然而,當地面長期被遮擋或路面不滿足平面假設時,所有基于地平面的方法都會失效。如果在特定的環境中不存在這種先驗信息,基于先驗知識的方法將失效。在未來,我們將專注于基于信息融合的可靠絕對尺度估計,與兩個或更多其他廉價傳感器,如IMU,GPS或lidar,與相機的融合里程計算法。
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及3D點云地圖中的定位方法
3D目標檢測:MV3D-Net
三維點云分割綜述(上)
3D-MiniNet: 從點云中學習2D表示以實現快速有效的3D LIDAR語義分割(2020)
win下使用QT添加VTK插件實現點云可視化GUI
JSNet:3D點云的聯合實例和語義分割
大場景三維點云的語義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規模點云的顯示
基于局部凹凸性進行目標分割
基于三維卷積神經網絡的點云標記
點云的超體素(SuperVoxel)
基于超點圖的大規模點云分割
更多文章可查看:點云學習歷史文章大匯總
SLAM及AR相關分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動泊車系統中的語義SLAM
【點云論文速讀】StructSLAM:結構化線特征SLAM
SLAM和AR綜述
常用的3D深度相機
AR設備單目視覺慣導SLAM算法綜述與評價
SLAM綜述(4)激光與視覺融合SLAM
Kimera實時重建的語義SLAM系統
SLAM綜述(3)-視覺與慣導,視覺與深度學習SLAM
易擴展的SLAM框架-OpenVSLAM
高翔:非結構化道路激光SLAM中的挑戰
SLAM綜述之Lidar SLAM
基于魚眼相機的SLAM方法介紹
往期線上分享錄播匯總
第一期B站錄播之三維模型檢索技術
第二期B站錄播之深度學習在3D場景中的應用
第三期B站錄播之CMake進階學習
第四期B站錄播之點云物體及六自由度姿態估計
第五期B站錄播之點云深度學習語義分割拓展
第六期B站錄播之Pointnetlk解讀
[線上分享錄播]點云配準概述及其在激光SLAM中的應用
[線上分享錄播]cloudcompare插件開發
[線上分享錄播]基于點云數據的?Mesh重建與處理
[線上分享錄播]機器人力反饋遙操作技術及機器人視覺分享
[線上分享錄播]地面點云配準與機載點云航帶平差
點云PCL更多活動請查看:點云PCL活動之應屆生校招群
掃描下方微信視頻號二維碼可查看最新研究成果及相關開源方案的演示:
如果你對本文感興趣,請點擊“原文閱讀”獲取知識星球二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作方式:可聯系微信“920177957”(需要按要求備注)聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的基于地平面的单目视觉里程计绝对尺度估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个精简的开源点云库
- 下一篇: PCL中点云的超体素(SuperVoxe