0. 筆者個人體會
這項工作可以簡稱為"識別一切"!??吹焦俜絛emo的一瞬間,真的是感覺很驚嘆。
視覺位置識別的工作有很多,本質上都可以歸類為構建圖像數據庫+查詢圖像檢索的過程?,F在的主要問題是,很多識別算法都是針對特定環境進行的,換一個環境很可能直接就掛掉了。
那么,一個真正通用的位置識別算法,應該做到什么呢?
答案就是三個關鍵詞:任何地點(無縫地運行在任何環境中,包括空中、地下和水下),任何時間(對場景中的時間變化,如晝夜或季節變化,或對臨時物體具有魯棒性),以及跨任何視角(對視角變化具有魯棒性,包括完全相反的視角)。也就是說,在任何地點、任何時間、任何視角下都可以魯棒得進行位置識別。這個任務想想就非常難!
但是最近有一個團隊就推出了這樣的工作,也就是CMU、IIIT Hyderabad、MIT、AIML聯合開源的AnyLoc,性能非常的魯棒,并且實驗做得很詳細。今天筆者就將帶領讀者一起欣賞一下這一力作,當然筆者水平有限,如果有理解不當的地方歡迎大家一起交流。限于篇幅,對本文的的深入思考與理解,我們發表在了「3D視覺從入門到精通」知識星球。
注:本文使用VPR做為視覺位置識別的簡稱(Visual Place Recognition)。
1. 效果展示
先來看一個最基礎的任務,就是根據查詢圖像進行位置識別。這也是官方主頁上提供的交互式demo,直接點擊左側Query圖像上的任一點,就可以在右側識別出選擇的位置。感興趣的小伙伴可以去官方主頁上進行嘗試!這里也推薦「3D視覺工坊」新課程《面向自動駕駛領域目標檢測中的視覺Transformer》。
就像論文中提到的那樣,AnyLoc在任何地點、任何時間、任何視角都可以進行位置識別。最關鍵的是,在各種結構化、非結構化、光照變化等挑戰性場景中都可以進行準確識別!
AnyLoc在室內室外、結構化非結構化、光照視角變化等挑戰性場景中的性能都遠遠超過了同類算法,簡直是"八邊形戰士"!
總之,算法已經開源了,官方主頁上也提供了很多的demo。感興趣的小伙伴趕快去試試吧,下面來看一下具體的論文信息。
3. 摘要
視覺位置識別( Visual Place Recognition,VPR )對機器人定位至關重要。迄今為止,性能最高的VPR方法都是針對環境和任務的:盡管它們在結構化環境(以城市駕駛為主)中表現出強勁的性能,但它們在非結構化環境中的性能嚴重下降,這使得大多數方法在實際部署中表現不佳。在這項工作中,我們開發了一個通用的VPR解決方案------一種跨越廣泛的結構化和非結構化環境(城市、室外、室內、空中、水下和地下環境)的技術,無需任何重新訓練或微調。我們證明,從沒有VPR特定訓練的現成的自監督模型中得到的通用特征表示是構建這種通用VPR解決方案的正確基礎。將這些派生特征與無監督的特征聚合相結合,使得我們的方法AnyLoc能夠獲得比現有方法高達4倍的性能。通過表征這些特征的語義屬性,我們進一步獲得了6 %的性能提升,揭示了封裝來自相似環境的數據集的獨特領域。我們詳細的實驗和分析為構建可以在任何地方、任何時間、任何視角部署的VPR解決方案奠定了基礎。我們鼓勵讀者瀏覽我們的項目頁面和互動演示。
4. 算法解析
本質上來說,VPR可以被定義為一個圖像檢索問題。機器人首先穿越環境采集圖像,建立圖像數據庫,然后在后續的運行時提供查詢圖像,在參考數據庫中檢索與該圖像最接近的匹配。但是具體的實現方式就多種多樣了,大家可能更熟悉的是描述子方法,包括局部描述子還有全局描述子。
但想要達到最優性能,一般還是要針對特定環境進行大規模訓練。只是這種高性能帶來的是低泛化性,在自動駕駛場景中訓練的模型,幾乎不可能泛化到室內場景和非結構化場景中。
這篇文章的亮點就在于,分析了VPR的任務無關的ViT特征提取和融合,并開發了一個通用的解決方案,不需要任何針對特定VPR任務的訓練!作者發現,來自現成基礎模型的逐像素特征表現出顯著的視覺和語義一致性,雖然用于通用VPR時,每個圖像的特性都不是最佳的,但是可以將這些逐像素不變性轉移到圖像級別以識別地點。
那么,要選擇何種基礎模型呢?
想要提取任務無關的視覺特征,這樣的自監督基礎模型有三大類:
(1)聯合嵌入方法(DINO、DINOv2);
(2)對比學習方法(CLIP);
(3)基于掩碼的自編碼方法(MAE)。
作者經過實驗,發現聯合嵌入學習模型可以更好得捕獲長范圍的全局信息,因此AnyLoc使用DINO和DIONv2 ViT模型來提取視覺特征。
另一個問題來了,要從這些預訓練的ViT中提取什么視覺特征呢?
與提取單幅圖像特征(圖像特征向量)相比,提取逐像素特征可以實現更細粒度的匹配。而ViT的每一層都有多個特征(Query、Key、Value、Token)。因此,作者嘗試從中間層提取特征,而不使用CLS Token。具體來說,就是從數據庫圖像中選擇一個點,將其與來自查詢圖像的所有像素特征進行匹配,并繪制熱力圖。
有什么發現呢?
首先,即使存在語義文本和尺度變化(第一行)、感知混淆和視點偏移(第二行)、低光照結合相反視角(第三行),這些匹配關系也是魯棒的。
最關鍵的來了。注意如何在匹配點和背景之間表現出最大的對比度,這對于抵抗圖像中干擾物的魯棒性至關重要。
通過進一步的跨層分析,可以發現一個很有意思的現象。ViT的較早層(頂行),特別是Key和Query,表現出很高的位置編碼偏差,而第31層(更深的層)的Value在相似度圖中的反差最大。
因此,作者選擇Layer 31和Value做為局部特征表征。
特征提取完了,下面該聊聚合了。
也就是如何將局部特征組合在一起以描述圖像的各個部分,并最終描述一個環境。作者全面探索了多種無監督聚合技術:全局平均池化(GAP)、全局最大池化(GMP)、廣義平均池化(GeM)以及VLAD的軟硬對齊變體。最終選擇了內部歸一化、級聯、間歸一化來獲取最終的VLAD描述子。
最后,構建詞袋模型。
這一部分的目的是在不同的環境中,表征全局聚合的局部特征的獨特語義屬性。先前基于VLAD的工作雖然在城市場景中表現良好,但是并不適合基礎模型特征編碼中的開放集語義屬性。因此,作者通過對GeM描述子進行表征來指導VLAD的詞袋選擇。這里也有個trick。就是使用PCA投影全局描述子可以在潛在空間發現不同的域,并且表征相似屬性(Urban,Indoor,Air,SubT,Degrad和Underwater)。而且可以觀察到查詢圖像的投影特征與各自數據庫圖像的投影特征接近,因此,最終VLAD的詞袋構建是基于PCA分離進行的。
5. 實驗
AnyLoc的實驗可謂無限創造困難,提供了前所未有的環境多樣性(任何地方),加上一系列時間(任何時候)和相機視點(任何視圖)的變化。其中結構化環境使用了6個基準的室內和室外數據集,包含劇烈的視點偏移、感知混疊和顯著的視覺外觀變化。非結構化環境使用空中、水下、地下場景,包含各種視覺退化、衛星圖像、低光照以及季節變化。
評估指標主要使用Recall,實驗都在3090上進行。對比方案也都是SOTA方案,包含在大規模城市數據集上為VPR任務訓練的3個特定baseline,以及使用基礎模型CLS Token的3個新baseline。
首先對比AnyLoc在結構、非結構環境、視點偏移、時間外觀變化上對比其他SOTA VPR方案的結果。AnyLoc-VLAD-DINOv2在所有的室內數據集上都取得了最高的召回率,室外環境稍差,但在Oxford數據集上效果尤其的好。而且比較有意思的是,在DINOv2上簡單地使用GeM池化就可以顯著提高性能。
在非結構化環境中,AnyLoc很大程度上優于所有baseline,尤其是對于時間和視角變化。而聚合方法也很明顯優于CLS方法。另一方面,NetVLAD、CosPlace和MixVPR這三個特定baseline也證實了隨著城市訓練數據規模的增加,在特定任務上回表現得更好。
之后,對AnyLoc的設計進行詞袋分析,特定領域的詞袋可以帶來最優性能。
下面來展示特定領域詞袋的魯棒域內一致性,具體做法是使用領域特定的詞匯對局部特征的聚類賦值進行可視化。在Urban域中,道路、路面、建筑物和植被在不斷變化的條件和地點被一致地分配到同一個簇中。對于室內域,可以觀察到地板和天花板的域內一致性,以及文字標志和家具的域內一致性。對于航空領域,可以觀察到道路、植被和建筑物在農村和城市圖像中都被分配到獨特的簇中。
進一步可以證明,這種域內的魯棒一致性能夠在缺乏信息豐富度的小型參考數據庫的目標環境中部署AnyLoc-VLAD。對于屬于給定領域的數據集,選擇最大的參考數據庫來形成詞袋,并在來自該領域的其他數據集上進行評估。對于航拍和城市領域,可以觀察到,當使用更大的詞袋來源時,與僅僅使用較小的地圖相比,可以實現7-18 %更高的召回率,從而證明了詞袋在同一領域內的可遷移性。
作者還對比了不同的ViT架構、選擇的Layer以及不同的Facet對性能的影響。
還詳細對比了各種無監督局部特征聚合方法對性能的影響,顯示GeM聚合性能更優。有一點需要注意,就是硬分配比軟分配要快1.4倍。
最后,還將專門面向VPR(CosPlace)訓練的ViT與基于自監督(DINO、DINOv2)的ViT進行比較。舉個例子,對比基于ViT-B的方法,即使CosPlace系的整體性能有所改善,但AnyLoc-VLAD-DINOv2仍然比VLAD提高了8-13 %。這里也推薦「3D視覺工坊」新課程《面向自動駕駛領域目標檢測中的視覺Transformer》。
6. 總結
非常有意思的工作!
站在上帝視角來看,會覺得AnyLoc的思想很簡單,就是使用任務無關的基礎ViT模型來提取逐像素特征,然后進行特征聚合。但其實整個分析問題,解決問題的思路非常巧妙。尤其是AnyLoc的結果很棒,將機器人定位擴展到任何地點、任何時間、任何視角下,這對于機器人下游任務至關重要。
另一方面,模型大一統真的是一個大趨勢,不停的出現一個大模型實現這個領域內的所有功能。那么,下一個"一切"是什么呢?讓我們拭目以待。
-
機器人
+關注
關注
211文章
28501瀏覽量
207472 -
開源
+關注
關注
3文章
3368瀏覽量
42567 -
模型
+關注
關注
1文章
3261瀏覽量
48914
原文標題:CMU&MIT最新開源!超強通用視覺位置識別!任何地點!任何時間!任何視角!
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論