基于单帧RGB-D图像深度学习对不规则工件的定位抓取方法与流程

文档序号:21878834发布日期:2020-08-18 16:25阅读:396来源:国知局
基于单帧RGB-D图像深度学习对不规则工件的定位抓取方法与流程

本发明属于工业自动化控制的技术领域,具体涉及一种基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法。



背景技术:

对于工作在自动化生产线或柔性制造系统上的工业机器人,其完成最多的动作是“抓取--放置”,在生产制造时,是否拥有高效的抓取方式直接关系到整个工业生产过程的生产效率。当前大部分工业机器人上基于视觉的抓取策略都是利用相机在图像的二维空间中采取识别抓取策略,即使用图像处理的方法,对二维平面图像进行特征提取和图像分析计算得到抓取点后被工业机器人抓取。但是,这种方式由于没有对抓取物体进行有效的姿态估计,只能在固定的平面和规定物体姿态下进行抓取,对于无序、不规则摆放的工件抓取效率低下;或设计更多的机械结构弥补基于二维图像分析的抓取策略局限性,但会导致生产设备成本增高。因此,在现有基础上,提供一种对无序、不规则摆放的工件实现快速精确的定位抓取方法是丞待解决的问题。



技术实现要素:

为解决上述技术问题中的至少之一,本发明提出一种基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法。

本发明的目的通过以下技术方案实现:

本发明提供了基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法,包括如下步骤:

s1,采集图像:机械臂移动到指定工位,利用深度相机采集抓取目标的单帧rgb图像和深度图像;

s2,归一化处理rgb图像:对rgb图像进行归一化处理;

s3,获得目标类别置信度和目标边界框:归一化处理后的rgb图像输入深度学习的目标检测网络并输出目标类别置信度和目标边界框;

s4,获得目标的多个特征点投影坐标:根据目标边界框调整rgb图像后,将调整后的rgb图像输入深度学习的特征点估计网络,输出多张特征点热力图,根据特征点热力图获得目标的多个特征点投影坐标;

s5,估计目标姿态:根据目标的多个特征点投影坐标结合高精度快速求解法估计目标姿态;

s6,深度图像预处理:对采集的深度图像进行双边滤波处理;

s7,确定目标质心:在深度学习的目标检测网络筛选的多个候选框中,利用候选框并集区域分割预处理后的深度图像,确定目标质心,以目标质心作为抓取点;

s8,抓取目标:对抓取的目标进行姿态校正并结合抓取点根据深度相机坐标系、机械臂坐标系与世界坐标系的转换关系,控制机械臂抓取目标并放置到指定位置。

作为进一步的改进,在s3步骤中,归一化后的rgb图像输入目标检测网络前,先要构建并离线训练深度学习的目标检测网络。

作为进一步的改进,所述构建并离线训练深度学习的目标检测网络是,先采用coco数据集上的预训练模型权重载入深度学习的目标检测网络,利用训练样本图像及对应的标签对深度学习的目标检测网络进行离线迭代训练,获得基于深度学习的目标检测网络的目标检测模型。

作为进一步的改进,在s4步骤中,所述获得目标的多个特征点投影坐标,是首先定义目标的三维特征点,通过深度学习的特征点估计网络预测特征点在rgb图像上的投影坐标,输出多张特征点热力图,根据特征点热力图最大值位置获得目标的多个特征点投影坐标;

作为进一步的改进,所述深度学习的特征点估计网络预测特征点在rgb图像上的投影坐标,是通过定义的目标三维特征点在rgb图像上的投影制作特征点热力图标签,再利用训练样本图像及对应的特征点热力图标签离线迭代训练深度学习的特征点估计网络,用训练完成的深度学习的特征点估计网络来预测特征点在rgb图像上的投影坐标。

作为进一步的改进,所述目标的三维特征点是采用最远点采样法定义。

作为进一步的改进,在s7步骤中,所述候选框并集区域是在深度学习的目标检测网络筛选的候选框中选择多个特定的候选框求取候选框并集区域,根据并集区域分割预处理后的深度图像,然后用边缘检测法分割目标轮廓并确定目标质心。

作为进一步的改进,所述特征点估计包括4个编码器和3个解码器。

作为进一步的改进,所述深度学习的特征点估计网络中加入残差结构和跳跃连接进行特征融合。

作为进一步的改进,所述深度学习的特征点估计网络中线性上采样层采用双线性插值法提高输入图像的分辨率。

本发明提供的基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法,包括如下步骤:s1,采集图像:机械臂移动到指定工位,利用深度相机采集抓取目标的单帧rgb图像和深度图像;s2,归一化处理rgb图像:对rgb图像进行归一化处理;s3,获得目标类别置信度和目标边界框:归一化处理后的rgb图像输入深度学习的目标检测网络并输出目标类别置信度和目标边界框;s4,获得目标的特征点投影坐标:根据目标边界框调整rgb图像后,将调整后的rgb图像输入深度学习的特征点估计网络,获得目标的多个特征点投影坐标;s5,估计目标姿态:根据多个特征点投影坐标结合高精度快速求解法,估计目标姿态;s6,深度图像预处理:对采集的深度图像进行双边滤波处理;s7,确定目标质心:利用候选框并集区域分割预处理后的深度图像,然后分割目标轮廓确定目标质心,以目标质心作为抓取点;s8,抓取目标:对抓取的目标进行姿态校正并结合抓取点,根据深度相机坐标系、机械臂坐标系与世界坐标系的转换关系,控制机械臂抓取目标并放置到指定位置。

本发明由于采用了上述技术方案与现有技术相比,具有以下的几处优势:

(1)采用深度相机获得抓取目标的三维图像,可以实现无序、不规则工件的三维空间抓取;

(2)采用基于深度相机深度学习的目标检测网络和特征点估计网络,利用样本图像和对应标签离线训练深度学习的目标检测网络和特征点估计网络,使其在复杂环境下具有更高的鲁棒性和稳定性,在保证目标特征点估计精度的同时还具有一定的实时性;

(3)在目标特征点估计阶段使用特征点热力图的方式回归特征点坐标,输出特征图较大,空间泛化能力较强,因此对目标特征点估计精度更高。

本发明能在不改变目前生产线的情况下,实现对无序、不规则工件三维空间快速精确的抓取,不但可节约设备的改造成本且提高了生产效率。

附图说明

利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。

图1为本发明的步骤示意图。

图2a为本发明最远点采样法获得的第一个采样点示意图。

图2b为本发明最远点采样法获得的第二个采样点示意图。

图2c为本发明最远点采样法获得的第八个采样点示意图。

图3a为本发明制作特征点热力图的目标三维模型示意图。

图3b为本发明制作特征点热力图的模型空间三维特征点示意图。

图3c为本发明制作特征点热力图的图像空间二维特征点示意图。

图3d为本发明制作特征点热力图的高斯特征点热力图示意图。

图4为本发明特征点估计网络结构示意图。

具体实施方式

为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

结合图1所示,本发明实施例提供一种基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法,包括如下步骤:

s1,采集图像:智能机器人上安装可采集rgb-d(rgb图像+depthmap,深度图像)的深度相机,智能机器人的机械臂移动到生产线上的指定工位,利用深度相机采集需抓取目标的单帧rgb图像和深度图像。

s2,归一化处理rgb图像:对采集的rgb图像进行归一化处理去除光照和阴影并缩放rgb图像分辨率到416×416大小,具体的,通过归一化处理把rgb图像数据映射到[0,1]范围之内,加速后续数据计算速度,加快深度学习网络的收敛,归一化的表达式为:

x′=(x-xmin)/(xmax-xmin)(1)

其中:x′表示图像归一化后的像素值,x表示处理前图像像素值,xmin表示处理前图像像素值中对应的最小值,xmax表示处理前图像像素值中对应的最大值。

s3,获得目标类别置信度和目标边界框:归一化后的rgb图像输入目标检测网络前,先构建并离线训练深度学习的目标检测网络(youonlylookonce,yolo),本实施例深度学习的目标检测网络是yolo-v3,先采用coco数据集(commonobjectsincontext,其是微软团队提供的一个可以用来进行图像识别的数据集)上的预训练模型darknet53.conv.74权重载入深度学习的目标检测网络,coco数据集在数据收集层面把整个数据集分为标志性对象图像、标志性场景图像、非标志性场景图像,共有91个分类,其中82个分类中每一个分类都有超过5000个实例对象,这些实例对象有助于更好的学习每个对象的位置信息,跟其它数据集相比具有更多的对象场景图像,能显著提升coco数据集上模型学习细节的能力。然后利用训练样本图像及对应的标签对深度学习的目标检测网络进行离线迭代训练,迭代训练次数为20000次,获得基于深度学习的目标检测网络的目标检测模型。

归一化处理后的rgb图像输入深度学习的目标检测网络并输出目标类别置信度和目标边界框,在深度学习的目标检测网络输入的rgb图像和输出rgb图像分辨率均为416×416。

s4,获得目标的多个特征点投影坐标:根据目标边界框裁剪rgb图像,若裁剪图像区域分辨率长宽均小于104,则用0填充调整裁剪区域分辨率至104×104,否则均把裁剪区域分辨率缩放至104×104,调整后的rgb图像输入深度学习的特征点估计网络,考虑到传统方式定义的特征点远离目标像素,在环境遮挡、目标截断等复杂情况下对目标姿态估计效果差,本实施例采用最远点采样算法预先手动定义目标的三维特征点,最远点采样法的优势在于它可以尽可能的覆盖空间中的所有点。随后预测定义的目标三维特征点在图像上的投影坐标,先构建深度学习的特征点估计网络,利用训练网络的训练样本图像及其对应的标签,采用随机梯度下降法和反向传播法预先计算出训练网络各节点的权重值,随机梯度下降法用于大规模的训练集,在每一次计算之后都使用一个训练样本来更新参数,在训练样本量很大的情况,只用其中几万条或者几千条的训练样本,就已经将参数迭代到最优解,使训练网络的训速度很快。反向传播法建立在随机梯度下降法的基础上,反向传播法的输入输出关系实质上是一种映射关系,这一映射具有高度非线性,它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力。获得训练模型权重,利用特征点在rgb图像上的投影制作样本图像对应的高斯特征点热力图标签,再利用训练样本图像及对应的特征点热力图标签离线迭代训练特征点估计网络,训练次数为20000,其中,训练中的损失函数使用均方误差函数,用训练完成的深度学习的特征点估计网络来预测目标三维特征点在rgb图像上的投影坐标。由深度学习的特征点估计网络输出8张特征点热力图,根据特征点热力图最大值位置求取目标的k个特征点投影坐标,其中,k表示预先定义的目标特征点总数。获得目标的多个特征点投影坐标的具体步骤如下:

s4.1:利用建模软件离线制作目标物体的三维模型,模型与目标实物的物理尺寸比例为1:1,如图3a所示的目标三维模型(.ply文件)。结合图2a所示,设一个三维特征点点集,因本实施例采样8个特征点和一个起始中心点作为查询点,所以设点集的索引初始值为9,以目标三维模型的中心点作为查询点并加入点集,计算模型表面每个特征点距离查询点的距离,并把特征点到查询点最大距离d1对应的特征点k1加入到点集中;

s4.2:结合2b所示,以点集作为查询点,计算三维模型下一个特征点到点集的距离,在特征点到点集的距离中取最小值作为该特征点到点集的距离,在特征点到点集距离d2和d3中,取距离最大的点k2加入到点集中;

s4.3:结合2c所示,重复步骤s4.2,直到点集中采样最远点的个数为8,模型空间三维特征点如图3b所示,点集中包括查询点及8个采样点k1、k2、k3、k4、k5、k6、k7和k8;

s4.4:利用相机内参数和rgb图像对应真实旋转平移矩阵,根据特征点三维-二维对应关系,求出模型空间中的三维特征点对应的图像空间中的二维特征点,如图3c所示,三维-二维对应关系表达式为:

mk2d=k[r|t]mk3d(2)

其中,k为相机内参数,r,t为rgb图像对应的真实旋转矩阵和平移矩阵,mk3d为采样的8个三维特征点,mk2d为图像空间中对应的二维特征点坐标点集;

s4.5:针对三维特征点点集中的每一个特征点,以其坐标为中心生成一张对应的高斯特征点热力图,如图3d所示,在rgb图像中无法标注的特征点,则生成空图,高斯特征点热力图上的横纵坐标点(x,y)的幅值h(x,y)为:

其中,x0为特征点标记横坐标,y0为特征点标记纵坐标,σ2是设定的高斯分布的方差。

s4.6:按照一定顺序排列高斯特征点热力图,顺序为确定的特征点热力图的顺序,顺序确定之后,所有高斯特征点热力图的排序必须与其保持一致。高斯特征点热力图上每一个点的数值即特征点在该点的置信度,设高斯特征点热力图阈值为γ,按顺序搜索每张高斯特征点热力图上最大值大于等于γ对应的位置,位置设为(x1,y1),(x2,y2),…,(xk,yk),k表示预先定义的目标特征点总数,x为位置的横坐标,y为位置的纵坐标,设目标边界框左上角横纵坐标为(x,y),则对应的目标特征点投影坐标为:

((x1×416+x×104)/416,(y1×416+y×104)/416),((x2×416+x×104)/416,(y2×416+y×104)/416),…,((xk×416+x×104)/416,(yk×416+y×104)/416)(4)

s5,估计目标姿态:根据多个特征点投影坐标结合高精度快速求解法(efficientperspective-n-point,epnp)估计目标姿态,高精度快速求解法将三维模型世界坐标系中的三维坐标表示为一组虚拟的控制点的加权和。一般情形,高精度快速求解法要求控制点的数目为四,且这四个控制点不能共面,根据这四个控制点在摄像头参考坐标系下的坐标,计算出摄像头的位姿。具体的,将深度学习的特征点估计网络预测到的目标的k个特征点在rgb图像上的投影坐标输入给高精度快速求解法,提取目标三维模型(.ply)中的世界坐标系下的三维坐标特征点;提取相机内参矩阵,本实施例的相机为单目相机,利用平面标定板,获取相机内参数包括相机焦距、相机畸变系数、图像传感器在水平和垂直方向上相邻像素之间的距离、投影中心在成像平面的垂直投影;相机的畸变参数矩阵设为1个8维全0的矩阵。将三维坐标特征点、k个特征点的投影坐标、相机内参矩阵和相机的畸变参数矩阵输入开源计算机视觉库(opensourcecomputervisionlibrary,opencv)的单目三维位姿估计(solvepnp函数)求解出目标的三维旋转矩阵和三维平移矩阵。

s6,深度图像预处理:对采集的深度图像进行双边滤波预处理,为了较好的保留深度图像的边缘信息,采用双边滤波法对采集的深度图像进行去噪处理,双边滤波的表达式为:

其中,g(i,j)表示深度图像滤波后对应的像素值,(i,j),(k,l)分别表示深度图像的两个像素点坐标,f(k,l)表示对应深度图像位置像素值,w(i,j,k,l)表示双边滤波权重函数。

s7,确定目标质心:利用候选框并集区域分割预处理后的深度图像,然后分割目标轮廓确定目标质心,以目标质心作为抓取点,具体的,预处理的rgb图像经过深度学习的目标检测网络,在深度学习的目标检测网络中每个目标筛选的候选框中选择m个候选框,对m个候选框按照目标类别置信度大小排序为a1,a2,…,am并标记a1候选框,剩下的候选框与a1候选框求取交并比(intersectionoverunion,iou),记录前几个交并比最大值对应的候选框并与a1一起求取并集区域,利用并集区域对预处理后的深度图像进行裁剪,随后通过开源计算机视觉库的边缘检测法(canny)计算出目标的边缘信息分割目标轮廓,边缘检测法是解决图像处理和计算机视觉中的基本问题,通过标识深度图像中亮度变化明显的点,对深度图像通过边缘检测法可以大幅度地减少数据处理量,剔除不相关的深度图像信息,保留深度图像重要的结构属性。利用目标轮廓通过开源计算机视觉库中矩的计算(moments函数)计算出目标质心并以此作为抓取点。

s8,抓取目标,具体表现为:

首先,利用自监督手段对抓取的目标进行姿态校正,计算深度相机测量的目标抓取点平均距离,公式为:

其中,d为目标抓取点平均距离,(xt,yt,zt)为估计的目标姿态平移量,(xc,yc,zc)为深度相机测量目标抓取点距离。

设阈值为δ,如果d大于0小于等于δ,则(xt'=xt,yt′=yt,zt′=zt)为最优抓取位置;如果d大于δ,则根据公式校正最优抓取平移量,公式为:

其中,(xt',yt′,zt′)为最优抓取平移量。

其次,结合目标抓取点根据深度相机坐标系、机械臂坐标系与世界坐标系的转换关系,控制机械臂按目标抓取点抓取目标并放置到指定位置。具体的,将目标抓取点在相机坐标系中的姿态坐标换算为世界坐标系中的坐标,坐标系转换关系公式为:

wto=wtttctcto(8)

其中:wto为待抓取目标在世界坐标系中的坐标,即待抓取目标的抓取点;

wtt为机械臂坐标系在世界坐标系中的坐标,通过向机械臂读取获得;

tct为相机坐标系在机械臂坐标系中的坐标,通过手眼标定获得;

cto为待抓取目标在相机坐标系中的位姿坐标,通过特征点估计网络获得;

作为进一步优选的实施方式,如图4所示,特征点估计网络由4个编码器和3个解码器构成,加入残差结构和跳跃连接进行特征融合。特征点估计网络结构具体为:

第1次编码:按照网络设计顺序rgb图像依次经过:输入层-卷积层-批量归一化层-激活(leakyrelu)层;输入层的输入大小为104×104×3;卷积层的滤波器大小设定为3×3,滤波器数目设定64,填充设定为1,步长设为2;输出结果e1为104×104×64,然后进入第2次编码;

第2次编码:按照网络设计顺序图像依次经过:卷积层-批量归一化层-激活层-卷积层-批量归一化层-批标准化(batchnormalization,bn)+激活层-卷积层-批量归一化层-批标准化+激活层-卷积层-批量归一化层-批标准化+激活层;卷积层的滤波器大小设定3×3,滤波器数目设定128,填充设定为1;第一个卷积步长设为2,其余卷积步长设为1;第二个卷积层的输出结果为e22,第四个激活层的输出结果为e2,e1和e22之间增加一个结构为卷积层-批量归一化层-激活层的残差连接,卷积层的滤波器大小设定为1×1,滤波器大小为128,卷积步长设为2,e22和e2之间的支路增加一个无卷积的残差连接,图中外部连接线为实线的即残差连接。输出结果e2为52×52×128,然后进入第3次编码;

第3次编码:按照网络设计顺序图像依次经过:卷积层-批量归一化层-批标准化+激活层-卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层;卷积层的滤波器大小设定3×3,滤波器数目设定128,填充设定为1;第一个卷积步长设为2,其余卷积步长设为1;第二个卷积层的输出结果为e32,第四个激活层的输出结果为e3,e2和e32之间增加一个结构为卷积层-批量归一化层-激活层的残差连接,卷积层滤波器大小设定为1x1,滤波器大小为256,卷积步长设为2,e32和e3之间增加一个无卷积的残差连接,输出结果e3为26×26×256,然后进入第4次编码;

第4次编码:按照网络设计顺序图像依次经过:卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层;卷积层的滤波器大小设定3×3,滤波器数目设定128,填充设定为1;第一个卷积步长设为2,其余卷积步长设为1;第二个卷积层的输出结果为e42,第四个激活层的输出结果为e4,e3和e42之间增加一个结构为卷积层-批量归一化层-激活层的残差连接,卷积层滤波器大小为1×1,滤波器数目为512,卷积步长设为2,e42和e4之间的支路增加一个无卷积的残差连接,输出结果e4为13×13×512,然后进入第1次译码;

4次编码后,接着进入3次译码。

第1次译码,按照网络设计顺序图像训练依次经过:卷积层-批量归一化层-激活层-卷积层-批量归一化层-激活层-双线性上采样层;卷积层滤波器数目设为:256,滤波器大小为:3×3,填充设定为1;第二个激活层的输出为e5,e3和e5之间增加一个结构为卷积层-批量归一化层-激活层的跳跃连接,外部连接线为虚线的即跳跃连接,卷积层滤波器大小为1×1,滤波器数目为256,卷积步长设为2,输出结果e5为26×26×256,接着进入第2次译码;

第2次译码,按照网络设计顺序图像训练依次经过:卷积层-批量归一化层-批标准化+激活层-卷积层-批量归一化层-激活层-双线性上采样层;卷积层滤波器数目设为:128,滤波器大小为:3×3,填充设定为1;第二个激活层的输出结果为e6,e32和e6之间增加一个结构为卷积层-批量归一化层-激活层的跳跃连接,卷积层滤波器大小为1×1,滤波器数目为128,卷积步长设为2,输出结果e6为52×52×128,接着进入第3次译码;

第3次译码,按照网络设计顺序图像训练依次经过:卷积层-批量归一化层-激活层-卷积层;第一个卷积层滤波器数目设为64,第二个卷积层滤波器数目设为8,第一个滤波器大小为:3×3,第二个滤波器大小为1×1,填充设定为1;输出结果为52×52×8的特征点热力图;

上述特征点估计网络的损失函数为均方误差损失函数,数学表达式为:

其中,i表示热力图上像素顺序,j表示热力图的顺序,yi′表示网络的预测热力图结果,yi代表热力图的真实结果。

线性上采样层采用双线性插值算法将输入的图像分辨率提高两倍,设插值点为f,其对应的横纵坐标位置为f(x,y),x是插值点f的横坐标,y是插值点f的横坐标的纵座标,插值点对应的源图坐标点四周最近邻的4个坐标点分别为q11、q12、q21、q22,4个坐标点分别对应的横纵坐标位置为q11(x1,y1)、q12(x1,y2)、q21(x2,y1)、q22(x2,y2)。

首先在插值点横坐标方向上进行两次线性插值,可以得到:

式中,f(x,y1)表示插值点横坐标上q11和q21的插入点,f(x,y2)表示插值点横坐标上q12和q22的插入点,f(q11)表示图像q11(x1,y1)位置对应的像素值,f(q21)表示图像q12(x1,y2)位置对应的像素值,f(q12)表示图像q12(x1,y2)位置对应的像素值,f(q22)表示图像q22(x2,y2)位置对应的像素值。

然后在插值点y方向上进行一次插值,可以得到:

上面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,不能理解为对本发明保护范围的限制。

总之,本发明虽然列举了上述优选实施方式,但是应该说明,虽然本领域的技术人员可以进行各种变化和改型,除非这样的变化和改型偏离了本发明范围,否则都应该包括在本发明的保护范围内。

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