写点什么

Google 提出 Grasp2Vec 模型:利用自监督方法学习物体表示

  • 2019-01-03
  • 本文字数:2637 字

    阅读完需:约 9 分钟

Google提出Grasp2Vec模型:利用自监督方法学习物体表示

让机械臂抓取指定物体的难点在于物体识别任务。针对这一问题,Google 提出了 Grasp2Vec 模型,用强化学习的方式,让机械臂提供抓取信息,从而自监督地学习物体表示。让我们一起来学习一下吧!


在年龄很小很小的时候,我们就能够识别自己喜欢的物品并将它们捡起来——尽管从未有人明确地教过我们如何这样做。根据认知发展研究,与世界中的物体相互作用的能力(例如有针对性的抓取),在人类感知和操纵物体的能力形成的过程中起着至关重要的作用。通过与周围世界的互动,人们能够进行自监督学习:我们知道自己采取了什么行动,并能够从结果中学习。在机器人技术领域,人们正在积极研究这种类型的自监督学习,因为它使机器人系统能够在缺少大量训练数据或无人工监督的情况下进行学习。


“客体永久性(object permanence)”概念的启发,我们提出了Grasp2Vec——一种用于获取物体表示的简单而高效的算法。Grasp2Vec 基于这样的直觉:尝试抓取任何东西都会提供以下几条信息—— 如果机器人抓住一个物体并将其抬起,则物体必须在抓取前进入场景。此外,若机器人知道它抓住的物体当前处于其抓取器中,就会将其从场景中移除。通过使用这种形式的自监督,机器人可以利用抓取前后的场景视觉变化来学习识别物体。



基于我们之前与X Robotics的合作项目(该项目的任务是让一系列机器人同时学习使用单目相机输入来抓取家用物品),我们让机械臂“无意地”抓住物体,这种经验可以帮助机器人学到更丰富的物体种类。然后,可以利用这些表示来获取“有意识地抓取”能力,即机械臂可以抓取用户指定的物体。

构建感知奖励函数

强化学习的框架中,任务的成功与否是通过“奖励函数(reward function)”来衡量的。通过最大化奖励函数,机器人可以从头开始自学各种各样的技能。如果任务的成功与否可以通过简单的传感器测量来衡量,设计奖励函数就很容易。一个简单的例子是,给定一个按钮,当它被推动时,机器人便可直接获取奖励


然而,当我们的成功标准取决于对当前任务的“感性理解”时,设计奖励函数就要困难得多。考虑实例抓取的任务,其中机器人看到的是被保持在抓手中的期望物体的图片。机器人试图抓住该物体后,它会检查抓取器的内容。此任务的奖励函数可以看作物体识别问题:抓住的物体是想要的吗?


左图:抓手握住刷子,背景中有一些物体(黄色杯子,蓝色塑料块)。右图:抓手握住黄色杯子,刷子在背景中。如果左图是期望的结果,则一个好的奖励函数应该“理解”上面的两个图像中抓手抓到的是不同的物体。


左图:抓手握住刷子,背景中有一些物体(黄色杯子,蓝色塑料块)。右图:抓手握住黄色杯子,刷子在背景中。如果左图是期望的结果,则一个好的奖励函数应该“理解”上面的两个图像中抓手抓到的是不同的物体。


为了解决这种识别问题,我们需要一种感知系统:该系统能从非结构化图像数据中提取有意义的物体概念(没有任何人类注释),以无监督的方式学习物体的视觉感知。无监督学习算法起作用的核心是其对数据做出的结构性假设。通常假设图像可以被压缩到低维空间中,并且可以从视频中之前的帧预测当前的帧。不过,如果没有对数据内容的进一步假设,这些信息通常不足以学习出被分解开的多个物体的表示。


如果我们在数据收集过程中用一个机器人将物体彼此物理地分开,会怎么样呢?机器人领域为表示学习提供了一个令人兴奋的机会,因为机器人可以操纵物体,从而提供数据所需的变化因素。我们的方法基于这样一种观察:物体一旦被抓取,就被从场景中移除了。这样,我们可以获得:1)抓取前的场景图像,2)抓取后的场景图像和 3)抓握物体本身的孤立视图。


左:抓取前的物体;中:抓取后的物体;右:被抓取的物体


左:抓取前的物体;中:抓取后的物体;右:被抓取的物体


如果我们考虑一个从图像中提取“物体集合”的嵌入函数,那么此函数应该满足以下减法关系:


抓取前的物体 - 抓取后的物体 = 被抓取的物体


抓取前的物体 - 抓取后的物体 = 被抓取的物体


我们使用了全卷积架构和简单的度量学习算法来实现这种等式关系。训练时,下图中的架构将预抓图像和后抓图像嵌入密集的空间特征图中。特征图经过平均池化保存到向量中,而“先掌握”和“后掌握”向量的差表示一组物体。该向量和对应的被抓取物体的向量表示之间的等价约束是通过N-Pairs目标函数实现的。



训练过后,我们的模型中自然而然地会出现两个有用的属性。

1. 物体相似度

第一个属性是,我们可以利用向量嵌入之间的余弦距离对物体进行比较,并确定它们是否相同。这个属性可以用于实现强化学习的奖励函数,并允许机器人在没有人工提供的标签的情况下学习实例抓取。


2. 目标物体本地化

第二个属性是,我们可以组合场景空间映射和物体嵌入来本地化图像空间中的“查询对象”。通过对空间特征图和对应的查询对象向量进行逐元素相乘,我们可以找到空间映射中与查询对象“匹配”的所有像素。


图:使用Grasp2Vec嵌入来本地化场景中的物体。左上角的图像显示了桶中的物体。左下角是我们想要抓取的查询对象。通过将查询对象矢量与场景图像的空间特征做点乘,我们得到每像素“激活图”(右上图像)。该图像表示两张图像的各区域相似度。该响应图可用于接近物体,从而进行抓取。


图:使用 Grasp2Vec 嵌入来本地化场景中的物体。左上角的图像显示了桶中的物体。左下角是我们想要抓取的查询对象。通过将查询对象矢量与场景图像的空间特征做点乘,我们得到每像素“激活图”(右上图像)。该图像表示两张图像的各区域相似度。该响应图可用于接近物体,从而进行抓取。


当有多个对象与查询对象匹配时,或甚至查询包含多个对象(两个向量的平均值)时,我们的方法也有效。例如下图中的场景,我们的模型可以检测出场景中的多个橙色块。



点乘操作得到的“热图(heatmap)”可用于规划机器人接近目标物体的方法。我们将 Grasp2Vec 的本地化和实例识别功能与我们的“抓取一切”策略相结合,在数据收集过程中所看到的物体上获得了 80%的成功率,在机器人以前未遇到的新对象上获得了 59%的成功率。

结论

在我们的论文,我们展示了机器人抓取技能如何生成用于学习以物体为中心的表示的数据。然后,我们可以使用表示学习来“引导”更复杂的技能,例如实例抓取,同时保留我们的自主抓取系统的自监督学习属性。


除了我们自己的工作,最近的一些论文还研究了如何通过抓取推动和以其他方式操纵环境中的物体、获得自监督交互,从中学习物体表示。展望未来,我们很兴奋,这种兴奋不仅来自机器学习通过优化机器人的理解、控制能力,可以为机器人技术带来怎样的进步,也来自机器人技术在新的自监督范式方面能为机器学习注入怎样的新鲜血液。

致谢

这项研究由 Eric Jang,Coline Devin,Vincent Vanhoucke 和 Sergey Levine 完成。我们要感谢 Adrian Li,Alex Irpan,Anthony Brohan,Chelsea Finn,Christian Howard,Corey Lynch,Dmitry Kalashnikov,Ian Wilkes,Ivonne Fajardo,Julian Ibarz,Ming Zhao,Peter Pastor,Pierre Sermanet,Stephen James,Tsung-Yi Lin,Yunfei Bai,和 Google、X 公司和中的许多其他员工,以及更广阔的机器人社区中的许多其他研究者为改进这项工作做出的贡献。


原文链接:https://ai.googleblog.com/2018/12/grasp2vec-learning-object.html


2019-01-03 14:087110

评论

发布
暂无评论
发现更多内容

ChatGPT 为什么在一夜之间火了? | 社区征文

叶秋学长

openai ChatGPT 人工智能ChatGPT 吗?

金融行业数据分类分级“五步走”|盾见

极盾科技

数据安全

GPU推理服务性能优化之路 | 得物技术

得物技术

Python

存货库存模型升级始末 | 得物技术

得物技术

java

理解浏览器cookie

hasWhere

web3 NFT代币铸造盲盒抽奖质押dapp游戏系统开发智能合约技术分析

开发微hkkf5566

【实用类】测试使用ChatGPT开发shell脚本 | 社区征文

瀛洲骇客

ChatGPT

SpringBoot之如何实现热部署?这你得会 | 超级详细,建议收藏

Java你猿哥

Java spring Spring Boot ssm Java工程师

如何在同步的 Rust 方法中调用异步代码 | Tokio 使用中的几点教训

Greptime 格睿科技

rust runtime tokio

加速数据要素价值释放,用友打造高性能时序数据库

科技热闻

隔离级别+事务+连接池+锁

hasWhere

捷报频传 | 博睿数据签约华润集团,携手共进共创共赢

博睿数据

可观测性 智能运维 博睿数据 签约 华润集团

Mybatis Plus最新代码生成器AutoGenerator,更简单更高效!

Java你猿哥

mybatis ssm Java工程师 java Mybatis-Plus

镭速传输是如何管理大文件跨国传输的

镭速

万字分享:以Code Review 最佳实践,解答降本增效 or 增加成本之问(上)

极狐GitLab

DevOps Code Review 代码安全 代码评审 安全左移

荣誉|百度获信通院“数据安全共同体计划”多项荣誉表彰

百度安全

KaiwuDB 时序引擎数据存储内存对齐技术解读

KaiwuDB

时序数据库 KaiwuDB 内容对齐

研发效能怎么分析?方法论、模型、误区都在这里了

思码逸研发效能

研发效能

MQTT 5.0消息发布流程

EMQ映云科技

物联网 IoT mqtt QoS 企业号 3 月 PK 榜

【YonBuilder 移动开发】关于创建 App 是否需要 AVM 的经验分享

YonBuilder低代码开发平台

YonBuilder 应用构建全新入门指南

YonBuilder低代码开发平台

这几个群,程序员可千万不要进!

禅道项目管理

项目管理 程序员 项目管理工具

如何通过Java程序加密或者解密PDF文档

Geek_249eec

Java PDF

低代码:助力乡村振兴事业开启“智慧模式”

加入高科技仿生人

低代码 数字化 乡村振兴 农业农村数字化

两大国际标准正式发布,百度安全深度参与

百度安全

国内功率半导体需求持续快速增长,华秋携手合科泰促发展

华秋电子

程序员养发神器:拒绝加班熬夜,告别秃头!

引迈信息

json 程序员 前端 HTTP java

并发编程详解:从理论基础到案例实战(十三个工具类,十大设计模式)

程序知音

Java 并发编程 设计模式 java架构 后端技术

用友开发者中心应用构建实践指引!

YonBuilder低代码开发平台

一篇介绍这个"风靡的语言模型的文章" | 社区征文

雪奈椰子

ChatGPT 人工智能ChatGPT 吗?

Google提出Grasp2Vec模型:利用自监督方法学习物体表示_AI&大模型_Eric Jang_InfoQ精选文章