作者:泡椒味的口香糖
0. 筆者個人體會
相似結構一直是SLAM和SfM中很難處理卻又不得不處理的問題,如果機器人遇到了非常相似但實際不同的結構,很容易因為匹配數量足夠多而引發假陽性回環和重建失敗。傳統方法更多的還是利用匹配數量的閾值或者和其他幾何關系的比值閾值來判斷,這種方法在遇到高對稱結構時很容易失敗。
今天筆者將為大家帶來這個問題新的解決思路,也就是ICCV 2023 Oral提出的Doppelgangers,能夠自動判斷兩個視圖是相同的,還是僅僅是相似的。這個方案實際上是將視覺消歧問題建模為圖像對上的二分類任務,并開發了基于學習的解決方案和數據集。
1. 效果展示
以下是一些典型的相似結構,即便是使用人眼觀看,也很容易認為是相同場景。而在SLAM和SfM遇到這類場景時,很容易觸發假陽性回環而導致跟蹤丟失或重建失敗。
Doppelgangers這篇文章主要解決的就是這類場景下的匹配和重建問題,即便用來重建的場景具有高度對稱和相似的結構,仍然可以進行完整的三維重建,不會憑空多或者少一些結構。
2. 摘要
我們考慮視覺消歧任務,即判斷一對視覺相似的圖像是否描繪了相同或不同的三維表面(例如,對稱建筑物的同側或對側)。虛假圖像匹配,即兩幅圖像觀察到不同但視覺上相似的3D表面,對人類區分具有挑戰性,也會導致3D重建算法產生錯誤的結果。我們提出了一種基于學習的視覺消歧方法,將其建模為圖像對上的二分類任務。為此,我們為該問題引入了一個新的數據集Doppelgangers,該數據集包含了具有真實標簽的相似結構的圖像對。我們還設計了一種網絡架構,將局部關鍵點和匹配的空間分布作為輸入,從而可以更好地對局部和全局線索進行推理。我們的評估表明,我們的方法可以在困難的情況下區分誤匹配,并且可以集成到SfM流水線中,以產生正確的、無二義性的三維重建。
3. 算法解析
現在一步步來拆解任務:我們希望在做SLAM和SfM時,即便遇到了結構非常相似的場景,也能夠正確進行三維重建和跟蹤,不能出現誤匹配導致重建結果突然多了一塊或少了一塊,更不能出現假陽性回環。
具體任務描述:
給定兩幅非常相似的圖像,判斷它們是同一個結構的同一個表面,還是兩個不同的3D結構(作者將其稱為doppelgangers)。主要發生在對稱建筑物、重復視覺元素、以及多個相同地標場景中。
分析發現,雖然從高度對稱建筑拍攝的兩幅圖像整體很相似,很難直接通過圖像對來進行正負判別,但是它內部還是有一些細節是不同的。這些細節所在的區域在進行圖像匹配時的匹配關系很少,利用這種細微差異就可以區分圖像。其實這樣很符合人類"找不同"的思路。
基于這個發現,作者就提出了一種基于學習的方法來消除視覺歧義,并且還公開了一個具有相似結構的數據集,數據集還有GT標簽。
這個相似場景識別算法的原理是,首先使用RANSAC估計基礎矩陣并過濾異常匹配(具體實驗是直接使用LoFTR+RANSAC計算匹配),將原圖、提取的特征點、匹配到的特征點輸入到網絡中,輸出為相似圖像的概率,將相似性識別轉換為一個二分類問題。
這個算法的思想是使用關鍵點和匹配位置為網絡提供信息,這樣網絡不僅知道哪些關鍵點被匹配了,也可以知道哪些關鍵點沒有匹配,這樣對應的區域可能就代表信息缺失或者不同目標,相當于利用了關鍵點和匹配的空間分布信息。很明顯,視覺上具有相似結構區域的匹配會更稠密,但不同結構的區域匹配更稀疏。
而且為了更好得比較不同結構區域,作者還對輸入圖像對進行了幾何對齊,也就是估計仿射變換,然后warp圖像和二值mask。當然,這個對齊不一定特別準,只不過希望能夠更好得聯系將兩個重疊區域。
到具體訓練這一塊,作者還使用了Focal loss。這個也很容易理解,相似結構的特征點匹配肯定是正負樣本不平衡的,使用Focal loss可以提高難分樣本的貢獻。
4. 實驗
用來做二分類的網絡結構很簡單,就是3個殘差模塊,一個平均池化,再加上一個全連接層。也僅僅訓練了10個epoch,batch size設置為16,學習率從0.0005降低到0.000005。
實驗主要是在他們提出的Doppelgangers數據集上評估消除視覺歧義的性能,然后將訓練的圖像二分類器集成到SfM中,通過重建效果來評估消歧性能,最后搞了一個消融實驗來證明每個模塊都是有用的。
首先是僅使用局部特征匹配來預測圖像對是否為正(真)的匹配,對比的baseline包括SIFT+RANSAC、LoFTR、以及DINO-ViT(自監督SOTA分類/分割器)。作者使用的匹配方式包括兩種:( 1 )對幾何驗證后的匹配數量進行閾值化處理;( 2 )對匹配數量與關鍵點數量的比值進行閾值化處理。( 2 )背后的思想是,如果相對于關鍵點的數量,有很少的匹配,則很可能是誤匹配。作者訓練的模型AP為95.2 %,ROC AUC為93.8 %。DINO結果不太好,主要是因為它生成的特征很適合語義分類任務,但不適合視覺消歧。
測試的圖像對和對應的正匹配概率,這個定性對比還是很詳細的,實驗的場景很多。左欄表示負對匹配關系(錯誤),右欄表示正對(正確)。比較亮眼的是,在不同光照、視角變化、天氣變化等挑戰性情況下,也可正確分類正負匹配關系。
后面就開始搞三維重建了,作者將他們訓練的二分類器集成到COLMAP中,以此來評估在重復/對稱場景中的三維重建效果。使用的landmark有兩類,包含13個由于對稱和重復結構而難以重建的landmark,還有與訓練數據有顯著差異的3個具有重復結構的場景,主要是為了測試泛化性。
下面這個表就是SfM的重建結果,第二列代表數據集中的場景數量,其他的√和代表是否重建成功,是否成功是與谷歌地球中相應結構對比得到的(評估三維重建效果的新點?)。
下面是直接使用COLMAP重建的模型和作者提出方法重建效果的對比。顯然,直接使用COLMAP會憑空產生很多多余的塔樓、穹頂等結構。但是作者提出的方法可以很好得消除這種對稱相似結構的"語義歧義",從而重建完整的三維模型。
最后是一個消融實驗,就沒啥可說的了,主要對比了使用不同的網絡結構做二分類器、書否有數據增強,以及不同網絡輸入帶來的性能對比。
5. 總結
Doppelgangers是解決特定任務的一篇文章,實現了相似結構的二分類,解決的問題很重要。雖然Doppelgangers的實驗更多的面向圖像匹配和SfM,但筆者個人覺得也很容易應用到SLAM場景中,感興趣的小伙伴可以做進一步的嘗試。
編輯:黃飛
-
機器人
+關注
關注
211文章
28642瀏覽量
208423 -
SLAM
+關注
關注
23文章
426瀏覽量
31931 -
分類器
+關注
關注
0文章
152瀏覽量
13225 -
數據集
+關注
關注
4文章
1209瀏覽量
24834
原文標題:ICCV 2023 oral | 一文看懂SLAM/ SfM遇到相似非回環場景應該如何處理
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
貿澤電子開售醫療用Sensirion SFM3003和SFM3013流量計
![貿澤電子開售醫療用Sensirion <b class='flag-5'>SFM</b>3003和<b class='flag-5'>SFM</b>3013流量計](https://file.elecfans.com/web2/M00/27/1E/poYBAGHBbsyAd0fVAAPBwRK6dwc395.png)
淺談SLAM的回環檢測技術
SLAM技術的應用及發展現狀
讓機器人完美建圖的SLAM 3.0到底是何方神圣?
SLAM大法之回環檢測
VIL-SLAM系統可實現獲得更好的回環約束
![VIL-<b class='flag-5'>SLAM</b>系統可實現獲得更好的<b class='flag-5'>回環</b>約束](https://file.elecfans.com/web1/M00/DF/2D/pIYBAGAuO7GATnYyAAHzzDJFApU297.png)
一種適用于動態場景的SLAM方法
![一種適用于動態<b class='flag-5'>場景</b>的<b class='flag-5'>SLAM</b>方法](https://file.elecfans.com/web1/M00/E6/0C/pIYBAGBSvgaAR2n0AAICOKhho0c031.png)
移動機器人視覺SLAM回環檢測原理、現狀及趨勢
Global SfM和ncremental SfM知識講解
OV2SLAM(高速視覺slam)簡析
3D重建的SLAM方案算法解析
![3D重建的<b class='flag-5'>SLAM</b>方案算法解析](https://file1.elecfans.com/web2/M00/A3/D0/wKgaomT-djKAD99yAABQzJbytv0522.png)
評論