Working hard to know your neighbor's margins:Local descriptor learning loss论文笔记

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

过程如图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 \]

image-20211215155841387

image-20211215155934343

然后在这个矩阵里寻找与\(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

image

batch size influence

image

通过上文中的Sampling and loss小节可以看出,HardNet的表现与Bathsize应该有很大关系,

当Bathsize>512之后,模型性能就不会有明显提示了。

Empirical evaluation

Ablation study

这一节作者使用不同的loss函数和不同的采样方法进行研究,得出hardest-in-batch的采样方法是使得模型表现好的主要原因。

image-20211220114345068

Wide baseline stereo

为了检测模型的泛化能力以及对极端情况的应对能力,作者在W1BS这个数据集上进行测试,关于这个数据集的extreme change可参考下图:

image-20211220114938699

结果:

image-20211220115638680

可以看到,HardNet和L2Net的表现相差不大。

Conclusion

  • 作者提出了一种基于Batch的Hard-neagtive miningloss function,使得模型更加容易训练表现更好
posted @ 2021-12-16 13:09  CuriosityWang  阅读(292)  评论(0编辑  收藏  举报