金守峰,林强强,马秋瑞
(1.西安工程大学 机电工程学院,陕西 西安 710600; 2.西安工程大学 服装与艺术设计学院,陕西 西安 710600)
筒子纱作为纺纱工艺的一个终端产品,应用非常广泛,筒子纱在转运、上下纱架及包装时均需要大量人工来完成,劳动强度大、效率低。随着人力成本的提高,以劳动密集型为特点的纺织行业受到了巨大的冲击,劳动力短缺愈加严重,机器人等自动化设备开始应用于纺织领域[1]。纺织领域的产业技术与生产设备进行升级,是提升企业竞争力、降低成本的有效举措,将纺织业从劳动密集型产业转型为以技术为支撑的高科技产业成为必然趋势[2]。
机器人抓取作业目标已经广泛应用于各个领域,如在农业采摘方面,周俊等[3]应用压敏电阻采集机器人抓取时手爪的压力变化信号,将信号通过短时傅里叶变换和离散小波变换分析滑觉信号并完成作业目标抓取;姬伟等[4]基于广义比例积分方法控制机器人以减小采摘过程中机器人对果蔬表面的损伤。在以零件为作业目标的抓取任务中,范荻等[5]结合SURF算法、快速视网膜特征点、汉明距离以及仿射变换等相关技术解决了背景复杂、零件形状多样性导致识别和定位精度低的问题。随着计算机技术的发展,基于深度学习的机器人作业目标抓取研究逐渐增多,郭毓等[6]应用深度学习方法构建了机器人作业目标检测及空间定位系统,基于双目视觉系统和Faster R-CNN(更快速区域卷积神经网络)的方法,在光照变化和复杂的作业场景中可以满足配电线路维护机器人的测量和定位要求。在筒子纱抓取和上纱过程中,目前主要应用固定的程序和位置完成抓取和上纱,在抓取之前需要人工将筒子纱放在传送带上,这种方法自动化和柔性程度低。
为提高筒子纱上纱过程中的自动化和柔性化程度,基于单目视觉系统构建筒子纱上纱平台,在完成标定的单目视觉系统中,采集筒子纱的数据集,应用GAN(生成式对抗神经网络)扩充数据集,得到单个筒子纱不同形态的数据集,将筒子纱的位置标记后加载到构建完成的Faster R-CNN神经网络模型中,达到对筒子纱的识别和定位。由于在下层的筒子纱被上层筒子纱遮挡,部分特征不够明显,而输入到Faster R-CNN神经网络模型中的筒子纱是完整的,图像特征明显,被遮挡的筒子纱得分值较低,因此在机器人抓取过程中,首先应抓取得分值最高的筒子纱目标,而后由上到下完成上纱任务。
挂纱是整经或者筒子纱染色过程中极其重要的环节。挂纱主要是将筒子纱从料斗里经过步进输送组件运送到挂纱机器人旁边,经过挂纱机器人挂到纱架上的过程。挂纱过程如图1所示。
图1 挂纱过程
现有挂纱系统由于在料斗里的筒子纱都处于随机摆放的状态,需要借助人工将筒子纱摆放在步进传送带上,然后再由机器人挂到纱架上,不仅耗费人力而且增加了一个工位,且占用厂房面积。本文构建的新挂纱系统,该系统应用Faster R-CNN神经网络构建筒子纱识别与定位系统,可以直接在料斗里抓取筒子纱而省去了人工摆正以及传送带的输送环节,节省人力和厂房空间。新挂纱系统结构示意图如图2所示。
该系统主要由工业相机、六自由度HIWIN上纱机器人、计算机系统和待抓取筒子纱构成。采用大恒图像水星系列MER-502-79U3M工业相机,获取图像为灰度图像,最大帧率为79 fps。HIWIN上纱机器人可以通过六轴联动将末端手爪移动到空间范围的任意一个位置,最大限度的缩小机械手臂移动的距离,较大幅度的提升工作效率,机械手臂每个关节都有准确的位置记忆,工作时不需要每次都返回原点,节省时间。六自由度HIWIN机器人的驱动方式为伺服电动机与步进电动机混合驱动,末端执行机构为气动手爪。
图2 新挂纱系统结构示意图
本文使用单目视觉系统如图3所示。
图3 单目视觉系统
相机安装的位置与工作平面垂直,且位置固定不变,因此内外参数也固定不变,其中相机内参数是由相机本身的参数决定的,例如焦距、像素大小等,外参数则是相机在实际坐标系下的参数,例如旋转方向和位置等。图3(a)中,在相机的光轴中心建立坐标系,Zc轴的方向平行于相机光轴,规定相机到筒子纱的方向为正方向,Xc轴方向为图像坐标沿水平增加的方向[7]。筒子纱作业目标的坐标系原点Ow可选择相机光轴中心线与作业平面的交点,Zw轴与Zc轴同方向,Xw轴与Xc轴同方向。在保证摄像机位置和内外参数不变的情况下,设工业相机光轴与图像平面交点为(u0,v0),X、Y轴为图像坐标系,(u,v)为像面坐标系,二者关系见图3(b)。
在工作平面上,筒子纱坐标可表示为(xw,yw,0)。则可以获得筒子纱在相机坐标系下对应坐标为[8]:
式中d为光轴中心Oc到零件平面的距离。
假定采用四参数摄像机模型,且在忽略摄像头发生畸形变化情况下,任意选取工作平面上的2个点P1=(xw1,yw1,0)和P2=(xw2,yw2,0),则可以得到:
式中:(u1,v1)是P1点的图像坐标;(u2,v2)是P2点的图像坐标;kxd、kyd是标定出的摄像机参数。
在没有畸变的情况下,可以采用工作平面上2个已知的坐标点标定单目二维视觉测量中的摄像机参数。在抓取筒子纱时,可以任意选择一个已知平面坐标和图像坐标的点作为测量的参考点,通过任意点的图像坐标可以计算出这个点相对于参考点的位置[9]。
传统的样本扩充方式主要是采用图像的镜像、旋转、拼接、随机裁剪、仿射变换等方法[10],这些方法多用于图像的扩充,且对于织物图像的细节特征扩充不理想,影响数据集的真实性以及神经网络的训练正确率。
GAN(Generative Adversarial Nets)是由Goodfellow等[11]在2014年提出的一种生成式模型,其核心思想是二人零和博弈,即博弈双方的利益之和是一个常数。该模型主要有2个模块:生成器模型G(Generator)和判别器模型D(Discriminator),在GAN网络训练的过程中,由生成器模型G接收一个随机噪声z从而生成织物的上边缘坐标G(z);判别器D的输入为真实的织物上边缘数据x,整个模型的目标是使判别器模型D(x)无论对于真实数据集坐标还是生成的数据集坐标,输出的概率均为0.5,无法判别数据集的真假,即达到纳什均衡[12],优化目标如式(5)所示:
A=Ex~pdata(x)[logD(x)]
B=Ez~pz(z)[log(1-D(G(z))]
(5)
式中:A为判别器D的熵;x为真实数据;pdata(x)为真实数据的概率分布;B为随机数经过生成器G的熵;z为来自概率分布p(z)的随机数;V(D,G) 是判别器的目标的最大化函数,生成器是令其最小化。
应用GAN生成筒子纱数据集模型,如图4所示。
由于GAN对抗神经网络生成的筒子纱数据集含有高斯噪声,因此对生成的筒子纱数据集应用5×5模板高斯滤波,得到完整的筒子纱数据。而后应用Faster R-CNN神经网络对筒子纱识别定位。
Faster R-CNN神经网络是在Fast R-CNN(快速区域卷积神经网络)的基础上引入区域生成网络(Region Proposal Network,RPN),使用RPN网络取代了Fast R-CNN 网络中的Selective Search(选择性搜索),即采用RPN网络代替Selective Search进行候选区域的生成,然后将这2个部分整合为一个网络结构模型,因此在保证精度的同时又提高了检测速度[13-14]。与Fast R-CNN相比,由于RPN网络的引入,并且RPN网络与Faster R-CNN 网络共享卷积层,因此Faster R-CNN比Fast R-CNN在图像检测过程中训练速度提高了近10倍。Faster R-CNN神经网络主要包括: 数据集、特征提取器、RPN(区域建议网络) 和Fast R-CNN 网络等四大部分,Faster R-CNN神经网络结构图如图5所示[15-16]。
图4 筒子纱数据集模型
图5 Faster R-CNN神经网络结构
将筒子纱图像输入VGG(Visual Gemetry Group)网络,经过VGG网络的卷积层将织物特征表征在最后一个卷积层上,并且通过RPN网络提取缺陷区域候选框,在池化层(ROI pooling)中将每个候选框尺寸重置为固定大小,然后经过全连接层,得到固定大小的特征向量,最后分别在各自的全连接层上进行筒子纱区域的回归和定位。
应用Matlab2018a环境和图2平台进行实验,使用单目相机分别获取单个筒子纱的不同位置作为初始数据集,并应用GAN对抗生成神经网络对数据集多样性扩充,共获取数据集500张,部分不同形态筒子纱如图6所示。对各个形态的筒子纱位置标记后输入Faster R-CNN神经网络完成训练。
在实际抓取过程中,筒子纱的形态各异,无规则的摆放在料斗里,并且部分筒子纱被遮挡,在抓取时需要先抓取上面的筒子纱,而后逐层完成抓取任务。应用训练好的Faster R-CNN神经网络模型识别和定位单个不同形态的筒子纱形态,如图7所示。
由图7可知,对于单个筒子纱的识别及定位过程准确度高,可以引导机器人完成抓取上纱任务。这4种筒子纱摆放的位置经过识别定位后所对应的位置以及得分值如表1所示。
图6 不同形态筒子纱
图7 单个不同形态的筒子纱识别定位
表1 单目标识别定位结果
在实际的作业环境中,料斗里有很多待抓取的筒子纱,因此必须在获得抓取顺序的前提下才能对筒子纱进行识别定位。在单个筒子纱的基础上,对训练的网络采取多个筒子纱完成识别定位,多个筒子纱抓取结果如图8所示。
图8 多个目标识别定位
多个筒子纱识别和得分以及位置如表2所示。根据Faster R-CNN神经网络模型识别定位以及得分值的判断,可以完成筒子纱的抓取上纱任务。在每次抓取时,抓取得分值最高的目标,而后依次完成抓取。图8中,经过第4次抓取后筒子纱分散开,相当于单个筒子纱的抓取。综合以上实验结果可得,应用Faster R-CNN神经网络模型可以识别和定位筒子纱,引导机器人完成上纱任务。
表2 多目标识别定位结果
本文基于单目视觉系统构建了机器人抓取筒子纱上纱系统,与传统的上纱过程相比,本文构建的系统自动化和柔性化程度高,省去了人工将筒子纱摆放在步进传送带的过程,而直接在单目视觉系统的引导下抓取料斗里的筒子纱,与此同时可节约安装空间。得出结论:
①应用单目视觉系统构建筒子纱抓取上纱系统,提高了抓取系统的柔性化和自动化程度。
②将获得的单个筒子纱数据集应用GAN对抗神经网络扩充,提高数据集的多样性,以获得更多的筒子纱数据集。
③应用获得的单个筒子纱数据集训练Faster R-CNN神经网络,引导机器人抓取筒子纱完成上纱任务。由于下层筒子纱被遮挡特征不明显从而得分值较低,因此在抓取时优先抓取得分值最高的筒子纱,而后由上而下完成抓取任务。