一种基于深度学习的管件自动分拣方法转让专利
申请号 : CN202110039092.4
文献号 : CN112784717B
文献日 : 2022-05-13
发明人 : 韩慧妍 , 吴伟州 , 韩燮 , 乔道迹
申请人 : 中北大学
摘要 :
权利要求 :
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为平移量。
说明书 :
一种基于深度学习的管件自动分拣方法
技术领域
背景技术
量还是非常高的,可将机器人应用到这些领域,降低生产成本、提高工作效率、提高企业的
市场竞争力,因此很多行业都将工业机器人作为企业的核心工作者,提高企业的生产效率。
影)影响比较小,因此可以使用掩膜面积对管件的尺度进行判断,更准确地进行管件抓取以
及路径规划,提高抓取效率,更好地保证操作的准确性、稳定性和实用性,弥补了传统方法
识别率不高的缺陷。
抓取。
发明内容
件分拣(在传送带上的管件抓取及码放)。
协议进行连接,使用RobotsStudio软件编写RAPID语言,对相机和机器人进行控制拍摄和抓
取操作,以及接受机器人的反馈。
核为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;
框,考虑到管件尺寸的大小采用32×32、64×64、128×128的尺度,0.8:1、1:1、1:1.25的横
纵比,共生成9种不同的候选框;通过滑动窗口来扫描图像,从而寻找到区域目标;对寻找到
的目标区域分别对其类别和像素分类,在对其像素预测之前,添加混合注意力机制来提高
预测的效果。
得到管件的类别,找到管件对应的area数组的行位置,记为q,将网络中得到的掩膜轮廓进
行计算,求出其掩膜的像素面积,与area[q][]中的数据相对比,找到与area数组中最相近
的值的位置,计为p,故area[q][p]即为得到的位置,从而判断出管件的尺寸。
决定的矩形的面积,并且保存为当前最小值;否则将当前最小值定义为无穷大,顺时针旋转
线直到其中一条和多边形的一条边重合,计算新矩形的面积,并且和当前最小值比较,如果
小于当前最小值则更新,并保存确定最小值的矩形信息,重复操作,直到线旋转过的角度大
于90度,得到管件外接矩形的最小面积,即求出管件的最小外接矩形,计外接矩形的两个相
邻的端点为(X1,Y1)、(X2,Y2),故管件的中心点为 此点即为机器
人的抓取点。
变换的矩阵为:
题。本发明可以通过同一机械爪对不同类别、尺寸的管件进行分拣工作,并且无需将管件摆
放整齐,节省了实际过程中的使用、时间成本。在精度上,本发明提出的网络结构,识别精度
相比较于其他网络结构都有所提高,进而减少了在抓取过程中存在错抓和误抓等问题的出
现。
附图说明
具体实施方式
集。高斯滤波、双边滤波等为现有技术,此处不再做具体阐述。
二层卷积是由步长为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;由于低层的特征语义信息比较少,但是目
标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。如果将高层和底层的
信息相融合,在识别中有更好的效果。使用自上而下的方式,将图像中的特征进行融合。最
终达到具有五种尺度的特征图。
到管件尺寸的大小采用32×32、64×64、128×128的尺度,0.8:1、1:1、1:1.25的横纵比,共
生成9种不同的候选框;通过本次的改进,不仅在训练时可以更好地收敛,占用的显存更小,
也提高了对小目标的分类、回归和分割效果。通过滑动窗口来扫描图像,从而寻找到区域目
标;对寻找到的目标区域分别对其类别和像素分类,在对其像素预测之前,添加混合注意力
机制来提高预测的效果。如图3、4所示,注意力机制的基本思想是让模型能够忽略无关信息
而更多的关注我们希望它关注的重点信息。
入一个m x n维的数组中,计area[][];通过步骤4中网络得到管件的类别,找到管件对应
的area数组的行位置,记为q,将网络中得到的掩膜轮廓进行计算,求出其掩膜的像素面积,
与area[q][]中的数据相对比,找到与area数组中最相近的值的位置,计为p,故area[q]
[p]即为得到的位置,从而判断出管件的尺寸。
合,计算由四条线决定的矩形的面积,并且保存为当前最小值;否则将当前最小值定义为无
穷大,顺时针旋转线直到其中一条和多边形的一条边重合,计算新矩形的面积,并且和当前
最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息,重复操作,直到
线旋转过的角度大于90度,得到管件外接矩形的最小面积,即求出管件的最小外接矩形,计
外接矩形的两个相邻的端点为(X1 ,Y1)、(X2,Y2),故管件的中心点为
此点即为机器人的抓取点。
标定得到机器人坐标系与相机坐标系之间的位置对应关系,使用到仿射变换,仿射变换的
矩阵为:
标注的图片位置信息。人工操作机械臂,分别将机械臂的末端移动到四个使用鲜艳笔标注
的位置上,并且分别记录此时机械臂坐标系中的x,y值。通过仿射变换矩阵,得到变换参数
m。将其写成函数。每次调用函数,将之前计算出管件中心点的相机坐标系转换为机械臂的
坐标系中的坐标。
协议进行连接,使用RobotsStudio软件编写RAPID语言,对相机和机器人进行控制拍摄和抓
取操作,以及接受机器人的反馈。
时,给予计算机信号,计算机控制相机进行拍照。存储图片,将图片读入训练好的网络当中,
通过使用步骤3、步骤4,获取到管件在机械臂末端坐标系的位置。由于TCP/IP每次只能传输
一个字符串,将管件的抓取点、码放点,通过中间添加“/”,组成一个长字符串,并使用计算
机传输给机器人。机器人接收到计算机传输的字符串,并通过判断“/”进行解码。记录管件
的抓取点和码放点,使用随机路径图算法对机械臂的路径进行规划。执行抓取任务,完成一
次管件抓取任务。启动传动带,等待下一次抓取任务。
比见表1,掩膜检测性能评估对比见表2。实验结果表明,本发明提出的网络模型相对当前热
门的分割网络(Solo、Mask R‑CNN、DeepMask)有着更好的目标检测和掩膜分割效果。在目标
检测的准确率和回归率较基本MaskR‑CNN模型分别提高3.5%和7.1%,掩膜检测的准确率
和回归率提高2.8%和2.4%。
件的面积对比如表3所示。表3中半寸、一寸和一寸半三通管件中通过本发明网络计算出的
像素点面积相比于基础的Mask R‑CNN都更加接近于手动标注的面积。因此在通过使用管件
掩膜像素点来判断管件尺寸有着更大的优势。
发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来
讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显
而易见的,一切利用本发明构思的发明创造均在保护之列。