廈門大學、Intel、大疆聯(lián)合出品,從網絡視頻中學習零樣本圖像匹配大模型
圖像匹配是計算機視覺的一項基礎任務,其目標在于估計兩張圖像之間的像素對應關系。圖像匹配是眾多視覺應用如三維重建、視覺定位和神經渲染 (neural rendering) 等的基礎和前置步驟,其精確度和效率對于后續(xù)處理十分重要。
傳統(tǒng)算法(SIFT)在面臨長基線或極端天氣等復雜場景時,其匹配的準確度和密度往往有限。為了解決這些問題,近年來,基于深度學習的匹配模型逐漸流行。然而,由于缺乏大規(guī)模且多樣化的具有真值標簽的訓練數(shù)據(jù),目前的匹配模型通常是在 ScanNet 和 MegaDepth 上分別訓練室內和室外兩個模型。這種針對特定場景的訓練限制了模型對 zero-shot 場景的泛化,無法擴展至未知場景中。此外,現(xiàn)有的數(shù)據(jù)構建方法往往依賴于 RGBD 掃描或 SfM+MVS 進行重建,其效率和適用性有限,無法有效地擴展數(shù)據(jù)并用于模型訓練。
為了解決基于深度學習方法泛化性的問題,來自廈門大學、Intel、大疆的研究者們提出了 GIM: Learning Generalizable Image Matcher from Internet Videos。GIM 是第一個可以讓匹配模型從互聯(lián)網視頻中學習到強泛化能力的訓練框架。
論文主頁:https://xuelunshen.com/gim
論文地址:https://arxiv.org/abs/2402.11095
論文視頻:https://www.youtube.com/watch?v=FU_MJLD8LeY
代碼地址:https://github.com/xuelunshen/gim
在線模型:https://huggingface.co/spaces/xuelunshen/gim-online
GIM 從易于獲取、種類繁多且近乎于無限的互聯(lián)網視頻 (如圖 1 所示) 中提取有效的監(jiān)督信號,用于匹配模型的訓練。
圖 1. 部分互聯(lián)網視頻包含的多樣場景
GIM 框架適用于訓練所有匹配模型。如圖 2 所示,三個匹配模型 DKM、LoFTR 和 SuperGlue 分別對應了:密集匹配、半密集匹配和稀疏匹配這三種主流匹配范式。在 GIM 框架下,用于訓練的視頻時長越長,匹配模型的性能就會越高。從目前的折線來看,在使用 50 小時的視頻后,性能還沒有表現(xiàn)出飽和的現(xiàn)象,因此如果使用更多的視頻,性能還會進一步提高。
圖 2. 用于訓練的視頻時長和模型泛化性能的關系
為了能充分衡量一個匹配模型的泛化性能,作者提出了第一個 Zero-shot Evaluation Benchmark (ZEB)。如圖 3 所示,ZEB 由 12 個涵蓋各種場景、天氣和相機模型的公開數(shù)據(jù)集組成,大約包含 4.6 萬對測試圖片。ZEB 所包含的數(shù)據(jù)數(shù)量遠多于現(xiàn)有方法普遍采用的,由 MegaDepth 和 ScanNet 組成,僅包含 3000 對圖像的測試集。
圖 3.ZEB 的組成情況
圖 2 中的模型泛化性能正是來自 ZEB 的評估結果,具體的評估結果在圖 4 展示。Mean Rank 指標代表匹配模型在 12 個測試序列中的平均排名,排名越接近于 1 越好。Mean AUC@5° 代表匹配模型對姿態(tài)估計的準確度,數(shù)值越高越好。
圖 4. 匹配模型泛化性能評估結果
從圖 4 可以看到,GIM 可以明顯地提升匹配模型的泛化性能。在被 GIM 訓練前,SuperGlue 和 LoFTR 在 GL3、BLE 和 GTA 序列中甚至不如傳統(tǒng)算法 RootSIFT。在被 GIM 訓練后,這兩個模型的泛化性能都得到了極大的提升。
正如剛才所說,50 小時的視頻數(shù)據(jù)還遠未讓模型的性能達到極限。按照作者最新的 100 小時視頻數(shù)據(jù)訓練結果,的性能已經可以達到 51.2,遠超現(xiàn)有的模型。
如圖 5 所示,匹配模型的泛化性能提升,同樣會為下游任務帶來增益。值得注意的是,在圖 5 的重定位任務中,GIM 都是僅以一個模型和其他特定場景的模型進行對比,但依然能取得更好的結果。
圖 5. 匹配模型在下游任務:單應性矩陣估計、室內和室外重定位任務下的性能表現(xiàn)
雙視圖圖像匹配的結果如下圖所示:
圖 6. 匹配模型在雙視圖匹配下的可視化結果
除此之外,如圖 7 所示,GIM 模型強大的泛化性能還可以處理訓練中從未見過的點云鳥瞰圖匹配任務。
圖 7. 匹配模型在點云鳥瞰圖匹配下的可視化結果
作為多視圖重建的通用方法,COLMAP 被廣泛地應用于如 visual localization,neural rendering 等下游任務。將 COLMAP 中的匹配方法替換成 GIM,多視圖重建的效果更好,這極大程度地提升了 COLMAP 的魯棒性。
圖 8. 不同匹配模型對多視圖重建的影響。第一行是部分重建圖像的展示。第二行是重建的結果展示。讀者感興趣可以去論文主頁和介紹視頻中觀看動態(tài)可交互的結果。
由于 GIM 能夠有效提升 COLMAP 多視角重建的質量,因此,GIM 也能為對應的下游任務中「增光添彩」,下面幾張圖展示了用 GIM 的 COLMAP 結果來初始化 Gaussian Splatting 的效果。可以看到在一些有挑戰(zhàn)性的場景中,基于 SIFT 和 DKM 的 COLMAP 都不能夠很好地提供有效的 initialization,導致渲染效果不佳。
圖 9. 不同匹配模型在多視圖重建后對 Gaussian Splatting 的影響。讀者感興趣可以去論文主頁和介紹視頻中觀看動態(tài)結果。
框架方法
圖 10.GIM 框架
GIM 框架的方法很簡潔,方法的核心在于利用視頻中幀和幀之間的連續(xù)性,將匹配從短距離的幀傳遞到長距離的幀上,以此獲取寬基線的訓練圖像。
第一步,準備一個用于訓練的匹配模型和互聯(lián)網視頻。
第二步,用標準訓練數(shù)據(jù)(非互聯(lián)網視頻,如 MegaDepth)訓練匹配模型,然后再收集其他補充的匹配方法,用所有這些方法在互聯(lián)網視頻上的短距離間隔的幀上進行匹配,獲取較為密集的匹配結果。再用 outlier filtering 過濾一遍匹配。
第三步,利用視頻的時序關系,將匹配傳遞到更遠的幀上,得到重合度較低和基線較寬的訓練圖像對。
最后,對傳遞后的圖像對及其匹配標簽進行數(shù)據(jù)增強并進行訓練。
下圖是 GIM 在互聯(lián)網視頻上生成的匹配標簽可視化。這僅僅是極小的一部分,用于訓練的數(shù)據(jù)的多樣性遠遠多于作者能展示出來的圖片。
圖 11. 部分互聯(lián)網視頻標簽的可視化
總結
GIM 的提出受到了 GPT 等大模型的啟發(fā),促使作者用海量的視頻數(shù)據(jù)去訓練匹配模型,并達到更高的泛化性能。GIM 的主頁的地址是 xuelunshen.com/gim。歡迎大家跳轉到 GIM 的主頁,瀏覽更詳細生動的介紹視頻、開源的代碼,在線體驗 GIM 匹配效果的 HuggingFace Demo。