2022年1月15日 星期六

論文筆記:MatchNet 與 L2-Net

本文要介紹兩篇關於用深度學習訓練 image patch 的 descriptor 的方法 MatchNet [1] 與 L2-Net [2]。

MatchNet

以下是 MatchNet 的架構圖:

MatchNet

類神經網路的架構相當單純:在訓練時兩個 patch 都經由 Feature Network,再由 Metric network 與 cross-entropy loss 來當 loss function;Label 即為這兩個輸入的 patch 是否為屬於同一個三維世界中的特徵點。而在 inference 階段則直接輸出 Feature network 的 Bottleneck 層。

本文提到了訓練樣本抽樣的方法。在訓練 patch feature descriptor 時 negative pair 的數目遠大於 positive pair 的數目,因此本文使用 reservoir sampling 的方法(如下圖)使得正負樣本的數目一樣多。

MatchNet algorithm

上圖中的 group 代表同一個三維空間特徵點對應的所有 patch,因此 \(p_i, p_j\) 為正樣本,而 \(p_u, p_v\) 為負樣本。

本文用的衡量標準為在演算法找出 95% 的配對 patch 時(recall),配對的錯誤率有多少(precision)。

MatchNet results

L2-Net

L2-Net 加入了幾個新想法,包含用漸進式抽樣來增加負樣本的個數,以及利用 loss function 使類神經網路更能描述 descriptor 的特性。

漸進式抽樣

假設整個訓練資料中有 P 個三維空間的點對應的 patch,每次取 \(p_1\) 個點,另外 \(p_2\) 個點從 \(P - p_1\) 中取樣,令 \(p = p_1 + p_2\),將每一個 patch 找一個配對的,則一個 batch 中會有 2p 個 image patch。假設 Y 為 descriptor 對應的矩陣,本文用以下式子計算矩陣 D,而在 D 中對應的 descriptor(有 p 對)應該要很接近,而其他 \(p^2 - p\) 對的距離會比較遠。

Distance

Loss function

本文用了三個 loss function 相加:

  1. Error term for descriptor similarity:目的是讓矩陣 D 的對角線上越小越好。
  2. Error term for descriptor compactness:目的是讓 descriptor 越緊湊越好。
  3. Error term for intermediate feature maps:目的是讓中間的 feature map 也能夠達成使相同特徵點的 patch 的 descriptor 越相似越好。

實驗結果

 可以看出比 MatchNet 好不少。

L2-Net Results

沒有留言:

張貼留言