【论文解读】Object Goal Navigation usingGoal-Oriented Semantic Exploration

本文主要是介绍【论文解读】Object Goal Navigation usingGoal-Oriented Semantic Exploration,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文:https://devendrachaplot.github.io/papers/semantic-exploration.pdf

代码:https://github.com/devendrachaplot/Object-Goal-Navigation

项目: Object Goal Navigation using Goal-Oriented Semantic Exploration

 example:

1 摘要:

        这项研究探讨了目标导航问题,涉及在未知环境中导航到给定对象类别的实例。端到端的基于学习的导航方法在这项任务中面临困难,因为它们在探索和长期规划方面效果不佳。

        我们提出了一种模块化系统,名为“目标导向语义探索”,它构建一个情景语义地图并利用它根据目标对象类别高效地探索环境。

        视觉上逼真的仿真环境中的实证结果显示,所提出的模型在多个基准测试中表现优异,包括端到端学习方法以及基于模块地图的方法,并且在CVPR-2020 Habitat ObjectNav挑战赛的获胜。        

        消融分析表明,所提出的模型学习了场景中对象的相对排列的语义先验,并利用这些先验进行高效探索。领域无关的模块设计使我们能够将模型转移到移动机器人平台,并在现实世界中实现类似的目标导航性能。 

2 引言:

图1:目标导航所需的语义技能。高效的目标导航不仅需要被动技能,如对象检测,还需要主动技能,比如构建一个情景记忆并有效地利用它来学习关于场景中对象相对排列的语义先验。 

        所提出的方法,被称为“目标导向语义探索”(SemExp),在Active Neural SLAM的基础上进行了两方面的改进,以解决语义导航任务。

        首先,它构建类似于Active Neural SLAM的自顶向下度量地图,但添加额外的通道来明确编码语义类别。与在Active Neural SLAM中直接从第一人称图像预测自顶向下地图不同,我们使用第一人称预测,然后进行可微分几何投影。这使我们能够利用现有的预训练对象检测和语义分割模型来构建语义地图,而不是从头开始学习。

        其次,我们不再使用仅基于障碍地图的最大化覆盖不可知目标的探索策略,而是训练了一个目标导向的语义探索策略,该策略学习了用于高效导航的语义先验。

        这些改进使我们能够处理具有挑战性的目标导航任务。我们在视觉上逼真的仿真环境中的实验表明,SemExp在很大程度上优于先前的方法。所提出的模型还赢得了CVPR 2020 Habitat ObjectNav挑战[3]。我们还展示了SemExp在转移到移动机器人平台时实现了类似的实际性能。

        所提出的模型包括两个模块,语义映射(Semantic Mapping)目标导向语义策略(Goal-Oriented Semantic Policy)。语义映射模块随时间构建语义地图,而目标导向语义策略根据语义地图选择一个长期目标,以有效地实现给定的对象目标。基于分析规划器的确定性本地策略用于采取低层次的导航动作,以达到长期目标。 

3 方法:

3.1 目标导航任务定义:

        在目标导航任务中,目标是导航到给定对象类别的一个实例,如“椅子”或“床”。代理在环境中的一个随机位置初始化,并接收目标对象类别(G)作为输入。在每个时间步t,代理接收视觉观察(st)和传感器姿势读数xt,并采取导航动作at。视觉观察包括第一人称的RGB和深度图像。动作空间A包括四个动作:move_forward(前进)、turn_left(左转)、turn_right(右转)、stop(停止)。当代理认为已接近目标对象时,需要执行‘stop’动作。如果到目标对象的距离小于某个阈值ds(= 1m),当代理执行停止动作时,该回合被视为成功。回合在达到固定的最大时间步数(= 500)后终止。

3.2 概述:

        我们提出了一个名为“目标导向语义探索”(SemExp)的模块化模型,用于解决目标导航任务(请参见图2概述)。它由两个可学习的模块组成,即“语义映射”和“目标导向语义策略”。语义映射模块随时间构建语义地图,而目标导向语义策略根据语义地图选择一个长期目标,以高效地实现给定的目标对象。基于分析规划器的确定性本地策略用于采取低层次的导航动作,以达到长期目标。我们首先描述我们的模型使用的语义地图表示,然后描述这两个模块。

 3.3 语义地图表示:

        SemExp模型内部维护着语义度量地图 mt 和代理的姿势 xt。空间地图 mt 是一个 K × M × M 的矩阵,其中 M × M 表示地图的大小,该空间地图中的每个元素对应于物理世界中的一个大小为25cm²(5cm × 5cm)的单元格。K = C + 2 是语义地图中的通道数,其中 C 是语义类别的总数。前两个通道表示障碍和已探索区域,其余的通道分别表示一个对象类别。每个通道中的每个元素表示相应位置是否是障碍物,已探索,或者包含相应类别的对象。在每一轮开始时,地图被初始化为全零,m0 = [0]^(K×M×M)。姿势 xt ∈ R^3 表示代理的x和y坐标以及在时间t的代理方向。代理始终从每一轮的开始时以东向朝向地图的中心,x0 = (M/2, M/2, 0.0)。

3.4 语义映射。

        为了构建语义地图,我们需要预测视觉观察中看到的对象的语义类别和分割。最好使用现有的对象检测和语义分割模型,而不是从头开始学习。主动神经SLAM模型直接从RGB观察中预测自顶向下地图,因此没有任何机制来整合预训练的对象检测或语义分割系统。相反,我们在第一人称视图中预测语义分割,并使用可微分投影将第一人称预测转换为自顶向下地图。这使我们能够使用现有的预训练模型进行第一人称语义分割。然而,第一人称语义分割中的小错误可能导致在投影后地图中的大错误。为了克服这个限制,我们在地图空间中引入了一个损失,除了在第一人称空间中。

        图3显示了语义映射模块的概述。深度观测用于计算点云。点云中的每个点都与预测的语义类别相关联。使用在RGB观察中预训练的Mask RCNN [18]来预测语义类别。然后,点云中的每个点通过可微分的几何计算在3D空间中投影,得到体素表示。然后将体素表示转换为语义地图。对于所有障碍、所有单元格和每个类别,通过对体素表示的高度维度求和,可以得到投影语义地图的不同通道。然后,将投影的语义地图通过去噪神经网络,得到最终的语义地图预测。

       地图在时间上通过空间变换和通道池化进行聚合,详细描述可参考Active Neural SLAM。语义映射模块使用交叉熵损失进行监督学习,同时考虑语义分割和语义地图预测。几何投影采用可微操作实现,以便如果需要,损失可以通过整个模块进行反向传播。

3.5 目标导向语义策略

        目标导向语义策略根据当前的语义地图决定一个长期目标,以达到给定的目标对象(G)。如果与类别G对应的通道具有非零元素,表示观察到目标对象,它会简单地将所有非零元素选择为长期目标。如果没有观察到目标对象,则目标导向语义策略需要选择一个最有可能发现目标类别对象的长期目标。这需要学习对象和区域相对排列的语义先验。我们使用一个神经网络来学习这些语义先验。它以语义地图、代理的当前和过去位置以及目标对象为输入,并在自顶向下地图空间中预测一个长期目标。目标导向语义策略使用强化学习进行训练,以目标对象的最近距离减小为奖励。我们在一个粗略的时间尺度上对长期目标进行采样,每u = 25步一次,类似于[10]中的目标不可知的全局策略。这将强化学习中的探索时间视角指数级减小,从而减少样本复杂性。

3.6 确定性本地策略

        本地策略使用快速行进方法[41]基于语义地图的障碍通道来规划从当前位置到长期目标的路径。它简单地沿着路径采取确定性动作以达到长期目标。与Active Neural SLAM中的训练本地策略相比,我们使用确定性本地策略,因为在我们的实验中它们表现相似。请注意,尽管上述语义策略在粗略的时间尺度上操作,但本地策略在细粒度的时间尺度上操作。在每个时间步中,我们更新地图并重新规划到长期目标的路径。

4 实验

图4:示例轨迹。图中显示了SemExp模型在Gibson测试集的场景中的示例轨迹。在顶部显示了代理所看到的示例图像,下方显示了预测的语义地图。目标对象是'bed'。由目标导向语义策略选择的长期目标显示为蓝色。右侧显示了带有代理轨迹的地面真实地图(对代理不可见)供参考。 

结果:

        我们对所有基线和提出的模型进行了1000万帧的训练,并分别在Gibson和MP3D测试集中进行评估。我们对每个场景运行了200个评估回合,Gibson总共有1000个回合(5个场景),MP3D总共有2000个回合(10个场景,其中1个场景不包含6个可能类别的任何对象)。

        图4使用提出的SemExp显示了一个示例轨迹,展示了代理的观察和预测的语义地图。定量结果显示在表1中。SemExp在两个数据集上一致优于所有基线(在Gibson/MP3D上实现了54.4%/36.0%的成功率,而Active Neural SLAM基线为44.6%/32.1%)。绝对数字在Gibson数据集上较高,因为场景相对较小。表1中Random的成功阈值表示数据集的难度。有趣的是,将传统的探索与预训练的对象检测器相结合的基线优于端到端的强化学习基线。我们观察到基于强化学习的基线的训练性能要高得多,表明它们在训练场景中记忆了对象的位置和外观,并且泛化能力差。SemExp相对于Active Neural SLAM基线的性能提升显示了在探索中整合语义和目标对象的重要性。

5 结论

         在本文中,我们提出了一个在大型真实环境中解决目标导航任务的语义感知探索模型。所提出的模型相对于先前的方法有两个主要改进,即在显式的记忆中整合语义和学习目标导向的语义探索策略。我们的方法在目标导航任务上实现了最先进的性能,并赢得了CVPR2020 Habitat ObjectNav挑战赛。消融研究表明所提出的模型学习了导致更高效目标驱动导航的语义先验。领域无关的模块设计使我们的模型成功地转移到了真实世界。我们还分析了模型的错误模式,并在未来的工作中定量衡量了两个重要维度(语义映射和目标导向探索)的改进空间。所提出的模型还可以通过利用情节地图来更有效地导航后续目标,从而扩展到解决一系列目标导航任务。

这篇关于【论文解读】Object Goal Navigation usingGoal-Oriented Semantic Exploration的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647841

相关文章

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O