一种基于深度学习的柔性机器人视觉识别与定位系统的制作方法

文档序号:12064754阅读:244来源:国知局
一种基于深度学习的柔性机器人视觉识别与定位系统的制作方法与工艺

本发明涉及机器人行业的视觉识别与定位技术领域,特别地涉及一种基于深度学习的柔性机器人视觉识别与定位系统。



背景技术:

柔性工业机器人在对零件的自动装配、搬运、分拣中,如何准确识别与定位传输装置上随意放置并混杂的机械零件是一项非常重要且十分有难度的任务,零件的特征是否被正确选取、是否被有效描述,对柔性机器人最终识别与定位效果的影响是非常显著的、甚至是决定性的。在零件混杂、随意放置、视角变化、图像缩放、扭曲、光照变化、背景干扰等复杂条件下,现有柔性机器人识别与定位准确性不高,其主要原因就是所用零件特征有效性和适应性差。

对于零件特征,现有方法多是采用“人工缺陷特征选取+人工特征描述计算”的方式,如颜色、纹理、形状等各类传统人工特征及其描述算子。目前采用较多的是针对不同的零件提出的各种人工形状描述算子,如傅立叶算子、曲率尺度空间算子、矩、以及链码等,这些方法在特定的条件下能够获得一定的效果。但是面对零件混杂、随意放置、视角变化、光照变化、背景干扰、甚至图像缩放或扭曲,这些方法就不能很好地进行零件目标识别了。并且,上述人工特征的有效性和适应性存在很大问题,需要启发式方法、非常专业的知识、很大程度上也靠个人经验,并有可能受具体条件的限制,适应性往往较差。零件人工特征有效性和适应性差是现有柔性机器人识别与定位准确性不高的主要原因之一。

深度学习机制具有优异的特征自学习能力,能够模拟人脑准确高效地从大量感知数据中自动提取本质信息,从而大大提高分类识别或分类的准确性。目前针对深度学习的研究主要集中在环境条件较好的人脸模型、字符识别、语音识别等方面。



技术实现要素:

针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种利用深度学习网络逐层自动抽取零件图像数据所蕴含的轮廓形状特征,在零件混杂、随意放置、视角变化、光照变化、背景干扰、缩放或扭曲等复杂条件下,大大提高零件识别及定位准确性和适应性的基于深度学习的柔性机器人视觉识别与定位系统。

为了解决上述技术问题,本发明采用了如下的技术方案:

一种基于深度学习的柔性机器人视觉识别与定位系统,其特征在于,包括如下步骤:

1)零件外轮廓边缘提取:采用CCD相机获取待识别零件所在区域的图像,对原图像进行二值化处理,提取图像中各零件的外轮廓边缘;

2)归一化处理:确定图像中各零件的外轮廓边缘在水平方向上的外接矩形,并将每个外接矩形向外扩大至少2个像素得到每个零件的待识别区域,将每个零件的待识别区域归一化处理为标准图像;

3)在90度范围内,等角度地逐渐旋转各零件的标准图像,并计算每次旋转后该零件在当前位置处的外轮廓边缘在水平方向上的外接矩形的面积,确定各零件的标准图像旋转到其外轮廓边缘在水平方向上的外接矩形的面积最小时的旋转角度α;

4)采用已经学习有待识别零件的外轮廓边缘在水平方向上的外接矩形的面积最小时的四种位姿的深度学习网络提取所述步骤3)中各零件旋转角度为α时的外轮廓边缘形状,识别混杂在各零件中的待识别零件以及其旋转后所处的位姿;

5)根据识别出来的待识别零件在所述步骤3)中的旋转角度α,以及识别时所处的位姿,计算旋转前待识别零件所处的实际位姿,并将该位姿数据传给柔性机器人,以便柔性机器人拾取待识别零件。

作为优化,所述步骤1)中,对原图像采用单一阈值法进行二值化处理,并采用Roberts算子快速提取图像中各零件的外轮廓边缘。

作为优化,所述步骤2)中,先计算各零件的外轮廓边缘在CCD相机视图坐标上的最大横坐标xmax、最小横坐标xmin、最大纵坐标ymax以及最小纵坐标ymin,得到以(xmin,ymax)、(xmax,ymax)、(xmax,ymin)、(xmin,ymin)为顶点的水平方向上零件轮廓边缘的外接矩形;并将每个外接矩形沿x方向和y方向分别向外扩大至少2个像素得到每个零件的待识别区域,将每个零件的待识别区域归一化处理为标准图像;

作为优化,所述步骤3)中,具体包括如下步骤:

3.1)计算各零件的外轮廓边缘在当前位置的水平外接矩形的面积,由图像的零阶几何矩和一阶几何矩计算出图像区域的几何中心即形心;

3.2)以零件外轮廓边缘图像的形心为旋转中心,每次旋转角度为k度,直到旋转到90度;

3.3)每次旋转后,以坐标最大最小法确定零件轮廓边缘在旋转后的水平外接矩形,并计算其面积;比较各旋转位置的水平外接矩形面积,确定面积最小时的位置;

3.4)以零件外轮廓边缘图像在上述面积最小时的位置为起点,绕形心沿顺时针方向和逆时针方向分别旋转(k-1)/i次,每次旋转角度为i度,其中i为系统定位精度;并计算每次旋转后该零件在当前位置处的外轮廓边缘在水平方向上的外接矩形的面积,确定该外接矩形的面积最小时该零件的位置;

3.5)确定各零件的标准图像旋转到其外轮廓边缘在水平方向上的外接矩形的面积最小时位置的旋转角度α。

作为优化,所述步骤4)中,具体包括如下步骤:

4.1)构建基于深度学习网络的零件形状特征自动提取与识别系统;该深度学习网络包括输入层X0、第1卷积层C1、第1降采样层S1、第2卷积层C2、第2降采样层S2、全连接层N6、RBF识别层R7和输出层Y8

所述输入层X0大小为32×32个神经元,以待识别区域归一化处理后的32×32像素标准图像作为输入,输入层神经元与标准图像的像素一一对应;

第1卷积层C1由4幅含有28×28个神经元的特征图组成,是用4种不同的5×5大小卷积核卷积输入层X0而得到;

第1降采样层S1由4幅含有14×14个神经元的特征图组成,每个特征图对应第1卷积层C1的一个特征图;S1降采样层的每个神经元与C1中相对应特征图的2*2邻域相连接,通过局部平均实现二次特征提取;

第2卷积层C2由11幅含有10×10个神经元的特征图组成,是用11种不同的5×5大小卷积核卷积第1降采样层S1相应的特征图而得到;C2层与S1层之间的连接采取不全连接方式;

第2降采样层S2由11幅含有14×14个神经元的特征图组成,每个特征图对应第2卷积层C2的一个特征图;S2降采样层的每个神经元与C2中相应特征图的2*2邻域相连接,通过局部平均实现二次特征提取;

全连接层N6与S2之间全连接,是用22种不同的5×5大小卷积核卷积S2而得到,N6特征图的大小为1*1,即每个特征图只含有1个神经元,N6层的22个神经元组成零件的深度学习特征矢量:A={a1,a2,...,a22},其中A表示零件轮廓的深度学习特征矢量,a1……a22分别表示N6层的22个神经元的输出值;

RBF识别层R7为RBF(径向基)神经网络,其输入与N6层全相连,其隐层共有11个神经单元;每个RBF欧式径向基函数单元计算输入向量和参数向量之间的欧式距离,采用高斯函数作为基函数,其隐层第i个神经单元的输出为:Ri=exp[-||Xi-Ci||2/(2σi2)];

其中Ri表示隐层第i个神经单元的输出,Xi表示隐层第i神经单元的输入值,Ci为隐层第i个神经单元的Gaussian函数的中心点;σi为隐层第i个神经单元的宽度;

该RBF识别层的输出由5个神经元组成,第j个输出神经元的输出值yj为:

其中,h表示该RBF神经网络隐层神经元的数量,n表示输出神经元的数量,wij表示第i个隐层神经元与第j个输出神经元之间的连接权值;

输出层N8由5个独立的神经元组成,与RBF识别层的输出神经元一对一相连,对应待识别零件以及其外轮廓边缘在水平方向上的外接矩形的面积最小时的四种位姿;

4.2)采用无监督训练的反向传播算法训练深度学习网络识别系统

采用无监督训练的反向传播算法,用有标签的零件外轮廓边缘图像数据,对整个深度学习多层网络模型的参数进行无监督调优;用处于待识别零件外轮廓边缘在水平方向上的外接矩形的面积最小时的四种位姿的待识别零件及其他零件的轮廓边缘样本训练网络;

4.3)用所训练后的深度学习网络,提取所述步骤3)中各零件旋转角度为α时的外轮廓边缘形状,识别混杂在各零件中的待识别零件以及其旋转后所处的位姿。

作为优化,所述步骤5)中,具体包括如下步骤:

5.1)有待识别零件图像的零阶几何矩和一阶几何矩计算出图像区域的几何中心即形心;

5.2)以待识别零件外轮廓边缘在水平方向上的外接矩形的面积最小,且该外接矩形的较长边在水平位置时的一个位姿为该待识别零件的水平向上位姿,以该水平向上位姿为待识别零件的位姿基准,顺时针旋转90度为竖直向右位姿,顺时针旋转180度为水平向下位姿,顺时针旋转270度为竖直向左位姿;根据待识别零件的旋转角度α以及深度学习网络所识别出来的待识别零件旋转后所处的位姿,计算待识别零件实际位姿偏离水平方向的角度θ,具体如下:

若识别出来的待识别零件旋转后所处的位姿为水平向上位姿,则θ=270-α;

若识别出来的待识别零件旋转后所处的位姿为水平向下位姿,则θ=90-α;

若识别出来的待识别零件旋转后所处的位姿为竖直向左位姿,则θ=180-α;

若识别出来的待识别零件旋转后所处的位姿为竖直向右位姿,则θ=360-α;

5.3)将计算得到的待识别零件实际位姿偏离水平方向的角度θ以及位姿数据传给柔性机器人,以便柔性机器人拾取零件;完成识别与定位后,将待识别零件的形心位置在CCD相机视图坐标系上的坐标和偏离水平方向的角度传给柔性机器人,柔性机器人确定待识别零件在摄像机坐标内的位置和实际摆放位姿,控制机械手准确拾取零件,完成搬运、摆放或装配。

与现有技术相比,本发明具有如下优点:

1、本发明对在传输装置上随意放置、且混杂的零件也能很好地识别和定位零件,实用性强,具有重要的现实与经济意义。传统方法零件在传输装置上必须用夹具定位,且要求装夹位置也是固定的。

2、本发明在视角变化、光照变化、背景干扰、甚至图像缩放或扭曲等复杂条件下也能很好地识别和定位零件,有很好的适应性和鲁棒性,实用性强。传统方法在线零件的摄像位置必须是固定的

3、本发明所提出的深度学习网络能自动抽取零件形状特征,无需显示的手工特征抽取,避免了特征提取和分类过程中数据重建的复杂度,有更高的可靠性和鲁棒性。

附图说明

图1是基于深度学习的柔性机器人视觉识别与定位系统流程图。

图2是传输装置上的零件图像(其中位于下方的零件为待识别零件)。

图3是二值化的零件图像。

图4是零件的外轮廓边缘图像。

图5是各零件的待识别区域图。

图6是待识别零件外轮廓边缘在水平方向上的外接矩形的面积最小时的四种位姿(从左到右分别为水平向上位姿、水平向下位姿、竖直向左位姿、竖直向右位姿)。

图7是零件形状特征自动提取与识别系统的深度学习网络。

图8是深度学习网络训练的误分类曲线。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

具体实施时:如图1所示,为本实施例的基于深度学习的柔性机器人视觉识别与定位系统流程,以柔性机器人视觉识别与定位系统对传输装置上的某型零件进行识别与定位为例,具体实施过程如下:

1)用CCD相机获取零件图像,用单一阈值法二值化原图像,用Roberts算子提取零件图像的外轮廓边缘;

系统采用大恒DH-SV2001FM型CCD相机、Computar M1614-MP2型工业镜头、EpVision EP-1394A型双通道1394A图像采集卡,背光方式照明。如图2所示为用CCD相机拍摄得到的传输装置上的零件图像,图像中的零件随意摆放,柔性机器人待识别零件为在图2中位于下方的1号零件,混杂有其他的2号零件和3号零件。

本发明中二值化图像的目的是便于快速提取齿轮零件的外轮毂边缘,齿轮零件内部的边缘细节部分并不重要,只要二值化处理后的图像便于提取齿轮零件的外轮毂边缘即可。考虑到系统实时性的要求,因此采用简单快速的单一阈值法,根据灰度直方图,将略大于零件背景的像素灰度值作为阀值二值化图像即可方便的查找零件外轮廓边界,二值化后背景灰度值为1,零件灰度值为0。

本实例的背景灰度值为100左右,零件灰度维175左右,选择阈值为130,二值化后的零件图如图3所示。

实践表明,图像的边界对人的视觉识别十分有用,人们常能从一幅粗糙轮廓图识别物体。本发明采用的深度学习即是模仿人脑机理高效准确地表示处理信息,因此也采用轮廓边缘识别方法。提取边缘的算法较多,同样考虑到系统实时性的要求,系统采用算法简单、速度快且对边缘定位较准确的Roberts算法,Roberts算子对噪声比较敏感,但本系统只需提取零件的外轮毂边缘,且系统后面采用的深度学习识别方法有很好的适应性和鲁棒性,因此即使边缘检测时存在噪声也不会影响最终的识别定位效果。用Roberts算子快速提取零件图像的外轮廓边缘如图4所示。

2)确定水平方向上各零件轮廓边缘的外接矩形,并沿水平和垂直方向分别外延一定像素得到待识别区域,然后归一化为标准图像;

(1)计算各零件轮廓边缘的最大横坐标xmax、最小横坐标xmin,以及最大纵坐标ymax、最小纵坐标ymin

(2)求出以(xmin,ymax)、(xmax,ymax)、(xmax,ymin)、(xmin,ymin)为顶点的水平方向上零件轮廓边缘的外接矩形。

(3)将该外接矩形沿水平和垂直方向分别外延5个像素,得到各零件的待识别区域,如图5所示。

(4)然后归一化为作为深度学习识别模型输入的32×32像素标准图像。

3)旋转标准图像,采用最小外接矩形法将零件旋转到水平或竖直位置,并计算零件轮廓边缘的水平外接矩形旋转过的角度α。

根据最小外接矩形定义柔性机器人拾取别零件(1号零件)的4个方位即水平向上、水平向下、竖直向左、竖直向右。首先,定义最小外接矩形水平向上时对应的零件位置为零件水平向上位置,以水平向上位置为零件位姿的基准,顺时针旋转90度为竖直向右位置,顺时针旋转180度为水平向下位置,顺时针旋转270度为竖直向左位置,如图6所示。

旋转归一化后的标准图像,采用最小外接矩形法将零件旋转到水平或竖直位置,计算旋转角度,以便后面用形心位置和旋转角度计算零件在传输装置上的精确位姿。

采用最小外接矩形法将零件旋转到水平或竖直位置的具体方法如下:

(1)根据最小外接矩形定义柔性机器人拾取别零件的4个方位即水平向上、水平向下、竖直向左、竖直向右。首先,定义最小外接矩形水平向上时对应的零件位置为零件水平向上位置,以水平向上位置为零件位姿的基准,顺时针旋转90度为竖直向右位置,顺时针旋转180度为水平向下位置,顺时针旋转270度为竖直向左位置

(2)计算零件轮廓边缘在当前位置的水平外接矩形面积,由图像的零阶几何矩和一阶几何矩计算出图像区域的几何中心即形心;

本实例计算出的1号零件的形心为(136,135),2号零件的形心为(37,41),3号零件的形心为(166,41)。

(3)以零件外轮廓边缘图像的形心为旋转中心,每次旋转角度为3度,共旋转30次90度;

(4)每次旋转后,以坐标最大最小法确定零件轮廓边缘在旋转后的水平外接矩形,并计算其面积;

(5)比较各旋转位置的水平外接矩形面积,面积最小时对应的位置即为水平或竖直的大致位置。

(6)根据需要定位的精度,确定最后旋转的角度。本实例定位精度要求为1度。因此,在大致的水平(竖直)位置的正负3度内,旋转4次,每次旋转1度,并计算每次的外接矩形。

(7)将这4次旋转的外接矩形面积与为大致水平(竖直)位置的面积比较,面积最小时对应的位置即为水平或竖直的准确位置。是水平位置还是竖直需在用深度学习网络进一步识别。

(8)计算零件轮廓边缘的水平外接矩形旋转过的角度α,以便根据该旋转角度,并结合深度学习网络识别结果来计算零件在传输装置上的位姿。

本实例1号零件轮廓边缘的水平外接矩形旋转过的角度α=55°。

4)用深度学习网络自动提取旋转后的零件外轮廓形状特征,并识别零件及其旋转后所处方位;

(1)构建基于深度学习网络的零件形状特征自动提取与识别系统;

卷积神经网络采用的空间结构和算法,非常类似于动物视觉感知系统的神经网络模型,其使用的局部感知区域、共享权值和降釆样等策略使得网络对位移、缩放和扭曲具有不变性,而这正是在随意放置、视角变化、光照变化、背景干扰等复杂条件下识别零件所要求的。本发明基于卷积神经网络,构建零件形状特征自动提取与识别系统的深度学习网络,如图7所示,该深度学习网络识别在4个方位上的零件,也即在识别零件的同时确定零件旋转后的方位,以便下一步精确定位。该深度学习网络包括输入层X0、第1卷积层C1、第1降采样层S1、第2卷积层C2、第2降采样层S2、全连接层N6、RBF识别层R7和输出层Y8,该深度学习网络的层次结构及参数如表1所示:

表1层次结构及参数

输入层大小为32×32个神经元,以归一化后的零件轮廓边缘外接矩形区域作为输入,输入层神经元与轮廓边缘外接矩形区域像素一一对应。

第1卷积层C1由4幅含有28×28个神经元的特征图组成,是用4种不同的5×5大小卷积核卷积输入层X0而得到。

第1降采样层S1由4幅含有14×14个神经元的特征图组成,每个特征图对应第1卷积层C1的一个特征图。S1降采样层的每个神经元与C1中相对应特征图的2*2邻域相连接,通过局部平均实现二次特征提取,目的是为了缩小数据量的同时,能够保留图像有用信息。

第2卷积层C2由11幅含有10×10个神经元的特征图组成,是用11种不同的5×5大小卷积核卷积第1降采样层S1相应的特征图而得到。C2层与S1层之间的连接采取不全连接方式,如表2所示,目的是为了控制网络连接数量,且能够抽取更多类型的特征信息。C2层与S1层之间的连接结构如表2所示。

表2C2层与S1层之间神经元连接方式

第2降采样层S1由11幅含有14×14个神经元的特征图组成,每个特征图对应第2卷积层C2的一个特征图。每个神经元与C2中相应特征图的2*2邻域相连接,与C1和S2之间的连接和抽样过程类似。

全连接层N6与S2之间全连接,是用22种不同的5×5大小卷积核卷积S2而得到,N6特征图的大小为1*1,即每个特征图只含有1个神经元,N6层的22个神经元组成零件的深度学习特征矢量:A={a1,a2,...,a22},其中A表示零件轮廓的深度学习特征矢量,a1……a22分别表示N6层的22个神经元的输出值;

RBF识别层R7为RBF(径向基)神经网络,其输入与与N6层全相连,其隐层共有11个神经单元。每个RBF欧式径向基函数单元计算输入向量和参数向量之间的欧式距离,采用高斯函数作为基函数,其隐层第i个神经单元的输出为:Ri=exp[-||Xi-Ci||2/(2σi2)]

Ri表示隐层第i个神经单元的输出,Xi表示隐层第i神经单元的输入值,Ci为隐层第i个神经单元的Gaussian函数的中心点;σi为隐层第i个神经单元的宽度。

该RBF识别层的输出由5个神经元组成,第j个输出神经元的输出值yj为:

其中,h表示该RBF神经网络隐层神经元的数量,n表示输出神经元的数量,wij表示第i个隐层神经元与第j个输出神经元之间的连接权值。

输出层N8由5个独立的神经元组成,与RBF识别层的输出神经元一对一相连,对应待识别零件以及其外轮廓边缘在水平方向上的外接矩形的面积最小时的四种位姿。零件的4个方位如图7所示。

(2)采用无监督训练的反向传播算法训练深度学习网络识别系统

采用无监督训练的反向传播算法,用有标签的零件外轮廓边缘图像数据,对整个深度学习多层网络模型的参数进行无监督调优。用上、下、左、右4个方位的待识别零件及其他零件的轮廓边缘样本,共550个。对所建深度学习网络识别系统进行训练,初始权系数在[-0.05—+0.05]范围内均匀分布且随机产生,训练过程中的误分类曲线如图8所示,该深度学习网络在完成第35次迭代后收敛,继续训练时误分类率保持基本稳定。

对所训练后的深度学习网络进行验证实验,对36件1号零件及其旋转后方位进行识别,识别准确率如表3所示;

表3深度学习网络对零件识别准确率

(3)用所训练后的深度学习网络,在线自动提取传输装置上零件外接矩形区域的轮廓形状特征,同时识别零件及其旋转后所处方位;

本实例准确识别出旋转后处于竖直向左的1号零件。

5)根据零件旋转角度及旋转后所处方位计算零件实际位姿,并将位姿数据传给柔性机器人,以便柔性机器人拾取零件。

以水平向上位置为零件位姿的基准,以形心位置和偏离水平方向的角度来表示零件在传输装置上的位姿。

(1)零件形心由图像的零阶几何矩和一阶几何矩计算出。根据识别出传输装置上的零件及其旋转后所处方位后,结合所旋转角度,计算该零件偏离水平方向的角度。假设零件旋转到水平或零件竖直位置的旋转角度为α,其偏离水平方向的角度θ计算方法如下:

a)如果识别出零件旋转后处于水平向上位置即+Y位置,则

b)如果识别出零件旋转后处于水平向下位置即-Y位置,则

c)如果识别出零件旋转后处于竖直向左位置即-X位置,则

d)如果识别出零件旋转后处于竖直向右位置即+X位置,则

本实例识别出旋转后处于竖直向左的1号零件,且旋转角度α=55°,因此,1号偏离水平方向的角度θ=180°-55°=125°。

(2)将位姿数据传给柔性机器人,以便柔性机器人拾取零件。

完成识别与定位后,将1号零件的形心位置(136,135)和偏离水平方向的角度(θ=55°)传给柔性机器人后,柔性机器人就知道了传输装置上有什么零件以及这些零件分别在摄像机坐标内的位置和摆放位姿,就可以以此控制机械手根据需要准确拾取零件,以实现精确搬运、摆放或装配。

以上所述仅为本发明的较佳实施例而已,并不以本发明为限制,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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