掌桥专利:专业的专利平台
掌桥专利
首页

基于深度神经网络的机器人操纵的三维视觉伺服功能

文献发布时间:2024-04-18 20:02:18


基于深度神经网络的机器人操纵的三维视觉伺服功能

技术领域:

本发明涉及一种基于深度机器学习的机器人物体交互控制。

背景技术:

深度神经网络,特别是卷积神经网络(Convolutional Neural Network,简称CNN),已经开展和提出了有效的处理物体识别问题的方法。传统的深度学习方法已经成功地应用到二维物体检测问题中。此外,最近也有一些研究人员利用传统的深度学习方法实现了三维物体检测和姿势估计。然而,与二维物体检测不同的是,三维物体的标签化是比较困难的,往往需要专家来完成。利用合成数据进行深度神经网络训练,以及无限量的预标记训练数据集,可以解决了这个问题。目前的研究都是利用合成数据集来训练深度网络,并将其应用到基于机器人视觉的控制系统中。然而,利用合成数据来识别六维物体的姿势,并将其反馈到基于六自由度的姿势视觉伺服中,仍然是一个尚未实现的挑战。

发明内容:

1.一种基于deep-ConvNet的6维自由度视觉伺服学习框架,其命名为Deep-Visual-Servoing(Deep-Visual-Servoing,DVS)。其特征在于:DVS仅从合成数据集中学习,并成功地在真实场景中使用单张RGB图像进行归纳。DVS可以推导出物体的位置和姿态,实现了基于6自由度的视觉伺服任务。

整个体系结构主要用两个阶段来表达。1):基于深度倾斜的感知网络估计目标物体的姿势;2):执行过程利用前一阶段的优势,利用估计的姿势,完成机器人相对于目标物体的姿势。

具体的架构主要由三个步骤来说明。首先,deep-ConvNet使用单一的RGB图像识别2D对象。我们在合成数据集的基础上训练了这一步,该数据集涵盖了各种光照、遮挡和背景条件。第一步产生的2D信念图的信息,代表了图像中的多个2D对象。其次,姿势估计算法利用信念图来获取工作空间中物体的三维平移和三维定向姿势,如图1所示。最后,先前步骤将目标对象的期望姿态发送给第三个步骤(执行)环节,该步骤负责实现机器人相对于目标对象的姿态。图2是整个提出的系统的通用图,其中deep-ConvNet的反馈六维不断检测和估计当前对象的姿势。生成的姿势误差刺激控制法发送关节速度,通过实现机器人相对于目标物体的姿势,减少误差。

2.一种基于深度学习的感知网络

感知网络主要包括两个步骤,即:基于CNN的感知网络和姿势估计。该网络通过工作空间中的姿势估计来推断出物体的位置。所提出的deep-ConvNet是受ConvolutionalPoseMachine(CPM)的启发。CPM包含多级卷积神经网络,在每个阶段结束时生成二维信念图。后续阶段的输入利用了前一个阶段的图像特征和信念图。这些阶段是预测器的序列,可以对物体的位置进行更好的预测和越来越精细的估计。

3.一种基于位置的视觉伺服算法

探究图像形成过程的几何模型,可以证明世界帧中的兴趣特征点与它们在图像平面上的投影之间的关系。本发明提出了一种为视觉伺服而用的摄像机建模方法。基于姿势的视觉伺服控制(Pose Based Visual Servoing,PBVS)控制的目的是通过控制机器人的运动,向机械手发送所需的平移和旋转指令,以消除期望姿势和当前终端执行器姿势之间的误差姿势。PBVS中的控制法可以从两个不同的角度来制定。第一种是当前的末端执行器框架的角度,第二种是期望的末端执行器框架的角度。虽然这两种方法都有效,但在下面的控制法的表述中,我们采用了期望帧的视角。

附图说明:

图1:Deep Visual-Servoing(DVS)系统:基于六维自由度视觉的机器人运动控制的整体流程图。该流程图主要由两部分组成,即:感知网络推导物体检测与姿势估计;执行步骤,包括机器人根据所需的物体姿态进行移动。

图2:物体识别和姿势估计

图3:一个输入图像在多个阶段(从第1阶段到第6阶段)进行处理

图4:网络架构,包括基于VGG-19的前10层变换学习的网络架构

图5:提出的基于CNN的二维信仰图的架构

图6:无准备环境下六维自由度物体姿态估计的信息。单一的RGB输入图像(左侧),然后通过特征提取步骤、信念图、贪婪算法和PnP算法进行感知网络的过程。最终图像(右侧)输出目标物体的三维边界框。

图7:对具有多种姿势和不同闭塞事件的目标物体的姿势估计。即使是在物体的上侧不可见的情况下,或者物体的方向不同,被其他物体遮挡住了,感知系统也能估计出物体的姿势。

图8:相机模型

图9:系统框架

图10:(左)实验设置;(右)ROS三维可视化仪(Rviz)。

图11:跟踪测试的序列,第三人称视角(上方图),姿势估计相机视角(中间图),Rviz视角(下方图)。

具体实施方式:

如图1所示,本发明系统提出的流程图结构简单而高效。整个体系结构主要用两个阶段来表达。1):基于深度倾斜的感知网络估计目标物体的姿势;2):执行过程利用前一阶段的优势,利用估计的姿势,完成机器人相对于目标物体的姿势。

具体的架构主要由三个步骤来说明。首先,deep-ConvNet使用单一的RGB图像识别2D对象。我们在合成数据集的基础上训练了这一步,该数据集涵盖了各种光照、遮挡和背景条件。第一步产生的2D信念图的信息,代表了图像中的多个2D对象。其次,姿势估计算法利用信念图来获取工作空间中物体的三维平移和三维定向姿势,如图2所示。最后,先前步骤将目标对象的期望姿态发送给第三个步骤(执行)环节,该步骤负责实现机器人相对于目标对象的姿态。图3是整个提出的系统的通用图,其中deep-ConvNet的反馈六维不断检测和估计当前对象的姿势。生成的姿势误差刺激控制法发送关节速度,通过实现机器人相对于目标物体的姿势,减少误差。

本节将对前三步的建模步骤进行详解,包括单摄像头模型,以及控制法的开发。

1)感知网络

感知网络主要包括两个步骤,即:基于CNN的感知网络和姿势估计。该网络通过工作空间中的姿势估计来推断出物体的位置。所提出的deep-ConvNet是受ConvolutionalPose Machine(CPM)的启发。CPM包含多级卷积神经网络,在每个阶段结束时生成二维信念图。后续阶段的输入利用了前一个阶段的图像特征和信念图。这些阶段是预测器的序列,可以对物体的位置进行更好的预测和越来越精细的估计。由于网络的设计是卷积式的,所以早期阶段可能会有一些模糊的问题,这些问题将由后面的阶段来解决,如图3所示。其中,网络在图像特征和信念图上都利用了较大的接收场,这种方式提高了网络的精度。

所提出的神经网络的输入为RGB图像(w×h×3),然后采用变换学习作为特征提取步骤,再进行多级架构。前馈网络的最终目标是检测图像中观察到的物体的二维关键点。该网络输出两种类型的图谱,分别是信念图谱和向量场,并表示同一类别的多个对象。网络中的每个阶段产生9个信念图,每个信念图代表一个顶点,每一个顶点将在三维界线框的8个投影顶点的末端,一个信念图代表中心点。以同样的方式,每个阶段产生8个向量场,从每个8个投射顶点到中心点的方向指示方向。为了检测物体的中心点,网络总是从信念图中寻找局部峰。它使用贪婪算法来关联投射的顶点,并指示向心点。然后,通过Perspective n点(PnP)算法,利用物体的三维边界框的投影顶点来获取6dof物体的姿态。PnP算法在租赁时需要四个顶点来获得物体的姿势。内在的相机参数和物体尺寸需要估计目标物体相对于相机帧的平移和方向。

在图4中,网络直接在输入图像(400×400×3)上进行训练,网络的前10层基于使用VGG-19模型计算图像特征,在ImageNet上进行预训练。然后,通过两个3×3卷积神经层,将特征维度从512到256,从256到128进行最小化。如图5所示,特征图维度-128为第一阶段的输入,该阶段包含3层(50×50×128)和一层(50×50×512),如图5所示。这个阶段之后是信念图(50×50×9)和向量场(50×50×16),这两个阶段都被送入下一个阶段,包括特征图的输出。同样的,其余的阶段(从2到6)的结构应该与第一阶段相同。但接收的维度输入(128+9+16=153)是图像特征图的输出,也是前一阶段的信念图和向量场的输出。在其余阶段中,共有6层(50×50×128),输出的是信念图和向量场。某层的输出通过整流线性单元(ReLU)激活函数映射到后续的输入层,该层始终保持正值。

在训练步骤中,基于YCB对象数据集,考虑了60k以上的合成图像(域随机化和逼真图像)。第一图层集的图像特征提取器从VGG-19预训练模型中学习。该系统在PyTorch平台上实现,并在8个GPU(每一个GPU为Nvidia Tesla K-80)上训练了70个epochs,批处理量为128个,结果在CPU Intel.Core i7-7700k。基于网络优化器的学习率为0.0001。在训练过程中,采用损耗函数(L2)的正则化方法计算每个输入的预测输出与真值(地表真值)之间的损耗误差。在每个纪元结束时,通过应用每个输入的平均平方误差(MSE)来累积误差值。这被应用于整个训练阶段,这表明模型是如何通过最小化真值和估计值之间的差值的平方来学习的。损失函数将建立和标记信念图和亲和图。所用的L2损失函数计算出预测的信念图和训练数据的真值(地面真值)之间的损失误差。公式1中,

为得到三维界线框,由信念图输出的2D物体顶点遵循PnP迭代方法,如图6所示。PnP问题的目的是从已知的三维点到对应的二维图像投影的对应点,估计校准后的相机的平移和方向。这种方法有助于从3D到2D对应点找到物体的姿势。其中正确的物体姿态应该通过最小化重投影误差来找到。重投影误差是观察到的二维投影图像点与投影的三维物体点之间的平方距离之和,如下方程所示:

PnP的输入是摄像机的固有参数、三维物体点和二维观察点。输出结果是将三维物体的旋转和平移向量检索到二维图像平面。我们有三个坐标系,即世界坐标、相机坐标和图像平面坐标。如果我们知道了世界坐标中的点的方向和平移量,那么对应的点就可以用方程3转换为相机坐标。然后,利用相机的本征参数,将三维点投影到图像平面上。

展开后的形式是:

其中K为相机本征矩阵,[R|t]为外征关节矩阵,分别表示旋转向量和平移向量。它用来描述物体点相对于相机坐标的同质刚体运动,并将各三维点的坐标相对于相机帧的坐标系进行平移。s表示为标量投影系数,f

2)摄像机建模

探究图像形成过程的几何模型,可以证明世界帧中的兴趣特征点与它们在图像平面上的投影之间的关系。一种常见的图像形成模型是针孔透镜近似法。如图8所示,P为工作空间中的对象点,坐标P=(x,y,z)。点P在坐标为(u,v,f)的图像平面上的投影为P=(x,y,z)。点P在相机坐标框中的透视投影为(x

将(k=f/z)代入方程5,我们将得到透视投影方程6和7的结果:

这有助于通过引入(u,v)来找到工作空间中的物体位置。然而,数码相机的传感器(CCD/CMOS)是一个二维阵列,其传感器是以像素为单位进行测量的。其中(u,v)为图像平面的原点,(r,c)为像素帧的原点。像素的形状一般为矩形,像素的宽度和高度分别为Sx和Sy。图像平面和像素坐标框的中心点不一样。因此,图像平面与像素框之间的坐标变换用方程8和9表示。

u=-Sx(r-Cr) (8)

v=-Sy(c-Cc) (9)

从方程8和9中,我们得到r=-(u/Sx)+Cr和c=-(v/Sy)+Cc的值。通过考虑

为了得到从世界投影到图像平面内的物体的位置,如前文中的方程所示,采用了像素点。但是,摄像机的各种参数如Sx,Sy,u,v摄像机焦距(fx,fy)、原理点位置(Cr,Cc)等都是未知的。这些参数被称为相机本征参数,它们是通过相机校准获得的,对于给定的相机来说,它们是常数。利用一个已知尺寸和方格数的棋盘来校准所使用的相机并获得必要的参数。

3)机械手建模

图9展示了我们系统中使用的主要框架,即基于机器人的框架、末端执行器框架和摄像头框架。机械手的运动轨迹也相应地进行了计算。

图10(左图)显示了DVS系统的物理实现以及在没有准备好的实验室环境下进行的测试设置。在摄像头的安装方面,将单个RGB摄像头作为眼对眼的配置,摄像头安装在工作空间中,可以观察到目标物体和机器人。物理设置也用机器人操作系统(ROS)框架来表示,以完成自主操作。图10(右图)展示了感兴趣的框架,即机器人基座、摄像头、末端执行器和目标物体框架,这些框架都在ROS的三维可视化工具Rviz中进行了展示。

图11展示了从经验跟踪测试中捕捉到的序列。在操作过程中发生了闭塞事件,视线被机器人部分遮挡。然而,感知网络和执行网络都表现出了可靠的性能,并且从未失去对所需姿势的跟踪。

4)基于位置的视觉伺服

基于姿势的视觉伺服(PBVS)方案从图像中获取目标物体的兴趣点。根据目标物体的三维姿态,对目标物体的三维姿态进行数学估计。该控制方案需要在笛卡尔空间中建立三维物体模型,包括本征和外征的摄像机标定。基于视觉的视觉伺服系统需要三个坐标帧,分别是当前帧fc、期望帧fd和参考帧fr。其中,fr代表目标物体的帧。三维笛卡尔控制的职责是计算出机器人的期望姿态,以消除与当前姿态相比的误差测量。公式12解释了PBVS参数:

S=(T,θU) (12)

其中,T代表平移矢量和θU表示为旋转矢量。方程13表示误差动态任务:

S表示为

重复方向向量的一般过程,从方程16开始:

角速度由

其中T(φ):

将方程18代入方程17,就可以确定端部执行器的角速度。

5)控制法的制定

基于姿势的视觉伺服控制(Pose Based Visual Servoing,PBVS)控制的目的是通过控制机器人的运动,向机械手发送所需的平移和旋转指令,以消除期望姿势和当前终端执行器姿势之间的误差姿势。PBVS中的控制法可以从两个不同的角度来制定。第一种是当前的末端执行器框架的角度,第二种是期望的末端执行器框架的角度。虽然这两种方法都有效,但在下面的控制法的表述中,我们采用了期望帧的视角。由该方法求出的方案与当前的末端执行器框架透视图相比,期望得到的末端执行器轨迹是不同的。控制定律的基础从方程20中的Lyapunov比例控制方案开始。比例增益被表示为k,该方案产生的误差呈指数级下降:

视觉伺服误差是由当前图像和摄像机参数s和期望的图像和摄像机参数s

e(t)=s-s

本研究中使用的机器人系统在三维笛卡尔空间中运行,因此方程21中的参数必须由代表末端执行器的位置和方向的两个向量来定义。这些数据是通过位置估计算法获得的,该算法使用三维目标物体作为图像数据的参考来确定末端执行器的位置和方向。等式22定义了姿态估计算法的结果。第一个向量

所需的姿势向量等于零,因为所有的向量都是相对于这个期望的末端执行器框架而言的。将这些向量代入方程21,可得到以下误差方程:

等式14还定义了

与平移误差类似,在考虑方程18时,方向误差的变化率由

将方程20中的Lyapunov比例控制方案应用到方程24和25中,可以得出端部执行器速度的控制规律:

等式26被简化为等式27,其中L称为相互作用矩阵,将误差值与末端执行器的速度联系起来:

如方程27所述,估计的姿态误差是控制器的输入,而末端执行器速度是输出。通过将其与为关节速度所建立的系统模型相结合,就可以得到完整的控制定律(方程28)。该定律控制关节速度与当前机器人末端执行器姿态和期望的机器人末端执行器姿态之间发生的误差成正比。为了分析机器人模型的性能特点,通过实验来实现这一控制:

其中,

技术分类

06120116581765