1. 程式人生 > 其它 >Working hard to know your neighbor's margins:Local descriptor learning loss論文筆記

Working hard to know your neighbor's margins:Local descriptor learning loss論文筆記

HardNet

Abstract

論文提出了一種新的訓練方法,受到了 Lowe’s matching criterion for SIFT的啟發。這種新的loss,要比負責的正則方法更好。把這個新的loss方法結合L2Net就得到了HardNet。它具有和SIFT同樣的特徵維度(128),並且在 wide baseline stereo, patch verification and instance retrieval benchmarks這樣的任務上取得了最高水準的表現。

Introduction

Sampling and loss

學習目標模仿SIFT的匹配標準,過程如圖1.首先一個batch中的匹配塊生成 \(\mathcal{X}=\left(A_{i}, P_{i}\right)_{i=1 . . n}\)

,A代表anchor,P代表positive。那麼每一對就是源於相同的一個3D point。

然後這2n個patches進入圖2中的網路,使用得到的特徵計算出一個圖1中的距離矩陣。

\[d\left(a_{i}, p_{j}\right)=\sqrt{2-2 a_{i} p_{j}}, i=1 . . n, j=1 . . n \]

然後在這個矩陣裡尋找與\(a_i,p_i\)最相近的那兩個negative點(不屬於同一個3D point)。假設\(a_i\)對應的是M,\(p_i\)對應的是N。倘若\(distance(a_i,M)<distance(p_i,N)\),這樣的話,我們就得到了一個triplet的訓練資料\((a_i,p_i,M)\)

,反之則是\((p_i,a_i,N)\)

然後將這n個配對,送到loss函式裡面:

\[L=\frac{1}{n} \sum \max \left(0,1+d\left(a_{i}, p_{i}\right)-\min \left(d\left(a_{i}, p_{j_{\min }}\right), d\left(a_{k_{\min }}, p_{i}\right)\right)\right) \]

上述的M就是\(p_{j_{min}}\),N就是\(a_{k_{min}}\)

Results

batch size influence

通過上文中的Sampling and loss小節可以看出,HardNet的表現與Bathsize應該有很大關係,

當Bathsize>512之後,模型效能就不會有明顯提示了。

Empirical evaluation

這一部分看懂了大概,後續立刻補充相關細節....