专利名称:一种室内环境机器人导航自然语言指令生成方法
专利类型:发明专利
专利申请号:CN202210224196.7
专利申请(专利权)人:同济大学
权利人地址:上海市杨浦区四平路1239号
专利发明(设计)人:陈启军,王柳懿,刘成菊,何宗涛
专利摘要:本发明涉及一种室内环境机器人导航自然语言指令生成方法,包括以下步骤:S1、提取机器人摄像头采集到的全景图像的图像特征向量;S2、获取机器人当前的偏移角度并通过三角变换扩充数据维度后与图像特征向量进行拼接,形成对应的动作特征向量和全景图像特征向量;S3、采用多头注意力对动作特征向量和全景图像特征向量进行对齐和降维计算;S4、采用Transformer框架编码机器人的视觉和动作信息,输出预测的语言结果;S5、在解码器的输出部分添加额外的辅助监督任务,辅助机器人学习输出句子与输入动作的对应关系。与现有技术相比,本发明具有提升特征信息的利用程度、提升生成模型的精确度和泛化能力等优点。
主权利要求:
1.一种室内环境机器人导航自然语言指令生成方法,其特征在于,包括以下步骤:
S1、利用深度卷积神经网络提取机器人摄像头采集到的全景图像的图像特征向量;
S2、获取机器人当前的偏移角度并通过三角变换扩充数据维度后与图像特征向量进行拼接,形成对应的动作特征向量和全景图像特征向量;
所述的步骤S2中,机器人的偏移角度包括动作偏移角度与视角偏移角度,动作偏移角度为机器人当前所处位置与上一时刻所处位置的偏移角度,视角偏移角度为机器人观察的全景图像所包含的每张子图像基于中心的偏移角度,偏移角度的表达式为:其中,γ为偏移角度,θ为偏移的航向角, 为偏移的俯仰角;
所述的步骤S2中,动作特征向量A具体由全景图像中机器人正前方的子图像对应的图像特征向量与扩充数据维度后的动作偏移角度向量拼接而成,全景图像特征向量E具体由全景图像的全部子图像对应的图像特征向量与扩充数据维度后的视角偏移角度向量拼接而成;
S3、采用多头注意力对动作特征向量和全景图像特征向量进行对齐和降维计算,使机器人关注环境中更重要的视觉内容;
S4、采用序列到序列的Transformer框架编码机器人的视觉和动作信息,在解码器端与带有遮罩的语言嵌入编码进行跨模态注意力融合,输出预测的语言结果;
所述的步骤S4中,在使用Transformer进行预测时,添加位置序列编码强调在时序上输入对输出的不同影响,对使用多头注意力对齐和降维计算后的输出X进行位置编码,则有:其中,PE(pos,2i)为嵌入编码第2i维度的位置编码值,PE(pos,2i+1)为嵌入编码第2i+1维度的位置编码值,pos为元素在输入序列中的实际位置,dmodel为嵌入编码的维度;
所述的Transformer包括编码器和解码器两个部分,所述的编码器由多个多头自注意力模块、前向连接网络与残差连接构成,所述的解码器的每个模块包括交叉注意力、自注意力、前向连接网络与残差连接;
S5、在解码器的输出部分添加额外的辅助监督任务,辅助机器人学习输出句子与输入动作的对应关系,提升网络模型对输入与输出关系的表达;
所述的步骤S5中,在解码器的输出部分添加额外的辅助监督任务后,最终的损失函数Loss的表达式为:Loss=λL1+(1‑λ)ωL2
其中,L1为采用交叉熵损失函数得到的预测值和真值之间的差异,L2为采用均方差函数得到的预测值和真值之间的差异,θ为网络参数,fθ(·)为网络的预测概率, 为输出指令的第p个真实值, 为输出指令中第1个到第p个真实值,Zl为网络输出的第l个词汇对应的预测进程值,L为词汇总数,P(I'j)为当前词汇所在子指令I'j的序号,k为子指令的总段数,λ为控制两个损失函数比重的数值,ω为统一两个损失函数量级的数值, 为第l个词汇所对应的真实进程值,A和E分别代表动作特征向量和全景图像特征向量。
2.根据权利要求1所述的一种室内环境机器人导航自然语言指令生成方法,其特征在于,所述的步骤S1中,深度卷积神经网络模型采用在ImageNet上预训练好的ResNet‑152网络,以将图像输入ResNet‑152网络后前向推理得到的分类前最后一层输出作为图像特征向量。
3.根据权利要求2所述的一种室内环境机器人导航自然语言指令生成方法,其特征在于,所述的机器人摄像头采集到的全景图像包括36张子图像,包括分别在俯视、平视、仰视三个视角下12张相隔30度的观察图像,每张观察图像对应一个图像特征向量。
4.根据权利要求1所述的一种室内环境机器人导航自然语言指令生成方法,其特征在于,所述的步骤S3中,多头注意力进行对齐和降维计算后的输出X的表达式为:Q=AWQ
K=EWK
V=EWV
其中,Q、K、V分别表示线性变换后注意力机制的查询矩阵、键矩阵和值矩阵,WQ、WK、WV分别为对动作特征向量A与全景图像特征向量E做线性变化的可学习权重, 为K的维度。
5.根据权利要求1所述的一种室内环境机器人导航自然语言指令生成方法,其特征在于,在解码器中,对真值文本采取向右偏移一位,并做对角遮盖的操作,以保证文本的输入仅依赖于之前的预测,随后通过一层线性变换将文本转化为嵌入表达,并与来自编码器的输出结果做交叉注意力。 说明书 : 一种室内环境机器人导航自然语言指令生成方法技术领域[0001] 本发明涉及计算机视觉与自然语言生成领域,尤其是涉及一种室内环境机器人导航自然语言指令生成方法。背景技术[0002] 视觉语言导航任务是人工智能的重要研究任务,是计算机视觉与自然语言处理跨模态交叉研究领域的代表性问题之一,该任务旨在使用自然语言向机器人下达路径指令,机器人自主分析并判断语言指令所代表的目标方向,根据实时反馈的视觉图像调整行为与规划路径。[0003] 然而,使用人工标注自然语言指令非常耗时耗力,因此,不少研究证明引入自回归的指令语言生成模型可以有效提升现有机器人在视觉语言导航任务上的训练精度,但是现有用于指导机器人导航的自然语言指令生成模型都依赖于结构相对简单的RNN时序模型,其具有捕捉长依赖性能较差、串行运行速度较慢、输出句子语义稀缺的缺点。发明内容[0004] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种室内环境机器人导航自然语言指令生成方法。[0005] 本发明的目的可以通过以下技术方案来实现:[0006] 一种室内环境机器人导航自然语言指令生成方法,包括以下步骤:[0007] S1、利用深度卷积神经网络提取机器人摄像头采集到的全景图像的图像特征向量;[0008] S2、获取机器人当前的偏移角度并通过三角变换扩充数据维度后与图像特征向量进行拼接,形成对应的动作特征向量和全景图像特征向量;[0009] S3、采用多头注意力对动作特征向量和全景图像特征向量进行对齐和降维计算,使机器人关注环境中更重要的视觉内容;[0010] S4、采用序列到序列的Transformer框架编码机器人的视觉和动作信息,在解码器端与带有遮罩的语言嵌入编码进行跨模态注意力融合,输出预测的语言结果;[0011] S5、在解码器的输出部分添加额外的辅助监督任务,辅助机器人学习输出句子与输入动作的对应关系,提升网络模型对输入与输出关系的表达。[0012] 所述的步骤S1中,深度卷积神经网络模型采用在ImageNet上预训练好的ResNet‑152网络,以将图像输入ResNet‑152网络后前向推理得到的分类前最后一层输出作为图像特征向量。[0013] 所述的机器人摄像头采集到的全景图像包括36张子图像,包括分别在俯视、平视、仰视三个视角下12张相隔30度的观察图像,每张观察图像对应一个图像特征向量。[0014] 所述的步骤S2中,机器人的偏移角度包括动作偏移角度与视角偏移角度,动作偏移角度为机器人当前所处位置与上一时刻所处位置的偏移角度,视角偏移角度为机器人观察的全景图像所包含的每张子图像基于中心的偏移角度,偏移角度的表达式为:[0015][0016] 其中,γ为偏移角度,θ为偏移的航向角, 为偏移的俯仰角。[0017] 所述的步骤S2中,动作特征向量A具体由全景图像中机器人正前方的子图像对应的图像特征向量与扩充数据维度后的动作偏移角度向量拼接而成,全景图像特征向量E具体由全景图像的全部子图像对应的图像特征向量与扩充数据维度后的视角偏移角度向量拼接而成。[0018] 所述的步骤S3中,多头注意力进行对齐和降维计算后的输出X的表达式为:[0019] Q=AWQ[0020] K=EWK[0021] V=EWV[0022][0023] 其中,Q、K、V分别表示线性变换后注意力机制的查询矩阵、键矩阵和值矩阵,WQ、WK、WV分别为对动作特征向量A与全景图像特征向量E做线性变化的可学习权重, 为K的维度。[0024] 所述的步骤S4中,在使用Transformer进行预测时,添加位置序列编码强调在时序上输入对输出的不同影响,对使用多头注意力对齐和降维计算后的输出X进行位置编码,则有:[0025][0026][0027] 其中,PE(pos,2i)为嵌入编码第2i维度的位置编码值,PE(pos,2i+1)为嵌入编码第2i+1维度的位置编码值,pos为元素在输入序列中的实际位置,dmodel为嵌入编码的维度。[0028] 所述的Transformer包括编码器和解码器两个部分,所述的编码器由多个多头自注意力模块、前向连接网络与残差连接构成,所述的解码器的每个模块包括交叉注意力、自注意力、前向连接网络与残差连接。[0029] 在解码器中,对真值文本采取向右偏移一位,并做对角遮盖的操作,以保证文本的输入仅依赖于之前的预测,随后通过一层线性变换将文本转化为嵌入表达,并与来自编码器的输出结果做交叉注意力。[0030] 所述的步骤S5中,在解码器的输出部分添加额外的辅助监督任务后,最终的损失函数Loss的表达式为:[0031] Loss=λL1+(1‑λ)ωL2[0032][0033][0034][0035] 其中,L1为采用交叉熵损失函数得到的预测值和真值之间的差异,L2为采用均方差函数得到的预测值和真值之间的差异,θ为网络参数,fθ(·)为网络的预测概率, 为输出指令的第p个真实值, 为输出指令中第1个到第p个真实值,Zl为网络输出的第l个词汇对应的预测进程值,L为词汇总数,P(I'j)为当前词汇所在子指令I'j的序号,k为子指令的总段数,λ为控制两个损失函数比重的数值,ω为统一两个损失函数量级的数值, 为第l个词汇所对应的真实进程值。[0036] 与现有技术相比,本发明具有以下优点:[0037] 一、本发明通过引入多头注意力方法,有效融合机器人的动作行为与环境观察,提升其输入特征信息的利用程度,使用先进的序列生成模型Transformer,代替了原来的RNN结构模型,提升了模型整体的编码与解码能力,该方法包含的自然语言生成步骤简单直接,可以端到端地实现模型的训练与预测,生成指令所包含的视觉语义信息更加丰富,更接近人工标注的指令。[0038] 二、本发明提出额外的进度监督辅助任务,利用更加细腻的子指令与对应的子行为动作来提升网络模型对输入与输出对应关系的表达能力,以引入先验知识的方法辅助模型更好的学习语言生成与动作之间的关系,在几乎不增加网络参数量的前提下,提升了生成模型的精确度和泛化能力。附图说明[0039] 图1为本发明方法的流程示意图。[0040] 图2为本发明方法的具体系统流程图。[0041] 图3为本发明方法中进度监督辅助任务的示意图。具体实施方式[0042] 下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。[0043] 实施例[0044] 本发明提供了一种室内环境机器人导航自然语言指令生成方法,该方法的整体流程框图如图1所示,具体包括以下步骤:[0045] S1、利用深度卷积神经网络提取机器人摄像头采集到的图像特征;[0046] 其中,深度卷积神经网络模型采用在ImageNet上预训练好的ResNet‑152网络,将图像输入网络后前向推理得到的分类前最后一层输出作为特征向量,使用vj来表示第j个图像特征向量。[0047] S2、获取机器人当前的偏移角度γ并通过三角变换扩充数据维度后,与图像特征拼接形成新的特征向量;[0048] 其中,偏移角度包括动作偏移与视角偏移,动作偏移指机器人当前所处位置与上一时刻所处位置的偏移角度,视角偏移指机器人观察的全景图所包含的每张子图像基于中心的偏移角度,本例中使用正弦函数和余弦函数分别计算偏移的俯仰角 和航向角θ,公式如下:[0049][0050] 为了让网络模型更好地学习图像和动作角度之间的关系,将其扩充至128维度,即γj,并与vj拼接后形成特征向量:oj={vj;γj}。[0051] S3、利用多头注意力对机器人动作和观察的全景图像进行对齐和降维计算,使机器人关注环境中更重要的视觉内容;[0052] 其中,多头注意力以动作特征向量为查询矩阵Q,以全景图像为键矩阵K和值矩阵V,对两者做注意力后可明显降低输入特征的维度,过滤不重要的成分,丰富输入的语义信息,注意力计算公式可表示为:[0053] Q=AWQ[0054] K=EWK[0055] V=EWV[0056][0057] A和E分别代表动作特征向量和全景图像特征向量,WQ、WK、WV分别为对动作特征向量A与全景图像特征向量E做线性变化的可学习权重, 代表K的维度,使用多头注意力可以让模型注意到不同的侧重点,进一步提升其训练和学习的能力。[0058] S4、使用序列到序列的Transformer框架编码机器人的视觉和动作信息,在解码器端与带有遮罩的语言嵌入编码进行跨模态注意力融合,输出预测的语言结果;[0059] 其中,由于Transformer是并行结构,天生不具备捕捉输入序列顺序的能力,因此,需要额外添加位置序列编码来强调在时序上输入对输出的不同影响,因此,对使用多头注意力融合后的输入X使用以下函数实现位置编码:[0060][0061][0062] 其中,PE(pos,2i)为嵌入编码第2i维度的位置编码值,PE(pos,2i+1)为嵌入编码第2i+1维度的位置编码值,pos为元素在输入序列中的实际位置,dmodel为嵌入编码的维度。[0063] Transformer包括编码器和解码器两个部分,在编码器中,由若干个多头自注意力模块、前向连接网络与残差连接构成;在解码器中,文本的输入需要保证其仅依赖于之前的预测,因此对真值文本采取向右偏移一位,并做对角遮盖的操作,随后通过一层线性变换将文本转化为嵌入表达,并与来自编码器的输出结果做交叉注意力,解码器的每个模块包括交叉注意力、自注意力、前向连接网络与残差连接,使用一层线性变化与softmax函数输出最终的生成文字可能性分布预测结果。[0064] 使用交叉熵损失函数计算预测值和真值之间的差异:[0065][0066] 其中,L1为采用交叉熵损失函数得到的预测值和真值之间的差异,θ为网络参数,fθ(·)为网络的预测概率, 为输出指令的第p个真实值, 为输出指令中第1个到第p个真实值。[0067] S5、在解码器的输出部分添加额外的辅助监督任务,帮助机器人学习输出句子与输入动作的对应关系,提升网络模型对输入与输出关系的表达。[0068] 辅助任务是常用于提升机器人翻译类任务的手段,利用先验知识,通过增加额外的损失监督,帮助模型更容易学习到数据之间的内在关联。假设一段动作可分为k段子动作,每段子动作又对应包含若干词汇的子指令,则每个子指令中的每个词汇所对应的进程值为:[0069][0070] 其中,P(·)表示当前词汇所在子指令I'j的序号,k是子指令(或子动作)的总段数, 为第l个词汇所对应的真实进程值。该辅助监督任务与原本的文本预测器输出并行,均使用Transformer的解码器最后一层输出的特征向量作为输入。[0071] 使用均方差函数计算预测值和真值之间的差异:[0072][0073] 其中,L2为采用均方差函数得到的预测值和真值之间的差异,Zl为网络输出的第l个词汇对应的预测进程值。[0074] 最终的损失函数定义如下:[0075] Loss=λL1+(1‑λ)ωL2[0076] 其中,λ为控制两个损失函数比重的数值,ω为统一两个损失函数量级的数值[0077] 综上,本发明针对机器人视觉语言导航任务,提出了一种用于指导机器人导航行为的自然语言指令生成方法。本发明方法的提出,使用Transformer作为序列到序列的文本生成框架,引入额外的生成进度辅助监督任务,设计联合训练损失函数,实现端到端的学习与预测。该方法可以有效实现对机器人导航路径的自然语言指令生成,从而在不引入额外的人工标注的前提下,提高机器人视觉语言导航的能力,具有生成语言语义信息丰富、模型泛化性强、训练速度快等优点。[0078] 以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
专利地区:上海
专利申请日期:2022-03-09
专利公开日期:2024-07-26
专利公告号:CN114812551B