基于深度学习的光纤收卷机器视觉自动检测技术
2021-01-15魏希来
刘 宇, 魏希来, 王 帅, 戴 丽
(东北大学 机械工程与自动化学院, 辽宁 沈阳 110819)
随着光纤的出现,光纤绕线技术已被广泛研究,但由于光纤直径误差、内应力和静电力等会影响排线精度,而这些因素又具有一定的随机性,无法通过控制系统的预先设置而避免,因此需要引入光纤收卷检测系统用以辅助绕线.
已有对光纤收卷检测方法的研究大多是使用传统图像处理技术对光纤的排线状态进行检测.郭晨霞等[1-3]提出一种通过判断光纤环的最小包围矩形个数的方法来判断正常、叠线、间隙和绕制到边等4种情况的检测方法.张万成等[4]提出使用图像识别技术检测光纤绕线的滞后角来实现对排线状态的检测.杨瑞峰等[5]提出通过使用顶点定位法来判断光纤收卷的各种特殊情况.
传统的光纤收卷检测方法有以下缺点:①模型泛化能力差.检测方法依赖于形状、纹理等特征,当光纤因内应力和静电力的作用而产生形变时,检测方法需进行大量修改,甚至失效;②环境适应能力弱.当环境发生改变,检测方法有失效的可能;③成本昂贵.需设计独立的光照设备以使检测的图像特征更为明显.因此,尽管传统的光纤收卷检测方法已提出多年,但仍无法在工业生产中实际应用.
近年来,深度学习在计算机应用领域得到了广泛的研究.Nyalala等[6]提出了一种基于机器学习的计算机视觉方法来预测番茄的质量和体积.Wang等[7]提出了一种基于深度学习的缺陷检测方法,可在不损失准确性的前提下,识别和分类有缺陷的瓶子产品.尽管卷积神经网络已经成功地应用于图像分类的各个领域,但在光纤制备行业的应用仍未出现.
本文将光纤收卷的应用要求和深度学习的算法特点相结合,提出采用基于深度学习的机器视觉方法对收卷过程中的收卷图像进行分类来解决光纤收卷问题.实验结果表明,该方法具有良好的实时识别准确度,且模型泛化能力和适应性均较强,是一种可以和控制系统相结合、替代人工收卷、实现自动精密绕线的良好方法.
1 光纤收卷问题概述
1.1 收卷模型
收卷过程中,排线机构的横移速度通常是由几个因素共同决定的.收卷模型的侧视模拟图如图1所示.
图1 收卷模型模拟图
图1中,ω表示光纤盘的转动速度,D表示光纤盘的直径,d表示光纤直径,v1表示排线机构的横移速度,其方向沿纸面向里或沿纸面向外,v2表示排线机构的吐线速度,其方向沿光纤盘切线方向.光纤径向方向刚度为K,光纤的线密度为ρ,Di表示第i层光纤所形成的圆周直径.
为方便后续计算,本文做出如下假设:
1) 每圈光纤的长度固定,不会因为后圈光纤力的拉力而缩短长度;
2) 上层光纤对下层光纤的压力集中于下层光纤的最高点;
3) 上层光纤在排线过程中始终处于下层两根光纤的夹缝中.
针对满足以上假设的模型,第(n+1)层光纤的直径Dn+1可被表示为
(1)
式中,g为重力加速度.
结合光纤盘运动关系,可得在缠绕第(n+1)层光纤时,光纤盘转动速度ω和排线机构横移速度v1的关系式如式(2)所示,以及光纤盘转动速度ω和排线机构吐线速度v2的关系式如式(3)所示.
(2)
(3)
结合式(1)~式(3),可将排线机构的横移速度v1表示为
(4)
1.2 光纤收卷故障
由式(4)可知,随着n的改变,v1也是时刻改变的.但在实际生产中,v1通常为固定值.因此,光纤在收卷过程中常会出现以下两种收卷缺陷:
1) 排线机构的横移速度过快,导致下一条线在缠绕过程中与上一条线之间出现间隙,即间隙问题的产生.
2) 排线机构的横移速度过慢,导致下一条线在缠绕过程中来不及到达下一位置,而叠放在上一条线上,即叠线问题的产生.
2 基于深度学习的收卷方法
本文设计的基于深度学习的收卷系统检测流程图如图2所示.
首先通过硬件设备对收卷进行实时的图像采集,然后将图像传输到计算机中,由计算机对图像进行分析处理并输出结果.若发现存在问题,则报警并将状态指示灯置为特殊颜色.在报警的同时,将检测到的特殊情况通过TCP/IP协议传输给后端控制系统.控制系统根据传输来的信号对排线机构的横移速度做出相应的调整以完成对该情况的自动修复.
图2 基于深度学习的收卷系统检测流程图
2.1 图像采集及标记
图像采集使用德国映美精公司的DFK 72BUC02型工业相机和SPACE公司的HF6M-2型的1/2″镜头.相机采集的图像尺寸为640像素×480像素,图像格式为jpg.数据集中图像示例如图3所示.
图3 数据集中图像示例
标记过的图片数据集按照7∶1∶2的比例分为训练集、验证集和测试集.每张图片所属集合随机分配.集合间没有图片重复,各集合的图片数量如表1所示.
表1 各集合的图片数量
2.2 图像高斯处理及预处理
相机使用过程中,常会因光线不足、相机过热等原因,导致采集到的图像有高斯噪声,进而降低检测的可信度和准确性.因此,对采集到的图像进行预处理前需进行高斯处理以抑制噪声影响.本文采用一个核为5×5的高斯滤波器进行高斯处理,输出像素值Ci,j的计算过程为
(5)
(6)
式中:Zi+s,j+t为输入的像素值;Wi+s,j+t为通过高斯函数产生的滤波器对应位置的权值;σ是高斯函数标准差.
综上,本文先采用高斯处理以完成对图片的降噪处理,再通过其他多种方法,如缩放、旋转等,对采集到的图像进行预处理以增强图片的多样性.
2.3 神经网络特征识别
图4为图片从形成数据集到保存网络模型的完整流程.
从收卷图像数据集中随机抽取若干张图片形成训练集,再将之输入网络中进行n轮神经网络训练.每轮训练结束后,将验证集输入网络中,记录网络在验证集上的平均损失值和平均正确率以决定是否停止训练.每轮训练中,首先从训练集中随机抽取k张照片形成一个照片批次,对该批次照片依次进行高斯处理和预处理,而后同时输入网络中,进行一次网络内部参数迭代.一次迭代后,再输入下一批次图片进行参数迭代.通过程序设定,每张照片能且仅能进入一个批次,遍历整个训练集即完成一轮训练.需注意的是,若最后一个批次的照片不足k张,则会从训练集中随机抽取照片补足k张.
本文考虑到识别的准确性以及神经网络模型的移动端部署问题,分别搭建了ResNet[8]系列网络和MobileNet[9-11]系列网络作为神经网络训练及最终识别部分的网络.ResNet[8]系列网络提高了神经网络识别的准确度,其包含残差结构,解决了之前的神经网络层数较多而准确度不高的问题.MobileNet[9-11]系列网络则在正确率损失不大的前提下,大大降低了卷积神经网络对硬件运算能力与存储的依赖.
因此,本文最终搭建了以下6种网络模型作为训练用的网络,分别为ResNet-18,ResNet-34,ResNet-50,MobileNet-v1[9],MobileNet-v2[10]和MobileNet-v3-Small[11].
图4 神经网络特征识别的系统流程
2.4 深度神经网络的搭建与训练
神经网络的搭建是在Python平台上基于百度PaddlePaddle深度学习框架进行编程的,使用机器视觉库OpenCV[12]作为图像处理模块.使用线上百度AI Studio(CPU为8 Cores;GPU为Tesla V100-16 GB)GPU环境进行训练及测试,本地机 (CPU为Intel i5-4200U 1.6 GHz;RAM为8 GB) CPU环境进行测试.
本文采用迁移学习来加快神经网络训练速度[13].其方法是Han等[14]提出的将在大数据集上训练好的网络参数作为新网络的初始参数重新开始训练的方法.本文使用的预训练参数是在ImageNet大赛数据集上训练好的网络参数.
学习率和梯度下降算法的选择对神经网络的的训练也尤为重要.学习率的选择决定着神经网络能否收敛到局部最小值以及何时收敛到最小值.梯度下降算法的选择决定着神经网络收敛的速度.本文的梯度下降算法选择使用Adam梯度下降法[15].同时,本文遵循文献[15]中建议的优化器设置,将学习率设置为0.001.
本文将每批次输入神经网络进行训练的照片数量选取为64,即,前文2.3节中的k取值为64.同时,因本文使用了迁移学习,不需要庞大的训练轮数,本文将训练轮数取为200,即,前文2.3节中的n取值为200.
3 实验验证与结果分析
3.1 性能指标
本文采用平均正确率来检验神经网络的分类准确度.其计算公式为
(7)
式中:R为平均正确率,表示被正确分类的样本比例;NT表示网络预测结果与实际情况相吻合的图片数量;NR表示网络预测结果与实际结果不同的图片数量.
3.2 实验结果及分析
在对超参数进行设置后,将训练集的图片输入神经网络中进行训练.每轮训练结束后,将验证集输入网络中得到平均损失值和平均正确率如图5所示.
由图5可发现:随着训练轮数的增加,验证集在不同神经网络上的平均损失值均在慢慢趋近于0,经过200轮训练后,各神经网络均已收敛.同时,随着训练轮数的增加,验证集在不同神经网络上的平均正确率也在慢慢趋近于100%,故可得出:神经网络未发生过拟合现象.
本文在训练结束后,将测试集输入保存的网络模型中进行预测.测试环境分别为AI Studio在线GPU环境和本地CPU环境,得到结果如表2所示.
表2中,t1和t2分别表示在AI Studio在线GPU环境下和本地CPU环境下,一张图片自输入程序至输出结果所用的时间.从表2中可发现:各网络模型在测试集上的正确率均达到了95%以上,说明本文提出的方法的泛化能力和环境适应能力均较强.其中,ResNet-50的识别正确率最高,达到了99.19%,但是其处理时间较长,是其他网络的2~3倍.而处理时间最短的MobileNet-v1的识别正确率又相对较低.
图5 各个网络模型训练的平均损失值和平均正确率变化曲线
表2 不同网络模型的预测结果
将高斯滤波阶段和图像预处理阶段隔离出来发现:高斯滤波阶段和图像预处理阶段的平均耗时分别为6.78 ms和15.57 ms.因此,相比于CPU环境,GPU环境更适宜作为神经网络处理的环境.实际生产中光纤绕制机的转速为60 r/min,因此,本文提出的采用神经网络作为识别主体的检测系统,无论在CPU环境下还是在GPU环境下,其检测速度均可以满足实时性的要求.
结合收卷实际情况、神经网络的分类正确率和处理时间,本文将ResNet-18和MobileNet-v3-Small在测试集上的分类结果以混淆矩阵的形式表示,如图6和图7所示.
图6 ResNet-18网络模型的混淆矩阵分类结果
图7 MobileNet-v3-Small网络模型的混淆矩阵分类结果
通过对混淆矩阵的分析可以发现:①针对叠线情况,神经网络的预测结果与实际情况完全相符,预测的正确率为100%;②针对正常情况,两种神经网络的分类正确率分别为96.47%和97.06%;③针对间隙情况,两种神经网络的分类正确率分别为94.67%和95.33%.故可得出:神经网络可有效判别叠线情况,而对于正常情况和间隙情况,存在一定的误判.将分类失误的照片提取出来,发现这些照片上的光纤均存在较小的间隙,是很容易造成误判的.
通过对误判的照片进行分析后,认为:在正常绕线的过程中,光纤间有可能因为应力作用而产生较小的缝隙,尽管这类照片严格的分类应该是正常,但也允许将此类照片置为间隙的.同时,在排线过程中,光纤由正常转为间隙的过程中,光纤间最初也会出现较小的缝隙,尽管这类照片严格的分类应该是间隙情况,但也允许将此类照片置为正常的.
综上,本文提出收卷检测方法的实时性和正确率均满足实际生产要求,是可以应用在实际光纤生产中的光纤状态检测的.
3.3 光纤收卷智能系统搭建
本文在收卷实验的基础上,在Python平台上开发了一个光纤收卷智能软件,其界面如图8所示.
图8 光纤收卷智能软件界面
该软件除了有基本的光纤检测功能外,还有人工标定模块用于将当前照片保存到本地并生成对应标签,以及相机调整模块对相机参数进行适时调整.
通过表2对不同神经网络的分类正确率和处理时间的分析发现:在损失率相差不大的前提下,MobileNet-v3-Small可以大大降低网络对图片的处理时间.因此,本文选择MobileNet-v3-Small模型作为该软件的检测网络.
经测试,该软件在本地机上的最高检测速度可达每分钟600张,而光纤绕制机的转速为60 r/min,满足实际生产检测要求.
4 结 语
本文提出采用基于深度学习的机器视觉方法对收卷过程中的收卷图像进行分类来解决光纤收卷问题.该方法泛化能力和适应能力强.通过实验验证,该方法对收卷过程中的叠线问题识别正确率为100%,对间隙问题的识别正确率在94.67%以上,且该方法检测速度高于实际生产绕线速度,达到了实时性要求.因此,该方法是一种可以和控制系统相结合替代人工收卷,实现自动精密绕线的有效方法.