视觉位置识别与多模态导航规划

前言

        机器人感知决策是机器人移动的前提,机器人需要对周围环境实现理解,而周围环境通常由静态环境与动态环境构成。机器人在初始状态或者重启时需要确定当前所处的位置,然后根据用户的指令或意图,开展相应移动或抓取操作。通过视觉感知确定机器人所处位置,同时如何根据感知结果确定移动方向是重要的研究方向。视觉位置识别(VPR)主要是从标记的图像数据库中搜索最佳匹配,来粗略估计查询地点图像的位置,可以归结为数据库构建与查询的过程。主要的问题是环境中有部分是动态环境,因此很多算法均是在固定场景进行实验,缺乏泛化性,如何根据环境实现机器人导航也面临着挑战。

方法

视觉位置识别

1、AnyLoc: Towards Universal Visual Place Recognition

        AnyLoc旨在位置识别算法的通用性,包括任何地点(无缝地运行在任何环境中,包括空中、地下和水下),任何时间(对场景中的时间变化,如昼夜或季节变化,或对临时物体具有鲁棒性),以及跨任何视角(对视角变化具有鲁棒性,包括完全相反的视角。主要通过聚合从大规模预训练模型(基础模型)提取的每像素特征来实现这一目标,而无需进行任何训练或微调。

        主要采用自监督特征(如DINOv2)和无监督聚合方法(如VLAD和GeM),用来提取每个像素特征,相较于直接使用现成模型的每个图像特征,可以获得显著的性能提升。通过评估局部特征对应的鲁棒性来说明这种密集ViT特征在VPR中的适用性。选择数据库图像上的一个点,将其与查询图像中的所有(每个像素)特征进行匹配,并绘制热图来指示这些点对应的可能性。请注意,即使存在语义文本和尺度变化(第一行),感知混淆和视角变化(第二行),以及低照明和相反视角(第三行),这些对应关系仍然是鲁棒的。

        另外对聚合的局部特征进行语义属性的表征,揭示潜在空间中的不同领域,这可以进一步用于增强VLAD词汇构建,从而提升性能。从下图可以看出在室外数据中表现出较好的性能,代码已经开源,可以在HF中进行效果测试。

2、SelaVPR:Towards Seamless Adaptation of Pre-trained Models for Visual Place Recognition

        文章主要考虑预训练模型产生的图像表示易受动态对象影响,并且倾向于忽略一些静态的区分性背景(例如建筑物和植被),因此基础模型没办法直接用于VPR任务,完全微调的话又会产生灾难性遗忘问题。SelaVPR主要通过向冻结的预训练模型添加一些可调节的轻量级适配器,实现全局-局部混合适应,既可以获取用于检索候选地点的全局特征,又可以获取用于重新排序的局部特征。

        全局适应主要是通过在每个Transformer块的多头注意力层后添加适配器并与MLP层并行实现的。局部适应通过在整个Transformer主干后添加上卷积层来实现以对特征图进行上采样。此外,论文提出了最近邻局部特征损失,可以与常用的三元组损失结合使用来优化网络。SelaVPR消除了在重排中依赖耗时的空间验证,因此它仅耗费了RANSAC-based两阶段方法的3%检索时间  。      

视觉导航决策

Bridging Zero-shot Object Navigation and Foundation Models through Pixel-Guided Navigation Skill

        大多数方法采用基于建图的方法实现开放词域物品导航,但是由于现有的大模型并不能直接理解地图形式的输入,此类方法往往有选择性的将地图某些区域翻译成文字,进而发挥出大模型的常识理解与推理能力。在这一过程中,从原始 RGB 观测-建图-文字损失大量的细节信息,不利于大模型实现更精准的规划。为了克服这类方法的问题,本文跳出基于建图的框架,提出了一种通用的 RGB 导航技能 PixelNav,此技能以指定像素位置作为导航目标,建立端到端网络学习从当前位置到像素目标对应坐标的移动轨迹。PixelNav 可无缝衔接多模态大模型的能力,实现任意类别物体的导航过程。

总结

        对于视觉位置识别,个人认为全局+局部特征提取的方法会更好一些,经过检索定位可以借助多模态模型去做精排,主要是针对静态物体做细粒度筛选确定定位结果。定位的结果与用户指令相结合确定机器人移动导航的目标,进而为机器人移动规划提供有利的支持。整个的思路如下:

        以上是个人的一些想法,欢迎感兴趣的评论交流。

参考

1、https://arxiv.org/pdf/2308.00688.pdf

2、https://github.com/Lu-Feng/SelaVPR

3、https://sites.google.com/view/pixnav/

4、https://mp.weixin.qq.com/s/t_83s3YOr-ID6-TZvZynsw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/138.shtml

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

相关文章

【分治】Leetcode 排序数组

题目讲解 912. 排序数组 算法讲解 我们这里使用三指针&#xff0c;将数组分成三块&#xff1a;<key 和 key 和 >key,如果当前指针指向的数字<key&#xff0c;我们就swap(nums[left]), nums[i] 。如果当前的数字key &#xff0c;就让i。如果当前的数字>key&…

geolife笔记/python笔记:trackintel.io.read_geolife

此函数解析 geolife_path 目录中可用的所有 geolife 数据 trackintel.io.read_geolife(geolife_path, print_progressFalse) 参数&#xff1a; geolife_path (str) 包含 geolife 数据的目录路径 print_progress (Bool, 默认为 False)如果设置为 True&#xff0c;则显示每个…

退出 beeline

退出 beeline 的命令是 !quit或 !exit 或者&#xff0c;直接来 Ctrl-D 我们下期见&#xff0c;拜拜&#xff01;

Linux 内核复合页(compound page)原理分析

源码基于&#xff1a;Linux5.15 约定&#xff1a; 芯片架构&#xff1a;ARM64内存架构&#xff1a;UMACONFIG_ARM64_VA_BITS&#xff1a;39CONFIG_ARM64_PAGE_SHIFT&#xff1a;12CONFIG_PGTABLE_LEVELS &#xff1a;3 1. 简介 复合页(Compound Page) 只是将两个或更多物理上…

【笔试强训】DFS、优先队列、滑动窗口笔试题目!

文章目录 1. 单词搜索2. 除 2 操作3. dd 爱框框 1. 单词搜索 题目链接 解题思路&#xff1a; DFS (深度优先遍历)&#xff0c;用一个 pos 记录要匹配单词 word 的位置&#xff0c;每次与 pos 进行匹配判断&#xff08;这样做的好处是不用把答案存下来&#xff09; 注意细节…

算法:期望场景;鲁棒优化

部分代码 for i1:T stst[D_DGk(i)*min_P_DG<P_DGk(i)<D_DGk(i)*max_P_DG]; end for i2:T indicatorD_DGk(i)-D_DGk(i-1); rangei:min(T,iT_up-1); st st[D_DGk(range)>indicator]; end for i2:T indicatorD_DGk(i-1)-D_DGk(i); rangei:min(T…

时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化

时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化 目录 时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现TVF-EMD(时变滤波器的经验模态分解)可直接替换 Matlab语言 1.…

IDEA远程调试debug

IDEA远程调试debug jar包启动脚本配置IDEA配置 通俗的说&#xff1a;本地有代码&#xff0c;服务器项目出现问题&#xff0c;环境的中间件配置不同&#xff0c;用idea远程调试&#xff0c;能快速定位问题&#xff0c;解决问题。 jar包启动脚本配置 jdk5-8写法 java -Xdebug -…

xftp、xshell连不上虚拟机解决方法

一、检查连接虚拟机ip看是否正确 查看虚拟机系统 IP ifconfig 二、检查虚拟机防火墙是否关闭 查看防火墙状态(ubuntu) sudo ufw status 关闭防火墙 sudo ufw disable 查看防火墙状态(centos) systemctl status firewalld.service 关闭防火墙 systemctl stop firewalld.se…

基于Python dlib的实时人脸识别,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

【STM32】西南交大嵌入式系统设计实验:环境配置

把走过的坑记录一下&#xff0c;希望后来人避坑 No ST-Link device detected.问题解决 如果跟着指导书出现这个问题&#xff1a; 直接跳过这一步不用再更新固件&#xff0c;后面直接创建项目写程序就行了。 在keil里配置成用DAP_link即可。 详细的可以看这篇文章&#xff1a…

30. 【Android教程】吐司提示:Toast 的使用方法

在使用 Android 手机的时候&#xff0c;有没有遇到过如图中这种类型的消息提示&#xff1f; 这个在 Android 中被称为 Toast&#xff0c;用来短暂的展示一些简短的提示信息。相比弹窗来讲它对用户的打扰更小&#xff0c;在提示一段时间之后会自动消失&#xff0c;通常用来提示当…

糖尿病可能是一团虚火,肝肾同源,肝阴不足。

其实对于很多的糖尿病患者来说&#xff0c;他的问题本质可能是一团虚火&#xff0c;就拿前段时间我的门诊一个患者为例&#xff0c;之前患有高血压&#xff0c;总是眩晕烦躁&#xff0c;常常失眠&#xff0c;大概近四个月出现多饮、多尿怎么喝水也不解渴&#xff0c;经过检查确…

CSS导读 (CSS的三大特性 上)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 五、CSS的三大特性 5.1 层叠性 5.2 继承性 5.2.1 行高的继承 5.3 优先级 小练习 五、CSS的三大特性 …

IDEA中SVN 的使用

文章目录 前言一、svn安装二、IDEA集成SVN总结 前言 svn可以老牌的代码仓库了 说实话svn还是和git无法相比的,毕竟git有本地仓库的概念,可以很好的处理冲突,然而svn是没有本地仓库的概念的,所以只能拉取别人的代码,然后处理冲突后,才能提交代码; 由于最近的工作换成了用svn仓…

2024香港Web3嘉年华:Web3的两大支柱是区块链和AI

2024香港Web3嘉年华&#xff1a;Web3的两大支柱是区块链和AI 4月9日&#xff0c;香港Web3嘉年华落下帷幕圆满收官。这场盛会延续了往年的火爆&#xff0c;保留了社交和打卡元素。大批加密货币从业者齐聚一堂&#xff0c;在多方碰撞中&#xff0c;共同探讨香港与加密的未来之路…

三种空间数据的聚合算法

原始数据分布 给老外做的Demo&#xff0c;所以是英文界面。 原始数据分布情况如下&#xff1a; geojson文本内容&#xff1a; 三种方法基本原理 三种聚合算法来做一个例子&#xff08;500条记录&#xff09;。 方法1&#xff1a;按Ol默认方法进行聚类&#xff0c;使用Open…

可见光相机曝光方式

可见光摄影中的曝光方式主要包括两种&#xff1a;卷帘曝光和全局曝光。它们之间的区别在于曝光过程中传感器或胶片感光部分的工作方式不同&#xff0c;这直接影响到图像捕获的效果和特性。 卷帘曝光&#xff08;Rolling Shutter&#xff09;&#xff1a; 工作原理&#xff1a;在…

对一个全局变量进行多线程并发 -- 或者 ++ 操作是否是安全的??是否是原子的??

1.结论&#xff1a; 不是安全的&#xff0c;不是原子的 2.原因&#xff1a; 2.1 不是原子性的原因&#xff1a; 一个线程将一个全局变量--&#xff08;减减&#xff09;时候&#xff0c;需要以下几个步骤 第一步&#xff1a;将全局变量读到cpu的寄存器中&#xff0c; 第二步…

3D目标检测实用技巧(三)- 生成虚拟点

一、引言 本次参考的是VirConv生成虚拟点的方法&#xff1a; VirConv/tools/PENet at master hailanyi/VirConv GitHubVirtual Sparse Convolution for Multimodal 3D Object Detection - VirConv/tools/PENet at master hailanyi/VirConvhttps://github.com/hailanyi/Vir…