2021年12月28日 星期二

論文筆記:LIFT: Learned Invariant Feature Transform

本文介紹的 LIFT [1] 是一套基於深度學習來將圖片找出其特徵點及特徵向量的一個系統。

LIFT

上圖為文中的架構圖,DET、ORI、DESC 分別為 feature detector、feature orientation,及 feature descriptor,皆為一個類神經網路。而在訓練的時候一次會用到四個 patch,P1 及 P2 為同一個三維世界中的特徵點在不同視角上的 patch,P3 為一個其他的特徵點的 patch,而 P4 則為任意一個無特徵點的 patch。為了準備 P1 及 P2 的資料,本文用 SfM 的方法跑在一些 dataset 上,進而得到同一特徵點的不同視角。

Feature detector

Feature detector 的 loss function 分成兩個部分:

Loss function 1
Loss function 2Loss function 3 
Loss function 4

第一個部分 \(L_{class}\) 的目的是只留下特徵點,因此只有 P4 的 \(y_i\) 為 -1,其他皆是 1。

第二部分 \(L_{pair}\) 是要讓不同視角的圖片得到相同的特徵點,因此只用 P1 與 P2 兩個 patch。本文首先用第四個式子來訓練 feature detector,而在有了穩定的 feature detector 以後則用第三個式子的 loss function,其中 \(h_{\rho}\) 函數為最後的 feature descriptor。

Feature orientation

本文用的是 Spatial Transformer 的方法。

Feature descriptor

Loss function

依據輸入的 patch 是否為對應的一對來決定用哪一個 loss function。如果是對應的特徵向量的話兩者必須一致,否則兩者的差別必須夠大進而讓不同的 descriptor 分開來。

Run-time 的架構圖

LIFT run-time

參考資料

[1] LIFT: Learned Invariant Feature Transform

[2] Spatial Transformer Networks

沒有留言:

張貼留言