[論文解讀]R2D2: Reliable and Repeatable Detector and Descriptor

NeurIPS 2019
代碼地址
會議視頻

abstract

僅僅學習可重複並顯著的特徵點不夠,顯著的區域並不一定是有區分性的,因此這樣可能損害描述子性能。因此,文中認爲描述子應僅在具有高置信度的區域學習。文中方法在Hpatch和 Aachen Day-Night localization benchmark有較好的表現。

上圖用棋盤圖像顯示了這樣一個例子:每個角或色塊都是可重複的,但由於單元格的重複,無法進行匹配。 在自然圖像中,常見的紋理–樹木的葉子,摩天大樓的窗戶或海浪也都很突出,但很難匹配。

1. Introduction

在這項工作中,我們聲稱檢測和描述是不可分割的關係,因爲好的關鍵點不僅應該是可重複的,而且應該是具有區分度的。 因此,我們將檢測和描述過程無縫地聯合學習從而提高描述子的可靠性。本工作從這兩方面得到一個confidence map並選擇同時具有可重複和可區分的特徵點,以此來提高matching pipeline性能。

更準確地說,我們的網絡,如上圖所示,輸出密集的本地描述子(每個像素一個)以及兩個相關的可重複性和可靠性置信度Maps。 兩張Maps,一個估計關鍵點是可重複的,另一個則估計其描述子是可分別的。 最後,關鍵點取自這兩張圖響應最大化的位置。
爲訓練關鍵點檢測器,我們採用了一種新的無監督損失函數,它鼓勵了圖像的重複性、稀疏性以及在圖像的均勻分佈。 對於局部描述子訓練,它用listwise ranking loss訓練,其利用基於近似平均精度(AP)的度量學習最新進展,而不是使用標準triplet or contrastive loss。我們學習一個可靠性置信度值,以預測哪些像素將具有高AP的描述子–既具有鑑別性,又具有魯棒性,最終可以精確匹配。 我們在幾個基準上的實驗表明,我們的公式優雅地結合了檢測器的可重複性和稀疏性與判別和魯棒描述子。

3. Joint learning reliable and repeatable detectors and descriptors

3.1. Learning repeatability

正如以前的工作[LIFT、SuperPoint]中所觀察到的,關鍵點的重複性是一個無法通過標準監督訓練來解決的問題。 事實上,在這種情況下,使用監督訓練本質上可以認爲是學習一個現有的檢測器,而不是發現更好檢測器。 因此,我們將可重複性(repeatability)視爲一項自我監督的任務,並對網絡進行訓練,使其S中局部最大值位置是自然圖像變換的協變量,如視點或光照變化。

現在我們有兩個repeatability map – S,分別從i,j圖片得到。爲了得到具有重複性的特徵點,兩個圖片相同位置應當具有相同值。

P就是patch。但是這個公式有個問題,直接上S相同爲一個常熟(eg 0)就直接最小化了,爲此補上一個函數,使得p的值是有差異的:

因此最後的公式是:

3.2. Learning reliability

下面是計算AP的Loss,但是特別奇怪,反覆看了幾遍都沒看懂這裏Patch是從哪裏來的,之前似乎沒有這個概念,而且又是密集提取的descriptor,不太可能有patch。如果說有patch,那就是一個patch裏所有的des加和?不是特別清楚,不過大體意思就是:
給定1 batch 正確圖像對pair,使用卷積神經網絡計算它們的描述子。然後從batch的所有patch描述子之間的距離計算出歐氏矩陣。 沒給計算AP的公式,但說明了從【Local descriptors optimized for
average precision】論文裏來的。

但是僅僅有AP是不夠的,這個就是描述子的精度,還需要另外一項就是可靠性:

這個倒是好理解,R就是reliability map的輸出,k是一個超參數–希望設置成AP的最小值。假設R要麼0,要麼1,最小化這個函數就是當k>ap時候R是0。這樣相似的des在R map裏就是0,也就達到了可區分性的目的。

最後總體來講,結果挺好的,就是論文有點簡略,訓練過程那裏越寫越迷,不過好在有代碼,而且代碼本身很清晰。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章