面向跨场景的机器人视觉模仿学习方法及系统与流程

文档序号:21173643发布日期:2020-06-20 17:20阅读:319来源:国知局
面向跨场景的机器人视觉模仿学习方法及系统与流程

本公开属于领机器人学习技术领域,尤其涉及面向跨场景的机器人视觉模仿学习方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

机器人模仿学习旨在通过观看演示视频来学习复杂多样的任务。这种学习方式可以避免复杂的手动编程。未来,具备这种能力的机器人有望应用到我们的日常生活中,比如家庭服务或者照顾老人。

早期的模仿学习方法主要有两大类:行为克隆和逆强化学习。行为克隆是通过有监督学习的方式从“观察-动作”对数据中来学习技能。逆强化学习是通过学习出一个奖励函数来优化模仿学习的策略。值得一提的是,这两类方法都很难直接通过纯视觉的演示来完成模仿任务,因为这些方法都没有专门去研究视觉演示的有效特征表达。

为了解决上述问题,发明人在研究中发现,现有的文献提出了一种目标导向的逆动态模型来从视觉演示中模仿人类动作。但是,他们的方法都设定演示者(比如人类)和学习者(比如机器人)存在相同语境中,也就是具有相同的视角、背景、物体位置和样式。这样的设定严重制约了模仿学习在实际应用中的扩展性。

近几年,一些研究者开始关注跨语境模仿学习的研究。例如,现有文献存在尝试探究了如何提取具有“视角不变性”的特征并将其用于直接从视觉演示中来学习动作。也存在相关文献在已有工作的基础上又往前推进了一步,他们尝试直接通过一个语境转换模块把其他语境的演示转换到机器人的语境。但是他们的方法只考虑了由于视角变化而引起的语境差异,在实际应用中仍然缺乏灵活性。



技术实现要素:

为克服上述现有技术的不足,本公开提供了面向跨场景的机器人视觉模仿学习方法,使机器人和演示者能够在不同的语境中进行学习。

一方面,为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:

面向跨场景的机器人视觉模仿学习方法,包括:

将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;

针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习。

第二方面,为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:

面向跨场景的机器人视觉模仿学习系统,包括:

语境转换模块,将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

深度预测模块,基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;

多模态逆动态模型,针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习。

第三方面,为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:

提供一种服务机器人,包括机械臂及计算设备,计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤,包括:

将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;

针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习,并将最终执行命令传送给机械臂,即可执行操作。

第三方面,为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:

将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;

针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习。

以上一个或多个技术方案存在以下有益效果:

本公开语境转换模块负责将来自不同语境的视觉演示转换到机器人所在语境。本公开多模态逆动态模型负责将多模输入映射为动作来复现演示中动作,以颜色和深度观察信息作为输入,并将其映射为动作,从而实现根据演示进行模仿。由于在实际应用中完整的深度观察信息是无法获取到的,本公开设计了一个深度预测模块来生成预测的深度信息。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1为本公开实施例完整系统架构图;

图2为本公开实施例语境转换模块结构图;

图3为本公开实施例深度预测模块结构图;

图4为本公开实施例多模态逆动态模型结构图;

图5为本公开实施例语境转换结果对比图。

具体实施方式

应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

由于演示者和学习者之间的视角、背景、物体位置和样式差异明显,导致跨语境视觉模仿学习非常具有挑战性。

本实施例公开了面向跨场景的机器人视觉模仿学习方法,为更通用的模仿学习方法,这其中的语境差异不仅包含视角变化,还包括背景、物体位置、角度和样式等,本公开实施例子的技术方案的目的是使学习者和演示者能够在不同的语境中进行学习。

具体包括以下步骤:

语境转换:将来自不同语境的视觉演示转换到机器人所在语境;

以颜色和深度观察信息作为输入,并将其映射为动作,从而实现根据演示进行模仿。

由于在实际应用中完整的深度观察信息是无法获取到的,因此,增加深度预测步骤:用来生成预测的深度信息。

具体步骤中,语境转换:将视觉演示从演示者的语境wd转换到学习者的语境wl,换句话说,给定一个原始演示ds,通过语境转换将其转换为目标演示dt。

在大部分的机器人模仿学习相关工作中,一段演示通常都是由一系列的观察图像组成,可定义为d={o1,o2,...,on}。在本实施例子的工作中,只使用初始观察图像和结束观察图像来描述一段演示,使用这种方式主要是基于以下三点考虑:第一,现有文献证明了仅使用初始图像和最终图像是可以充分地捕捉演示视频中的内容变化,并用来描述摞积木的任务;第二,逆动态模型的输入包括初始观察图像和结束观察图像;第三,现有文献限定人类和机器人使用相同工具来完成操作任务,以此来避免演示中出现人类手臂和机器手臂之间存在的差异。而本申请的方法由于只使用起始和结束两帧图像,因此很自然地解决了这个问题。

参见图2所示,展示了语境转换模块的详细结构图。语境转换模块以原始语境的初始观察图像和结束观察图像,和目标语境的初始观察图像作为输入,输出预测的目标语境的结束观察图像。给定来自原始语境的观察图像,使用两个分支的第一编码器encoder1来提取特征,分别表示为。第二编码器encoder2负责对目标语境中的初始观察图像提取特征,表示为然后将合并,并作为转换函数的输入。最后,使用一个解码器decoder将特征z解码为预测的目标观察图像第一编码器encoder1和第二编码器encoder2使用resnet50网络的前3层模块来进行构建,但是第一编码器encoder1和第二编码器encoder2拥有不同的权重参数。整个模块使用成对的演示数据{ds,dt}来进行监督学习训练,其中ds来源于随机设置的语境(原始语境),dt来源于机器人所在的语境(目标语境)。训练过程是通过像素级别的图像损失函数limage来进行监督训练的,定义如下:

语境转换模块与现有技术的最大区别是,尝试学习一种“语境无关”的特征表达来描述一段演示,然后用这种特征表达来帮助完成语境转换。然而,现有文献只是把语境转换简单地看成一个不同视角间的风格转换问题。

本申请实施例子为保证网络设计的合理有效性,主要从两个方面进行提升改进:第一,正如前面提到的,现有文献证明了仅使用初始图像和最终图像是可以充分地捕捉演示视频中的内容变化,并用来描述任务。正是从这个角度出发,本公开实施例子设计了两个分支的第一编码器encoder1而不是一个分支;第二,本公开实施例子设计的特征表达能够消除不同语境导致的视角、背景、物体样式等差异影响。基于这样的启发,本公开实施例子所设计的特征表达应当是“语境无关”的。为了保证这一点,本公开实施例子引入了语境损失函数lcontext,下述公式和图2详细描述了语境损失函数。

虽然基于理论设计了上述损失函数,但在实际训练过程发现语境损失函数有时会出现糟糕的问题。具体来说,在网络训练时,优化器会尝试最小化之间的差异。然而,在一些失败的案例中发现第一编码器encoder1提取出的特征φ1会逼近零矩阵。在这样的情况下,φ1将会丢失大部分的图像信息。这种情况是不想看到的,理想情况下,φ1包含的图像越多越好。在信息论中,图像熵是一个非常重要的概念,它衡量了一幅图像中所包含的信息量。为了避免φ1丢失过多的图像信息,引入了图像熵损失函数,定义如下:

最终,使用一个加权融合后的损失函数来进行训练,如下式,其中pi是像素值,λ1,λ2和α是超参数,根据经验值都设为0.5。

l=limage+λ1lcontext+λ2lentropy

从演示中学习技能:视觉演示的作用只是告诉机器人“做什么”,至于“怎么做”,可以使用逆动态模型来预测动作。逆动态模型的预测能力已经在现有文献的工作中得到了验证。但是,本实施例子希望能够解决一些更复杂的任务,比如摞积木。较比于现有文献中实施的摆绳子任务,本公开技术方案的摞积木任务要更为复杂,实施难度更大。因为对于摆绳子任务来说,只要机器人能够把绳子大致摆放到与目标形状差不多,即可视为任务成功。但是对于摞积木任务来说,一点点细小的位置偏差都可能导致积木无法成功摆放。为了实现这个目标,本实施例子提出了一种多模态逆动态模型,融合颜色和深度信息作为输入。但在实际应用中无法获取到完整的深度信息,所以本实施例子设计了一个深度预测模块来提供深度信息。模块的详细设计如下所述。

传统现有方法无法在跨语境视觉模仿学习中取得良好效果,因此本实施例子提出了一个多模态逆动态模型,通过融合颜色和深度信息作为输入,有效提高了逆动态模型性能。但是在实际应用中完整的深度信息是无法获取的,所以本实施例子设计了一个深度预测模块来预测深度信息。

如图3所示,本实施例子采用“编码器-解码器”框架,基于初始深度观察图像来预测目标深度观察图像。编码器是基于alexnet网络来构建的。三个分支分别输入初始颜色图像、目标颜色图像和初始深度图像,然后分别生成特征向量x1,x2,x3,三个分支的cnn网络共享权重。x1,x2,x3合并之后输入到3层全连接网络中,然后经过一个解码器进行解码,最终得到预测的目标深度图像。由于三个分支共享权重,所以它们的输入维度必须一致。因此,将单通道的深度图像扩展为三通道。训练过程是通过预测深度图像和真实深度图像之间的损失函数来进行监督的。

利用语境转换模块和深度预测模块,便可以获取到多模态的初始观察和目标观察。利用这些数据,就可以学习出一个逆动态模型来输出预测动作,完成模仿学习。使用深度神经网络来构建逆动态模型,其数学表达形式如下:

u=f({iinit,dinit},{igoal,dgoal})

其中,{iinit,dinit}是初始状态的颜色和深度观察图像,{igoal,dgoal}是目标状态的颜色和深度观察图像,u是预测的动作。图4展示了多模态逆动态模型的结构。

本实施例子的逆动态模型由四个分支的卷积神经网络(cnn)组成,它们共享权重。每个分支中,先构建了5层卷积层,提取出特征h。然后四个分支的隐层特征h进行合并,合并后的特征分别输入到四个分支的全连接网络中,进行动作预测。整个网络采用多模态的初始观察和目标观察作为输入,然后输出预测动作元组。在本实施例子的任务设定中,预测的动作包含两个基本动作:在(x1,y1,θ1)处抓取积木、在(x2,y2,θ2)处放置积木。其中,(x1,y1,x2,y2)是机械臂坐标系空间下的坐标,(θ1,θ2)是机械臂夹具的旋转角度。最终完整的预测动作可以表示为一个动作元组(x1,y1,θ1,x2,y2,θ2)。

为了降低网络训练的难度,现有技术都把动作预测转换为分类问题。现有技术将动作空间离散化为20×20的空间网格,将角度均分为36份。正如前文提到,本实施例子的摞积木任务对于位置比较敏感,一点微小的位置偏差都可能导致失败,所以本实施例子不能类似地采用这种离散化动作空间的方式。取而代之,本实施例子通过回归的方式来输出坐标位置。多模态的输入能够保证本实施例子采用回归方式的精度和准确性。对于旋转角度的预测,本实施例子也采取类似的方式,将其离散化为36份。通过机器人随机探索采样收集数据,本实施例子的逆动态模型是使用自监督的方式来进行训练。本实施例子使用预测动作和真实动作之间的损失函数来监督训练过程,这样可以避免繁杂的人工标注过程。

本实施例子的目的是能够使机器人从不同语境的演示视频中学习动作。为了实现该目标,本实施例子首先使用语境转换模块将不同语境的演示视频转换到机器人所在语境。然后本实施例子使用逆动态模型将多模态观察图像映射为动作来复现演示视频。其中深度观察图像是由本实施例子设计深度预测模块来提供的。为了验证本实施例子的系统在跨语境模仿学习中的优势,在仿真环境(v-rep)和真实ur5机械臂上进行摞积木任务。最终结果表明,本实施例子的方法取得了明显优于其他传统方法的性能。

参见附图1所示,基于与上述实施例子的同样的发明构思,另一实施例子提供了面向跨场景的机器人视觉模仿学习系统,包括:

语境转换模块,将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

深度预测模块,输入为初始观察图像、初始深度观察图像、结束观察图像这三个,输出预测的结束深度观察图像;

多模态逆动态模型,针对获取到多模态的初始观察和目标观察,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习。

基于与上述实施例子的同样的发明构思,另一实施例子提供了一种服务机器人,包括机械臂及计算设备,计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤,包括:

将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

基于原始语境的观察图像及初始深度观察图像来预测结束深度观察图像;

针对获取到的初始观察图像、初始深度观察图像、结束观察图像、结束深度观察图像,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习,并将最终执行命令传送给机械臂,即可执行操作。

在该实施例子中,机器人本体为一台ur5机械臂,其本身内置一个主机系统,可以在不外接任何电脑的情况下执行动作。但其处理能力有限,尤其是运行深度学习模型。因此将机械臂外接了一台具备深度学习处理能力的服务器(2块1080tigpu)即计算设备,用于运行构建的模型,得到最终执行命令后将其传送给机械臂,即可执行操作。

基于同样的发明构思,本实施例子提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:

将给定来自原始语境的观察图像转换为预测的目标观察图像,即将视觉演示从演示者的语境转换到机器人所在语境,完成语境转换;

基于初始深度观察图像来预测目标深度观察图像;

针对获取到多模态的初始观察和目标观察,使用深度神经网络来构建逆动态模型,利用逆动态模型来输出预测动作,完成模仿学习。

以上实施例的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本公开中的任一方法。

为了评估提出的方法,做了一系列的实验。转换结果的优劣对于整个系统来说是非常关键的,因此先进行了对比实验,比较了本实施例子的转换模块和[11]中的转换模块。然后,通过执行跨语境环境下的摞积木任务,在仿真环境v-rep中将本实施例子的多模态逆动态模型与[7]和[8]进行了对比。最后,在真实ur5机械臂上对本实施例子的方法进行了验证。

数据收集:有监督学习面临的一个主要挑战就是如何收集足够的数据用于训练,尤其是在机器人相关应用中。为了解决这个问题,采用了一种迁移策略:首先在仿真环境收集大量的数据对模块进行预训练,然后在真实环境收集少量的数据对模块进行微调即可。得益于本实施例子仿真环境和真实环境的高度对应性,上述迁移策略在实际应用中表现良好。本实施例子的仿真环境使用v-rep仿真软件,搭建了ur5机械臂仿真模块。在真实环境中,本实施例子使用的是真实ur5机械臂,并在顶部安装了kinect深度相机。

跨语境演示视频:为了训练本实施例子的语境转换模块,本实施例子分别从原始语境和目标语境收集了成对的演示视频ds和dt。两种不同语境之间可能存在视角、背景、物体位置和样式等差异。在本实施例子的方法设定中,本实施例子使用起始图像和结束图像来描述一段演示视频d={os,oe},每一对演示都是描述了相同的任务。最终,本实施例子分别在仿真环境和真实环境收集了15200和2860对演示数据。所有的观察图像尺寸都调整到256×256,本实施例子使用整个数据库的70%数据来训练,剩余30%来测试。

多模“观察-动作”对:为了采集数据来训练本实施例子的深度预测模块和多模态逆动态模型,本仿真实施例子通过随机探索策略来让仿真和真实环境中的ur5机械臂进行数据采集。在每次采样中,记录下初始状态和目标状态的多模观察图像(颜色和深度)和与之对应的动作数据。数据采集是在机器人所在语境中进行的,但是背景、物体位置和数目都是随机变化的。采集到的图像尺寸都统一调整为300×300,最终,分别在仿真环境和真实环境收集了15200和2860对演示数据。

文献[11]y.liu,a.gupta,p.abbeel,ands.levine,“imitationfromobservation:learningtoimitatebehaviorsfromrawvideoviacontexttranslation,”in2018ieeeinternationalconferenceonroboticsandautomation(icra),pp.1118–1125,ieee,2018。

语境转换模块评估:为了评估本实施例子的语境转换模块的性能,本实施例子与竞争者[11]在本实施例子采集的数据库上进行了对比实验。目前评估合成图像的质量仍是一个开放性问题,尤其是针对机器人应用。参照现有的评价方法,使用一种特征级别的l2距离来衡量本实施例子转换后的观察图像的质量,其数学定义如下:

其中,和o分别表示预测观察图像和真实观察图像,cnn是基于卷积神经网络的特征提取器。在实验中,选取了4种基于imagenet预训练好的主流特征提取器:vgg19,inceptionv3,resnet50和xception。训练是在一块nvidia1080tigpu上进行,优化器使用adam,仿真环境和真实环境的学习速率分别设为0.0005和0.001,batch_size设置为16。为了避免过拟合,使用概率0.5的dropout。最终实验结果通过l2距离来衡量,距离越小说明性能越好。最终实验结果如表1所示。

表1语境转换模块对比实验结果

从表1中可以看出,无论是在仿真环境还是真实环境,本实施例的语境转换模块性能表现都明显优于现有文献。图5详细展示了本公开技术方案转换结果的质量,第一行为真实数据,第二、三行分别是文献[11]的方法和本公开技术方案方法的转换结果。可以看出使用本实施例子方法得到的结果明显优于文献[11],更接近真实数据。

逆动态模型评估实验:将本公开实施例子的逆动态模型与[7]和[8]进行了对比,实验任务为跨语境的摞积木任务。实验是在仿真环境进行的,对随机生成的4560个任务进行测试,如果在一个任务中,机械臂能够根据演示正确模仿相应的动作,则视为该任务成功,否则视为失败。最终统计成功率来评价模块的性能。如表2所示,本公开实施例子的多模态逆动态模型取得了更高的准确率,比[7]高约36%,比[8]高约23%。

[7]a.nair,d.chen,p.agrawal,p.isola,p.abbeel,j.malik,ands.levine,“combiningself-supervisedlearningandimitationforvision-basedropemanipulation,”in2017ieeeinternationalconferenceonroboticsandautomation(icra),pp.2146–2153,ieee,2017.

[8]d.pathak,p.mahmoudieh,g.luo,p.agrawal,d.chen,y.shentu,e.shelhamer,j.malik,a.a.efros,andt.darrell,“zero-shotvisualimitation,”inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognitionworkshops,pp.2050–2053,2018.

表2逆动态模型对比实验结果

真实环境评估实验:为了评估本申请实施例子的机器人系统在真实环境中的性能表现,提供人类演示视频给机械臂,然后由机械臂完成摞积木的模仿任务。演示视频是从随机设定的语境中生成,其视角、背景、物体位置和样式是随机的。机械臂在其自身的语境中执行,包含有不同的背景、物体位置和数量。本申请实施例子执行了120个随机生成的任务,并统计成功率。最终,本申请实施例子的机器人系统取得了17.5%(21/120)成功率。值得说明的是,本申请实施例子也尝试使用[7]和[8]的方法在真实环境中进行实验,但是它们基本不能正确工作。认为造成这样结果的原因是,摞积木属于精细化的操作任务,本申请实施例子的逆动态模型使用多模态输入,能够提供更多的信息来预测准确的动作。

本领域技术人员应该明白,上述本公开的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本公开不限制于任何特定的硬件和软件的结合。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1