Benchmarking Augmentation Methods for Learning Robust Navigation Agents 论文阅读

论文信息

题目:Benchmarking Augmentation Methods for Learning Robust Navigation Agents: the Winning Entry of the 2021 iGibson Challenge
作者:Naoki Yokoyama, Qian Luo
来源:arXiv
时间:2022

Abstract

深度强化学习和可扩展的真实感模拟的最新进展使得用于各种视觉任务(包括导航)的具体人工智能日益成熟。然而,虽然在教导实体主体在静态环境中导航方面取得了令人印象深刻的进展,但在可能包括移动行人或可移动障碍物的动态环境中却取得了较少的进展。

在这项研究中,我们的目标是对不同的增强技术进行基准测试,以提高代理在这些具有挑战性的环境中的性能。我们表明,在训练过程中向场景中添加几个动态障碍可以显着提高测试时泛化能力,从而实现比基线智能体更高的成功率。我们发现这种方法还可以与图像增强方法相结合,以获得更高的成功率。此外,我们还表明,与图像增强方法相比,这种方法对于模拟到模拟的传输也更加稳健。

最后,我们通过使用这种动态障碍物增强方法来训练代理参加 CVPR 的 2021 年 iGibson 挑战赛,展示了这种动态障碍物增强方法的有效性,该方法在交互式导航方面获得了第一名。

在这里插入图片描述

Introduction

自主导航是一项艰巨的挑战,通常需要机器人使用视觉传感器来理解和推理周围环境。幸运的是,最近的几项使用深度强化学习的工作通过部署可以在现实世界的新环境中成功导航的机器人显示出了有希望的结果[1],[2]。

PointGoal Navigation [3] 是一项经过充分研究的任务,它要求代理到达其环境中的目标坐标位置。然而,它通常假设环境是静态的并且没有动态物体,这与可能包含移动的人类和宠物或小型可移动障碍物和家具的真实家庭和办公室相去甚远。

最近 2021 年 CVPR 会议上的 iGibson 挑战赛 [4] 旨在鼓励研究人员研究两个难度更大的 PointNav 修改版本:交互式导航(InteractiveNav)和社交导航(SocialNav)。在 InteractiveNav 中,代理必须到达目标,同时推开阻碍路径的可移动障碍物。对于 SocialNav,代理必须达到目标,同时避免与穿越可能无法屈服的环境的人类发生碰撞。

这些动态任务带来了静态导航设置中不存在的新挑战。
对于 InteractiveNav,代理必须区分可移动和不可移动的物体,并学习如何在必要时将可移动的物体推向正确的方向,以形成到达目标的更短路径。
对于 SocialNav,智能体必须避开附近行人的轨迹并在不与任何人发生碰撞的情况下到达目标。使动态导航任务变得更加困难的另一个因素是可用于模拟动态环境的数据的稀疏性。
虽然静态 3D 环境有大量数据集,例如 Gibson [5] 和 HM3D [6],但包含单独可交互且正确布置的家具的动态环境数据集却要稀疏得多。对于 2021 年 iGibson 挑战赛,只有 8 个训练场景可用

为了解决动态导航的挑战和训练场景可用性的限制,我们的目标是提供视觉导航增强技术的基准和分析,以便其他研究人员可以利用我们在 iGibson 挑战赛中的发现。
特别是,我们表明,在训练期间简单地向场景中添加几个动态障碍物(行人)可以显着提高代理在新环境中的测试时成功率,即使对于环境中不涉及动态障碍物的导航任务(例如 PointNav 和互动Nav.我们进行了系统分析,其中我们扫描了可用的训练数据量和训练期间使用的动态行人的数量

我们将这种动态障碍物增强方法与两种图像增强方法(Crop 和 Cutout)进行比较,Laskin 等人 [7] 证明这两种方法可以显着提高视觉任务各种基准上的测试时间泛化性(高达 4 倍的性能改进)[8 ],[9]。
我们表明

  1. 动态障碍物增强可以与图像增强协同结合,以进一步提高性能。
  2. 相比之下,组合不同的图像增强方法会降低性能增益。
  3. 动态障碍物增强对于模拟到模拟的传输也更加稳健。

Related work

PointGoal Navigation

点目标导航(PointNav)由 Anderson 等人在 [3] 中正式定义,是机器人必须从环境中的起始位置导航到目标坐标的任务。在包含障碍物的新场景中执行这是一项具有挑战性的任务,特别是当代理只能访问以自我为中心的相机和自我运动传感器时。尽管存在这些限制,Wijmans 等人 [12] 证明,可以通过深度强化学习在模拟中训练近乎完美(>97% 成功)的 PointNav 代理。

然而,这项工作利用了大量的训练场景;在这项工作中,我们重点关注增强方法如何在只有少量场景可用的场景中提高性能,并表明在此类场景中训练代理以达到相同成功水平的问题尚未解决。

Navigation in Dynamic Environments

Xia 等人最近的工作[11]引入了一项新任务“InteractiveNav”,其中机器人与可移位的物体进行交互以达到目标。这不需要机器人使用机械手;机器人在移动时可以使用其底座简单地推过物体。 InteractiveNav 评估机器人如何平衡采取最短路径到达目标以及它对环境中存在的障碍物的干扰程度。他们的工作表明,可以通过深度强化学习来教导智能体完成这项任务,尽管他们为智能体提供了接下来的十个到达目标位置的路径点作为每一步的观察。

在这项工作中,我们寻求仅使用自我中心视觉和自我运动传感器来研究此任务的性能,以及如何使用增强方法来改进它。

SocialNav 是另一项要求机器人围绕环境中的动态元素进行机动的任务,其中机器人必须在不与附近移动的行人碰撞的情况下到达目标。与我们的工作类似,最近的几项工作也使用了深度强化学习来避免与行人碰撞,例如 SA-CADRL [13] 和 SARL [14],它们使用行人的位置作为对其策略的观察,以及Pérez-D’Arpino 等人 [15] 使用可以访问环境地图和 LiDAR 数据的运动规划器。

与这些作品相比,我们的目标是在没有运动规划器或激光雷达的情况下完成 SocialNav 的任务,并研究如何使用视觉深度强化学习的增强方法来提高性能。我们相信这种设置更适合在新环境中部署,在这些环境中,准确定位行人位置或向运动规划器提供地图可能很困难或不可行。

Enhancing visual navigation performance

Ye 等人 [16] 通过使用自我监督的辅助任务以 Wijman 等人 [12] 的工作为基础,事实证明这可以显着提高样本效率。 Sax 等人 [17] 结合了关于世界的视觉先验,与没有先验的从头到尾的训练相比,获得了性能提升。 Chaplot 等人 [18]、[19] 与典型的端到端代理相比,通过让代理推断有关映射和定位的信息来提高样本效率,这些信息可以使用来自模拟器的特权信息进行监督。

与上面提到的工作不同,我们研究的方法可以在不使用额外的辅助损失、额外的网络头或额外的感官信息(例如,局部占用图)的情况下,对视觉导航产生显着的改进。

Method

Augmentation

训练有效的视觉导航代理需要大型数据集(>70 个 3D 公寓扫描)以避免过度拟合 [12]。然而,访问不同的交互式训练环境可能很困难,特别是对于每个对象都可以单独交互并且必须以现实的方式在环境中排列的动态环境,例如 iGibson 数据集中的合成场景,其中仅包含 15 个场景。对于 2021 年 iGibson 挑战赛,只有 8 个训练场景可用。

在这种数据受限的场景中,增强方法对于提高代理在测试时泛化到新环境的能力至关重要。

Dynamic Obstacle Augmentation
为了提高视觉导航代理的测试时泛化能力,我们在环境中引入了几个移动的行人(如图 1 和图 2 所示)。
在这里插入图片描述

这种方法旨在防止智能体学习过度适应训练期间看到的环境;
由于场景中存在大量移动的视觉干扰物,智能体更难以通过摄像头的观察来记住训练环境的布局。
此外,与简单地扰乱智能体视觉输入的图像增强方法不同,该方法迫使智能体为给定情节的一对起始目标位置学习更多种类的路径。
由于每次重置环境时行人所采取的路径都是新生成的,因此代理无法始终在同一对起始目标位置之间采取相同的路径而不与行人发生碰撞。

在训练过程中,这些移动的行人被视为不允许智能体碰撞的动态障碍物。如果特工与行人之间发生碰撞,则事件会直接终止。
使用来自 iGibson 挑战赛 [4] 的站立人 3D 模型代表 3 到 12 名行人,我们发现该模型足够大(对于视觉遮挡),同时具有足够小的半径,可供代理在周围机动。
大多数情况。在每次开始时,对于每个行人,从环境中随机采样两个相距至少 3 米的可导航点。
在整个情节中,每个行人都沿着连接这些点的最短无障碍路径来回移动。它具有与智能体相同的最大线速度和角速度,但其速度在每集的基础上从最大值随机降低最多 10%,这样同一集内的不同行人可以以不同的速度移动

Comparison with Image–based Data Augmentyation

图像增强旨在使用随机扰动(例如裁剪、擦除或旋转)注入不变性先验。

特别是,Laskin 等人 [7] 表明,裁剪和剪切图像增强(见图 3)是提高视觉深度强化学习性能最有效的方法之一。
在这里插入图片描述

Crop从原始帧中提取随机补丁;与 Laskin 等人类似,我们在随机位置裁剪帧,使生成的图像在高度和宽度上缩短 8%(即保持原始纵横比)。 Chung 等人[20]详细介绍了 Cutout,将随机形状、长宽比和位置的黑色矩形插入到原始帧中。我们使用与Zhong等人相同的参数,其中矩形的长宽比可以在[0.3,3.33]之间,并且其相对于原始帧的比例可以在[0.02,0.33]之间。此外,我们还研究了 Crop&Cutout,它通过顺序应用将 Crop 和 Cutout 结合起来。

Problem Formulation and Learning Method

Observation and Action Spaces
在每一步中,该策略都会观察以自我为中心的(第一人称)深度图像及其相对距离以及到目标点的方向作为输入。
由于目标点是相对于智能体的初始位置指定的,并且自我运动传感器指示智能体距其初始位置的相对距离和航向,因此它们可用于计算智能体当前到目标的相对距离和航向。

我们选择仅使用深度视觉,而不是同时使用深度和 RGB 视觉,正如 Wijmans 等人 [12] 所表明的那样,与单独使用深度相比,包含 RGB 会损害性能。该策略输出二维对角高斯动作分布,从中采样一对动作(线速度和角速度)。最大速度为 0.5 m/s 和 90°/s,策略轮询频率为 10 Hz。如果速度的大小低于某个阈值(我们实验中最大值的 10%),则会被视为代理调用停止操作,从而结束该事件

Reward Function
无论使用哪种增强方法(如果有的话),我们所有实验使用的奖励函数都是相同的:
在这里插入图片描述
其中 − Δ d -Δ_d Δd 是自前一个状态以来到目标的测地距离的变化, I b a c k 、 I c o l I_{back}、I_{col} IbackIcol I s u c c I_{succ} Isucc 是二进制标志,指示智能体是否已向后移动、与环境发生碰撞或成功终止该事件(请参阅成功标准分别见第 III-B 小节)。 w 1 w_1 w1 充当每一步产生的恒定松弛惩罚,以鼓励智能体最大限度地减少剧集完成时间。 w 1 、 w 2 w_1、w_2 w1w2 w 3 w_3 w3 设置为 0.002、0.02 和 10.0。向后运动受到惩罚,因为我们观察到它通常会导致视觉导航性能不佳。然而,我们并不能完全阻止它,因为向后移动有助于避免突然出现在机器人视野中的传入障碍物

Success Criteria
对于所有任务,仅当代理满足以下条件时,事件才会被视为成功:
(1) 调用终止事件的停止操作
(2) 代理位于目标点的 0.2 m 范围内。在 500 步后,或者在进行 SocialNav 或使用动态障碍物增强训练时,如果智能体与动态行人发生碰撞,则情节将终止并被视为不成功。如果智能体距离行人 0.3 m 以内,则视为与行人发生碰撞。

Network Architecture and Training
我们的网络架构有两个主要组成部分;视觉编码器和循环策略。
视觉编码器是一个 ResNet-18 [21] 卷积神经网络,它从深度图像中提取视觉特征。该策略是具有 512 维隐藏状态的 2 层 LSTM [22]。该策略接收视觉特征、相对距离和到目标的方向、先前的动作及其先前的 LSTM 隐藏状态。除了输出动作的头之外,该策略还有一个输出状态值估计的批评者头,用于近端策略优化(PPO)强化学习,如 Schulman 等人在 [23] 中所述。我们使用 Wijmans 等人的去中心化分布式 PPO [12] 来使用并行化来训练我们的代理,并使用相同的学习超参数。

我们为每个 GPU 训练 8 个工作线程,使用 8 个 GPU 总共 64 个工作线程并行收集经验。每个代理都经过 500M 步骤的训练(约 280 个 GPU 小时,或约 35 小时挂钟)

Experiment

在这里插入图片描述

发现 1:即使环境是静态的,动态障碍物增强也能提高视觉导航性能。

发现2:动态障碍物增强在训练场景较少的情况下更有效。

发现 3:图像增强也可以提高测试时的成功率,但将它们结合起来会降低性能增益。

发现 4:将动态障碍物和图像增强技术相结合可以进一步提高成功率。

在这里插入图片描述
发现 5:动态障碍物增强对于从 Gibson-4+ 到 iGibson 场景的 sim-to-sim 传输更加稳健。

Conclusion

我们的工作可以在几个方向上扩展。我们怀疑,虽然使用动态行人可以提高性能,但过度拥挤可能会使智能体过于保守并导致行为不佳。未来,我们计划引入curriculum learning,在训练过程中逐步增加行人数量,以潜在地增加行人数量,从而最大限度地提高性能。

我们还计划通过将所提出的技术部署到有行人的现实世界来研究其从模拟到真实的转移。然而,我们预计模拟与真实的差距将导致性能显着下降,特别是因为模拟中使用的行人是单个刚体(即四肢不是独立的动画)。这可以通过为模拟人类添加更真实的动作和手势来解决,以减少模拟与真实的差距。

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

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

相关文章

day50-springboot+ajax分页

分页依赖&#xff1a; <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency> 配置&#xff1a; …

uniapp使用阿里图标

效果图&#xff1a; 前言 随着uniApp的深入人心&#xff0c;我司也陆续做了几个使用uniapp做的移动端跨平台软件&#xff0c;在学习使用的过程中深切的感受到了其功能强大和便捷&#xff0c;今日就如何在uniapp项目中使用阿里字体图标的问题为大家献上我的一点心得&#xff0…

webpack基础知识五:说说Loader和Plugin的区别?编写Loader,Plugin的思路?

一、区别 前面两节我们有提到Loader与Plugin对应的概念&#xff0c;先来回顾下 loader 是文件加载器&#xff0c;能够加载资源文件&#xff0c;并对这些文件进行一些处理&#xff0c;诸如编译、压缩等&#xff0c;最终一起打包到指定的文件中plugin 赋予了 webpack 各种灵活的…

Android AccessibilityService研究

AccessibilityService流程分析 AccessibilityService开启方式AccessibilityService 开启原理 AccessibilityService开启方式 . 在Framework里直接添加对应用app 服务component。 loadSetting(stmt, Settings.Secure.ACCESSIBILITY_ENABLED,1); loadSetting(stmt, Settings.Se…

Vue3 Script Setup 速查表

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势&#xff0c;学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的&#xff0c;我们出的钱 体验地…

如何在PCB设计过程中处理好散热

在现代高性能电子设备中&#xff0c;散热是一个常见而重要的问题。正确处理散热问题对于确保电子设备的可靠性、稳定性和寿命至关重要。 下面将介绍在PCB设计过程中处理散热问题的方法和技巧&#xff0c;以帮助大家提高设计质量和性能。 首先&#xff0c;在处理散热问题之前&…

Webpack怎么使用?

Webpack 使用 前几篇文章中已经介绍了如何初始化包管理器 package.json 这里不再重复介绍&#xff0c;如有需要请查看 搭建工程化项目。 安装 :::warning 注意 请确保你已经安装了 yarn&#xff0c;如有需要请查看 搭建工程化开发环境。 ::: 通过命令 yarn add webpack web…

Vue系列第八篇:echarts绘制柱状图和折线图

本篇将使用echarts框架进行柱状图和折线图绘制。 目录 1.绘制效果 2.安装echarts 3.前端代码 4.后端代码 1.绘制效果 2.安装echarts // 安装echarts版本4 npm i -D echarts4 3.前端代码 src/api/api.js //业务服务调用接口封装import service from ../service.js //npm …

windows永久关闭更新

不要去services.msc 服务里面关闭windowUpdata了&#xff0c;对win11和部分win10根本不管用&#xff0c;下面在教你一招永久关闭&#xff08;原理不是关闭&#xff0c;只是延长更新时间&#xff0c;时间可以设置百年后&#xff0c;所以和关闭差不多&#xff09; windows图形化…

LeetCode--HOT100题(22)

目录 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09; 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表…

[C++从入门到精通] 9.inline、const、mutable、this和static

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…

Day 75:通用BP神经网络 (2. 单层实现)

代码&#xff1a; package dl;import java.util.Arrays; import java.util.Random;/*** Ann layer.*/ public class AnnLayer {/*** The number of input.*/int numInput;/*** The number of output.*/int numOutput;/*** The learning rate.*/double learningRate;/*** The m…

极海APM32F003F6P6烧写问题解决记录

工作中遇到的&#xff0c;折腾了好久&#xff0c;因为电脑重装过一遍系统&#xff0c;软件也都重新安装了&#xff0c;所以不知道之前的配置是什么&#xff0c;旧项目代码编译没问题&#xff0c;烧写时疯狂报错&#xff0c;用的是JLink。 keil版本v5.14 win10版本 JLink版本…

class version 61 java version 17.0.4

class version (javap -verbose xxxx.class)_spencer_tseng的博客-CSDN博客

基于EEGLAB的ICA分析

目录 1.ICA原理 2.ICA的实现 3.ICA成分识别 4.ICLabel识别并去除伪迹 5.ICA成分识别练习 1.ICA原理 得到的每一个地形图&#xff0c;实际上就是它的权重谱。 投射&#xff1a;根据原成分恢复原始信号。 选择性投射&#xff1a;去伪。 2.ICA的实现 extended&#xff0c;1&…

聊聊企业数据安全那些事~

保护企业数据安全的重要性与方法 随着信息技术的快速发展&#xff0c;企业数据的安全性变得越来越重要。在数字化时代&#xff0c;企业的核心业务和关键信息都存储在电脑系统中&#xff0c;一旦遭受到数据泄露、黑客攻击或恶意软件感染&#xff0c;将可能对企业造成严重的损害…

24考研数据结构-图的基本操作

目录 6.6. 图的基本操作1. Adjacent(G,x,y)边的存在2. Neighbors(G,x):列出图G中与结点x邻接的边3. InsertVertex(G,x):在图G中插入顶点x4. DeleteVertex(G,x):从图G中删除顶点x5. AddEdge(G,x,y):若无向边(x,y)或有向边<x,y>不存在&#xff0c;则向图G中添加该边。6. Fi…

智能视觉新时代:探索Intewell-Hyper II在机器视觉芯片检测中的独特魅力

随着科技的不断进步&#xff0c;芯片制造业正在经历前所未有的快速发展。为了确保芯片的品质和可靠性&#xff0c;机械视觉芯片检测技术逐渐成为行业内的重要环节。作为机器视觉领域的重要部分&#xff0c;Intewell操作系统在打造高效、精确的检测方案方面发挥着关键作用。 基…

GraphGT: Machine Learning Datasets for Graph Generation and Transformation

一、文章来源 > Du Y, Wang S, Guo X, et al. Graphgt: Machine learning datasets for graph generation and transformation[C]//Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track (Round 2). 2021.二、概述 1、文章提出…

uniapp 持续获取定位(登录状态下才获取)(不采用定时器)(任意页面都可监听定位改变)

基于上次文章做了优化和改良,保证在登录状态下才获取定位信息 uniapp 小程序实时且持续获取定位信息(全局设置一次)(单页面监听定位改变)(不采用定时器)_uniapp小程序定位_前端小胡兔的博客-CSDN博客本篇文章实现了uniapp 微信小程序实时获取定位信息,小程序打开即可持续获取定…