【引用格式】:Lu X, Du S. Raising the Ceiling: Conflict-Free Local Feature Matching with Dynamic View Switching[J]. arXiv preprint arXiv:2407.07789, 2024.
【网址】:https://arxiv.org/abs/2407.07789
目录
3 Conflict-Free Coarse Matching
3.3 Many-to-One Coarse Matching with Dustbin
一、瓶颈问题
- 在小尺度图像中,重叠区域有限,导致可匹配的关键点数量大幅减少。
- 在密集匹配上,处理大规模变化场景时,由于采用一对一的匹配策略,会导致匹配冲突,即多个像素点对应到小尺度图像中的少数像素点。
- 稀疏方法通过检测器缩小匹配器的搜索范围,但同时也过度依赖关键点的重复性。在挑战性场景中,如果输入的关键点没有在两幅图像中精确检测到对应位置,将导致真实匹配数量减少。
二、本文贡献
- 提出动态视图切换机制(Dynamic View Switching),通过学习切换图像对,将较大尺度的图像切换到源图像,从而显著增加重叠区域内的可匹配关键点数量。
- 提出无冲突的粗匹配模块(Conflict-Free Coarse Matching Module),采用多对一的匹配策略,允许每个可匹配点独立寻找对应关系,从而解决匹配冲突。
- 采用半稀疏范式(Semi-Sparse Paradigm),在源图像中检测关键点,并在目标图像中执行密集搜索,消除了对两幅图像中精确检测关键点的要求。
三、解决方案
首先通过U-Net提取模块在两幅图像中提取粗细特征;随后,两幅图像的粗特征放到视图切换器中进行处理,这里将大尺度图像的粗特征切换到稀疏分支,检测头提取为稀疏特征。并将小尺度图像的粗特征保留为密集特征;然后,通过无冲突的粗匹配模块以多对一的方式匹配稀疏和密集特征;最后,精细匹配模块裁剪粗匹配位置的精细特征,并通过基于相关性的方法细化粗匹配。
1 Local Feature Extraction
在局部特征提取中,文中将SuperPoint中的VGG样式编码器扩展到U-Net架构,从图像中提取多尺度特征和。通过解码器的输出特征作为精细特征,分别表示为和。另外通过合并来自多个分辨率的特征形成粗特征,记为,增强了无冲突匹配模块的鲁棒性。
2 View Switching Module
当使用小规模图像作为源图像会导致可匹配点的稀疏性,从而导致匹配较少。为此,文中提出了一种名为视图切换器的二元分类网络,来确定是否切换源图像和目标图像。其中是使用了轻量级的CNN来处理粗特征和的相关图,来感知尺度变化,具体如下公式所示:
- Pool( ):平均池化
- Corr( , ):内积,计算相似度
训练视图切换器的目的:保证稀疏分支处理更大规模的图像,密集分支处理较小的尺度图像。
在稀疏分支中,文中使用检测头来检测关键点,并将关键点位置的特征图采样为稀疏特征。U-Net编码器和检测头继承SuperPoint,并将参数冻结,是关键点检测等价于SuperPoint。假设检测到N个关键点,稀疏分支中的特征从减少为。
3 Conflict-Free Coarse Matching
3.1 Position Encoder
鉴于注意力机制缺乏对特征位置的意识,文中通过位置编码器 PE 将位置信息嵌入到粗特征
中,其中轻量级 MLP 将位置信息逐步扩展为粗特征维度并更新粗特征。P 包含关键点的 x 和 y 坐标,以及它们由检测头生成的置信度分数 s。
3.2 Attention Layer
文中采用自注意层和交叉注意层对稀疏和密集特征进行全局增强。这里不同于密集方法中的linear attention,由于是半稀疏匹配范式,这里文中使用了(香草注意)vanilla attention【Attention is All you Need】,公式如下:
注意消息表示为 M。在 self-attention 中,Q、K、V 是单个特征集的三个线性投影。在交叉注意力中,Q 是从一个特征集投影的,而 K 和 V 是从另一个特征集投影的。
前馈网络 处理注意力消息 M 以更新特征为:
其中 是第 i 层的特征,|| 是连接操作。文中稀疏和密集特征执行自注意力和交叉注意力L1次,从而产生捕获全局信息的增强特征和 。
3.3 Many-to-One Coarse Matching with Dustbin
通过全局信息的特征,文中使用多对一的方式在稀疏特征和密集特征之间执行匹配。这里文中利用了一组可学习的参数作为dustbin,即接收没有匹配的关键点,表示为 ,并将其与密集特征连接:。通过引入dustbin来匹配不匹配的特征,使匹配器能够处理非重叠区域和遮挡。匹配分数矩阵计算如下式所示:
目前的密集方法是利用dual-softmax 算子计算粗匹配概率,但是这就限制了每个特征最多只能匹配一个特征,即一对一匹配。针对这个问题,文中使用了单softmax来实现多对一的匹配:
其中,每个稀疏特征只能有一个密集特征或dustbin,而一个密集特征可以匹配多个稀疏特征。最后丢弃dustbin匹配,并筛选出超过阈值的匹配结果。
4 Fine Matching
对于每个粗匹配,文中在源精细特征图上采样单个特征,并在目标精细特征图上裁剪大小为 w ×w 的特征窗口。给定 K 个粗匹配的集合,分别得到稀疏分支和密集分支的精细特征: 和 。
之后,和 经过L2次迭代的交叉注意模块处理,进行微调。不同的是,文中使用3×3的卷积来替换自注意力模块,达到捕获密集特征的上下文的目的,公式如下:
文中计算源特征窗口的质心与目标特征窗口中的所有特征之间的相关性图,表示匹配概率,然后通过计算概率分布的期望得到精细匹配位置。
5 Loss
文中的损失共包含四部分:(1)粗匹配损失 ;(2)粗垃圾箱(dustbin)损失 ;(3)精细匹配损失 ;(4)视图切换损失
地面实况匹配 是从相机姿势和深度图生成的,在稀疏和密集特征之间建立多对一的对应关系。还获得了不匹配稀疏特征,它们是没有任何真实匹配的关键点。
粗匹配损失:每个注意力层的匹配概率矩阵上地面实况匹配的负对数似然损失,公式如下:
粗垃圾箱损失:匹配概率矩阵的最后一列上不匹配稀疏特征的负对数似然损失,表示与dustbin的匹配概率,公式如下:
精细匹配损失:每个细化位置和地面实况位置之间的 L2 距离计算,与LoFTER计算中的计算方式相同。
视图切换损失:文中在每个图像对中随机选择 500 个ground-truth 匹配并计算每张图像中点之间的距离。平均距离较大的图像被识别为大尺度图像。如果原始源图像是更大规模的图像,则ground-truth 是假的,反之亦然。计算公式如下:
四、实验结果
RCM 和 RCMLite 都由 L1 = 5 层粗注意力和 L2 = 2 层细注意力组成。粗略和精细特征的维度分别为 C1 = 256 和 C2 = 64。对于RCM,粗特征分辨率为1/8,细匹配窗口大小为w = 5。对于RCMLite,粗特征分辨率为1/16,细匹配窗口大小为w = 9。可学习温度τ初始化为0.1,粗匹配阈值θc设为0.2。
1 Homography Estimation
HPatches dataset
2 Relative Pose Estimation
MegaDepth and the ScanNet
3 Visual Localization
Aachen DayNight v1.1
4 Ablation Study
(1)(2)(3)为基线模型,仅仅在采集策略上有所不同;(1)检测两幅图像中的关键点(2)使用密集特特征作为粗特征(3)检测源图像中的关键点,并在目标图像中使用密集特征;