UMPNet: Universal Manipulation Policy Network for Articulated Objects
1. 摘要UMPNet是一个基于图像的策略网络能够推理用于操纵铰接物体的闭环动作序列。该策略支持6DoF动作表示和可变长度轨迹。为处理多种类的物体该策略从不同的铰接结构中学习并泛化到未见过的物体或类别上。该策略是以自监督探索的方式进行学习的无需任何注释、脚本或预定义的目标。为了支持多步交互引入了一个新的Arrow-of-Time动作属性用以指示某个动作是否会使得物体状态倒退到过去的状态或前进到未来的状态。通过在每一个交互步中使用这个Arrow-of-Time推理学习到的策略能够选择朝向/远离给定的状态实现高效的状态探索和基于目标的操纵。这应该比VAT-MART还要早因为是基于目标的所以相对于Where2Act的改进就是可以生成动作轨迹而不是单一的动作执行朝向。2. 引言图 1铰接物体的通用操纵政策。UMPNet 不是预测单步动作而是预测复杂的动作具有不同轨迹长度的闭环 6DoF 动作序列。因此同一个策略网络能够处理不同的集合对象的连接类型或链接数量。UMPNet (Universal Manipulation Policy Network) 通用操作策略网络是一个简单的策略网络通过视觉观测来探索铰接结构物体的可能的操作策略。由策略网络推断的行动轨迹有如下属性2.1. 通用动作表示使用 SE(3) 变换来表示一个铰接的动作。2.2. 闭环行为序列预测单步的动作是比较简单的本文关注的是一个序列的动作。但是由于误差累积和部分观测的原因这是很有挑战的。所以用闭环的方式来解决这一难题即每次都使用初始状态和当前状态来预测一步的动作。2.3. 时间箭头意识大部分动作都是双向有效的。例如对门来说下一时刻既可能是开门开合角度变大或关门开合角度变小所以需要把历史信息记录下来称之为时间箭头它能够指引下一步动作是向前开门还是向后关门。3. 方法操纵策略π的目标是生成与随机铰接物体交互的动作序列得到未见过的新状态。图 2方法概述。UMPNet 采用视觉观察即铰接物体的 RGB-D 图像作为输入并生成 SE(3) 空间中的一系列动作来探索新的对象状态。左在第一个交互步骤中选择抓取位置。正确的在以下步骤中每个候选行动的结果rdist 和率进行推断然后用于行动方向选择。RDIST阿迪尔推断关节之后的潜在移动距离采取行动阿迪尔。rAoT阿迪尔推断是否采取行动会将物体移向新的状态。动作方向与最大 rdist 和正值平均时间将被选中。以图2为例为了高效探索物体马桶为例的新状态算法如下选择物体上正确的位置进行交互即与马桶盖交互而不是基选择正确的动作方向即拉起来而不是向下推在接下来的动作中选择一致的动作以探索新的状态即保持向上拉盖子而不是上下移动盖子这三个需求对应算法中的3个关键部分(1) 运动位置选择(2) 运动距离(3) Arrow-of-Time推理用于动作方向选择。结合这三个部分最后的系统能够通过自引导的探索过程来学习而不需要显式的人类注释、脚本策略或预定义的目标情况。3.1. 问题定义输入是处于当前状态的一张RGBD图像智能体通过策略π生成每一步的动作。该动作是在SE(3)空间中表示的参数化为end-effector位置吸式夹持器和移动方向是一个3D坐标是一个单位向量用于指示end-effector的移动方向。在第一个交互步骤策略选择一个3D位置以应用动作。为了执行动作智能体移动它的end-effector到这个位置方向垂直于物体表面。注意gripper方向由表面法线确定可以不同于动作方向这个动作方向由方向推理网络确定。在接下来的步骤中智能体选择3D方向并沿着方向移动 0.18 (m)位置相对于物体表面固定。吸力是吸盘和选定物体位置之间的力约束。end-effector的方向在交互过程中总是与表面法线对齐。3.2. 位置推理开始的时候策略需要选择一个3D位置应用动作。为了找到这个为止算法需要去从观察图像中选择一个像素并应用动作。选择的像素将被使用深度值投影至3D空间中。这个问题以给图像打标签的方式进行处理位置网络如图2a的输入是 RGB-D 图像预测逐像素的 position affordance score。Affordance 分数 P(w, h) 表示在该位置上应用动作时物体的移动概率。位置网络通过执行动作的输出进行监督。当且仅当物体对象在未来任何步骤中改变时GT标签为1使用二分类交叉熵损失训练。但还需要注意如果选择了那些接近于axis的位置无法应用足够的力来移动物体部件。此外这个标签还受到方向选择的质量影响若预测了错误的方向则物体的状态不会发生改变则会标记为负例。3.3. 方向推理给定抓取点的信息基于这个条件策略需要选择3D方向。为了选择动作方向算法需要采样一组动作候选评估每个动作候选的效率“效率”指的是物体关节位置的移动距离和Arrow-of-Time属性如下定义其中指的是在每一步t时的物体关节状态δ是确定状态是否发生高效改变的阈值。第一个式子表示该阶段状态和上一阶段状态的差异第二个式子确定是否是朝向未来状态的而不是回到过去的状态。为生成候选状态一个简单的方法是在 SO(3) 空间中均匀采样。受限于采样数量采样方向只能覆盖不包括最优方向的连续动作空间的一小部分。为解决这个问题引入启发式的方法迭代交叉熵方法 (CEM, Cross-Entropy Method)减轻采样空间以获得高效率方向采样。这个算法首先在SO(3)空间中均匀采样N个样例。接着基于预测的动作分数评估采样动作。在下一个迭代过程中算法重新采样与分数相关的候选∝表示A与B成正比例20是一个临时量我理解因为指数函数是恒大于0的通过AoT可以筛除掉那些0或0的不合理动作方向从而对那些正确的方向进行重新采样。添加了随机噪声添加随机噪声的目的应该是获得与第一次交互存在差异的交互行为它们被认为是第二次交互的候选。通过这种方法第二次迭代采样的样本将更多集中在具有“潜力”的区域使得同样的采样数量下获得更好的表现。为了推理动作候选的移动距离网络需要考虑物体当前状态和抓取位置二者被编码在当前的观测中。当前状态的RGB-D图像作为输入DistNet输出embedding向量。接着DistDecoder将和动作a作为输入输出一个标量作为距离预测。DistNet是一个卷积神经网络将输出展开为一个embedding向量。Dist-Decoder是一个全连接神经网络使用MSE损失进行训练。与不同Arrow-of-Time的推理基于当前视觉状态和初始视觉状态。在单步交互中任何动作都会改变物体的状态使得物体进入一个新的状态。但对于多步交互来说并不是这样的策略可以移动物体向前向后而不探索更多新的状态为了解决这个问题引入了Arrow-of-TimeAoT用于指示物体究竟是返回了初始状态还是朝向了未来的状态。通过AoT将当前和初始的观察作为输入输出另外一个embedding向量。该embedding连接动作embedding来推理最终的AoT标签。AoT网络结构和Dist的类似只是输入输出维度有差异。模型使用交叉熵损失训练。。3.4. 训练所有数据来自从头开始的策略训练进行的交互尝试。使用 FIFO replay buffer 来存储训练数据。为了搜集正例和负例在一个序列内的方向上应用矛盾的策略用于方向推理没有特别理解。在每个序列的前半部分选择那些具有正AoT的预测进行执行使物体远离初始状态在后半部分执行那些具有负AoT的预测鼓励物体向回执行。每个epoch搜集16个策略。序列长度一开始是4在1000 epochs后每400个epochs增长2直到到达20为止。位置模块和方向模块在每个epoch训练8个迭代。对于每一轮位置训练从 replay buffer 中采样一个batch大小16其中具有1:1的正负比率。对于方向迭代一个batch中正、负、不移动数据比率为1:1:1。3.5. 使用逆AoT进行的以目标为条件的操纵大部分操纵任务都是都是基于目标的这就需要能够生成一些策略使得这些策略能够在给定随机目标状态的情况下生成朝向这一目标的动作。注意需要给定目标状态。尽管文章策略是在开-关的探索下进行训练但学习到的策略仍然可以直接在无需额外训练的情况下直接应用到基于目标的动作生成上。核心想法就是交换输入时的初始obs和目标状态obs然后作为策略生成的输入通过执行逆AoT的动作策略尝试去将物体移动回“过去”从而高效地实现目标。如果AoT所有方向的预测都是非负的则策略停止。除了选择正确的动作方向另一个问题是基于目标的操纵需要选择正确的部件进行操纵因为有时候物体上可能会有很多个可操纵部件如冰箱有两个门。参考文献【计算机图形学】Universal Manipulation Policy Network for Articulated Objects-CSDN博客