一种基于深度学习的管件自动分拣方法转让专利

申请号 : CN202110039092.4

文献号 : CN112784717B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韩慧妍吴伟州韩燮乔道迹

申请人 : 中北大学

摘要 :

本发明属于机器视觉技术领域,具体涉及一种基于深度学习的管件自动分拣方法。针对当前人工分拣成本高、效率低并且繁杂无味,并且使用传统方法识别度低下。本发明通过改进MaskR‑CNN算法,改进算法的识别率和掩码判断,在保证速度的同时也提高了识别率。将相机拍照的照片放入网络中,得到分类结果和掩膜。判断出管件的类别和尺寸,记录信息。通过张正友标定和眼在手外标定方式,对管件抓取点进行定位。机械臂对管件进行抓取、码放工作。本发明的管件自动分拣方法不仅效率高,对不同环境下的管件识别和抓取有着更高的鲁棒性;可广泛应用于工厂分拣,物体分类和抓取。

权利要求 :

1.一种基于深度学习的管件自动分拣方法,其特征在于,包括以下步骤:步骤1,利用labelme工具对收集到的管件图像进行类别和掩膜轮廓标注,得到json类型标注结果的管件图像;

步骤2,对具有标注结果的管件图像进行数据增强,得到数据集;

步骤3,设计网络结构,将步骤2中数据集读入所述网络中训练;

步骤4,通过使用准确率、召回率和交并比评价判断将步骤3训练好的网络权重读入网络,将待预测图像读入网络进行预测,得到管件的类别和掩膜轮廓;

步骤5,通过掩膜面积对同类别管件的不同尺寸进行判断,并计算得到抓取点;

步骤6,进行相机和机器人坐标系的转换,计算在机械臂末端坐标系的管件抓取点;

步骤7,将计算机和相机之间通过gige千兆网口进行连接,将计算机连接相机的网口的端口号设置与相机相同的端口192.169.1.X,计算机和机器人机械臂之间通过TCP/IP协议进行连接,使用RobotsStudio软件编写RAPID语言,对相机和机器人进行控制拍摄和抓取操作,以及接受机器人的反馈。

2.根据权利要求1所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述步骤2中对具有标注结果的管件图像进行数据增强,具体步骤为:对具有标注结果的管件图像进行旋转、翻转、模糊、高斯滤波、双边滤波及添加白噪声。

3.根据权利要求1所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述步骤3中设计网络结构,具体为:

由Resnet‑101‑FPN组成主干网络,使用步长为2的7×7卷积核,通道数为64;接着是一个步长为2的3×3卷积核,并且进行最大池化操作;第二层卷积是由步长为1,三个卷积核为

1×1、3×3、1×1,通道数为64、64、256;第三层卷积由步长为1,四个卷积核为1×1、3×3、1×1,通道数为128、128、512;第四层卷积由步长为1,二十三个卷积核1×1、3×3、1×1,通道数为256、256、1024;最后一层卷积由步长为1,三个卷积核为1×1、3×3、1×1,通道数为

512、512、2048;

紧接着使用区域生成网络采用5种不同面积尺寸大小的尺度,每个尺度包含3种不同的横纵比,共在特征图中每个像素点生成3×5共计15种不同的候选框,根据生成的候选框,考虑到管件尺寸的大小采用32×32、64×64、128×128的尺度,0.8:1、1:1、1:1.25的横纵比,共生成9种不同的候选框;通过滑动窗口来扫描图像,从而寻找到区域目标;对寻找到的目标区域分别对其类别和像素分类,在对其像素预测之前,添加混合注意力机制来提高预测的效果。

4.根据权利要求3所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述混合注意力机制为通道注意力和空间注意力的混合。

5.根据权利要求1所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述步骤5中通过掩膜面积对同类别管件的不同尺寸进行判断,具体步骤为:计管件的类别数量为m,同一类别的不同尺寸的管件数量为n,计算在步骤1标注出掩膜轮廓的面积,将他们依次放入一个m x n维的数组中,计area[][];通过步骤4中网络得到管件的类别,找到管件对应的area数组的行位置,记为q,将网络中得到的掩膜轮廓进行计算,求出其掩膜的像素面积,与area[q][]中的数据相对比,找到与area数组中最相近的值的位置,计为p,故area[q][p]即为得到的位置,从而判断出管件的尺寸。

6.根据权利要求1所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述步骤5中计算得到抓取点,具体步骤为:

首先计算管件全部四个多边形的端点,为xminP,xmaxP,yminP,ymaxP,通过四个点构造P的四条切线,确定两个“卡壳”集合,如果一条或两条线与一条边重合,计算由四条线决定的矩形的面积,并且保存为当前最小值;否则将当前最小值定义为无穷大,顺时针旋转线直到其中一条和多边形的一条边重合,计算新矩形的面积,并且和当前最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息,重复操作,直到线旋转过的角度大于90度,得到管件外接矩形的最小面积,即求出管件的最小外接矩形,计外接矩形的两个相邻的端点为(X1,Y1)、(X2,Y2),故管件的中心点为 此点即为机器人的抓取点。

7.根据权利要求1所述的一种基于深度学习的管件自动分拣方法,其特征在于,所述步骤6中进行相机和机器人坐标系的转换,计算在机械臂末端坐标系的管件抓取点,具体步骤为:

使用张正友的平面靶标的相机标定方法,得到相机坐标系中管件的位置信息,通过手眼标定得到机器人坐标系与相机坐标系之间的位置对应关系,使用到仿射变换,仿射变换的矩阵为:

X=m11×x+m12×y+m13

Y=m21×x+m22×y+m23

Z=m31×x+m32×y+m33

其中,(x,y)为图像像素的坐标点,(x′,y′)为转换到机械臂末端的的坐标,m11、m12、m21、m22、m31、m32为旋转量,m13、m23、m33为平移量。

说明书 :

一种基于深度学习的管件自动分拣方法

技术领域

[0001] 本发明属于机器视觉技术领域,具体涉及一种基于深度学习的管件自动分拣方法。

背景技术

[0002] 研究机器人的视觉技术不仅可以提高机器人对外界环境的感受能力还可以极大地减轻工作人员的负担,让他们从繁杂无味的工作环境中解放出来。当前我国的劳动需求
量还是非常高的,可将机器人应用到这些领域,降低生产成本、提高工作效率、提高企业的
市场竞争力,因此很多行业都将工业机器人作为企业的核心工作者,提高企业的生产效率。
[0003] 在工业机器人的管件识别领域,可通过深度学习代替传统学习的方式,使机器人的识别效果更好,提高零件的识别率,通过深度学习训练的掩膜轮廓受外界因素(光照、阴
影)影响比较小,因此可以使用掩膜面积对管件的尺度进行判断,更准确地进行管件抓取以
及路径规划,提高抓取效率,更好地保证操作的准确性、稳定性和实用性,弥补了传统方法
识别率不高的缺陷。
[0004] 传统的工业机器人,一般只能识别同一类型、同等大小的管件,如果要分拣多类多尺寸的管件,则需要多个机器人。本发明可以使用单个机器人对多类别、多尺度的管件进行
抓取。
[0005] 因此,基于深度学习的管件自动分拣研究有极其重要的现实意义。

发明内容

[0006] 针对管件分拣的枯燥繁琐,引入深度学习来对管件的类别和尺寸进行分类。本发明提供了一种基于深度学习的管件自动分拣方法。该方法适用于静态管件分拣以及动态管
件分拣(在传送带上的管件抓取及码放)。
[0007] 为了达到上述目的,本发明采用了下列技术方案:
[0008] 一种基于深度学习的管件自动分拣方法,包括以下步骤:
[0009] 步骤1,利用labelme工具对收集到的管件图像进行类别和掩膜轮廓标注,得到json类型标注结果的管件图像;
[0010] 步骤2,对具有标注结果的管件图像进行数据增强,得到数据集;
[0011] 步骤3,设计网络结构,将步骤2中数据集读入所述网络中训练;
[0012] 步骤4,通过使用准确率、召回率和交并比评价判断将步骤3训练好的网络权重读入网络,将待预测图像读入网络进行预测,得到管件的类别和掩膜轮廓;
[0013] 步骤5,通过掩膜面积对同类别管件的不同尺寸进行判断,并计算得到抓取点;
[0014] 步骤6,进行相机和机器人坐标系的转换,计算在机械臂末端坐标系的管件抓取点;
[0015] 步骤7,将计算机和相机之间通过gige千兆网口进行连接,将计算机连接相机的网口的端口号设置与相机相同的端口192.169.1.X,计算机和机器人机械臂之间通过TCP/IP
协议进行连接,使用RobotsStudio软件编写RAPID语言,对相机和机器人进行控制拍摄和抓
取操作,以及接受机器人的反馈。
[0016] 进一步,所述步骤2中对具有标注结果的管件图像进行数据增强,具体步骤为:对具有标注结果的管件图像进行旋转、翻转、模糊、高斯滤波、双边滤波及添加白噪声。
[0017] 进一步,所述步骤3中设计网络结构,具体为:
[0018] 由Resnet‑101‑FPN组成主干网络,使用步长为2的7×7卷积核,通道数为64;接着是一个步长为2的3×3卷积核,并且进行最大池化操作;第二层卷积是由步长为1,三个卷积
核为1×1、3×3、1×1,通道数为64、64、256;第三层卷积由步长为1,四个卷积核为1×1、3×
3、1×1,通道数为128、128、512;第四层卷积由步长为1,二十三个卷积核1×1、3×3、1×1,
通道数为256、256、1024;最后一层卷积由步长为1,三个卷积核为1×1、3×3、1×1,通道数
为512、512、2048;
[0019] 紧接着使用区域生成网络采用5种不同面积尺寸大小的尺度,每个尺度包含3种不同的横纵比,共在特征图中每个像素点生成3×5共计15种不同的候选框,根据生成的候选
框,考虑到管件尺寸的大小采用32×32、64×64、128×128的尺度,0.8:1、1:1、1:1.25的横
纵比,共生成9种不同的候选框;通过滑动窗口来扫描图像,从而寻找到区域目标;对寻找到
的目标区域分别对其类别和像素分类,在对其像素预测之前,添加混合注意力机制来提高
预测的效果。
[0020] 更进一步,所述混合注意力机制为通道注意力和空间注意力的混合。
[0021] 进一步,所述步骤5中通过掩膜面积对同类别管件的不同尺寸进行判断,具体步骤为:
[0022] 计管件的类别数量为m,同一类别的不同尺寸的管件数量为n,计算在步骤1标注出掩膜轮廓的面积,将他们依次放入一个m x n维的数组中,计area[][];通过步骤4中网络
得到管件的类别,找到管件对应的area数组的行位置,记为q,将网络中得到的掩膜轮廓进
行计算,求出其掩膜的像素面积,与area[q][]中的数据相对比,找到与area数组中最相近
的值的位置,计为p,故area[q][p]即为得到的位置,从而判断出管件的尺寸。
[0023] 进一步,所述步骤5中计算得到抓取点,具体步骤为:
[0024] 首先计算管件全部四个多边形的端点,为xminP,xmaxP,yminP,ymaxP,通过四个点构造P的四条切线,确定两个“卡壳”集合,如果一条或两条线与一条边重合,计算由四条线
决定的矩形的面积,并且保存为当前最小值;否则将当前最小值定义为无穷大,顺时针旋转
线直到其中一条和多边形的一条边重合,计算新矩形的面积,并且和当前最小值比较,如果
小于当前最小值则更新,并保存确定最小值的矩形信息,重复操作,直到线旋转过的角度大
于90度,得到管件外接矩形的最小面积,即求出管件的最小外接矩形,计外接矩形的两个相
邻的端点为(X1,Y1)、(X2,Y2),故管件的中心点为 此点即为机器
人的抓取点。
[0025] 进一步,所述步骤6中进行相机和机器人坐标系的转换,计算在机械臂末端坐标系的管件抓取点,具体步骤为:
[0026] 使用张正友的平面靶标的相机标定方法,得到相机坐标系中管件的位置信息,通过手眼标定得到机器人坐标系与相机坐标系之间的位置对应关系,使用到仿射变换,仿射
变换的矩阵为:
[0027]
[0028] X=m11×x+m12×y+m13
[0029] Y=m21×x+m22×y+m23
[0030] Z=m31×x+m32×y+m33
[0031]
[0032]
[0033] 其中,(x,y)为图像像素的坐标点,(x′,y′)为转换到机械臂末端的的坐标,m11、m12、m21、m22、m31、m32为旋转量,m13、m23、m33为平移量。
[0034] 对其抓取点的路径规划,使用随机路径图算法求出,机器人在确定了起始位置和目标位置之间在避免碰撞障碍物的同时得到的最优路径。
[0035] 与现有技术相比本发明具有以下优点:当今现有的技术,机器人分拣绝大部分适用于管件整齐摆放,固定位置进行抓取工作。并且存在抓取类型单一、识别精度不高等问
题。本发明可以通过同一机械爪对不同类别、尺寸的管件进行分拣工作,并且无需将管件摆
放整齐,节省了实际过程中的使用、时间成本。在精度上,本发明提出的网络结构,识别精度
相比较于其他网络结构都有所提高,进而减少了在抓取过程中存在错抓和误抓等问题的出
现。

附图说明

[0036] 图1是数据集标注界面图;
[0037] 图2是本方法的网络设计图;
[0038] 图3是通道注意力机制模型图;
[0039] 图4是空间注意力机制模型图;
[0040] 图5是管件图像原图;
[0041] 图6是本发明网络实例分割结果;
[0042] 图7是机器人的和传送带示意图。

具体实施方式

[0043] 一种基于深度学习的管件自动分拣方法,包括以下步骤:
[0044] 步骤1,拍摄三通、外丝、内丝和弯头等管件类别的图像,利用labelme工具对收集到的管件图像进行类别和掩膜轮廓标注,得到json类型标注结果的管件图像;
[0045] 步骤2,对具有标注结果的管件图像进行数据增强:旋转、翻转、模糊、高斯滤波、双边滤波及添加白噪声,得到数据集;其中,其中选择数据增强前 作为训练集, 作为测试
集。高斯滤波、双边滤波等为现有技术,此处不再做具体阐述。
[0046] 步骤3,设计网络结构,将步骤2中数据集读入所述网络中训练,以3000张管件为训练集,1000张做测试集,batch size为3,学习率为0.0001。
[0047] 本发明设计网络结构如图2所示,由Resnet‑101‑FPN组成主干网络,使用步长为2的7×7卷积核,通道数为64;接着是一个步长为2的3×3卷积核,并且进行最大池化操作;第
二层卷积是由步长为1,三个卷积核为1×1、3×3、1×1,通道数为64、64、256;第三层卷积由
步长为1,四个卷积核为1×1、3×3、1×1,通道数为128、128、512;第四层卷积由步长为1,二
十三个卷积核1×1、3×3、1×1,通道数为256、256、1024;最后一层卷积由步长为1,三个卷
积核为1×1、3×3、1×1,通道数为512、512、2048;由于低层的特征语义信息比较少,但是目
标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。如果将高层和底层的
信息相融合,在识别中有更好的效果。使用自上而下的方式,将图像中的特征进行融合。最
终达到具有五种尺度的特征图。
[0048] 使用区域生成网络采用5种不同面积尺寸大小的尺度,每个尺度包含3种不同的横纵比,共在特征图中每个像素点生成3×5共计15种不同的候选框,根据生成的候选框,考虑
到管件尺寸的大小采用32×32、64×64、128×128的尺度,0.8:1、1:1、1:1.25的横纵比,共
生成9种不同的候选框;通过本次的改进,不仅在训练时可以更好地收敛,占用的显存更小,
也提高了对小目标的分类、回归和分割效果。通过滑动窗口来扫描图像,从而寻找到区域目
标;对寻找到的目标区域分别对其类别和像素分类,在对其像素预测之前,添加混合注意力
机制来提高预测的效果。如图3、4所示,注意力机制的基本思想是让模型能够忽略无关信息
而更多的关注我们希望它关注的重点信息。
[0049] 步骤4,通过使用准确率、召回率和交并比评价判断将步骤3训练好的网络权重读入网络,将待预测图像读入网络进行预测,得到管件的类别和掩膜轮廓;
[0050] 准确率(Precision):模型预测的所有目标中,对管件预测正确的比例,即查准率,Precision计算公式为:
[0051]
[0052] 召回率(Recall):所有真实目标中,模型预测管件正确的目标比例,即查全率,Recall计算公式为:
[0053]
[0054] IoU计算的是“预测的边框”和“真实的边框”的交集和并集的比值。计算公式为:
[0055]
[0056] 式中TP(True Positive):IoU>0.5的检测框的数量,同一个GT(Ground Truth)框只计算一次。
[0057] FP(False Positive):IoU≤0.5的检测框的数量,即检测到同一个GT框的多余检测框的数量。
[0058] FN(False Negative):没有检测到的GT框的数量。
[0059] 将得分最高的管件的类别和掩膜轮廓获取到,并加以记录。预测图像和结果如图5、6所示。
[0060] 步骤5,通过掩膜面积对同类别管件的不同尺寸进行判断:计管件的类别数量为m,同一类别的不同尺寸的管件数量为n,计算在步骤1标注出掩膜轮廓的面积,将他们依次放
入一个m x n维的数组中,计area[][];通过步骤4中网络得到管件的类别,找到管件对应
的area数组的行位置,记为q,将网络中得到的掩膜轮廓进行计算,求出其掩膜的像素面积,
与area[q][]中的数据相对比,找到与area数组中最相近的值的位置,计为p,故area[q]
[p]即为得到的位置,从而判断出管件的尺寸。
[0061] 计算得到抓取点:首先计算管件全部四个多边形的端点,为xminP,xmaxP,yminP,ymaxP,通过四个点构造P的四条切线,确定两个“卡壳”集合,如果一条或两条线与一条边重
合,计算由四条线决定的矩形的面积,并且保存为当前最小值;否则将当前最小值定义为无
穷大,顺时针旋转线直到其中一条和多边形的一条边重合,计算新矩形的面积,并且和当前
最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息,重复操作,直到
线旋转过的角度大于90度,得到管件外接矩形的最小面积,即求出管件的最小外接矩形,计
外接矩形的两个相邻的端点为(X1 ,Y1)、(X2,Y2),故管件的中心点为
此点即为机器人的抓取点。
[0062] 步骤6,进行相机和机器人坐标系的转换,计算在机械臂末端坐标系的管件抓取点:使用张正友的平面靶标的相机标定方法,得到相机坐标系中管件的位置信息,通过手眼
标定得到机器人坐标系与相机坐标系之间的位置对应关系,使用到仿射变换,仿射变换的
矩阵为:
[0063]
[0064] X=m11×x+m12×y+m13
[0065] Y=m21×x+m22×y+m23
[0066] Z=m31×x+m32×y+m33
[0067]
[0068]
[0069] 其中,(x,y)为图像像素的坐标点,(x′,y′)为转换到机械臂末端的的坐标,m11、m12、m21、m22、m31、m32为旋转量,m13、m23、m33为平移量。
[0070] 变换参数的获取方法:随机找托盘上的四个点,并且使用鲜艳笔进行标注。启动传送带,传送带上的托盘到达相机下方时,相机对其进行拍照。将拍好照的图片,提取鲜艳笔
标注的图片位置信息。人工操作机械臂,分别将机械臂的末端移动到四个使用鲜艳笔标注
的位置上,并且分别记录此时机械臂坐标系中的x,y值。通过仿射变换矩阵,得到变换参数
m。将其写成函数。每次调用函数,将之前计算出管件中心点的相机坐标系转换为机械臂的
坐标系中的坐标。
[0071] 步骤7,将计算机和相机之间通过gige千兆网口进行连接,将计算机连接相机的网口的端口号设置与相机相同的端口192.169.1.X,计算机和机器人机械臂之间通过TCP/IP
协议进行连接,使用RobotsStudio软件编写RAPID语言,对相机和机器人进行控制拍摄和抓
取操作,以及接受机器人的反馈。
[0072] 机器人的和传送带示意图7所示,控制传送带和机械臂,首先通过IO流来控制和判断传送带的状态:启动、停止和是否达到抓取点。当程序判断传送带上的托盘到达拍摄点
时,给予计算机信号,计算机控制相机进行拍照。存储图片,将图片读入训练好的网络当中,
通过使用步骤3、步骤4,获取到管件在机械臂末端坐标系的位置。由于TCP/IP每次只能传输
一个字符串,将管件的抓取点、码放点,通过中间添加“/”,组成一个长字符串,并使用计算
机传输给机器人。机器人接收到计算机传输的字符串,并通过判断“/”进行解码。记录管件
的抓取点和码放点,使用随机路径图算法对机械臂的路径进行规划。执行抓取任务,完成一
次管件抓取任务。启动传动带,等待下一次抓取任务。
[0073] 本实施例使用mAP(mean average precision)和mRecall(mean recall)来对本发明设计的网络进行评价,每张图片最多检测个数为(maxDets)为100。目标检测性能评估对
比见表1,掩膜检测性能评估对比见表2。实验结果表明,本发明提出的网络模型相对当前热
门的分割网络(Solo、Mask R‑CNN、DeepMask)有着更好的目标检测和掩膜分割效果。在目标
检测的准确率和回归率较基本MaskR‑CNN模型分别提高3.5%和7.1%,掩膜检测的准确率
和回归率提高2.8%和2.4%。
[0074] 表1 目标检测性能评估对比
[0075]
[0076] 表2 掩膜检测性能评估对比
[0077]
[0078] 本发明提出的方法,通过计算掩膜面积对同类别的管件的不同尺寸进行区分。选取三通管件进行测试,同一相机,同一高度下对其进行拍照,计算其像素点面积,三通的管
件的面积对比如表3所示。表3中半寸、一寸和一寸半三通管件中通过本发明网络计算出的
像素点面积相比于基础的Mask R‑CNN都更加接近于手动标注的面积。因此在通过使用管件
掩膜像素点来判断管件尺寸有着更大的优势。
[0079] 表3 三通管件像素面积对比
[0080]
[0081] 本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本
发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来
讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显
而易见的,一切利用本发明构思的发明创造均在保护之列。