论文链接:https://arxiv.org/pdf/2007.08988.pdf
代码:https://github.com/rpautrat/LISRD

文章主要内容

本文指出当前特征描述子的局限性在于通用性和区分性的取舍:如果一种描述子有很好的不变形,这也意味着它包含更较少的特征信息。论文通过分解局部描述子中的不变性并在给定上下文的情况下,在线选择最合适不变性的方式来克服此限制。

文章主要贡献

1、使用一个网络,通过多任务学习的方式学习出适应多种变化组合的描述子。
2、提出一种轻量级的meta descriptor方法,根据当前情况,自动选择拥有最好不变性特征的描述子。
3、提出的meta descriptor和不变性选择方法可以轻易地移植到大多数的特征点提取器和描述器中,也可以运用到传统的方法中,通用性好。

算法分析

总体流程分两步。第一步:设计一个网络学习几类稠密的描述子,每一类都有不同的不变性特征;第二步:在匹配本地描述子时,决定最好的不变性特征并使用。

文中选择了旋转(rotation)和光照(illumination)两种影响因素,相比之前希望通过一个描述子同时适应所有情况的方法,本文生成了四种组合的描述子按照这两种影响因素的排列组合分别对应如下四种变化:
1、rotation variance+illumination variance
2、rotation invariance+illumination variance
3、rotation variance+illumination invariance
4、rotation invariance+illumination invariance

网络结构如下图所示:


网络受Superpoint启发,以RGB图像为输入,通过卷积神经网络计算半稠密特征图,然后将其分为四块,预测各自的半稠密描述子(针对上述四种组合的一种)。同时,共享的卷积神经网络,即图中的CNN backbone,通过共享计算,可以简化图中Conv(四个子网络)的规模,进而简化计算,从而保准网络的速度。

数据库准备:

训练数据库由三部分组成:
1、anchor image IAI^AIA:来自真实图片的数据库(原图)
2、variant image IVI^VIV:包含无旋转的 Homography,亮度变化与原图相同
3、invariant image III^III:包含与原图不同的旋转和亮度变化

训练损失:

本文使用SIFT特征点,记两幅待匹配图像分别为IaI^aIa和IbI^bIb,两幅图像通过单应矩阵HHH关联,IaI^aIa中的n个特征点记为x1..nax^a_{1..n}x1..na​,通过单应矩阵HHH得到IbI^bIb对应的特征点x1..nbx^b_{1..n}x1..nb​。。我们将通过下面的描述定义一种通用的 triplet loss 表达方式。
从x1..nax^a_{1..n}x1..na​中提取的描述子记为d1..nad^a_{1..n}d1..na​,从x1..nbx^b_{1..n}x1..nb​中提取的描述子记为d1..nbd^b_{1..n}d1..nb​,通过L2L_2L2​归一化定义距离,二者距离定义为:

除此之外,triplet loss增加了负距离nin_ini​,定义为xiax_i^axia​到IbI^bIb中负样本点xnb(i)bx_{n_b(i)}^bxnb​(i)b​的距离,对xibx_i^bxib​同理,于是这一部分可以定义为:

其中,nb(i)=argminj∈[1,n](dist(xia,xjb))s.t.∣∣xia−xjb∣∣2>Tn_b(i)=arg min_{j\in[1,n]}(dist(x_i^a,x_j^b)) s.t. ||x_i^a-x_j^b||_2 >Tnb​(i)=argminj∈[1,n]​(dist(xia​,xjb​))s.t.∣∣xia​−xjb​∣∣2​>T,na(i)n_a(i)na​(i)同理。
给定 margin M 则典型的 triplet margin loss 定义为:

invariant descriptor 的 lossLIL_ILI​是上式的一个特例,对应于anchor image IAI^AIA和invariant image III^III,利用L2L_2L2​归一化,可以表示为:

针对variant descriptors的损失LVL_VLV​是基于IAI^AIA、III^III和IVI^VIV三个变量的,它在保证IVI^VIV和IAI^AIA、III^III不同的同时,希望保留IVI^VIV和IAI^AIA的相似性,具体表示为:

其中,fff是控制IAI^AIA和III^III不同程度的参数。对于旋转变换,f=min(1,θIθmax)f=min(1,\frac{\theta_I}{\theta_{max}})f=min(1,θmax​θI​​),θI\theta_IθI​是IAI^AIA和III^III之间的绝对旋转角,θI\theta_IθI​是代表阈值的超参数,当超过该阈值的时候,两张图片被认为不同。该阈值确保了只有大的旋转会被损失函数惩罚。由于两张图片的光照区别很难比较,光照针对IAI^AIA和III^III的fff函数设置为1。
对于变化和不变的描述子分别使用LVL_VLV​或者 LIL_ILI​,定义LI/V(d)L_{I/V}(d)LI/V​(d)为选择的损失,针对局部描述子的总损失可以定义为:

在线选择最佳不变性特征点

有了这些描述子之后,如何获得匹配图片最相关的不变性特征点呢?由于重计算和比较每一对匹配图片变化特征点的代价太大,论文提出只用描述子信息实现选择的方法。一种通俗的方法就是分别计算不同局部描述子的相似性,然后选择最相似的。然而,不变性特征点可以通过更多的上下文信息获得,并且这些不变性特征点应该和附近的描述子一致。因此,论文建议从局部描述子中提取区域描述子,并使用它们来指导不变性选择。
因此,本地描述子通过NetVLAD层收集在相邻区域中,以获取与本地描述子的子集共享相同类型不变性的meta descriptor,但是上下文比单个本地描述子更多。 因此,具有相似的meta descriptor意味着共享相同级别的变化。 通过将图像平铺为c×c网格并为每个图块计算一个meta descriptor来创建相邻区域。 因此,我们获得每个图块四个meta descriptor,然后对其进行L2L_2L2​归一化。
当匹配图块的局部描述子时,meta descriptor之间的四个相似度是用标量积计算的,我们可以根据这些相似度对四个局部描述子进行排序。 我们不使用仅采用最接近的本地描述子的方法来做出艰难的选择,而是使用软分配。 将softmax操作应用于这四个相似度,以获得四个权重之和。 然后将这些权重用于计算局部描述子之间的距离,如下图所示:

假设需要计算IAI^AIA中的点xax^axa和IBI^BIB中的点xbx^bxb点,xax^axa和4个本地描述子d1..4ad^a_{1..4}d1..4a​相关联,并对应4个meta descriptorm1..4am^a_{1..4}m1..4a​,xbx^bxb同理。最终,xax^axa和xbx^bxb的最终描述子距离为:

对于 4 个 NetVLAD 层的训练只需使用 weakly supervised 方法即可,不需要监督。同样使用上面提到的 triplet loss,只不过这里的 descriptor 换成了 meta descriptors:

最终两部分总的 Loss 为加权和:

训练细节

为了训练在旋转和照度方面具有不同方差水平的描述符,需要提供所有可能的变化组合的数据集。主要依靠了四个数据集,分别是:MS COCO、 Multi-Illumination Images in the Wild、 Aachen dataset和Virtual Image Dataset for Illumination Transfer (VIDIT)。
受VGG16启发的骨干网由连续的3×3卷积层组成,通道大小为64-64-64-64-128-128-256-256。 每个conv层后均进行ReLU激活和批量归一化。 每隔两层,应用步幅为2的2×2平均池将空间分辨率降低2。对于大小为H×W×3的图像,输出特征图的大小将为H/8×W/8×256。本地描述符头全部由以下操作组成:通道大小256的3×3转换-ReLU-Batch Norm-通道大小128的1×1转换。因此,每个本地描述符的最终尺寸为H/8 × W/8×128,每个串联的描述符为512维。

实验结果


其中:

Best of the 4 是对 4 种 descriptors 都进行匹配,然后就选距离最小的一类;
Greedy 是每个 keypoint 都分别对 4 种 descriptor 进行匹配然后每个都找距离最近的;
Hard assignment 是不使用权重,直接通过 meta descriptor 选择固定的一类。
No tiling 和 5x5 是表示划分网格的多少。
Single desc 表示仍然采用这个网络进行训练得到 4个 descriptor 但将4个 concat 成1个并对所有光照和旋转进行训练。
最终可以看出本文中提出的策略的有效性,每个步骤都起了一定的涨点作用。




Online Invariance Selection for Local Feature Descriptors论文笔记相关推荐

  1. 论文阅读003:《Learning local feature descriptors with triplets and shallow convolutional neural networks》

    论文链接:http://www.bmva.org/bmvc/2016/papers/paper119/paper119.pdf github链接:https://github.com/vbalnt/t ...

  2. 图合成与差分隐私(图结构和节点属性)论文笔记

    AsgLDP: Collecting and Generating Decentralized Attributed Graphs With Local Differential Privacy 论文 ...

  3. LIFT: Learned Invariant Feature Transform详细笔记

    LIFT: Learned Invariant Feature Transform Paper: LIFT: Learned Invariant Feature Transform | Springe ...

  4. (ICPR 20) DIP: Distinctive 3D local deep descriptors

    DIP[1]属于一种基于PointNet[2]网络的比较简洁的two-stage点云特征提取器,因此文章的重点并不在网络设计上面,而在输入数据local patches的准备上.因此生成正确的loca ...

  5. (CVPR 2022 阅读笔记)Residual Local Feature Network for Efficient Super-Resolution

    论文地址:Residual Local Feature Network for Efficient Super-Resolution 摘要:目前高效SISR主要关注减少参数的数量,它们通过复杂的连接来 ...

  6. 论文笔记 Feature Selective Anchor-Free Module for Single-Shot Object Detection - CVPR 2019

    2019 FSAF Feature Selective Anchor-Free Module for Single-Shot Object Detection Chenchen Zhu, Yihui ...

  7. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  8. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  9. 论文笔记之:Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic

    前言:不知道你是否被这张实验效果图所震撼?Yes, I do. 那么他是怎么做到的呢?本文提出了一种给灰度图像自动上色的框架,结合了图像的局部和全局先验知识 (both global priors a ...

最新文章

  1. OpenCV图像梯度(Sobel和Scharr)
  2. 一份传世典文:十年编程(Teach Yourself Programming in Ten Years)
  3. 必备快速定位排查问题命令
  4. 关于 ABAP 调试器里的 16 进制值的显示问题
  5. Ubuntu系统中利用Sublime分别运行Python与Python3
  6. 文字排版 - bootStrap4常用CSS笔记
  7. LeetCode 496. 下一个更大元素 I(哈希)
  8. ajax判断网络中断,如何检测由于网络Ajax调用失败断开
  9. mybatis实现代码自动生成
  10. 按3倍中误差去除粗差(C++)
  11. Mini-C编译器设计与实现 文档+任务书+评价表+PPT+项目源码
  12. mysql 抢票_PHP 高并发、抢票、秒杀 解决方案
  13. C语言笔记本电脑销售系统课设
  14. 类似于QQ的网络聊天室
  15. C++数据结构问题:线性表的数据元素右移
  16. ABP 源码学习随笔
  17. FCPX插件:Stupid Raisins Title Pop (78个动画标题+2个额外背景)
  18. MySQL排名问题详解
  19. 汇编(一)——ARM指令格式
  20. OmniGraffle 7 注册码

热门文章

  1. oracle连接长时间未响应,Oracle的pl/sql客户端请求超时未响应的解决方法及装置与流程...
  2. 2019,新的一年。
  3. 详尽分析世纪之战:360VS腾讯是两个阶层的抗争 下
  4. 算法交易是指使用计算机,量化投资(下篇)——程序化交易 100分题库及答案...
  5. 四川自贡哪里有学计算机基础的,自贡计算机专业学校
  6. 职场反思及感悟(不断更新中)
  7. Skype开始支持微软账号与Skype账号的解绑定
  8. 大数据概况及Hadoop生态系统总结
  9. 管理者十句最不应该说的话
  10. 内存修改 android免root,真正免root的Cheat Engine修改器详细使用教程