【CVPR2023】Adaptive Spot-Guided Transformer for Consistent Local Feature Matching

论文提出了一种新型的自适应点引导Transformer(ASTR),针对局部特征匹配中的问题,通过点引导聚合模块保持局部一致性,自适应缩放模块处理尺度变化。ASTR在SfM等领域展现优秀性能,超越现有方法。

Adaptive Spot-Guided Transformer for Consistent Local Feature Matching

该论文在LoFTR基础上进行改进

论文链接:Adaptive Spot-Guided Transformer for Consistent Local Feature Matching | IEEE Conference Publication | IEEE Xplore

代码:

1.Introduction

研究背景:

1.局部特征匹配问题是3D视觉任务的基础,应用于诸如SfM、3D重建、视觉定位和姿态估计等领域。

2.局部特征匹配方法在光照变化、尺度变化、纹理不清晰和重复图案等因素下,很难找到一致且准确的匹配点。

3. 匹配方法分为两类:

1)基于检测器的匹配方法

需要设计一个关键点检测器来提取两幅图像之间的特征点,并建立这些特征点之间的匹配。检测到的关键点的质量将显著影响基于检测器的匹配方法的性能。这种方法能够在保持高计算和内存效率的同时取得令人满意的性能,但在无纹理区域可能难以找到可靠的匹配。

2)无检测器的匹配方法

不需要检测关键点,试图在局部特征之间建立像素级的匹配,因此能够在无纹理区域建立匹配。

4. 近年来出现了许多基于Transformer的方法,利用其在捕获长距离依赖关系方面的优势。然而,一些最近的研究出,Transformer在连续密集预测任务中缺乏空间上的归纳偏差,可能导致局部匹配结果的不一致。

现有方法存在问题:

1. 如何保持局部一致性:

  - 现有方法利用全局注意力进行特征聚合,引入了许多无关的区域,影响特征更新,导致局部一致性的匹配结果不准确。

  - 为了解决这一问题,有必要利用局部一致性将注意力集中在正确的位置上。

2. 如何处理尺度变化:

  - 在粗到细的架构中,由于粗阶段的注意机制对尺度变化不敏感,因此应该专注于细阶段。然而,以往的方法在细阶段选择固定大小的网格进行匹配。然而,当图像之间的尺度变化太大时,正确的匹配点可能超出网格的范围,导致匹配失败。

  - 因此,裁剪网格的方案应根据视图之间的尺度变化进行自适应调整。

研究方法:

本研究提出了一种新的自适应点引导变换器(ASTR),包括点引导聚合模块和自适应缩放模块。

点引导聚合模块利用了

CVPR 2023中,关于使用高置信度伪标签进行协同训练的研究是一个值得关注的方向。这类方法通常应用于半监督学习场景,旨在利用少量标记数据与大量未标记数据相结合,以提高模型的泛化能力和性能[^2]。 一个相关的研究方向是通过一致性正则化和伪标签生成来提升模型表现。例如,Mean Teachers方法通过维护一个教师模型,该模型的权重是学生模型权重的指数移动平均(EMA),从而提供更稳定的预测结果作为伪标签。这种策略已被证明能够显著提高半监督学习的效果,并被广泛应用于图像分割等任务中[^2]。 尽管具体的CVPR 2023论文列表可能无法直接获取,但可以推测,在这一年会议上很可能有进一步发展这一领域的论文。这些工作可能会探索如何更有效地选择或加权伪标签,以及如何结合不同的训练策略如协同训练来增强模型鲁棒性和准确性。 对于寻找特定的CVPR 2023论文,建议访问CVPR官方网站或者使用学术搜索引擎如Google Scholar、Semantic Scholar等,搜索关键词"CVPR 2023 Co-training with High-Confidence Pseudo Labels"或者相关作者名字,这将有助于找到最准确的相关研究成果。 此外,考虑到会议论文发表的时间性和新颖性,确保查阅最新的数据库更新是非常重要的,因为新的研究发现会不断涌现并影响当前的最佳实践。 ```python # 示例代码:创建一个简单的伪标签生成器 def generate_pseudo_labels(model, data_loader, confidence_threshold=0.9): model.eval() pseudo_labels = [] with torch.no_grad(): for inputs, _ in data_loader: outputs = model(inputs) probabilities = F.softmax(outputs, dim=1) max_probs, predicted_labels = torch.max(probabilities, dim=1) # 仅保留那些具有高置信度的预测 high_confidence_mask = max_probs > confidence_threshold pseudo_labels.extend(zip(predicted_labels[high_confidence_mask], inputs[high_confidence_mask])) return pseudo_labels ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值