OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 论文阅读
论文信息
题目:OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV
作者:Karmesh Yadav, Arjun Majumdar, Ram Ramrakhya
来源:arxiv
时间:2023
代码地址: https://github.com/ykarmesh/OVRL
Abstract
我们提出了一个由与任务无关的组件(ViT、卷积和 LSTM)组成的单一神经网络架构,该架构在 IMAGENAV(“转到 <这张图片> 中的位置”)和 OBJECTNAV(“查找椅子”)任务没有任何特定于任务的模块,如对象检测、分割、映射或规划模块。这种通用方法具有设计简单、利用可用计算进行正扩展以及对多种任务具有通用性等优点。
我们的工作建立在最近成功的预训练视觉变换器(ViT)自我监督学习(SSL)的基础上。然而,虽然卷积网络的训练方法是成熟且稳健的,但 ViT 的方法是偶然且脆弱的,并且就用于视觉导航的 ViT 而言,还有待充分发现。具体来说,我们发现普通 ViT 在视觉导航方面并不优于 ResNet。我们建议使用在 ViT 补丁表示上运行的压缩层来保留空间信息以及策略训练改进。这些改进使我们首次在视觉导航任务中展示正缩放定律。因此,我们的模型将 IMAGENAV 上的最先进性能从 54.2% 成功率提高到 82.0%,并且与 OBJECTNAV 上同时最先进的性能相比,成功率分别为 64.0% 和 65.0%。
总的来说,这项工作并没有提出一种全新的方法,而是提出了训练通用架构的建议,该架构可实现当今最先进的性能,并可以作为未来方法的强大基准。

Introduction
在这项工作中,我们推进了一个替代研究计划——训练由与任务无关的神经组件构建的通才智能体,而无需任何特定于任务的模块。这种通用方法具有设计简单、可用计算积极扩展(结合“惨痛教训”[35])以及对多种任务的通用性等优点。
最近一系列关于图像和视频理解的工作发现,由自监督表示学习驱动的视觉变换器 [13] (ViT) 可以为识别 [3, 11, 18] 和生成 [4, 6] 提供通用视觉表示] 任务。然而,虽然卷积网络的训练方法是成熟且稳健的,但 ViT 的方法是偶然且脆弱的,并且就用于视觉导航的 ViT 而言,尚未得到充分发现 - 而这种发现是我们工作的重点。
我们的主要技术贡献和发现如下:
-
视觉导航中的 ViT 需要压缩层。我们发现,与 RESNET 相比,从头开始训练的基于 ViT 的智能体表现较差(例如,在 IMAGENAV 上仅实现 36.1% 的成功率 (SR),而在 RESNET 上则为 59.9%)。尽管模型容量要高得多(ViT-SMALL 的参数比半宽 ResNet50 多约 4 倍)。我们发现使用 ViT 解决导航问题的一个关键问题是 [CLS] 令牌嵌入和全局平均池都删除了对任务很重要的空间结构。我们建议使用压缩层(由 2D 卷积加扁平化组成)在 ViT patch 表示上运行来保留空间信息,并发现它导致 ViT 优于 RESNET(IMAGENAV 上的 SR 为 67.4% vs. 59.9%)。
-
视觉预训练首次解锁正标度法则。我们首次在 IMAGENAV 上展示了基于 ViT 的代理的正标度律。具体来说,我们发现视觉表示学习(使用掩码自动编码(MAE)[18])不仅可以提高性能,还可以使用 ViT 进行模型缩放。通过这种预训练,我们能够将模型大小从 ViT-SMALL 增加到 ViT-BASE,并观察到成功率从 80.5% 增加到 82.0% (+1.5%),SPL(按路径效率加权的成功)从 55.2% 增加到58.7%(+3.5%)。
-
单一架构在IMAGENAV和OBJECTNAV上实现SoTA。将所有这些(ViT、压缩层、预训练、策略训练改进和扩展)放在一起,我们提出了 OVRL-V2(离线视觉表示学习 v2),这是一个简单的 ViT+压缩层+LSTM 架构,作为现有技术的后继者。 - 最先进的方法,OVRL [43]。 OVRL-V2 将 IMAGENAV 上最先进的成功率从 54.2%(在[43]中)提高到 82.0%(+27.8% 绝对改进和 51.3% 相对改进),并且在 OB-JECTNAV 上实现了 64.0% 的成功率,与 stateof 相当-最先进的(65.0%,通过并行但正交的工作获得[31])。 OVRL-V2代理仅使用RGB和GPS+Compass传感器;没有以自我为中心的深度(如[32]所使用),没有语义分割(如[32]所使用),没有对象检测(如[46]所使用),没有语义或几何映射(如[8, 49, 29、37、9])。
Background:Tasks and Visual Pretraining
我们研究两种视觉导航任务:图像目标导航(IMAGENAV)[51]和对象目标导航(OBJECTNAV)[5]。为了解决这些任务,我们设计了一个利用视觉转换器(ViT)的实体代理[13]。
本节概述了每项任务,然后描述了我们用于预训练 ViT 的方法。
Visual Navigation

图 2 说明了 IMAGENAV [51] 和 OBJECTNAV [5] 任务。在这两种情况下,代理都从未知 3D 场景中的随机位置和方向开始。代理必须探索环境才能找到目标位置。在 IMAGENAV 中,目标是从目标位置拍摄的图像(例如沙发的照片)。在 OBJECTNAV 中,代理被赋予了它必须找到的对象的名称(例如“沙发”)。
在这些任务中,代理使用以自我为中心的 RGB 相机感知环境。代理使用离散的动作空间进行导航。在 IMAGENAV 中,标准动作集包括:向前移动 (0.25m)、向左转 (30°)、向右转 (30°) 和停止,以指示智能体认为它已达到目标。在 OBJECTNAV 中,代理还可以“向上查找”(30°) 和“向下查找”(30°)。
代理在以前未见过的环境中进行评估,这可以测量导航行为的泛化程度。使用两个标准指标来评估代理的导航性能:成功率(SR)和按(逆)路径长度加权的成功率(SPL)[2]。 SPL 奖励采取较短路径到达目标的智能体,从而衡量智能体探索新环境的效率。
Masked Autoencoders(MAEs)
视觉导航任务需要理解视觉提示才能在新环境中导航。因此,代理需要强大的视觉表示。我们使用屏蔽自动编码(MAE)[18]——一种高效的自监督视觉表示学习算法,专为预训练视觉变换器[13](ViTs)而设计——来提高基于 ViT 的代理的性能。 MAE 的效率源自非对称编码器-解码器设计。具体来说,输入图像首先被分成不重叠的补丁,其中很大一部分(75%)在预训练期间被随机屏蔽。编码器仅处理剩余的未屏蔽补丁,这减少了预训练期间的计算负担。小型解码器的任务是重建完整的输入图像。编码器和解码器都是 ViT,它们自然会处理可变数量的补丁。由于现实世界图像中各块之间的自然冗余,可以实现高掩蔽百分比,这使得仅从组成部分的一小部分子集即可预测完整图像。预训练后,解码器被丢弃,仅编码器用于下游任务。

Approach
我们对视觉导航任务(IMAGENAV 和 OBJECTNAV)使用通用代理架构。如图 4 所示,两个代理主要由视觉编码器(随机初始化或使用 MAE 预训练的 ViT)、目标编码器和循环策略网络组成。本节描述了我们方法的几个关键组成部分。

Compression layers for ViTs
ViT 的压缩层。如图 4 所示,我们的视觉导航代理使用基于 ViT 的视觉编码器 fθobs 处理 RGB 观察值 Ot。具体来说,输入图像在数据增强后被转换为不重叠的 16×16 块,与 [CLS] 令牌连接,然后用 ViT 进行处理,输出每个块和 [CLS] 令牌的表示。在图像分类等任务中,通常使用(a)[CLS]令牌输出或(b)补丁表示的平均池化(即全局平均池化)来表示图像。
Visual Navigation with ViTs
使用 ViT 进行视觉导航 如图 4 所示,视觉编码器遥控钥匙的输出与目标表示和嵌入提供姿势信息的 GPS+罗盘传感器(仅用于 OBJECTNAV)相连接。连接的输出由基于 LSTM 的循环策略网络进行处理,该网络可预测操作。
每个任务的代理之间的区别在于用于编码目标的方法。在 IMAGENAV 中,图像目标 Og 使用视觉编码器 fθgoal 进行编码,其架构与 fθobs 相同。对于 OBJECTNAV,目标对象类别(例如“沙发”)通过学习的嵌入层进行编码。
我们使用 DD-PPO [39] 以及未来小节中描述的奖励函数通过强化学习(RL)来训练我们的 IMAGENAV 代理。对于 OBJECTNAV,我们使用人类演示和分布式行为克隆版本来训练我们的代理 [32]。
Visual Encoder Pretraining
视觉编码器预训练。我们提出的在无模型导航代理中使用基于 ViT 的视觉编码器的方法(图 4)可以从头开始进行端到端训练(例如,使用下一节中描述的 RL 奖励)。
此外,我们研究了使用第 2 节中描述的掩码自动编码(MAE)算法对基于 ViT 的视觉编码器进行预训练。 3.2.对于预训练,我们从 HM3D [30] 和 Gibson [40] 场景收集域内图像数据集。这遵循了先前工作中的观察结果(例如,[43]),该观察表明对域内数据(而不是像 ImageNet 这样的数据集)进行预训练可以提高下游性能。
ImageNav rewards
IMAGENAV 奖励。用于视觉导航的奖励通常由三个部分组成:(a)成功完成任务的稀疏奖励 c s c_s cs,(b)用于激励效率的每时间步惩罚 γ,以及(c)一个或多个奖励塑造项来简化优化问题。一个常见的奖励塑造术语是到目标的(测地线)距离的变化。形式上,令 dt 表示智能体在时间 t 时到目标的测地距离;现在,奖励塑造项可以写为: d t − 1 − d t d_{t−1} − d_t dt−1−dt。将所有三个奖励项放在一起,该奖励定义为:

等式中奖励函数的一个限制。 (1) 是它对终止时智能体的“航向”无关紧要——智能体既不会因为注视目标物体而受到奖励(这是一种理想的行为,因为导航通常是操纵的前兆),也不会因注视目标物体而受到惩罚。结束这一集,将目光从物体上移开。为了解决这个问题,[1]提出了两个额外的角度奖励项来激励,1)转向目标(使用角度到目标( θ t θ_t θt)奖励塑造项)和2)在看着目标时停下来(使用最终奖励)。这两种奖励仅在智能体进入目标半径 rg 后才会授予。虽然 [1] 证明了他们的奖励可以提高 IMAGENAV 性能,但我们发现我们的 OVRL-V2 代理能够通过永不结束情节、进入目标半径、转向目标、向外移动来破解奖励函数目标半径,返回并重复。我们提供了有关此奖励的更多详细信息,并在附录 F 中可视化了代理的行为。我们假设之前的工作没有注意到这种可利用性,因为只有当实验规模适当时它才会变得明显。
我们在[1]中提出了对奖励函数的原则性修复。
我们的主要见解是,我们可以将角度到目标的奖励塑造项转化为潜在函数的差异,这被证明对于奖励塑造是最佳的[26]。具体来说,我们定义一个目标角度函数 θ ^ t \hat{θ}_t θ^t,它等于目标半径之外的 π,否则等于目标角度:

Experimental findings
在本节中,我们首先建立与现有 SoTA 方法竞争的 IMAGENAV 基线。然后,我们使用这个强大的基线来系统地解决以下研究问题:
-
ViT 是否可以在 IMAGENAV 中开箱即用?不。我们发现,尽管模型容量更高,但从头开始训练的基于 ViT 的智能体的表现比较小的 ResNet 智能体要差很多。
-
添加压缩层对性能有何影响?我们发现使用压缩层来维护图像表示中的空间结构可以显着提高 IMAGENAV 上的导航性能。
-
性能是否会随着 ViT 的增加而扩展?当从头开始训练时,我们观察到不同的结果。然而,自我监督的视觉预训练会带来一致的全面改进以及缩放强大的视觉导航代理能否“破解”等式 3 中的新奖励函数? 不可以。可以“破解”ZER 奖励 [1] 的智能体不再能够通过我们提出的修正来“破解”奖励函数。
-
OVRL-V2 性能与 IMAGENAV SoTA 相比如何? OVRL-V2 比之前的工作有了显着改进,包括使用额外摄像机提供环境全景的方法。
-
架构改进是否会转移到 OBJECTNAV 上?是的。 OVRL-V2 在 SR 方面优于 OBJECTNAV SoTA,甚至无需使用 OBJECTNAV 常用的深度传感器或分割模块
Comparisions with the ImageNav SoTA


Conclusion
在本文中,我们证明了由任务无关组件(ViT、卷积和 LSTM)组成的无模型导航代理 (OVRL-V2) 可以在 IMAGENAV 和 OBJECTNAV 上实现最先进的结果。为了实现这一目标,我们证明需要一个在 ViT 补丁表示上运行的压缩层,它可以保留空间信息。最后,我们发现使用 MAE 进行视觉预训练可以通过更大的 ViT 架构实现积极的扩展趋势。
相关文章:
OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 论文阅读
论文信息 题目:OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 作者:Karmesh Yadav, Arjun Majumdar, Ram Ramrakhya 来源:arxiv 时间:2023 代码地址: https://github.com/ykarmesh…...
【安全】原型链污染 - Hackit2018
目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下,然后可以试着访问一下,报错是因为里面没内容而已,不影响,准备工作就做好了 解题 代码审计 const express require(express) var hbs require…...
net.ipv4.ip_forward=0导致docker容器无法与外部通信
在启动一个docker容器时报错: WARNING: IPv4 forwarding is disabled. Networking will not work. 并且,此时本机上的其他容器的网络服务,只能在本机上访问,其他机器上访问不到。 原因: sysctl net.ipv4.ip_forward …...
软考高级系统架构设计师系列论文九十八:论软件开发平台的选择与应用
软考高级系统架构设计师系列论文九十八:论软件开发平台的选择与应用 一、相关知识点二、摘要三、正文四、总结一、相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构二、摘要 本文讨论选择新软件开发平台用于重新开发银行中间业务系统。银行中…...
Springboot整合WebFlux
一、使用WebFlux入门 WebFlux整合MysqlWebFlux整合ESWebFlus整合MongdbWebFlus整合Redis 1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.2.1.…...
uniapp 实现地图距离计算
在uniapp中实现地图距离计算可以借助第三方地图服务API来实现。以下是一种基本的实现方式: 注册地图服务API账号:你可以选择使用高德地图、百度地图等提供地图服务的厂商,注册一个开发者账号并获取API密钥。 安装相关插件或SDK:根…...
破除“中台化”误区,两大新原则考核中后台
近年来,“中台化”已成为许多企业追求的目标,旨在通过打通前后台数据和业务流程,提升运营效率和创新能力。然而,在实施过程中,一些误解可能导致“中台化”未能如预期般发挥作用。本文将探讨这些误解,并提出…...
基于YOLOV8模型和Kitti数据集的人工智能驾驶目标检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOV8模型和Kitti数据集的人工智能驾驶目标检测系统可用于日常生活中检测与定位车辆、汽车等目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用…...
基于Android的课程教学互动系统 微信小程序uniapp
教学互动是学校针对学生必不可少的一个部分。在学校发展的整个过程中,教学互动担负着最重要的角色。为满足如今日益复杂的管理需求,各类教学互动程序也在不断改进。本课题所设计的springboot基于Android的教学互动系统,使用SpringBoot框架&am…...
OpenCV基础知识(9)— 视频处理(读取并显示摄像头视频、播放视频文件、保存视频文件等)
前言:Hello大家好,我是小哥谈。OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到…...
PostgreSQL命令行工具psql常用命令
1. 概述 通常情况下操作数据库使用图形化客户端工具,在实际工作中,生产环境是不允许直接连接数据库主机,只能在跳板机上登录到Linux服务器才能连接数据库服务器,此时就需要使用到命令行工具。psql是PostgreSQL中的一个命令行交互…...
【CSS 画个梯形】
使用clip-path: polygon画梯形 clip-path: polygon使用方式如下: 效果实现 clip-path: polygon 是CSS的属性之一,用于裁剪元素的形状。它可以通过定义一个具有多边形顶点坐标的值来创建一个多边形的裁剪区域,从而实现元素的非矩形裁剪效果。…...
Spring Data Redis
文章目录 Redis各种Java客户端Spring Data Redis使用方式操作字符串类型的数据操作哈希类型数据列表类型集合类型有序集合类型通用类型 Redis各种Java客户端 Java中如何操作redis,这里主讲IDEA中的框架Spring Data Redis来操作redis Jedis是官方推出的,…...
软件测试的方法有哪些?
软件测试 根据利用的被测对象信息的不同,可以将软件测试方法分为:黑盒测试、灰盒测试、白盒测试。 1、白盒测试 1)概念:是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试…...
Python Qt学习(二)Qt Designer
一开始以为Designer是个IDE,多番尝试之后,发现,是个UI设计工具,并不能在其中直接添加代码。保存之后,会生成一个后缀是UI的文件,再用pyuic5.exe将ui文件转化成py文件。pyuic5 -o 目标py文件 源ui文件...
我的数据上传类操作(以webDAV为例)
在登录处进行初始化: 1.读取配置 GModel.ServerSetin JsonToIni.GetClass<ServerSet>(ConfigFiles.ConfigFile);if (!string.IsNullOrWhiteSpace(GModel.ServerSetin.FTPUser)){OPCommon.NetControls.NetworkShareConnect.connectToShare(GModel.ServerSeti…...
move与函数指针的简单使用
std::move() C11的标准库 提供了一个非常有用的函数 std::move(),std::move() 函数将一个左值强制转化为右值引用,以用于移动语义。 就是说 std::move(str); 之后原来的值因为变成了右值失效了 但是这样赋值可以避免出现拷贝 #include <iostream&g…...
第五章 树与二叉树 二、二叉树的定义和常考考点
一、定义 二叉树可以用以下方式详细定义: 二叉树是由节点构成的树形结构,每个节点最多可以有两个子节点。每个节点有以下几个属性: 值:存储该节点的数据。左子节点:有一个左子节点,如果没有则为空。右子节…...
算法笔记/USACO Guide GOLD金组DP 1. Introduction to DP
USACO Guide中金组的内容分为一下六个章节 DP数学图论数据结构树一些附加主题 今天学习DP,以下内容: 初入DP背包DP图表中的路线最长递增序列状态压缩DP区间DP数位DP 初入DP Dynamic Programming (DP) is an important algorithmic technique in Comp…...
天锐绿盾安全U盘系统
安全U盘系统 01 简介 天锐绿盾安全U盘系统,是一款致力于保障U盘数据内容安全的产品。通过严格身份认证、便捷安全的密保机制、智能的U盘锁定或自毁设置、详细的文件操作日志、文件粉碎、设置还原等,天锐绿盾安全U盘系统为您U盘的数据保驾护航࿰…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
