一种装配机器人零件深度学习识别方法与流程

文档序号:18450654发布日期:2019-08-17 01:14阅读:575来源:国知局
一种装配机器人零件深度学习识别方法与流程

本发明涉及零件识别技术领域,特别的涉及一种装配机器人零件深度学习识别方法。



背景技术:

工件的识别和定位是机器视觉中的重要组成部分,近几年,伴随着机器视觉在工业自动化中的广泛应用,对识别正确率和定位精度提出了更高的要求。传统机器视觉的目标检测方法基于人工设计的特征提取器,通过harris角点检测,surf算法,方向梯度直方图或基于边缘像素跃迁等方法获取特征分类器,以达到工件检测的目的。由人工设计的特征分类器鲁棒性偏低,无法适应目标工件出现如相互堆叠等变化较大的情形。

深度卷积神经网络可以自主对要识别的目标特征进行学习,完善分类器模型,整个过程不需要人工干预,训练得到的特征泛化性远高于人工提取的特征。目前应用广泛的卷积神经网络目标识别和检测主要分为基于区域的目标识别(如maskr-cnn,r-fcn等)和基于回归的目标识别(如yolo,ssd等)两类。基于区域的目标识别算法对目标的定位精度已经很高,但是检测速度依然存在问题,如faster-rcnn等。基于回归算法的yolo系列检测速度快,但是速度与faster-rcnn相对偏低。josephredmon等人通过维度聚类,引入残差网络模块和多尺度预测的改进方法在2018年提出了yolov3网络,相比之前的yolo和yolov2网络,在保证识别速度的同时,大幅提升识别准确率。尽管yolov3在yolov2的基础上改善了对小目标检测效果,但面对机器视觉系统中一些由如光源等环境因素导致的特征不明显的小工件时仍缺乏鲁棒性,容易出现漏检和误检的情况。



技术实现要素:

针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种不仅能够识别正常位姿下的工件,而且对相机过度曝光和工件相互遮挡等复杂情况中的零件具有较好的检测效果,识别准确率高的装配机器人零件深度学习识别方法。

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

一种装配机器人零件深度学习识别方法,包括如下步骤,先使用工业相机获取待识别工件的图像,再采用yolov3网络对图像进行识别,输出零件类别和位置信息;所述yolov3网络包括5个残差网络块,其特征在于,对每个残差网络块后引入cfenet模块,将cfenet模块融入到darknet-53特征提取网络进行图像特征提取。

进一步的,所述cfenet模块的卷积核尺寸k与所述yolov3网络的卷积核尺寸k一致,通过将上层输入特征网络经过两个并行且梯度方向相反的kx1和1xk卷积处理,之后再进行特征融合,最后通过短连接的方式与输入特征网络层形成残差连接得到。

进一步的,在使用yolov3网络对图像进行识别时,先在整个特征提取网络的末端输出13x13大小的特征向量实现对待检测图像中尺寸最大类的目标的检测,在浅层网络中分别进行中等尺寸类和小尺寸类的目标检测,同时将深层网络中的特征信息通过上采样的方式与浅层特征进行特征融合,提升对目标的检测效果,最后将三种尺度的检测结果进行非极大值抑制后输出最终检测结果。

进一步的,在使用yolov3网络对图像进行识别时,采用k-means算法进行聚类分析选取最优的先验框个数和尺寸,具体为:

先将随机选取k个标记框作为聚类中心,采用如下公式计算每一个标记框与聚类中心的距离:

w,h为标记框的宽和高;下标box和centroid分别表示标记框和聚类中心;根据邻近原则将每一个标记框划分到对应的聚类中心;

设目标函数f(x)为每个矩形标记框样本与其对应聚类中心距离和为:

式中,i表示第i个聚类中心,总共有k个聚类中心;j表示一个聚类中心中的第j个标记框,一个聚类中心总共有n个标记框;

再计算每个聚类中心中所有样本的平均值以更新(w,h),直至聚类中心的(w,h)不再变化或者达到最大迭代次数为止,则此时的聚类中心个数与尺寸即为最优先验框个数与尺寸。

进一步的,采用爬山法选取k值和标记框的尺寸,随着聚类中心的个数增加,目标函数f(x)的变化越来越小,在目标函数f(x)的曲线上,选择拐点处的k值作为聚类中心个数。

进一步的,在边界框预测阶段,yolov3将图片分成sxs个网络,目标物体的中心所在网格负责预测目标物体的类别和坐标;在训练阶段yolov3直接预测目标物体中心点的坐标相对于网格的偏移量,其公式如下:

其中x,y为物体中心点的坐标,width,height为原图的宽和高,使用sigmoid激活函数使得计算结果在[0,1]之间。

综上所述,本发明具有不仅能够识别正常位姿下的工件,而且对相机过度曝光和工件相互遮挡等复杂情况中的零件具有较好的检测效果,识别准确率高等优点。

附图说明

图1为本发明方法的识别流程图。

图2为本实施例的yolov3架构图。

图3为本实施例使用的cfe模型图。

图4为本实施例的cfe-darknet-53网络结构图。

图5为本实施例中k-means迭代求解过程图。

图6为边界框预测阶段的网格示意图。

图7~图11本实施例中不同类型零件的照片。

图12为目标函数变化曲线。

图13为训练损失值变化曲线。

图14~图18为对单类零件进行识别检测的效果图。

图19~图22为对多类零件混合状态进行识别的效果图。

具体实施方式

下面结合实施例对本发明作进一步的详细说明。

本实施例以yolov3算法为基础,针对机器视觉系统中的零件检测进行特征提取网络结构优化改进,使不仅能够识别正常位姿下的工件,而且对相机过度曝光和工件相互遮挡等复杂情况情况中的零件都具有很好的检测效果。整个识别过程如下图1所示。

1、基于yolov3的零件实时识别原理

yolov3基于resnet和yolov2中darknet-19网络结构设计了一个新的基础分类网络darknet-53,共包含53个卷积层。网络中只使用1x1和3x3的小卷积核,在降低参数的同时产生更多的滤波器,以此来获得更具区分性的映射函数,降低出现过拟合的可能;使用步长为2的卷积核替代池化层进行降维操作,最大限度的保持信息的完整性;多次使用残差网络连接,将深层神经网络逐层训练的方式改为逐阶训练并将深层神经网络分为若干个子段,对每个子段进行残差网络训练以保证在增加网络深度的同时让网络参数保持在最优状态,最终达到总体较小的训练损失值。darknet53与其他网络的性能对比如表1.1所示,与目前先进的分类网络相比,darknet53性能相近,但浮点运算更少,速度更快。

表1.1各特征提取网络性能对比

考虑到部分特征在深层卷积网络的作用下容易出现特征丢失的情况,yolov3最终通过三种不同尺度的特征向量对被检测图片进行处理,解决了yolov2对小尺寸和紧密相邻目标检测效果不佳的问题,本实施例通过在darknet-53中五个残差连接后插入cfenet模块以此来增强基础网络的特征提取能力,如图2所示。

首先在整个特征提取网络的末端输出13x13大小的特征向量实现对待检测图片中尺寸最大类的目标的检测,在浅层网络中分别进行中等尺寸类和小尺寸类的目标检测,与此同时将深层网络中的特征信息通过上采样的方式与浅层特征进行特征融合进一步提升对目标的检测效果,最后将三种尺度的检测结果进行非极大值抑制后输出最终检测结果。

2、融合cfenet和darknet-53的特征提取网络构建

尽管yolov3在yolov2的基础上改善了对小目标检测效果,但面对机器视觉系统中一些由如光源等环境因素导致的特征不明显的小工件时仍缺乏鲁棒性,容易出现漏检和误检的情况。因此本实施例对yolov3中的基础特征提取网络darknet-53进行优化,提升整个网络对复杂环境下工业相机采集的图像特征的提取能力。

cfenet模型由北京大学阿里巴巴人工智能实验室qijiezhao等人提出,它是目前提升单步回归目标检测算法性能最好的模型之一,尤其在小目标检测效果提升方面。cfenet可以强化浅层特征并进行横向拉伸,增强网络对上层信息得传递能力。并且将上层网络信息通过两个不同的分支并行的传递到下一层,遵循分裂-转换-聚合的策略,内嵌入更多的子空间。将kxk的卷积核分解为kx1和1xk,使得cfenet网络在保持感受野的同时提高了网络的执行效率以及降低训练间,如图3所示为修改参数后的cfe模型。

在改进过程中为了提高网络训练效率,与原网络选取卷积核尺寸一致,即k=3。将上层输入特征网络经过两个并行且梯度方向相反的3x1和1x3卷积处理,之后再进行特征融合,最后通过短连接的方式与输入特征网络层形成残差连接得到cfenet模块。通过的两个分支的始末均有的卷积核为1x1在保持感受野的同时学习更多的非线性关系增强模型特征的泛化能力,在卷积层后面使用正则化(bn)与非线性激活函数(relu)是为了避免梯度消失和过拟合的情况,这一结构目前在卷积神经网络算法中被广泛使用。

考虑到原特征提取darknet-53网络中每个残差连接层融合了不同层次的特征信息,所以对darknet-53的改进方案是在每个残差网络块后引入cfenet模块以增加原网络的宽度,提升网络对特征的提取能力和传输能力。将cfnet融入到darknet-53特征提取网络得到新的特征提取网络cfe-darknet-53,改进后的基础特征提取网络结构如图4所示。

3、边界框预测方法

相对于本实施例数据集中零件尺寸的宽高比,原yolov3网络中的锚框(anchorbox)个数和尺寸并不适用,需重新根据本实施例的数据集采用k-means进行聚类分析选取最优的锚框个数和尺寸。k-means算法中通常使用欧氏距离、切比雪夫距离等方式来衡量样本与聚类中心的关系,但由于使用先验框的目的是预测框与目标零件真实的边界框之间有更高的iou(交并比)且与目标位置无关,所以本实施例使用的距离公式为:

式中,w和h分别为标记框的宽和高。设置目标函数f(x)为每个矩形标记框样本与其对应聚类中心距离和为:

k-means聚类分析的目的就是通过调整k的值让目标函数调整到无明显变化。首先将随机选取k个标记框作为聚类中心,根据式(3-1)计算每一个标记框与聚类中心的距离,根据邻近原则将每一个标记框划分到对应的聚类中心,其次计算每个聚类中心中所有样本的平均值以更新(w,h),直至聚类中心的(w,h)不再变化或者达到最大迭代次数为止,则输出聚类中心的个数以及尺寸,迭代过程如图5所示。

实验中采用爬山法选取k值和anchorboxes(先验框)的尺寸,当聚类中心个数增加到一定值时,目标函数f(x)的变化越来越小,选择拐点处k值作为聚类中心个数。

在边界框预测阶段yolov3将图片分成sxs个网格,目标物体中心在哪个网格内那么该网格就负责预测目标的类别和坐标。如图6所示,只有网格1包含了物体中心m,那么它就是正例,网格2和3无论与真实边界框的iou多高,只要不包含物体中心均为负例。

在训练阶段yolo直接预测坐标相对于网格的偏移量,其计算公式如式(3-3)所示:

其中,x,y为物体中心点的坐标,width,height为原图的宽和高,为了增加约束使用sigmoid激活函数使得计算结果在[0,1]之间。

4、实验分析

4.1、实验准备

本实施例实验软硬件平台:cpu:intel(r)core(tm)i7-8700;gpu:nvidiageforcegtx1060;工业相机:海康mv-ce013-50gm;光源:乐视lts-rn9600-r/bgw;操作系统:ubuntu14.04lts;深度学习框架:darknet。

使用工业相机对5种工件任意位姿进行采图1000张,包含过度曝光、背景变换、相互堆叠遮挡等各种复杂情况。随机选取200张作为测试集,800张作为训练集。零件类型如图7~图11所示。

为了标记方便,以a表示图7中的m10尼龙自锁螺母,以b表示图8中的m10法兰螺母,以c表示图9中的m8压铆螺母,以d表示图10中的s型压铆螺母,以e表示图11中的m5滚花铜镶螺母。

使用labelimg对上述样本进行标注完成数据集的制作,使用k-means进行对数据集中的矩形标记框进行统计分析的目标函数的变化曲线如图12所示。

从图中可以发现当k=12后,随着聚类中心增加距离函数的值不再明显变小,其对应的聚类中心参数排序后为:(36,45,(38,52),(43,56),(49,62),(67,93),(71,91),(70,99),(73,98),(92,125),(100,124),(102,132),(105,140)。

4.2、网络训练

训练采用学习率为0.001,每一批样本训练数量batch=64,动量项参数为0.9的momentum梯度下降算法,权重衰减系数decay=0.0005。经过25000次迭代训练后得到最终的权重文件,实验表明当训练网络迭代次数超过一定数量后会出现过拟合现象,故每迭代500次保存一次权重文件,以得到识别效果最佳的权重文件。图13为训练过程中损失值的收敛曲线,横坐标表示迭代次数,最大值为25000。从图中可以看出当迭代次数达到10000次时候,各项参数趋于稳定,最后损失值收敛至0.0352。

考虑到网络的训练次数过多时可能会出现过拟合现象,因此本实施例训练次数每增加1000则保存一次权重文件,随机选择测试集的50张图片对迭代7500次至25000次之间得到的权重文件用召回率进行测试,召回率p的公式为:

p=tp/(tp+fn)(4-1)

其中tp表示被正确检测出的零件个数,fn表示没有被正确检测到的零件个数。

测试结果如表4.1所示:

表4.1迭代次数与召回率

4.1、识别结果

表4.2单类零件检测数据

(1)单类零件识别效果如图14~图18所示,由图中对零件的检测结果发现本模型对单个零件不同情况下的检测效果良好,能够满足实际生产中对零件的识别要求。如上表4.2所示为本实施例改进的算法针对单种零件在正常情况下与多种复杂情况下检测数据。五种零件在两种情况下均测试了30张图像。结果表明对正常情况下单个零件的检测正确率都在在90%以上,而其他复杂情况下识别率有所降低但都在85%以上。

其中,图14为对单一的m10尼龙自锁螺母进行识别检测的效果图,图15为对单一的m10法兰螺母进行识别检测的效果图,图16为对单一的m8压铆螺母进行识别检测的效果图,图17为对单一的s型压铆螺母进行识别检测的效果图,图18为对单一的m5滚花铜镶螺母进行识别检测的效果图。

(2)对多类零件混合状态进行识别的效果如图19~图22所示,其中,图19为平铺状态下对多类零件混合进行识别检测的效果图,图20为相互遮挡状态下对多类零件混合进行识别检测的效果图,图21为深色背景下对多类零件混合进行识别检测的效果图,图22为过度曝光状态下对多类零件混合进行识别检测的效果图。

表4.3为分别选择50张正常情况下和复杂情况下的零件图片对yolov3和本实施例改进后的方法进行检测效果对比,其中正常情况下共有239个零件,复杂情况下共有261个零件。结果表明本实施例方法的性能要优于yolov3算法。

表4.3与其他算法对比数据

5、总结

本实施例以识别复杂采图环境下目标工件为目的,基于yolov3的网络结构提出cfe-darknet53改进版的特征提取网络,,并利用基于粒子群优化的k-means寻找到最优的anchor个数和尺寸,从实验结果来看,显著提升对复杂情况下工件的识别能力并降低漏检率。

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

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