(每日一读2019.10.18)向人类学习如何抓取:数据驱动的架构 拟人软手自主抓握

原论文:

摘要

软手是将顺应性元素嵌入其机械设计中的机器人系统。这样可以有效地适应物品和环境,并最终提高其抓握性能。如果与经典的刚性手相比,这些手在人性化操作方面具有明显的优势,即易于使用和坚固耐用。但是,由于缺乏合适的控制策略,它们在自主控制方面的潜力仍未得到开发。为了解决这个问题,在这项工作中,我们提出了一种方法,可以从观察人类策略开始,使软手能够自主地抓握物体。通过深度神经网络实现的分类器将要抓取的物体的视觉信息作为输入,并预测人类将执行哪些操作来实现目标。因此,此信息用于从一组人类启发的原语中选择一个,这些原语将软手姿势的演变定义为预期动作和基于触摸的反应性抓握的组合。该体系结构的硬件组件包括用于观察场景的RGB摄像头,7自由度操纵器和柔性手。柔性手在指甲处装有IMU,用于检测与物体的接触。我们使用20个对象对提出的体系结构进行了广泛的测试,在111个抓取过程中,成功率为81.1%。

引用

由于实际相关性和理论复杂性,用人工手执行可靠和稳定的抓握是机器人领域的主要挑战。 用于用刚性机械手抓握的经典方法通常偏向于以对象为中心的分析解决方案。 更具体地说,假设一组可用的接触点,同时根据对象知识评估它们的位置和接触力[1]。 尽管这种方法非常优雅并且在理论上是合理的,但在实践中尚未产生预期的结果。 为了解决这些局限性,通过有目的地引入弹性元件和欠驱动模式[2],[3],将柔软的人工手的控制智能部分直接嵌入其机制中。 由于其固有的柔韧性,软手可以在外部物品周围塑形并利用其环境,从而增加了其抓握能力。

几篇论文表明,柔软的末端执行器在人为操作时可以达到高水平的抓握性能(例如,参见[4],[5])。 但是,这种灵活性水平在自主抓握执行中仍然是无与伦比的。 确实,经典方法无法应用于此类手,因为它们本身的特性,因此不允许以要求的精度和相对独立性放置指尖。 相反,数据驱动的方法可能是向人类学习如何管理软手,实现更高级别的自主抓握能力的关键。

近年来,机器学习已变得非常流行,并获得了积极的成果[6],[7],[8]。但是,到目前为止,文献中只有很少的作品将学习方法应用于软手的控制。在[9]中,通过示范学习与强化学习相结合,将已知物体的抓取能力从操作员转移到机器人系统。在[10]中,自动编码器和广义回归神经网络用于从操作员生成的示例中学习如何使用软抓手操作以前看不见的薄物体。尽管非常有前途,但是这两篇作品都没有关于要掌握的对象的泛化能力。最近有两项工作试图超越这一限制。在[11]中,从操作软手的对象中收集了一个反应策略库,并在人机交接的情况下成功地将其翻译为机器人对新项目的掌握。在[12]中,使用成千上万个标记图像训练3D卷积神经网络。网络输出为手接近方向提供控制输入。

这些作品不仅在性能方面,而且在从根本上来说,代表着向前迈出的重要一步,以认识到机器学习方法和软手的互补但相互交织的本质。 确实,基于学习的技术只能获得与所需解决方案足够接近的解决方案,而不是精确的解决方案。 这种不确定性可以通过软手局部适应未知环境的能力来自然补偿。

这项工作的目的是建立在这一原理的基础上,并充分利用硬件的适应性来掌握各种各样非常不同的对象。 为此,我们提出了一种受人类启发的多模式,多层体系结构(图1),该体系结构将前馈组件与无功传感器触发的动作结合在一起。 我们在网络以前看不见的20个对象上对提议的体系结构进行了广泛的测试。 放在桌子上的物体的方向也不同。 对于每种条件,我们进行了3次重复,总共进行了111次测试,总的抓取成功率为81.1%。

人类可以通过采用各种不同的策略来完成非常复杂的抓握[13]。 这就带来了一个挑战性的问题,即找到适用于给定场景的正确策略。 通常建议动物大脑通过首先构建用于做出决定的世界表示,然后通过计算和执行行动计划来应对这一挑战[14]。

提出的方法

人类能够通过使用各种不同的策略来完成非常复杂的抓取[13]。这就带来了一个具有挑战性的问题,即如何为给定的场景找到正确的策略。人们普遍认为,动物的大脑通过首先构建用于做出决定的世界表象,然后通过计算和执行行动计划来应对这一挑战[14]。我们没有学习一个完整的端到端映射,而是将所提出的体系结构构建为可解释的基本元素的组合,如图1所示。这里的智能分布在三个抽象层次上:一)高层次:在所有可用的分类中计划正确动作的分类器;二)中等层次:一组实现接近阶段和传感器触发反应的受人启发的低层次策略,iii)低水平:一只软手,其具体智能机械地管理局部不确定性。这三个层次都是受人类启发的。

我们通过一个深度神经网络实现了分类器。这是训练,以预测对象定向抓取行动中选择的九个人类标记的策略,使用作为输入只有第一人称rbg图像的场景。这些动作是在机器人一侧实现的,以再现视频中观察到的动作。随后,根据[11]的原理,引入了反应性成分。该组件以放置在软手上的六个IMU产生的加速度作为输入,以生成所需的手姿态演化。较低层次的智能由软手本身组成,软手可以依靠其内在的顺应性来处理局部的不确定性。任何一个机器人手,无论是在运动还是在运动学上都是柔软的和拟人的,都可以达到这个范围。在不丧失一般性的情况下,我们在这里使用PISA/IIT软件[15]。我们将在下一节报告这些组件的详细说明。

这项工作的主要贡献是:

  • 一种深度神经网络,它能够使用场景的第一人称rgb图像,以高精度预测人类抓取对象的策略。然后利用这个结果在机器人侧规划合适的原始的执行;
  • 一组反应性原语,能复制人类的抓握动作,基本上扩展了[11];
  • 自主抓取系统的定义和广泛的实验验证,它结合了这两个模块和软手的适应性。

深度分类器

这种深层神经网络的目的是将从场景中检测到的物体与人类正确掌握的原始物体(即手的姿势进化)联系起来。深度学习模型包括两个阶段,如图1所示:一个用于检测对象,另一个用于执行与所需运动的实际关联。

在讨论这两个组件的细节之前,我们简要描述了从人类视频中提取和标记原始信息的各个阶段.

  • 顶部:从顶部接近物体,手掌向下与桌子平行。对象中心近似于中指骨的水平。当接触建立时,受试者同时闭合他们的所有手指,获得一种像握力一样的稳固力量。
  • 左上角:与上手相同,但手掌顺时针旋转至少π=9弧度。
  • 右上角:对于顶部抓取,但手掌逆时针旋转至少π=9弧度。
  • 底部:物体从右侧接近。手掌大致垂直于桌子,但略微倾斜,使指尖比手腕更接近物体。当接触时,手用拇指抵住四个长手指合上。这个原语用于抓取大的和凹的物体,例如沙拉碗。
  • 夹持:与顶部相同,但原语以夹持结束。
  • 捏左:与左上角相同,但原语以捏握结束。
  • 捏右:与右上角相同,但原语以捏握结束。
  • 滑动:将手从上方放在物体上,以便将其推向表面。保持这种手的姿势,物体向桌子边缘移动,直到它部分突出。然后,通过将拇指移到物体下方,并与长手指相对,实现抓取。此策略用于抓取厚度小于其他尺寸的对象,例如书本或光盘。
  • 翻转:拇指与一侧的环境一起使用,另一侧的索引和/或中间用于旋转对象。这个项目旋转大约π=2,然后用捏住它。这个策略是用来抓住小而薄的物体,如硬币。
  • 横向:与顶部抓握相同,但在接近阶段手掌垂直于物体。此策略用于抓取高的物体,如瓶子

这些原语的选择是从文献[16]、[13]中获得灵感,并提供了一个对人类行为有代表性但简洁的描述,而没有任何穷尽的要求。请注意,动作原语的选择不仅依赖于对象,还依赖于配置。对于左/右修改器,这是清楚的。例如,考虑一个瓶子;如果放在它的底部,它会触发一个横向抓取,而当放在它的侧面时,会诱导一个顶部抓取。

提取每个视频的第一帧,仅显示环境中的对象,并通过网络的对象检测部分进行阐述(见下一小节)。裁剪后的图像被标上视频剩余部分中被摄对象使用的策略。这是我们用来训练网络的数据集。

A 目标检测

使用最先进的探测器yolov2实现目标检测[17]。给定rgb输入图像,yolov2生成一组带标签的边界框,其中包含场景中的所有对象。我们首先丢弃所有标有“人”的盒子。我们假设目标位于图像中心附近。因此,我们选择离场景中心最近的边界框。一旦识别出感兴趣的对象,图像将自动在边界框周围裁剪,并调整大小为416×416像素(后续层预期的大小)。结果被输入下面的块进行分类。

B 原始分类

a)架构:我们遵循迁移学习方法,而不是从头开始构建一个全新的架构。这个想法是利用现有的知识从一个环境中学习,以解决一个新的问题,这是不同的,但相关的。这样,较小的数据量就足以训练模型,在较短的训练时间内达到较高的精度。我们选择inception-v3[18]作为起点,对imagenet数据集进行训练,从图像中对对象进行分类。我们保留输入层和中间层,删除SoftMax层。通过这种方式,我们可以直接访问inception-v3用来执行其分类的高度精炼和信息丰富的神经特性集。需要注意的是,对象签名不是一对一的,而是旨在提取可应用于具有相似特征的对象的高级语义描述。在原始架构的基础上,我们添加了两个完全连接的层,每个层包含2048个神经元(具有relu激活功能)。这些层操作由卷积层和池层发现的高级特征的自适应非线性组合,进一步细化信息。通过这种方式,几何特征被隐式地联系在一起,作为分类的基础。最后一个完全连接层的输出因此被输入到softmax中,它在所考虑的运动原语集上产生概率分布。我们选择了最大概率的网络作为输出。

b)训练和验证:我们使用上述标记的数据集来培训网络。inceptionv3架构顶部的两个完全连接层的参数是从头开始训练的,而网络的原始参数是经过微调的。为此,我们规定了特定层次的学习率。更具体地说,我们在预先训练的网络的前172层(总共249层)中冻结权重。这些层捕获了一些与我们的问题相关的通用特性,如曲线和边。相反,我们使用随后的77层来捕获特定于数据集的特性。然而,如果与随机初始化的权重相比,我们希望预训练的权重已经很好了。因此,我们避免使用相对较小的学习率λftλ_{ft}突然改变它们。最后,考虑到最后两个完全连接层的权重是从头开始训练的,我们随机初始化它们并使用更高的学习率λtrλ_{tr} w.r.t。我们在以前的层中使用的学习率。我们通过使用dropout进一步降低了过度拟合的风险;在向网络呈现训练样本之前,我们随机地将神经元与其结构断开(实际上,这是通过屏蔽它们的激活来实现的)。每个神经元用概率pdrop去除。这样,每次训练网络时都会产生一个新的拓扑结构,引入变异性并减少病理性权值协同适应的产生。我们使用Keras库进行网络设计和训练。所有的程序都是在12GB板载内存的nvidia tesla m40 gpu执行的。

为了验证原始分类的泛化性和鲁棒性,我们使用了hold-out验证。目标是独立于用于训练模型的数据来估计模型预测精度的预期水平。我们将数据集分成:70%的对象用于培训,20%的对象用于验证,10%用于测试。我们在三个以上的数据集中为每个类维护了均衡的对象数。我们使用交叉熵代价函数训练30种不同的网络配置,通过计算SoftMax层的输出与给定样本类别的标签向量之间的误差来调整权重。通过改变最相关的模型学习超参数,即学习率λft 2 f10-3;10-4;10-5;10-6g和λtr 2 f10-2;10-3;10-4g,辍学概率pdrop 2 f0:4;0:5;0:6g,f10中的学时数;20;30;40g,以及f10中的批大小,获得每个网络的训练时间从1到5小时不等。我们选择的配置在验证数据集上提供了最高的F1分数精度[19],即97%。所选的超参数为λft=10-5、λtr=10-3、pdrop=0:5、30个阶段和20个批次。

利用这些参数,网络能够对测试集中的原语进行分类,准确率从86%到100%,取决于原语,平均95%。图4示出了所有十个类的分类器的标准化精度。目测结果揭示了网络偶发故障背后的两个主要原因。第一个是问题公式本身的局限性,这使得本质上不可能达到100%的分类精度。事实上,很少有两个被试以两种不同的方式掌握同一结构中的同一物体。例如,这种情况发生在硬币上,硬币通常是通过翻盖抓住的,而有时使用滑动原语代替。第二个原因是由于只使用一个rgb图像,网络有时会误解对象的大小。例如,这可能导致预测碗的顶部抓取而不是底部抓取,因为此对象可能被解释为类球项目。在今后的工作中,我们将考虑使用立体相机来防止这个问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章