当前位置: 首页 > article >正文

视觉定位Revisit Anything

Revisit Anything: Visual Place Recognition via Image Segment Retrieval

项目地址

摘要: 准确识别重游地点对于嵌入代理的定位和导航至关重要。这要求视觉表现清晰,尽管摄像机视点和场景外观有很大变化。现有的视觉地点识别管道对“整个”图像进行编码并搜索匹配。这给匹配从不同摄像机视点拍摄的同一地点的两幅图像带来了根本性的挑战:“重叠部分的相似性可能被不重叠部分的不相似性所支配”。我们通过编码和搜索“图像片段”而不是整个图像来解决这个问题。我们建议使用开集图像分割将图像分解成“有意义的”实体(即事物和东西)。这使我们能够创建一个新的图像表示,作为连接一个片段与其相邻片段的多个重叠子图的集合,称为超片段。此外,为了有效地将这些超片段编码成紧凑的向量表示,我们提出了一种新的特征聚合的分解表示。我们发现,检索这些部分表征比典型的基于整幅图像的检索具有更高的识别召回率。我们基于片段的方法称为SegVLAD,在各种基准数据集上建立了一种新的最先进的位置识别,同时适用于通用和专用图像编码器。最后,我们通过在对象实例检索任务上评估我们的方法,展示了我们的方法“重访任何东西”的潜力,该任务通过识别特定于一个地点的目标对象的共同目标,桥接了两个不同的研究领域:视觉地点识别和对象-目标导航。

引言: 视觉位置识别(VPR)是实体智能体实现自主定位和导航的重要能力。VPR的主流解决方案是将图像编码为全局向量,并检索相似向量作为粗略定位假设。因此,近十年来,研究人员一直致力于学习/微调图像编码器,以便生成对表观、视角和杂乱背景具有不变性的全局描述符。另一方面,关于局部描述符(点/像素级)的文献众多,这些描述符主要与层次化VPR中的几何重排序相关。在局部描述符和全局描述符之间,存在多种使用区域/块、线/面、物体(事物/物品)和分割区域来表示图像的方法。然而,这些方法仍然只旨在改进基于全局描述符的粗略检索或基于局部特征匹配的重排序。本文中,与传统基于检索的VPR不同,我们探索了一种替代方案:通过编码分割区域而不是整个图像来进行检索。这尤其得益于近期开放集图像分割领域的进展,其可以有意义地将一个地点解构为“事物”(和/或“物品”)。因此,我们将VPR问题中地点的重访重新定义为在地点背景下对这些特定事物的重访,从而实现对这些特定事物的识别。虽然这种基于分割区域的位置识别方法为更高级别的语义任务(如目标导向导航)提供了直接联系,但它也解决了从显著视角变化中匹配部分重叠图像的一个基本问题。基于分割区域的图像部分表示避免了当重叠部分的相似性被非重叠部分的不相似性所主导时,由整个图像表示引起的失配。

贡献:
我们提出的新颖的基于分割区域的VPR方法,称为SegVLAD(基于局部聚合描述符的分割区域向量),该方法有以下新颖贡献:

  1. 提出了一种图像表示方法,即将图像表示为多个重叠的分割区域子图的集合,称为“超级分割区域”,这能够在部分重叠的图像中实现准确识别;
  2. 提出了一种特征聚合的分解表示方法,以有效融合分割区域级信息以及分割区域邻域信息;
  3. 提出了一种相似性加权排序方法,将分割区域级检索转换为图像级检索。
    通过使用多种数据源,我们证明了所提出的基于分割区域的检索方法能够在全局描述符检索效果较差的大视角变化下实现位置识别。SegVLAD在多个具有挑战性的数据集上达到了新的最先进水平。我们还介绍了在实例级对象检索任务上对我们方法的评估——这是我们的管道的一种新颖能力,与传统VPR方法不同。我们进行了几项消融实验和参数研究,以证明设计选择的合理性,并强调了我们作为开放集基于分割区域的粗略检索器的有效性。

方法:
图1:我们基于分段检索的 VPR 管道(称为 SegVLAD)的概述:我们使用开放集分段器 (SAM) 来提取分段掩码,然后使用相邻图像分段将其转换为超级分段。使用像素级 DINOv2 描述符和基于 VLAD 的聚合,我们获得 SuperSegment 描述符,该描述符与从整个参考数据库的所有图像获得的 SuperSegment 描述符的平面索引进行匹配。
在这里插入图片描述
尽管位置识别技术近期取得了进步,但视角变化仍然是实体智能体识别环境中相同特定事物的一个开放性挑战。当前视觉位置识别方法通过将整个图像转换为全局描述符来解决这一问题,这并没有明确处理由视角变化引起的部分视觉重叠问题。我们提出了一种替代解决方案,即借助图像分割区域对图像进行部分表示。我们将描述我们的表示和检索方法,该方法偏离了传统的VPR技术,但在识别构成地点的物体/事物方面创造了一种新能力。

在这里插入图片描述
图 2:最左边图像中的一个窗口到最右边图像中的整个建筑物的邻域扩展(等式 1),从无邻域聚合进展到三阶聚合。这种邻域扩展与典型的常规基于网格或基于补丁的方法形成鲜明对比,后者可能无法捕获语义上有意义的超级分段。
在这里插入图片描述

在这里插入图片描述
图 3:从同一图像获得的四个 SuperSegment 的图示。所有这四种方法在空间上彼此重叠,这与通常不允许跨片段重叠的粗分割方法不同。

具体过程参考原文方法

实验:
在这里插入图片描述
表1展示了在标准户外街景数据集上与最先进的视觉位置识别(Visual Place Recognition, VPR)方法的Recall@1/5对比,这些数据集与用于VPR的典型训练数据集相似。表2涵盖了受AnyLoc[32]启发的“分布外”数据集,包括室内环境(百度商场和17个场所)、航空影像(VPAir)、室内到室外的视角(InsideOut)和历史图像匹配(AmsterTime)。片段聚合与全图聚合:表1和表2显示,考虑到主干网络变体(PreT和FineT),我们提出的方法SegVLAD在大多数数据集上达到了新的最先进的水平。AnyLoc和SALAD在聚合范围(全局与片段)上与SegVLAD-PreT和SegVLAD-FineT分别不同。因此,SegVLAD的卓越性能清楚地凸显了基于片段的检索方法相较于基于全图方法的优势。在百度商场数据集(高度混淆的室内环境)上,我们的方法(预训练)相较于AnyLoc在R@1上绝对增益提高了3%−5%,在R@5上提高了约6%。在InsideOut数据集(匹配从室内视角拍摄的室外图像)上,我们的方法实现了“有意义”的召回率,而其他所有基线方法均未实现。总体而言,这些结果凸显出,即使使用了强大的图像编码器(如DINOv2),全局聚合在应对主要视角变化下的图像匹配挑战时仍显得力不从心——因此,需要的是部分图像表示和匹配,以获得卓越的识别性能。

在这里插入图片描述
消融实验:定性结果:列分别代表查询图像、SegVLAD 的正确匹配和 AnyLoc 的错误匹配。来自不同数据集的示例:AmsterTime、百度商城、Pitts-30K 跨行呈现。

总结与讨论: 在本文中,我们提出了一种新颖的基于图像片段描述和检索的视觉位置识别流程SegVLAD,这类似于“重温事物”作为识别构成某个地点特定实例的手段。我们提出的基于超级片段的图像表示和基于新颖因子分解的特征聚合,使我们能够有效地利用片段相似性加权的图像排名来表示和检索图像。我们的结果表明,尽管使用了强大的图像编码器(如DINOv2,无论是预训练还是针对VPR微调),现有的基于全局描述符的技术仍无法应对视角变化带来的挑战。相比之下,SegVLAD能够通过其部分图像表示(以片段的半全局子图,即超级片段的形式)匹配部分重叠图像来正确检索图像。因此,我们的方法在三个不同的数据集(室内和室外)上取得了最先进的结果,这些数据集除了外观变化和高度感知混淆等其他挑战外,还呈现出强烈的视角变化。通过一项额外的物体实例检索研究,我们证明了我们的方法在识别其特定地点上下文中的物体实例方面的独特能力——这是现有VPR方法所缺乏的一种开放集识别能力。我们的方法转变了基于检索的VPR研究的范式,因为传统方法主要将研究划分为基于全图全局描述符的粗略检索或基于局部特征的几何重排序。我们的方法补充了最近的一些并行工作,如MESA;未来的工作可以探索一种紧密集成了基于片段的粗略检索器和基于片段的重排序器(如MESA)的层次化VPR流程,从而完全摒弃全局全图描述符。此外,具有隐式内嵌语义的基于片段的表示,为通过CLIP和大型语言模型(Large Language Models, LLMs)创建基于文本的接口提供了一种自然方式,这些接口可以很容易地与这一方向上的最新研究相结合。

对更多实验结果和文章细节感兴趣的,可以阅读一下论文原文


http://www.kler.cn/news/335980.html

相关文章:

  • 在不支持WSL2的Windows环境下安装Redis并添加环境变量的方法
  • 代码随想录算法训练营第二十七天|第77题. 组合 216.组合总和III 17.电话号码的字母组合
  • 胡超:引领中美能源与文化合作的创意先锋
  • 《从零开始大模型开发与微调》真的把大模型说透了!零基础入门一定要看!
  • [Linux] Linux 初识进程地址空间 (进程地址空间第一弹)
  • 秒表实验(Proteus 与Keil uVision联合仿真)
  • 51c视觉~CV~合集2
  • Java之String类
  • PyEcharts教程(001):PyEcharts介绍
  • 力扣977.有序数组的平方
  • 【Python】Python-JOSE:Python 中的 JSON Web Token 处理库
  • Neo4j CQL语句 使用教程
  • 【微服务】服务注册与发现 - Eureka(day3)
  • 【MYSQL】mysql约束---自增长约束(auto_increment)
  • macOS .bash_profile配置文件优化记录
  • 基于pytorch的手写数字识别
  • 汇编内存寻址
  • 【C语言进阶教程】编译器优化
  • 滚雪球学Oracle[1.3讲]:内存与进程架构
  • 开发指南067-单元测试