一种机器人人机交互方法转让专利

申请号 : CN202110206075.5

文献号 : CN112873211B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘华平陆升阳张新钰袁小虎赵怀林

申请人 : 清华大学

摘要 :

本发明属于机器人主动视觉感知、语言交互、雷达避障以及深度学习技术领域,尤其涉及一种机器人人机交互方法。本方法拍摄环境的RGB图像与深度图,并探测障碍物信息获取激光雷达数组,对获取数据进行归一化处理,构建人机交互中的问题编码网络将问题进行编码;构建图像特征提取网络,将RGB图像与深度图像信息提取成为一个特征矩阵,将激光雷达数据、问题编码和特征矩阵进行拼接得到特征融合矩阵;采用卷积网络获取数据融合矩阵作为周边环境的数据融合矩阵;训练一个循环神经网络作为导航器,将数据融合矩阵作为输入,输出导航结果,控制机器人运动方向。本方法实现了机器人自我导航,自我探索,人机交互等功能,提升机器人的智能性。

权利要求 :

1.一种机器人人机交互方法,其特征在于该方法包括:拍摄环境的RGB图像与深度图,利用激光雷达探测障碍物信息,获取障碍物数组,对获取数据进行归一化处理,构建人机交互中的问题编码网络将问题进行编码;构建图像特征提取网络,将RGB图像与深度图像信息提取成为一个特征矩阵,将激光雷达数据、问题编码和特征矩阵进行拼接得到特征融合矩阵;采用卷积网络获取数据融合矩阵作为周边环境的数据融合矩阵;训练一个循环神经网络作为导航器,将数据融合矩阵作为输入,输出为“前,左,右,停止”动作之一,控制机器人运动方向;具体步骤如下:(1)拍摄环境的RGB图像与深度图,称为环境图像,环境图像为一个3*(w*h)图像,环境图像中含有3个图层,每一个图层的尺寸为(w*h),利用下式,对环境图像进行归一化处理:式中, 代表归一化后环境图像中像素点的值,xi代表原环境图像中像素点的值,xmin代表像素点的最小值,xmax代表像素点的最大值;

(2)构建一个卷积神经网络,具体包括以下步骤:设定卷积神经网络的第一层为卷积层,该卷积层的卷积核为5*5的矩阵,通道数为8;卷积神经网络的第二层为非线性激活层,非线性激活函数为relu函数,将卷积层的输出作为该层输入,增加网络的非线性,卷积神经网络的的第三层为数据归一化层,该层的输入为非线性激活层的输出;

(3)利用上述步骤(2)的卷积神经网络,对步骤(1)的环境图像进行特征提取,得到环境特征融合矩阵L,包括以下步骤:

(3‑1)将步骤(1)归一化处理后的环境图像输入到步骤(2)的卷积神经网络中,卷积神经网络输出RGB图像的特征矩阵M与深度图的特征矩阵G;

(3‑2)将步骤(3‑1)的特征矩阵M与特征矩阵G相加,得到融合矩阵K,将融合矩阵K进行矩阵变换,得到环境特征融合矩阵L,L为1*1*128的矩阵;

(4)探测障碍物信息,记为障碍物数组Z,利用下式,对障碍物数组Z进行归一化处理得到归一化后的矩阵Zj:

式中, 代表归一化处理后障碍物数组的值,zj代表原障碍物数组的值,zmin代表障碍物数组的最小值,zmax代表障碍物数组的最大值;

对归一化后的矩阵Zj进行线性变换,得到障碍物特征矩阵N,N为1*1*64的矩阵;

(5)构建一个问题编码网络,具体包括以下步骤:(5‑1)设定问题编码网络的第一层为第一长短时记忆层,第一长短时记忆层的神经元个数是128个,问题编码网络的第二层为长短时记忆层,第二层为长短时记忆层的神经元个数是128个,得到一个问题编码网络;

(5‑2)将人机交互问题中的单词进行编号;

(5‑3)将步骤(5‑2)的进行编号后的人机交互问题中的单词输入步骤(5‑1)的问题编码网络,问题编码网络输出一个问题矩阵,对问题矩阵进行变换,得到问题特征矩阵O,问题特征矩阵O为1*1*64的矩阵;

(6)对步骤(3)的环境特征融合矩阵L、步骤(4)的障碍物特征矩阵N和步骤(5)的问题特征矩阵O,按照通道数进行矩阵拼接,得到特征融合矩阵P,特征融合矩阵P为1*1*256的矩阵;

(7)设计一个卷积网络,该卷积网络的卷积核为1*1的矩阵,卷积网络的通道数为64,将步骤(6)的特征融合矩阵P输入该卷积网络,卷积网络输出一个数据融合矩阵Q;

(8)建立一个循环神经网络,该循环神经网络的第一层为长短期记忆网络,长短期记忆网络中的神经元个数为64个,该循环神经网络的第二层为线性变换层,该循环神经网络的第三层为softmax分类层,softmax分类层的神经元个数为4个;循环神经网络最终输出为“前,左,右,停止”四个动作中的一个;

(9‑1)利用步骤(7)数据融合矩阵Q对步骤(8)的循环神经网络进行训练,得到一个导航器,即向步骤(8)的循环神经网络输入数据融合矩阵Q,循环神经网络输出为“前,左,右,停止”四个动作,在循环神经网络训练中,利用损失函数,计算损失值Loss:其中i为动作序号,为第i个输出动作,将第i个输出动作与输入数据融合矩阵Q中的相应动作进行比较,若输出动作与数据融合矩阵Q中的相应动作相同,则记yi为1,若输出动作与数据融合矩阵Q中的相应动作不相同,则记yi为0;

(9‑2)设定损失值Loss的阈值,损失值Loss的阈值为0.5,采用损失函数计算每一次训练的损失值,当损失值小于阈值时,完成导航器的训练;

(10)利用步骤(9‑2)的导航器进行导航,导航器的表达式为:0

at,ht←LSTM(ht‑1,It ,Q,at‑1)其中,t表示机器人走的步数,at表示机器人第t步的移动方向,ht表示第t步循环神经网络中长短期记忆网络的隐藏层输出,at‑1表示上个步骤(9‑1)的动作输出,ht‑1表示上个步骤0

长短期记忆网络的隐藏状态,Q表示问题的编码,It表示第t步时步骤(7)的整个长短期记忆网络的数据融合输入,←表示导航器的输出方式;

向该导航器输入步骤(5)的问题编码、步骤(1)的RGB图像和深度图像以及步骤(8)的上一时刻长短期记忆层的隐藏状态,导航器输出前、左、右或停止导航四个指令中的一个,实现机器人的人机交互。

说明书 :

一种机器人人机交互方法

技术领域

[0001] 本发明属于机器人主动视觉感知、语言交互、雷达避障以及深度学习技术领域,尤其涉及一种机器人人机交互方法。

背景技术

[0002] 现如今,自主机器人可以在没有人为干预的情况下,独立操作完成特定的任务。作为自主机器人的一个主要的属性——自主运动,主要取决于准确的运动估计和高层次的环
境感知。但是,在某些情况下,人工地标是不可知的,或者机器人处于GPS缺失的环境中,这
样自我运动估计或获取场景信息就遭遇很大的困难。技术上,移动机器人通过感知环境逐
渐的构建一个与环境全局一致的地图,与此同时借助此地图实现自我定位。很长时间以来,
机器人导航问题基本上是通过一系列距离传感器来解决的,比如光线检测和测距,红外辐
射,或声纳导航和测距,这些适用于小范围静态环境中(各种距离传感器受限于他们独自的
物理属性)。但是,在动态、复杂和大范围环境下,机器人的建图与导航可能面对很多挑战。
[0003] 基于视觉的无地图导航问答系统由于其无需构建地图,对环境的依赖程度较低并且可以进行人机交互而被广泛研究。机器人在任意一个未知区域,通过被提问的问题而进
行视觉导航,即通过对外围环境的第一人称感知实现自主无地图导航,最终到达问题所关
注的区域,经过探索环境区域而进行知识问答。科技工作者更是通过开发设计了大量3D仿
真环境来模拟实现机器人基于视觉的无地图导航知识问答系统,其中一个就是利用深度学
习,通过大量数据以及多次试验,训练了一个端到端的网络以实现未知环境的无地图导航
与问答。但是在现实环境中设计与实现基于视觉的无地图导航问答系统并不多见,尤其是
将激光雷达与视觉传感器数据融合的无地图导航问答系统的研究还未见到。
[0004] 相机传感器与激光雷达作为机器人与环境交互的主要两个传感器被广泛应用于各种机器人上。相机传感器是机器人感知外界环境的一个重要手段,现在被广泛用于机器
人地图建立以及定位与导航。但是深度信息丢失限制了相机传感器的更广泛的应用,视觉
信息的采集是通过三维到二维场景的投影变换与映射,在映射过程中深度信息会经常丢
失,而且采用深度图深度信息不准确,存在很多高斯噪声。这导致了机器人在导航过程中无
法获取周围环境的距离信息,从而引发碰撞,导航失败等问题。激光雷达虽然速度较慢,无
法感知周边场景信息,但是它具有采集深度信息的能力,通过将激光雷达与视觉传感器数
据融合的方式,不仅可以实现两者速度上的互补,场景感知能力上的互补,而且可以实现采
集深度信息上的优势互补。
[0005] 近几年来基于视觉感知环境中近年来由于深度学习的不断发展,深度学习技术被广泛用于视觉处理,语言交互,知识问答等领域。深度学习由于其提取特征能力强大,可拓
展性强,学习能力强等优点被广泛应用,而卷积神经网络与循环神经网络作深度学习中主
要的网络模型被广泛用于计算机视觉以及机器人领域,如图像特征提取,目标驱动导航,图
像融合等。尽管他们在计算机视觉与导航方面取得了巨大的成就,但是在视觉与激光雷达
信息融合并进行无地图导航方面并无很大的进展,利用上述信息进行导航并且知识问答方
面的研究也很少。

发明内容

[0006] 本发明的目的是提出一种机器人人机交互方法,打破传统在仿真环境中实现基于视觉的无地图导航知识问答系统的研究,将其应用到实际环境中,并且将相机传感器与激
光雷达数据相融合,实现无地图导航与知识问答。
[0007] 本发明提出的机器人人机交互方法,包括:
[0008] 拍摄环境的RGB图像与深度图,并探测障碍物信息获取激光雷达数组,对获取数据进行归一化处理,构建人机交互中的问题编码网络将问题进行编码;构建图像特征提取网
络,将RGB图像与深度图像信息提取成为一个特征矩阵,将激光雷达数据、问题编码和特征
矩阵进行拼接得到特征融合矩阵;采用卷积网络获取数据融合矩阵作为周边环境的数据融
合矩阵;训练一个循环神经网络作为导航器,将数据融合矩阵作为输入,输出为“前,左,右,
停止”动作之一,控制机器人运动方向。
[0009] 本发明提出的机器人人机交互方法,具有以下优点:
[0010] 1、本发明的机器人人机交互方法,基于现实环境,设计了基于激光雷达和相机传感器数据融合的室内无地图导航问答系统,使得机器人在与人交流完成任务导航时不需要
再建立地图,可以完成未知环境的导航以及问答。但是现有的技术由于在现实环境中由于
光照,屋内杂乱,物体纹理不明显等原因,没有得到实现,主要是通过仿真环境,在仿真环境
中进行无地图导航问答系统的模拟。
[0011] 2、虽然无地图导航现在被广大科学家研究,但是这些研究基本上都是基于视觉传感器的,由于视觉传感器存在对视觉精度要求较高,深度信息在变换中缺失,深度图不精确
存在噪声等问题,本发明设计了基于相机传感器与激光雷达数据融合的无地图导航人机交
互方法,将相机传感器的信息与激光雷达信息相融合,解决了相机传感器深度信息丢失的
问题,同时也解决了激光雷达速度较慢的问题,将两者优势互补,提高了导航精度。
[0012] 3、本发明方法中,通过WiFi进行数据传输,实现了机器人自我导航,自我探索,人机交互等功能,提升机器人的智能性。无论在家居、服务还是探险救灾方面都有着很大的应
用前景。

附图说明

[0013] 图1为本发明方法涉及的硬件系统的结构框图。
[0014] 图2为相机传感器与激光雷达数据融合网络示意图。
[0015] 图3为本发明方法涉及的导航器网络示意图。
[0016] 图4为人机交互网络结构示意图。

具体实施方式

[0017] 本发明提出的机器人人机交互方法,包括:
[0018] 拍摄环境的RGB图像与深度图,并探测障碍物信息获取激光雷达数组,对获取数据进行归一化处理,构建人机交互中的问题编码网络将问题进行编码;构建图像特征提取网
络,将 RGB图像与深度图像信息提取成为一个特征矩阵,将激光雷达数据、问题编码和特征
矩阵进行拼接得到特征融合矩阵;采用卷积网络获取数据融合矩阵作为周边环境的数据融
合矩阵;训练一个循环神经网络作为导航器,将数据融合矩阵作为输入,输出为“前,左,右,
停止”动作之一,控制机器人运动方向。
[0019] 以下结合附图介绍本发明方法的一个实施例:
[0020] 本发明方法涉及的硬件系统如图1所示。
[0021] (1)机器人用相机传感器拍摄环境的RGB图像与深度图,称为环境图像,环境图像为一个3*(w*h)图像,环境图像中含有3个图层,每一个图层的尺寸为(w*h),利用下式,对环
境图像进行归一化处理:
[0022]
[0023] 式中,xi*代表归一化后环境图像中像素点的值,xi代表原环境图像中像素点的值,xmin代表像素点的最小值,xmax代表像素点的最大值;
[0024] (2)构建一个卷积神经网络,具体包括以下步骤:
[0025] 设定卷积神经网络的第一层为卷积层,该卷积层的卷积核为5*5的矩阵,通道数为8;该卷积层的输入为步骤(1)的归一化处理后的环境图像;卷积神经网络的第二层为非线
性激活层,非线性激活函数为relu函数,将卷积层的输出作为该层输入,增加网络的非线
性。卷积神经网络的的第三层为数据归一化层,该层的输入为非线性激活层的输出,利用下
式对输入进行归一化计算:
[0026]
[0027] 其中, 为归一化层的输出,xv1(k)为非线性激活层的输出,kv2为通道编号,即第(k) (k) (k) (k) (k)
kv2个通道的输出为xv1 ,E(xv1 )为xv1 的平均数,var[xv1 ]为xv1 的方差。
[0028] 卷积神经网络的第四层为最大池化网络,最大池化神经网络的卷积核为2*2的矩阵,卷积神经网络的第五层是卷积层,该卷积层的卷积核尺寸为5*5的矩阵,通道数为16,该
卷积层的输入为特征提取网络第四层最大池化网络输出的结果。卷积神经网络的第六层为
非线性激活层,非线性激活函数为relu函数,将卷积层的输出作为该层输入,增加网络的非
线性。卷积神经网络的第七层为数据归一化层,该层的输入为卷积层的输出,利用下式对输
入进行归一化计算:
[0029](k)
[0030] 其中, 为归一化层的输出,xv2 为非线性激活层的输出,kv2为权利(1‑5)通道
[0031] 编号,即第kv2个通道的输出为xv2(k),E(xv2(k))为xv2(k)的平均数,var[xv2(k)]为xv2(k)的方差。卷积神经网络的第八层为最大池化网络,最大池化神经网络的卷积核为2*2的矩
阵,卷积神经网络的第九层为卷积层,该卷积层的卷积核尺寸为5*5的矩阵,通道数为32,该
卷积层的输入为最大池化网络输出的结果。卷积神经网络的第十层为非线性激活层,非线
性激活函数采用relu函数,将卷积层的输出作为该层输入,增加网络的非线性。卷积神经网
络的第十一层为数据归一化层,该层的输入为卷积层的输出,利用下式对输入进行归一化
计算:
[0032](k)
[0033] 其中, 为归一化层的输出,xv3 为非线性激活层的输出,kv3为权利(1‑9)通道
[0034] 编号,即第kv3个通道的输出为xv3(k),E(xv3(k))为xv3(k)的平均数,var[xv3(k)]为xv3(k)的方差。卷积神经网络的第十二层为最大池化网络,最大池化神经网络的卷积核为2*2的矩
阵,卷积神经网络的第十三层是卷积层,该卷积层的卷积核为5*5矩阵,通道数为32,该卷积
层的输入为最大池化网络输出的结果。卷积神经网络的第十层为非线性激活层,非线性激
活函数为relu函数,将卷积层的输出作为该层输入,增加网络的非线性。卷积神经网络的第
十一层为数据归一化层,该层的输入为卷积层的输出,利用下式对输入进行归一化计算:
[0035]
[0036] 其中, 为归一化层的输出,xv4(k)为非线性激活层的输出,kv4为通道编号,即第 (k) (k) (k) (k) (k)
kv4个通道的输出为xv4 ,E(xv4 )为xv4 的平均数,var[xv4 ]为xv4 的方差。
[0037] 卷积神经网络的第十二层为最大池化网络,最大池化神经网络的卷积核为2*2的矩阵;
[0038] (3)利用上述步骤(2)的卷积神经网络,对步骤(1)的环境图像进行特征提取,得到环境特征融合矩阵L,包括以下步骤:
[0039] (3‑1)将步骤(1)归一化处理后的环境图像输入到步骤(2)的卷积神经网络中,卷积神经网络输出RGB图像的特征矩阵M与深度图的特征矩阵G;
[0040] (3‑2)将步骤(3‑1)的特征矩阵M与特征矩阵G相加,得到融合矩阵K,将融合矩阵K进行矩阵变换,得到环境特征融合矩阵L,L为1*1*128的矩阵;
[0041] (4)机器人用激光雷达探测障碍物信息,记为障碍物数组Z,利用下式,对障碍物数组Z进行归一化处理得到归一化后的矩阵Zj:
[0042]
[0043] 式中,zj*代表归一化处理后障碍物数组的值,zj代表原障碍物数组的值,zmin代表障碍物数组的最小值,zmax代表障碍物数组的最大值;
[0044] 对归一化后的矩阵Zj进行线性变换,得到障碍物特征矩阵N,N为1*1*64的矩阵;
[0045] (5)构建一个问题编码网络,具体包括以下步骤:
[0046] (5‑1)设定问题编码网络的第一层为第一长短时记忆层,第一长短时记忆层的神经元个数是128个,问题编码网络的第二层为长短时记忆层,第二层为长短时记忆层的神经
元个数是128个,得到一个问题编码网络;
[0047] (5‑2)将人机交互问题中的单词进行编号;
[0048] (5‑3)将步骤(5‑2)的进行编号后的人机交互问题中的单词输入步骤(5‑1)的问题编码网络,问题编码网络输出一个问题矩阵,对问题矩阵进行变换,得到问题特征矩阵 O,
问题特征矩阵O为1*1*64的矩阵;
[0049] (6)对步骤(3)的环境特征融合矩阵L、步骤(4)的障碍物特征矩阵N和步骤(5) 的问题特征矩阵O,按照通道数进行矩阵拼接,得到特征融合矩阵P,特征融合矩阵P为 1*1*
256的矩阵,;
[0050] (7)设计一个卷积网络,该卷积网络的卷积核为1*1的矩阵,卷积网络的通道数为 64,将步骤(6)的特征融合矩阵P输入该卷积网络,卷积网络输出一个数据融合矩阵Q;数据
融合矩阵Q;利用相机传感器与激光雷达数据得到数据融合矩阵Q的融合网络示意图如图2
所示。
[0051] (8)建立一个循环神经网络,该循环神经网络的第一层为长短期记忆网络,长短期记忆网络中的神经元个数为64个,该循环神经网络的第二层为线性变换层,该循环神经网
络的第三层为softmax分类层,softmax分类层的神经元个数为4个;循环神经网络最终输出
为“前,左,右,停止”四个动作中的一个;
[0052] (9‑1)利用步骤(7)数据融合矩阵Q对步骤(8)的循环神经网络进行训练,得到一个导航器,即向步骤(8)的循环神经网络输入数据融合矩阵Q,循环神经网络输出为“前,左,
右,停止”四个动作,在循环神经网络训练中,利用损失函数,计算损失值Loss:
[0053]
[0054] 其中i为动作序号,为第i个输出动作,将第i个输出动作与输入数据融合矩阵Q中的相应动作进行比较,若输出动作与数据融合矩阵Q中的相应动作相同,则记yi为1,若输出
动作与数据融合矩阵Q中的相应动作不相同,则记yi为0;
[0055] (9‑2)设定损失值Loss的阈值,本发明的一个实施例中,损失值Loss的阈值为0.5,采用损失函数计算每一次训练的损失值,当损失值小于阈值时,完成导航器的训练;
[0056] (10)利用步骤(9‑2)的导航器进行导航,导航器网络示意图如图3所示,导航器的表达式为:
[0057] at,ht←LSTM(ht‑1,It0,Q,at‑1)
[0058] 其中,t表示机器人走的步数,at表示机器人第t步的移动方向,ht表示第t步循环神经网络中长短期记忆网络的隐藏层输出,at‑1表示上个步骤(9‑1)的动作输出,ht‑1表示上个
0
步骤长短期记忆网络的隐藏状态,Q表示问题的编码,It表示第t步时步骤(7)的整个长短期
记忆网络的数据融合输入,←表示导航器的输出方式;向该导航器输入步骤(5) 的问题编
码、步骤(1)的RGB图像和深度图像以及步骤(8)的上一时刻长短期记忆层的隐藏状态,导航
器输出前、左、右或停止导航四个指令中的一个,实现机器人的人机交互。
[0059] 本发明方法涉及的整个系统如图1所示,由三个硬件组成,装有ROS框架的机器人,装有ROS框架的服务器,路由器。首先问机器人一个问题,机器人将通过第一人称视角进行
探索周边环境。机器人通过第一人称视角探索环境的时候,将相机传感器的RGB图像与深度
图以及激光雷达信息,通过发布话题,利用WiFi发布。服务器通过订阅RGB图像、深度图像、
激光雷达的话题获取数据。通过数据融合并且利用导航模块将融合后的信息作为输入得到
机器人下一步的运动规划并将其用话题发布。机器人通过订阅服务器发布的“cmd_vel”话
题获取下一步的运动命令并且开始移动。最终到达目标区域,机器人停止移动,将第一人称
视角的RGB信息通过话题发布,服务器订阅RGB话题并获取结束导航后的第一帧RGB图片进
行编码,编码后的信息与问题编码作为问答模块的输入,经过长短期记忆网络的输出作为
最终的答案。
[0060] 为了可以更多的拓展整个系统,知识问答模块并没有局限于导航模块的环境,而是采用了MengyeRen等人提出的VIS+长短期记忆网络模型,由于问题的答案只有一个单词,
所以该模型将整个问答模型看做一个分类问题,与现在的工作相符合并且对整体知识问答
系统的提升很大。该知识问答模块即人机交互网络结构如图4所示,整个网络由三部分组
成,知识问答环节图片利用MS‑COCO数据集,主要从复杂的日常场景中截取,图像中的目标
通过精确的segmentation进行位置的标定。图像包括91类目标,328,000影像和2,500,000 
个label。目前为止有语义分割的最大数据集,提供的类别有80类,有超过33万张图片,其中
20万张有标注,整个数据集中个体的数目超过150万个。而问题的数据集则是采用了COCO‑
QA数据集,最大问题长度是55,平均是9.65。