论文解读——DISK:Learning local features with policy gradient

摘要

1.由于特征点的提取和匹配的离散化,提取局部特征的框架很难进行端到端的学习。
2.作者提出了一种基于强化学习的策略梯度的提取局部特征的框架,其通过端到端优化实现了很高的特征匹配度
3.该简单却强有力的概率模型使得训练和推理更加接近,特征提取更加密集,挑战了“什么是好的关键点”的传统假设。
4.本文提供了在三个公共基准场景下进行图像匹配的先进实验结果
论文解读——DISK:Learning local features with policy gradient_第1张图片
上图为SIFT和DISK在SFM下的特征提取图(右)和三维重建图(左)。其中,SIFT模型为图像匹配中基础的模型,而SFM算法是一种三维重建算法。可以看到本文提出的模型在三维重建上,纹理的复现更具优越性,在图像特征提取也是更加的密集和完整。

介绍(问题和模型的背景)

1.局部特征是计算机视觉领域很重要的一项技术,自从SIFT模型的诞生,很多应用应运而生,如三维重建,图像实景重定位等。随着深度学习的变革,其他应用多多少少有所提升。但是三维建模由于具有特征稀疏和需手工草稿的性质,成为了该领域应用最后的堡垒。三维建模背后的技术问题是,很难使用可区分的训练目标实现端到端地重建现在主流的一些任务实景。
2.由于计算的复杂性(两张图片每个像素都有可能是可以匹配的关键点),当特征描述符可以简单在预定义关键点中进行学习,检测和匹配任务更难被单纯地分割开。此外,在训练过程中,要注意选取的关键点质量很重要,如果该关键点与其他像素点没有很明显的区别,它将失去价值。综上原因,作者通过建立训练(特征提取)和推理(特征匹配)的一体化,充分利用了CNN的表达能力,来解决这个问题。
3.主干网络以特征热图为输入,密集特征描述符为输出,离散的关键点从热图中进行采样,描述符为关键点的一种特征,用于图像距离的计算,最终达成图像匹配的效果。其中训练策略使用强化学习的策略梯度,通过研究几何真相来给每个匹配一个回报,回报的最大值也就是匹配的最佳值。虽然概率松弛是离散任务的一种有力的方案,但是它因为所期待的回报和梯度不能被计算而受到应用约束,所以本文采用蒙特卡罗方法实现回报反馈,但是收敛性会比较差
4.作者利用策略梯度,缩小了训练和推理的距离(也就是实现端到端),并且需要从零开始训练模型,最大限度地设计出这个用于局部特征提取的方法。该方法在匹配精确度上优于很多以前提出的模型。

相关工作(对该领域研究的调查)

1.局部特征提取通常分为三个步骤:寻找关键点,估计其方向,计算描述向量
2.传统的模型如SIFT或SURF,使用了许多的手工制作的启发。第一波使用深度网络从关键点中学习特征描述符的模型有… 它们现在仍是较为先进的算法,而其他模型(不是使用深度网络学习的)则是关注于关键点或特征方向。这些方法主攻方法的单个元素(即将三个步骤分开进行研究)。当然,也有端到端训练的模型以整个过程进行优化并且获得不错的效果,它们是… 但是它们不是使用了不精准的方法近似真实物体,就是破坏了可微性或进行夸大的假设(比如认为描述符空间中的极值具有良好的特征)。
3.最近,两种缩小训练和推理的方法正在靠近我们,GLAMpoints 试图通过估计视网膜图像之间的同源性,并使用强化学习方法找到SIFT描述符正确匹配的关键点。因为匹配是确定性的,所以Q-learning可以用来对每个关键点匹配的回报进行回归,进而直接优化策略空间。如果只是使用手工制作的描述符就会把检测问题变为对强旋转方差特定领域的需求,这也是绝大多数模型的问题。
4.而RANSAC的增强特征点解决了具有一般不可微目标的更困难的学习问题,用于摄像机姿态估计。不幸的是,其用单一的奖励来监督所有节点检测和匹配决策——意味着其存在微弱的训练信号。这是一个强化学习的问题,它i必须依赖于经过预先训练的模型,而这些模型只能进行微调。而作者的方法可以被看作是他们方法的松弛,用一个替代目标进行训练以得到许多正确的特征匹配,这样可以增加训练的效果并获得不错的结果。

方法

问题定义
1.P(FI |I, θF ) θF代表检测参数,I为图像, 总体表示在对I使用θF检测参数后,FI的分布情况
2.P(MA↔B|FA, FB, θM) θM代表匹配参数,FA,FB为两张图提取的特征, 总体表示在使用θM匹配参数对两张图对应的特征进行匹配(MA↔B)的分布状况。
3.为了最大化P(MA↔B|FA, FB, θM) 需要对FA,FB的概率函数进行积分,而作者通过蒙特卡罗样本策略梯度下降来最大化匹配的回报,解决了这个问题。

特征分布
1.作者使用的特征提取网络基于U-net,对于输出,检测特征为一个通道,描述特征为N个通道。其中N依据SIFT和众多模型选取为128
2.K为特征点图,D为特征描述图。K被划分为h*h的子格,在每个子格最多选取一个特征,子格被裁剪为单元u,表示Ku,并且使用softmax操作符进行正则化。
Ps(p|Ku) = softmax(Ku)p 其中p为像素,Ku为裁剪的单元格,总体表示像素p在单元u的概率分布。
这个方案p仍然可能被拒绝,将改为 Pa(acceptp|Ku) = σ(Kup) 。其中,Kup表示p在u上的值,σ表示sigmoid函数。
**注意,Ps(p|Ku) = softmax(Ku)p 模拟的不同位置的相对偏好,Pa(acceptp|Ku) = σ(Kup)模拟了位置p的绝对质量。
**因此,在像素特征采样的总概率为P(p|Ku) = softmax(Ku)p · σ(Kup),也就是上述两者的乘积
只要知道特征对应的位置,就可以使用2范数描述符将他们联系起来,形如FI = {(p1, D(p1)),(p2, D(p2)), …}。
在模型推理时,argmax代替softmax,用符号函数代替σ。这个方法与Superpoint类似,但是作者保留了空间结构,并且以相对和绝对的方式解释单元格ku,而不是像Superpoint一样创建一个额外的reject bin。
softmax?argmax?softargmax?
sign?sigmoid?

匹配分布
1.如果知道FA,FB,将计算特征描述符的2范数距离以求获得一个距离矩阵D,然后生成匹配关系。为了获得好的特征,需要抑制模棱两可的点进行重复匹配。有两种方法可以解决这个问题:循环一致匹配和比率校验。循环一致匹配通过加强两个特征在描述符空间为彼此最近的邻居,来减少假定匹配的数量和增加正确匹配的比例。比率校验在SIFT中被提及,方法是如果第一近邻和第二近邻之间的距离比高于阈值,就拒绝匹配,以返回有信心的匹配。这两种方法通常被结合使用,也获得了不错的效果,但是它们是不易可微的。
2.作者的方法是松弛循环一致匹配,其中距离矩阵的行代表A->B的距离,列代表B->A的距离。如果Ai与Bj匹配,即正向匹配和反向匹配都被采样且采样一致。正向匹配的概率分布函数为 PA->B(j|d, i) = softmax (−θMd(i, ·))j,θM是一个单参数,为softmax temperature的一个逆。B->A对应公式的距离矩阵自然是d的逆。
3.给定FA,FB后,任何特点的匹配的概率分布都可以用这公式计算:P(i ↔ j) = PA->B(i|d, j) · PA<-B(j|d,i),那么总的匹配回报自然是每对匹配的回报之和。利用回报寻找最大值作为模型的策略梯度,而不需要取样。(作者认为模型覆盖率好是因为这里没有像Reinforced Feature Points进行取样)

回报函数
depth maps中包含了几何匹配真相,如果pai和pbi都有深度,并且两个点位于他们各自重建的投影的像素内,则是匹配正确。如果pai和pbi都没有深度,但是点之间的距离小于指定像素,则称它们的匹配是合理的。其他情况则视为是不正确的。当正确时回报函数为正数,合理时回报函数为0,不正确时回报函数为负数。

论文解读——DISK:Learning local features with policy gradient_第2张图片作者使用非极大抑制代替1元抽样方法进行训练并得到了更好的效果
第一张图是指定图片的某个小区域,第二张图是采用非极大抑制方法选择的特征展示,第三张图得到的headmap.
其中,第二张图的颜色代表点的贡献度,分为三种颜色,红橙黄,分别代表贡献度从高到低三个等级。根据对第二张图进行单元分割就得到了第三张图。

梯度估计


p(…)代表i,j两个点匹配的概率,r(i<->j)代表两个点匹配的回报
在这里插入图片描述
因为FA,FB从原始图片A,B进行特征提取,所以还包括对它们求导,也即它们也是未知量。本来应该是
P(i ↔ j|FA, FB, θM) * P(FA,i|A, θF ) * P(FB,j |B, θF ) 通过取对数转换得到上式。

需要注意的是,作者使用的公式对特征提取网络没有提供任何监督,只是通过这些特征所参与的匹配质量进行监督,也就是一个没有参与匹配的关键点,它的回报函数值为0。这是一个非常有用的方法,因为关键点可能不会同时出现在两张图片,只要它们没有创建不正确的关联,回报函数的值就不应该为负。**但是这可能导致在云或其他类似结构平台上有更多的不能匹配的特征,它对接下来的任务没有帮助却增加了图片匹配的复杂性。**对此,作者对每个取样的keypoint增加小小的惩罚,也可以被看做是一种正则化。

推理
一旦模型被训练完成,概率模型框架就被标准的周期一致校验代替,并且在验证集上采样比率校验。但作者的方法只限于网格,并有两个缺点,一是每个单元最多只能采样一个特征,二是每个单元对于它的临近单元都是盲的。因此,其可以选择两个相邻的像素作为不同的关键点。在推理过程对特征图使用非极大抑制,返回特征图的局部最大值来解决上诉问题,但是会导致训练和推理的不一致,形成潜在的次优解

实验

作者首先讲述了具体实现和实验所依赖的数据集,最后在三个不同基准来评估他们的方法,还提出了两个消融研究。

训练数据集
作者使用MegaDepth数据集的一个子集,选择了135个场景,包括63k图像。这是由COLMAP,一个先进的Sfm框架提供的数据集,并且其还提供了作者用来建立像素与像素间对应关系的密集深度估计器。作者省略了与图像匹配挑战测试数据集重叠的场景,并采用一种简单的协同可见性启发式方法对可行的图像进行采样。

论文解读——DISK:Learning local features with policy gradient_第3张图片

上图为作者使用不同方法在不同数量级数据上执行的实验结果。
其中,主度量为mAA即姿态估计的平均精度,NM为匹配数量,
NI为RANSAC干扰器数量(立体声度量),
NL为地标的数量,TL跟踪长度(多视角度量)。
实验结果的前三名分别被红绿蓝依次标注,可以看到DISK基本都是为红色,除了在8000图像下,mAA没有到达第一名。
可以由此看出DISK在高数量级下的mAA还没有显著突破,即更适用于小数量级。

特征提取网络*
作者实验了U-Net的一个变种架构,模型包含由单个55核的卷积层组成的4个向下和向上块,而不像标准的U-Net网络有两个卷积层,并且使用实例标准化代替批次标准化以及PReLU非线性。作者的模型包含**110万参数,其形式接收域为219219的像素**。

优化
虽然模型在匹配阶段只有一个可学习的参数,但是随着时间的增长,增加其值会有较好的实验结果。由于训练信号是基于匹配的特征,所以每批次处理三个共同可见的图像A,B,C

你可能感兴趣的:(科研)