面向跨场景的机器人视觉模仿学习方法及系统转让专利
申请号 : CN202010241696.2
文献号 : CN111300431B
文献日 : 2021-04-23
发明人 : 张伟 , 杨硕 , 鲁威志 , 王贺升 , 李贻斌
申请人 : 山东大学
摘要 :
权利要求 :
1.面向跨场景的机器人视觉模仿学习方法,其特征是,包括:将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;
具体包括:给定来自原始语境的观察图像,使用两个分支的第一编码器Encoder1来提取特征,分别表示为 和 第二编码器Encoder2负责对目标语境中的初始观察图像提取特征,表示为 ,然后将 和 合并,并作为转换函数的输入,通过像素级别的语境损失函数Lcontext来进行监督训练;
基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;
针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习;具体包括:多模态逆动态模型,通过融合颜色和深度信息作为输入,有效的提高了逆动态模型性能,并设计了一个深度预测模型来预测深度信息。
2.如权利要求1所述的面向跨场景的机器人视觉模仿学习方法,其特征是,演示者的视觉演示使用初始观察图像和最终观察图像来描述。
3.如权利要求1所述的面向跨场景的机器人视觉模仿学习方法,其特征是,所述语境转换步骤:
给定来自原始语境的观察图像,使用两个分支的第一编码器来提取特征;
第二编码器负责对目标语境中的初始观察图像提取特征;
将第二编码器提取的特征和第一编码器提取的特征合并,并作为转换函数的输入;
使用解码器将转换函数的输出特征解码为预测的目标观察图像。
4.如权利要求3所述的面向跨场景的机器人视觉模仿学习方法,其特征是,第一编码器和第二编码器使用ResNet50网络的前3层模块来进行构建,第一编码器和第二编码器拥有不同的权重参数;
使用成对的演示数据{Ds,Dt}对第一编码器和第二编码器进行监督学习训练,其中Ds来源于随机设置的语境即原始语境,Dt来源于机器人所在的语境即目标语境。
5.如权利要求4所述的面向跨场景的机器人视觉模仿学习方法,其特征是,训练过程是通过包含像素级别的图像损失函数、语境损失函数及图像熵损失函数的加权融合后的损失函数来进行训练。
6.如权利要求1所述的面向跨场景的机器人视觉模仿学习方法,其特征是,基于初始深度观察图像来预测目标深度观察图像的步骤为:基于Alexnet网络构建编码器,编码器三个分支分别输入初始颜色图像、目标颜色图像和初始深度图像,然后分别生成特征向量,三个分支的CNN网络共享权重,特征向量合并之后输入到3层全连接网络中,然后经过解码器进行解码,最终得到预测的目标深度图像。
7.如权利要求1所述的面向跨场景的机器人视觉模仿学习方法,其特征是,使用深度神经网络来构建逆动态模型,其数学表达形式如下:u=F({iinit,dinit},{igoal,dgoal})其中,{iinit,dinit}是初始状态的颜色和深度观察图像,{igoal,dgoal}是目标状态的颜色和深度观察图像,u是预测的动作。
8.面向跨场景的机器人视觉模仿学习系统,其特征是,包括:语境转换模块,将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;具体包括:给定来自原始语境的观察图像,使用两个分支的第一编码器Encoder1来提取特征,分别表示为 和,第二编码器Encoder2负责对目标语境中的初始观察图像提取特征,表示为 ,然后将 和 合并,并作为转换函数 的输入,通过像素级别的语境损失函数Lcontext来进行监督训练;
深度预测模块,基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;
多模态逆动态模型,针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习;具体包括:通过融合颜色和深度信息作为输入,有效的提高了逆动态模型性能,并设计了一个深度预测模型来预测深度信息。
9.一种服务机器人,包括机械臂及计算设备,计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现以下步骤,包括:
将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;具体包括:给定来自原始语境的观察图像,使用两个分支的第一编码器Encoder1来提取特征,分别表示为 和 ,第二编码器Encoder2负责对目标语境中的初始观察图像提取特征,表示为 ,然后将 和合并,并作为转换函数 的输入,通过像素级别的语境损失函数Lcontext来进行监督训练;
基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;
针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习,并将最终执行命令传送给机械臂,即可执行操作;
具体包括:多模态逆动态模型,通过融合颜色和深度信息作为输入,有效的提高了逆动态模型性能,并设计了一个深度预测模型来预测深度信息。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征是,该程序被处理器执行时执行以下步骤:
将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;具体包括:给定来自原始语境的观察图像,使用两个分支的第一编码器Encoder1来提取特征,分别表示为 和 ,第二编码器Encoder2负责对目标语境中的初始观察图像提取特征,表示为 ,然后将 和 合并,并作为转换函数的输入,通过像素级别的语境损失函数Lcontext来进行监督训练;
基于初始深度观察图像来预测目标深度观察图像;
针对获取到多模态的初始观察和目标观察,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习;
具体包括:多模态逆动态模型,通过融合颜色和深度信息作为输入,有效的提高了逆动态模型性能,并设计了一个深度预测模型来预测深度信息。
说明书 :
面向跨场景的机器人视觉模仿学习方法及系统
技术领域
背景技术
家庭服务或者照顾老人。
函数来优化模仿学习的策略。值得一提的是,这两类方法都很难直接通过纯视觉的演示来
完成模仿任务,因为这些方法都没有专门去研究视觉演示的有效特征表达。
习者(比如机器人)存在相同语境中,也就是具有相同的视角、背景、物体位置和样式。这样
的设定严重制约了模仿学习在实际应用中的扩展性。
相关文献在已有工作的基础上又往前推进了一步,他们尝试直接通过一个语境转换模块把
其他语境的演示转换到机器人的语境。但是他们的方法只考虑了由于视角变化而引起的语
境差异,在实际应用中仍然缺乏灵活性。
发明内容
习。
动作,完成模仿学习。
骤,包括:
习,并将最终执行命令传送给机械臂,即可执行操作。
习。
信息作为输入,并将其映射为动作,从而实现根据演示进行模仿。由于在实际应用中完整的
深度观察信息是无法获取到的,本公开设计了一个深度预测模块来生成预测的深度信息。
附图说明
具体实施方式
理解的相同含义。
也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包
括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
施例子的技术方案的目的是使学习者和演示者能够在不同的语境中进行学习。
察图像来描述一段演示,使用这种方式主要是基于以下三点考虑:第一,现有文献证明了仅
使用初始图像和最终图像是可以充分地捕捉演示视频中的内容变化,并用来描述摞积木的
任务;第二,逆动态模型的输入包括初始观察图像和结束观察图像;第三,现有文献限定人
类和机器人使用相同工具来完成操作任务,以此来避免演示中出现人类手臂和机器手臂之
间存在的差异。而本申请的方法由于只使用起始和结束两帧图像,因此很自然地解决了这
个问题。
的结束观察图像。给定来自原始语境的观察图像,使用两个分支的第一编码器Encoder1来
提取特征,分别表示为 和 。第二编码器Encoder2负责对目标语境中的初始观察
图像提取特征,表示为 然后将 和 合并,并作为转换函数
的输入。最后,使用一个解码器decoder将特征z解码为预测的目
标观察图像 第一编码器Encoder1和第二编码器Encoder2使用ResNet50网络的前3层模
块来进行构建,但是第一编码器Encoder1和第二编码器Encoder2拥有不同的权重参数。整
个模块使用成对的演示数据{Ds,Dt}来进行监督学习训练,其中Ds来源于随机设置的语境
(原始语境),Dt来源于机器人所在的语境(目标语境)。训练过程是通过像素级别的图像损
失函数Limage来进行监督训练的,定义如下:
献只是把语境转换简单地看成一个不同视角间的风格转换问题。
示视频中的内容变化,并用来描述任务。正是从这个角度出发,本公开实施例子设计了两个
分支的第一编码器Encoder1而不是一个分支;第二,本公开实施例子设计的特征表达
能够消除不同语境导致的视角、背景、物体样式等差异影响。基于这样的启
发,本公开实施例子所设计的特征表达 应当是“语境无关”的。为了保证这一
点,本公开实施例子引入了语境损失函数Lcontext,下述公式和图2详细描述了语境损失函
数。
之间的差异。然而,在一些失败的案例中发现第一编码器Encoder1提取出的特征φ1会逼近
零矩阵。在这样的情况下,φ1将会丢失大部分的图像信息。这种情况是不想看到的,理想情
况下,φ1包含的图像越多越好。在信息论中,图像熵是一个非常重要的概念,它衡量了一幅
图像中所包含的信息量。为了避免φ1丢失过多的图像信息,引入了图像熵损失函数,定义
如下:
证。但是,本实施例子希望能够解决一些更复杂的任务,比如摞积木。较比于现有文献中实
施的摆绳子任务,本公开技术方案的摞积木任务要更为复杂,实施难度更大。因为对于摆绳
子任务来说,只要机器人能够把绳子大致摆放到与目标形状差不多,即可视为任务成功。但
是对于摞积木任务来说,一点点细小的位置偏差都可能导致积木无法成功摆放。为了实现
这个目标,本实施例子提出了一种多模态逆动态模型,融合颜色和深度信息作为输入。但在
实际应用中无法获取到完整的深度信息,所以本实施例子设计了一个深度预测模块来提供
深度信息。模块的详细设计如下所述。
能。但是在实际应用中完整的深度信息是无法获取的,所以本实施例子设计了一个深度预
测模块来预测深度信息。
像、目标颜色图像和初始深度图像,然后分别生成特征向量x1,x2,x3,三个分支的CNN网络共
享权重。x1,x2,x3合并之后输入到3层全连接网络中,然后经过一个解码器进行解码,最终得
到预测的目标深度图像。由于三个分支共享权重,所以它们的输入维度必须一致。因此,将
单通道的深度图像扩展为三通道。训练过程是通过预测深度图像和真实深度图像之间的损
失函数来进行监督的。
度神经网络来构建逆动态模型,其数学表达形式如下:
后的特征分别输入到四个分支的全连接网络中,进行动作预测。整个网络采用多模态的初
始观察和目标观察作为输入,然后输出预测动作元组。在本实施例子的任务设定中,预测的
动作包含两个基本动作:在(x1,y1,θ1)处抓取积木、在(x2,y2,θ2)处放置积木。其中,(x1,y1,
x2,y2)是机械臂坐标系空间下的坐标,(θ1,θ2)是机械臂夹具的旋转角度。最终完整的预测
动作可以表示为一个动作元组(x1,y1,θ1,x2,y2,θ2)。
积木任务对于位置比较敏感,一点微小的位置偏差都可能导致失败,所以本实施例子不能
类似地采用这种离散化动作空间的方式。取而代之,本实施例子通过回归的方式来输出坐
标位置。多模态的输入能够保证本实施例子采用回归方式的精度和准确性。对于旋转角度
的预测,本实施例子也采取类似的方式,将其离散化为36份。通过机器人随机探索采样收集
数据,本实施例子的逆动态模型是使用自监督的方式来进行训练。本实施例子使用预测动
作和真实动作之间的损失函数来监督训练过程,这样可以避免繁杂的人工标注过程。
境。然后本实施例子使用逆动态模型将多模态观察图像映射为动作来复现演示视频。其中
深度观察图像是由本实施例子设计深度预测模块来提供的。为了验证本实施例子的系统在
跨语境模仿学习中的优势,在仿真环境(V‑REP)和真实UR5机械臂上进行摞积木任务。最终
结果表明,本实施例子的方法取得了明显优于其他传统方法的性能。
运行的计算机程序,所述处理器执行所述程序时实现以下步骤,包括:
习,并将最终执行命令传送给机械臂,即可执行操作。
将机械臂外接了一台具备深度学习处理能力的服务器(2块1080Ti GPU)即计算设备,用于
运行构建的模型,得到最终执行命令后将其传送给机械臂,即可执行操作。
的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承
载用于由处理器执行的指令集并使处理器执行本公开中的任一方法。
然后,通过执行跨语境环境下的摞积木任务,在仿真环境V‑REP中将本实施例子的多模态逆
动态模型与[7]和[8]进行了对比。最后,在真实UR5机械臂上对本实施例子的方法进行了验
证。
集大量的数据对模块进行预训练,然后在真实环境收集少量的数据对模块进行微调即可。
得益于本实施例子仿真环境和真实环境的高度对应性,上述迁移策略在实际应用中表现良
好。本实施例子的仿真环境使用V‑REP仿真软件,搭建了UR5机械臂仿真模块。在真实环境
中,本实施例子使用的是真实UR5机械臂,并在顶部安装了Kinect深度相机。
体位置和样式等差异。在本实施例子的方法设定中,本实施例子使用起始图像和结束图像
来描述一段演示视频D={os,oe},每一对演示都是描述了相同的任务。最终,本实施例子分
别在仿真环境和真实环境收集了15200和2860对演示数据。所有的观察图像尺寸都调整到
256×256,本实施例子使用整个数据库的70%数据来训练,剩余30%来测试。
数据采集。在每次采样中,记录下初始状态和目标状态的多模观察图像(颜色和深度)和与
之对应的动作数据。数据采集是在机器人所在语境中进行的,但是背景、物体位置和数目都
是随机变化的。采集到的图像尺寸都统一调整为300×300,最终,分别在仿真环境和真实环
境收集了15200和2860对演示数据。
translation,”in 2018IEEE International Conference on Robotics and Automation
(ICRA),pp.1118–1125,IEEE,2018。
一个开放性问题,尤其是针对机器人应用。参照现有的评价方法,使用一种特征级别的L2距
离来衡量本实施例子转换后的观察图像的质量,其数学定义如下:
Inception v3,ResNet50和Xception。训练是在一块NVIDIA1080Ti GPU上进行,优化器使用
Adam,仿真环境和真实环境的学习速率分别设为0.0005和0.001,batch_size设置为16。为
了避免过拟合,使用概率0.5的dropout。最终实验结果通过L2距离来衡量,距离越小说明性
能越好。最终实验结果如表1所示。
实数据,第二、三行分别是文献[11]的方法和本公开技术方案方法的转换结果。可以看出使
用本实施例子方法得到的结果明显优于文献[11],更接近真实数据。
行测试,如果在一个任务中,机械臂能够根据演示正确模仿相应的动作,则视为该任务成
功,否则视为失败。最终统计成功率来评价模块的性能。如表2所示,本公开实施例子的多模
态逆动态模型取得了更高的准确率,比[7]高约36%,比[8]高约23%。
manipulation,”in 2017IEEE International Conference on Robotics and Automation
(ICRA),pp.2146–2153,IEEE,2017.
of the IEEE Conference on Computer Vision and Pattern Recognition Workshops,
pp.2050–2053,2018.
机设定的语境中生成,其视角、背景、物体位置和样式是随机的。机械臂在其自身的语境中
执行,包含有不同的背景、物体位置和数量。本申请实施例子执行了120个随机生成的任务,
并统计成功率。最终,本申请实施例子的机器人系统取得了17.5%(21/120)成功率。值得说
明的是,本申请实施例子也尝试使用[7]和[8]的方法在真实环境中进行实验,但是它们基
本不能正确工作。认为造成这样结果的原因是,摞积木属于精细化的操作任务,本申请实施
例子的逆动态模型使用多模态输入,能够提供更多的信息来预测准确的动作。
在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们
中的多个模块或步骤制作成单个集成电路模块来实现。本公开不限制于任何特定的硬件和
软件的结合。
改、等同替换、改进等,均应包含在本公开的保护范围之内。
需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。