热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ICRA2019最佳论文MakingSenseofVisionandTouch:SelfSupervisedLearningofMultimodalRepresentatio

文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision

文章目录

  • 摘要
  • 模型架构
    • 模态编码器
    • 自监督预测
  • 控制器设计
    • 策略学习
    • 控制器设计
  • 实验
  • 结论和展望

会议: ICRA 2019

标题:《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》

论文链接: https://arxiv.org/abs/1810.10191

本文仅作为个人学习笔记分享,图片来自于论文,如有侵权,请联系删除。

机器人领域顶级会议 ICRA 2019 刚在加拿大蒙特利尔举行(当地时间 5 月 20 日-24 日),刚刚大会公布了最佳论文奖项,来自斯坦福大学李飞飞组的研究《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》获得了最佳论文。以下是针对这边文章的学习和记录。

摘要

在非结构化环境中执行需要大量接触的操纵任务通常需要触觉和视觉反馈。但是,手动设计机器人控制器使其结合具备不同特征的模态并不容易。尽管深度强化学习在学习高维输入的控制策略时获得了很大成功,但由于样本复杂度,这些算法通常很难在真实机器人上面部署。
该研究使用自监督学习感知输入的紧凑、多模态表征,然后使用这些表征提升策略学习的样本效率。研究者在植入任务上评估了该方法,结果表明该方法对于外部扰动具备稳健性,同时可以泛化至不同的几何、配置和间隙(clearances)。研究者展示了在模拟环境中和真实机器人上的结果。

在这里插入图片描述

图1,Z轴上的压力传感器读数(高度)和视觉观察结果与插入桩任务的相应阶段一起显示。压力读数从(1)在自由空间中移动的臂转变为(2)与盒子接触。当对准销钉时,压力捕捉到盒表面(3,4)上的滑动接触的相互作用力。最后,在插入阶段,当机器人尝试在孔(5)边缘插入销钉时,压力达到峰值,当销钉滑入孔(6)时,压力减小。

模型架构

该研究提出的多模态表征学习模型架构如下图所示:

在这里插入图片描述
图 2:利用自监督进行多模态表征学习的神经网络架构。该网络使用来自三个不同传感器的数据作为模型输入:RGB 图像、力矩传感器在 32ms 窗口上读取的力矩数据、末端执行器的位置和速度。该模型将这些数据编码并融合为多模态表征,基于这些多模态数据可学习用控制器执行需要大量接触的操纵。这一表征学习网络是通过自监督端到端训练得到的。

模态编码器

我们的模型对机器人可用的三种传感器数据进行编码:来自固定摄像头的RGB图像、来自手腕固定力扭矩(F/T)传感器的触觉反馈以及来自机器人手臂关节编码器的本体感知数据。这种数据的异构性要求特定领域的编码器捕获每个模态的独特特征。

对于视觉反馈,我们使用类似于FlowNet的6层卷积神经网络(CNN)编码128x128x3的RGB图像,通过全连接层将最后的激活图转换为128维的向量。

对于触觉反馈,们将来自六轴F/T传感器的最后32个读数作为32*6时间序列,并用stride=2执行5层因果关系的卷积,将压力读数转换为64维的特征向量。

对于本体感知,我们使用2层的多层感知器(MLP)对末端效应器的当前位置和速度进行编码,以生成32维特征向量。

最后,将的得到的三个特征向量连接成一个特征向量,并通过多模态融合模块(2层MLP)生成最终的128维多模表示。

自监督预测

模态编码器有近50万个可学习参数,需要大量的标记训练数据。为了避免人工标注,我们设计了通过自我监督可以自动生成标签的训练目标。此外,控件的表示应该对与操作相关的信息进行编码。为此,我们设计了两个动作条件表示学习目标。考虑到机器人的下一个动作和当前感官数据很少,该模型必须预测(i)动作产生的光流,(ii)末端执行器是否会在下一个控制循环中与环境接触。
在给定本体感知和已知的机器人运动学和几何学,自动生成光流的真实标注信息。通过对F/T读数应用简单的启发式方法,生成二元接触状态的真实标注。

下一个动作,即末端效应器动作,由2层MLP编码。它与多模态表示一起构成了流和接触预测器的输入。流量预测器使用一个6层卷积解码器加上采样来生成128x128x2大小的流量图。之后,我们使用4个跳过连接。接触预测器是一个2层MLP,执行二进制分类。

不同的传感器流之间存在着并发性,导致了相关性和冗余性。例如,看到木钉,触摸盒子,感受力量。我们通过引入第三个表示学习目标来利用这一点,该目标预测两个传感器流是否暂时对齐。在训练过程中,我们对时间一致的多模数据和随机移位的数据进行混合采样。对准预测器(2层MLP)以低维表示为输入,对输入是否对准进行二进制分类。

我们训练了具有端点误差(EPE)损失的作用条件光流平均在所有像素上,以及接触预测和具有交叉熵损失的对准预测。在训练过程中,我们在一组展开的轨迹上,以随机梯度下降的方式,将三个损失的端到端之和最小化。经过训练后,该网络生成一个128维特征向量,它紧凑地表示多模数据。这个向量从输入通过强化学习获得操纵策略。

控制器设计

下图展示了该研究的控制器架构,该架构可分为三部分:轨迹生成、阻抗控制和操作空间控制。
在这里插入图片描述

策略学习


控制器设计


实验

下图展示了该模型在模拟环境中的训练。图 a 展示了 TRPO 智能体的训练曲线:

在这里插入图片描述
图 4:模拟植入任务:对基于不同感知模态数据训练得到的表征进行模型简化测试。研究者将使用结合了视觉、触觉和本体感觉的多模态表征训练得到的完整模型和未使用这些感知训练的基线模型进行了对比。b 图展示了使用不同反馈模态的部分任务完成率,其中视觉和触觉模态在接触丰富的任务中发挥不可或缺的作用。

下图展示了在真实环境中的模型评估。

在这里插入图片描述
图 5:a)在真实机器人实验及其间隙上使用 3D 打印 peg。b)定性预测:研究者对来自其表征模型的光流预测示例进行可视化。

下图展示了在真实机器人上对该模型的评估,同时展示了该模型在不同任务设置上的泛化效果。
在这里插入图片描述
图6:真实机器人peg插入:我们在实际硬件上评估我们的模型,在x轴上显示不同的peg形状。学习到的策略以很高的成功率完成任务。我们还研究了将政策和表示从训练有素的标桩转换为新颖的标桩形状(最后四个栏)。机器人有效地重新利用以前训练过的模型来解决这个新任务。

结论和展望

该技术研究了在时间一致的多传感器数据上联合推理对丰富接触操作任务的价值。为了实现高效的真实机器人训练,提出了一种新模型,将不同的传感器输入编码成一个紧凑的多模态表示。一旦经过训练,当被用作加强学习的浅层神经网络策略的输入时,表征保持不变。我们通过自监督训练了表征模型,不需要手工标注。该研究对紧间隙销钉插入任务的实验表明,它们需要视觉和触觉的多模态反馈。进一步证明了多模表示可以很好地转移到PEG插入的新任务实例中。为了将来的工作,计划将该方法扩展到其他接触式任务,这需要一个完整的位置和方向的6自由度控制器。研究者还希望探讨将更丰富的方式价值(如深度和声音)纳入代表性学习管道,以及新的自监督的来源。


推荐阅读
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
author-avatar
柯韵亚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有