一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力机制和邻域一致性的特征匹配方法

2022-07-16 10:49:25 来源:中国专利 TAG:


1.本发明涉及一种基于注意力机制和邻域一致性的特征匹配方法及装置技术,属于基于深度学习的计算机视觉技术领域。


背景技术:

2.特征匹配指从两幅图像的点和特征中找到正确的对应关系,是许多3d计算机视觉任务的关键环节,例如运动恢复结构(structure from motion)、同时定位和地图创建(simultaneous localization and mapping)。获得正确的匹配可以为这些上游任务打下良好的基础,但是遮挡、模糊、类似的重复纹理、照明和透视变化会使它极具挑战性。因此,如何找到隐藏在描述符中的信息,如上下文信息和邻域一致性信息,以消除干扰是特征匹配中最重要的过程之一。
3.经典的特征匹配流程一般由4部分组成:(1)关键点检测(2)特征描述(3)特征匹配(4)几何变换估计。在深度学习方法兴起之前,有很基于多手工设计的检测和描述方法,它们具有良好的性能并广泛用于3d计算机视觉任务。而特征匹配和几何变换估计的基本方法是最近邻搜索和随机抽样一致算法。
4.随着深度学习的快速发展,基于深度学习的关键点检测和特征描述方法提高了关键点和描述子的表征能力,使得特征匹配能够在剧烈光照、视角变化等具有挑战性的条件下进行。
5.然而,仅仅通过最近邻搜索这一传统匹配方法仍然很难获得高质量的匹配,因为它忽略了描述符中包含的上下文信息。基于深度学习的匹配器可以有效的解决此问题,例如基于注意力网络方法可以使用自我和交叉注意力网络来聚合上下文。这是一种有效的特征匹配结构,但是在将注意力机制应用到特征匹配任务时会导致邻域一致性的缺失,因为注意力网络可以被看作一个所有节点全连接的图神经网络。这意味着源图中的相邻节点可以映射到目标图中非常不同的区域,这是违反匹配问题的邻域一致性准则的。所以本方法在应用注意力机制的同时,创新性的将邻域一致性融入到注意力聚合中。


技术实现要素:

6.本发明所解决的问题是,自注意力和交叉注意力网络应用与特征匹配任务时,可以感知描述符中包含的全局信息,但它忽略了描述子间的局部信息,所以本方法使用图神经网络和节点着色评估每个节点的邻域一致性,并用多层感知机将一致性信息融入每个节点的描述子,注意力网络和一致性的结合使得本网络可以同时感知全局信息和局部信息,进一步加强描述子的表征能力,获得更好的匹配结果。
7.为实现上述目的,本发明采取以下技术方案:一种基于注意力机制和邻域一致性的特征匹配方法,其包括:
8.步骤1、读取图像灰度图,使用深度卷积神经网络提取图片关键点p及其描述子d;
9.步骤2、以步骤1获得的关键点p和描述子d为输入,设第i个关键点的位置和和描述
子分别为pi和di,本方法使用多层感知机mlp
pc
将关键点的空间位置信息嵌入到描述子中,即:
[0010][0011]
步骤3、将步骤2获得的描述子在自注意力网络和交叉注意力网络中交替作用9次,自注意力网络作用为加强描述子表征能力,交叉注意力网络作用为寻找两图片的描述子之间的对应关系,两者均对图像的全局信息进行传递。设第l层的输入为x
t(l)
和x
s(l)
,自注意力层和交叉注意力层均使用多头注意力结构,两者不同之处在于前者的输入为相同的描述子,而后者的输入为来自不同图像的描述子。首先对输入描述子进行layernormalization操作,然后用线性层将x
t(l)
线性投影到k
(l)
,v
(l)
,将x
(l)
线性投影到q
(l)
。多头注意力表示为:
[0012]
attention(q
(l)
,k
(l)
,v
(l)
)=softmax(q
(l)
(k
(l)
)
t
)v
(l)
[0013][0014][0015][0016]
其中q、k、v被按照通道数划分为h个头qi、ki、vi(i=0,...,h)分别计算注意力,再使用线性层将h个头进行合并,然后输入前馈网络生成下一步骤的输入。
[0017]
步骤3中的自注意力层额外融合了邻域一致性的信息,现说明邻域一致性的计算以及如何将其融入到注意力聚合中。首先使用k近邻算法根据注意力权重将两张图片的描述子构建为两个图,名为源图gs和目标图g
t
,每个节点与8个最相似的节点建立边,构成其“邻域”,在两个图中形成的边表示为e
s(l)
和e
t(l)
。在构建的两图中,生成随机节点着色矩阵r作为源图着色矩阵,用两描述子内积计算得到目前关键点的对应矩阵然后和r内积计算变换后的着色矩阵t,即目标图的着色矩阵。为了评估每个节点的邻域一致性,通过共享图神经网络在两个图上执行信息传递,生成新的节点着色表示,即
[0018][0019][0020]
邻域一致性可以通过两图的新节点着色间的差异来衡量,然后用多层感知机作为一致性信息的前馈网络:
[0021][0022]
最后,用线性层融合注意力信息与邻域一致性信息,再用残差连接更新描述子。
[0023][0024][0025]
步骤5、在进行9层注意聚合后,在匹配层两图片描述子内积计算得出最终对应矩阵s,作为最优运输问题的成本矩阵。然后应用sinkhorn算法迭代获得最优分配矩阵p。基于最优分配矩阵p,首先排除值小于匹配阈值的匹配,然后使用互最近邻准则选择最终匹配m;
[0026]
步骤6、搭建pytorch深度学习开发环境,将数据集划分为训练集、验证集和测试
集。训练期间,根据单应性矩阵(单应性估计任务)或相机位置和深度(相机位姿估计任务)计算真实匹配m
gt
。损失函数为最优分配矩阵上的负对数似然损失函数,即
[0027][0028]
注意力网络和邻域一致性网络共同由此损失函数监督训练。
[0029]
有益效果:
[0030]
本发明是一种基于注意力机制和邻域一致性的特征匹配方法,具有以下有益效果:
[0031]
1、本方法用深度卷积网络提取稀疏的关键点和描述子,而非提取密集的特征图,有效地改善了注意力机制的平方空间和时间复杂度的缺点。
[0032]
2、本方法使用深度注意力网络加强描述子,不同于深度卷积网络,此网络具有全局感受野,可以聚合来自所有节点的信息,使得描述子能够充分感知全局上下文信息,从而提高描述子之间的匹配质量;
[0033]
3、本方法考虑到由于注意力模块具有排列不变性,无法在空间上区分每个节点,因此有必要将位置信息嵌入到描述符中,使用了多层感知机实现关键点的空间位置信息嵌入生成特征的初始表示;
[0034]
4、本方法改善了基于注意力模型的缺乏局部信息的缺点,引入了匹配问题中的重要准则匹配领域一致性准则,设计了评估邻域一致性的图神经网络将局部信息融入全局信息。
[0035]
综上,基于注意力机制和邻域一致性的特征匹配方法改进了基于注意力机制的特性匹配算法,得到了更稳定更准确的特征匹配模型,在图像配准、三维重建、视觉定位等领域有着广泛的应用前景。
附图说明
[0036]
图1是本发明的整体流程图;
[0037]
图2是常规注意力聚合和融入邻域一致性的注意力聚合流程图对比;
[0038]
图3是本发明方法中邻域一致性网络的流程图。
具体实施方式
[0039]
下面结合附图,对本发明提出的一种基于注意力机制和邻域一致性的特征匹配方法进行详细说明:
[0040]
步骤1、输入单张图片,对输入图片进行随机单应变换并生成单应性矩阵,得到输入网络的原图和变换图两张图片,以及用于监督网络训练的groundtruth单应性矩阵。使用superpoint深度卷积网络对两张图片提取关键点和描述子,得到基于注意力机制和邻域一致性模型的输入关键点坐标p和256维描述子d,假设图像a和b各有m和n个关键点,则两图像关键点p的维度分别为(m,2)、(n,2),描述子d的维度分别为(m,256)、(n,256)。
[0041]
实验数据集为r1m,r1m是包含1,001,001个高分辨率图片的图像检索数据集,它涵盖了全球各地超过20个地标的图片,具有复杂的视角变化、光照变化、模糊和遮挡等,非常适合用于训练和评估特征匹配网络。将r1m划分为训练集、验证集和测试集,分别包含
1000000、501、500张图片。
[0042]
步骤2、如图1,以步骤1获得的关键点p和描述子d为输入,使用多层感知机将关键点的空间位置信息嵌入到描述子中,其中多层感知机有三层隐藏层,将关键点维度从2依次扩展为32、64、128,最后输出256维的位置编码向量,与描述子相加实现位置信息的融入,生成特征的初始表示x
i(0)

[0043]
步骤3、将步骤2获得的特征初始表示x
i(0)
在自注意力网络和交叉注意力网络中交替作用9次,自注意力网络加强描述子表征能力,交叉注意力网络寻找两图片的描述子之间的对应关系,两者均对图像的全局信息进行传递。设第l层注意力网络的输入为x
s(l)
和x
t(l)
,自注意力网络的输入为同一图片的描述子,即x
s(l)
=x
t(l)
,交叉注意力的输入为两张图片的描述子。使用三个线性层分别将x
t(l)
投影到k
(l)
、v
(l)
,将x
s(l)
投影到q
(l)
,特征维度依然为256维。本方法中的注意力网络均使用多头注意力机制,将q、k、v分为4个头,每个头的维度为64维,在每个头中分别计算注意力。
[0044]
为了在自注意力网络中融入邻域一致性信息,首先根据注意力权重使用k近邻算法构建图,每个节点和8个最相似的节点建立边,构成其“邻域”。在构建的两图中,为其中一图生成随机节点着色矩阵r作为源图着色矩阵,每个节点随机着色向量为64维,得到随机着色矩阵的维度为(m,64)。如图2,用两描述子内积计算得到目前关键点的对应矩阵其维度为(m,n)。然后和r内积计算变换后的着色矩阵t,即目标图的着色矩阵,其维度为(n,64)。通过共享图神经网络在两个图上执行信息传递,生成新的节点着色表示,本方法使用图神经网络库pytorch geometric中的splineconv网络作为信息传递的图神经网络。着色信息传递后,邻域一致性可以通过两图的新节点着色间的差异来衡量,然后用多层感知机作为一致性信息的前馈网络,各层输出维度分别为64、64。如图3,将256维的注意力信息和64维的邻域一致性信息合并为320维向量,再用多层感知机融合两者,各层输出维度为320、256,最后再用残差连接将本层的更新信息与本层输入的描述子相加,更新描述子,图二展示了融入一致性的自注意力聚合和常规自注意力聚合的对比。
[0045]
步骤4、利用全局信息与局部信息强化描述子后,将两图片描述子点乘获得得分矩阵s,其维度为(m,n),将其作为最优运输问题的成本矩阵,然后应用sinkhorn算法迭代获得最优分配矩阵p,其维度与s保持一致,本方法中sinkhorn算法迭代次数为20次。基于p,首先过滤小于匹配阈值的匹配,最后使用互最近邻准则选择最终匹配m,本方法中匹配阈值为0.2;
[0046]
步骤5、本方法利用pytorch进行训练,并参考工程参数设置经验来设置相关参数。设置batch size为4,代表每次加载4张样本图片,设置adamw优化参数作为基础迭代器,初始学习率设置为0.0001,warm up epoch设置为1,应用余弦学习率衰减,momentum动量因子设置为0.9,weight decay权重衰减因子设置为0.0001,训练总epoch为30。训练期间,根据groundtruth单应性矩阵和关键点计算真实匹配m
gt
,真实匹配的判定条件为重投影误差小于3像素。损失函数为最优分配矩阵上的负对数似然损失函数,注意力网络和邻域一致性网络由此损失函数共同监督。
[0047]
以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,凡是在此技术方案基础上所做的任何改动,都属于本发明提出的技术思想,均落入本发明权利
要求书的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献