视觉定位Revisit Anything

news2024/10/7 0:25:00

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.coloradmin.cn/o/2193266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作离线版Koczkatamas工具包

一、下载源码 从https://github.com/koczkatamas/koczkatamas.github.io下载koczkatamas.github.io-master.zip 二、解压 $ unzip koczkatamas.github.io-master.zip三、运行index.html 可以看到输入一个字符后,下面的各种编码都没有显示,则表示运行…

【玩转 JS 函数式编程_008】3.1.2 JavaScript 函数式编程筑基之:箭头函数——一种更流行的写法

文章目录 3.1.2 箭头函数——更流行的方式 Arrow functions - the modern way1. 返回值 Returning values2. this 值的处理 Handling the this value3. arguments 的处理 Working with arguments4. 单参数还是多参数? One argument or many? 写在前面 故天将降大任…

儿童需要学习C++多久才能参加信息学奥赛的CSP-J比赛?

信息学奥赛(NOI)是国内编程竞赛领域的顶尖赛事,而对于初学者来说,参加NOI的第一步通常是通过CSP-J(全国青少年信息学奥林匹克联赛初赛),这也是面向青少年程序员的入门级竞赛。作为信息学奥赛的基…

vue3使用three.js加载.obj模型示例

vue3使用three.js加载.obj模型示例 效果&#xff1a; 代码&#xff1a; 需要先安装three.js npm install three<template><div ref"threeContainer" class"three-container"></div> </template><script> import * as TH…

男单新老对决:林诗栋VS马龙,巅峰之战

听闻了那场激动人心的新老对决&#xff0c;不禁让人热血沸腾。在这场乒乓球的巅峰之战中&#xff0c;林诗栋与马龙的对决无疑是一场视觉与技术的盛宴。 3:3的决胜局&#xff0c;两位选手的每一次挥拍都充满了策略与智慧&#xff0c;他们的每一次得分都让人心跳加速。 林诗栋&am…

10.6学习

1.Hystrix / Sentinel ●服务雪崩场景 自己即是服务消费者&#xff0c;同时也是服务提供者&#xff0c;同步调用等待结果导致资源耗尽 ●解决方案 服务方&#xff1a;扩容、限流&#xff0c;排查代码问题&#xff0c;增加硬件监控 消费方&#xff1a;使用Hystrix资源隔离&a…

JavaSE——面向对象10:抽象类、接口

目录 一、抽象类 (一)抽象类的引出 (二)抽象类基本介绍 (三)注意事项和使用细节 (四)抽象类的最佳实践——模板设计模式 二、接口 (一)接口快速入门 (二)基本介绍 (三)注意事项与使用细节 (四)接口VS继承 (五)接口的多态性 1.多态参数 2.多态数组 3.接口存在多态…

CoreGen项目实战——代码提交信息生成

数据与相关代码见文末 1.概述 源代码与自然语言之间的语义鸿沟是生成高质量代码提交信息的一个重大挑战。代码提交信息对于开发者来说非常重要,因为它们简明扼要地描述了代码更改的高层次意图,帮助开发人员无需深入了解具体实现即可掌握软件的演变过程。手动编写高质量的提交…

Vite多环境配置与打包:

环境变量必须以VITE开头 1.VITE_BASE_API&#xff1a; 在开发环境中设置为 /dev-api&#xff0c;这是一个本地 mock 地址&#xff0c;通常用于模拟后端接口。 2.VITE_ENABLE_ERUDA&#xff1a; 设置为 "true"&#xff0c;表示启用调试工具&#xff0c;通常是为了…

Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群

随着业务的增长&#xff0c;陆续会有新的节点需要加入集群。当我们在集群中的某个节点上使用命令生成令牌时会出现报错信息。 # 生成令牌 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node出现报错信息&#xff1a; Unable to create enrollment…

VMware WorkStation Pro 15.5(低版本安装) 教学用

VMware WorkStation Pro 15.5(低版本安装) 教学用 文章目录 VMware WorkStation Pro 15.5(低版本安装) 教学用前言安装使用 前言 VMware Workstation Pro 15.5 是一款功能强大的桌面虚拟化软件&#xff0c;适用于在单台物理电脑上运行多个操作系统。它被广泛应用于软件开发、测…

【文献阅读】Attention Bottlenecks for Multimodal Fusion

Abstract 在多模态视频分类中&#xff0c;将各模态的最终表示或预测进行后期融合&#xff08;“后期融合”&#xff09;仍然是主流范式。为此&#xff0c;本文提出了一种基于 Transformer 的新型架构&#xff0c;该架构使用“融合瓶颈”在多个层次进行模态融合。与传统的成对自…

科研必备语料库

1. Corpus of Contemporary American English 链接&#xff1a;https://www.english-corpora.org/coca/ 2. Purdue Online Writing Lab 链接&#xff1a;https://owl.purdue.edu/owl/ 3. Academic Phrases and Vocabulary 链接&#xff1a;https://www.ref-n-write.com/blog…

IntelliJ IDE 插件开发 | (十三)自定义项目脚手架(下)

系列文章 本系列文章已收录到专栏&#xff0c;交流群号&#xff1a;689220994&#xff0c;也可点击链接加入。 前言 在上一篇文章中介绍了如何在 IDEA 中自定义项目脚手架&#xff0c;本文将介绍如何在WebStorm、PyCharm、CLion等其它 IntelliJ 主流平台中如何自定义项目脚手…

【论文速看】DL最新进展20241006-视频深度估计、3D、自监督学习

目录 【视频深度估计】【3D】【自监督学习】 【视频深度估计】 [TPAMI 2024] NVDS: Towards Efficient and Versatile Neural Stabilizer for Video Depth Estimation 论文链接&#xff1a;https://arxiv.org/pdf/2307.08695 代码链接&#xff1a;https://github.com/RaymondW…

地理空间数据存储与处理:MySQL空间数据类型的优化与应用!

在 MySQL 数据库中&#xff0c;空间数据类型用于存储和处理地理空间数据。这些数据类型允许我们在开发时可在数据库中存储和操作地理位置、几何形状和地理空间关系等信息。 一、什么是空间数据类型 MySQL 中的空间数据类型主要包括以下几种&#xff1a; GEOMETRY&#xff1a…

【无人水面艇路径跟随控制3】(C++)USV代码阅读: ROS包的构建和管理:包的依赖关系、包含目录、库文件以及链接库

【无人水面艇路径跟随控制3】&#xff08;C&#xff09;USV代码阅读&#xff1a; ROS包的构建和管理&#xff1a;包的依赖关系、包含目录、库文件以及链接库 写在最前面ROS是什么CMakeLists.txt总结详细解释CMake最低版本和项目名称编译选项查找catkin包catkin包配置包含目录添…

(刷题记录5)盛最多水的容器

盛最多水的容器 题目信息&#xff1a;题目思路(环境来自力扣OJ的C)&#xff1a;暴力枚举&#xff1a;双指针&#xff1a;移动高度较高的指针移动高度较低的指针 复杂度&#xff1a;代码与注释&#xff1a;暴力枚举&#xff1a;双指针&#xff1a; 题目信息&#xff1a; 给定一…

windows 找不到文件 Microsoft Net Framework 3.5 windows Driver Foundation(WDF).exe

问题 正常更新windows 11的时候发现这个问题。 重启也无法完成下面的更新&#xff0c;重启之后还是显然要更新&#xff1a; 解决方法 中文网站没有找到解决方案。微软官网总是给不靠谱的解决方案。 从有关上看到一个印度语音的视频&#xff0c;用的方法可行。借鉴过来。 …

【机器学习】机器学习框架

机器学习框架是支持开发、训练、和部署机器学习模型的工具集和库&#xff0c;以下是一些主流的机器学习框架及其特点&#xff1a; 1. TensorFlow 特点: 由 Google 开发&#xff0c;支持从研究到生产的大规模部署&#xff0c;广泛应用于深度学习模型。优势: 强大的可扩展性&am…