田会方,林泽天,吴迎峰
(1.武汉理工大学 机电工程学院,湖北 武汉 430070;2.武汉理工大学 复合材料缠绕装备研究所,湖北 武汉 430070)
在玻璃纤维缠绕过程中,由于玻璃纤维所受张力过大与纱团玻璃纤维用完后人工未发现等因素,将出现断纱现象。目前很多企业主要通过人工进行断纱检测,很大程度削减了自动化的程度,而且人工检测可能出现不能及时发现断纱问题,从而出现漏检,这将对产品质量产生不利影响,目前缠绕机玻璃纤维实时断纱检测成为企业难题之一。
针对以上问题,目前国内外相关的断纱研究主要有3种类型:①机械式,机械式内部结构较为复杂,不易加工,不利企业大规模使用[1];②传感器式,如激光传感器检测、光电传感器检测等[2-3]。但由于玻璃纤维的运动后会产生飞扬的小毛刺,会遮挡传感器发出的激光从而导致误检。光电传感器检测准确率较低,易受外部环境影响等缺陷[4-5];③机器视觉式,机器视觉具有抗干扰能力强,实时性好以及准确率高等优点[6]。将机器视觉用于玻璃纤维的断纱检测,能够避免玻璃纤维直接与检测系统的接触,而且该检测装置结构简单以及方便后期的维护[7]。目前在纺织行业,已有研究者通过提取极值信号来判断是否出现断纱,通过相邻纱线之间的距离突变来判断哪根纱线断开,但通过距离突变的方式存在一些问题,如首根或者尾根纱线出现断开,则无法判断首尾根纱线断开问题[8]。笔者通过相邻像素差值突变方式来获取玻璃纤维实际根数,然后通过实际根数与预设根数对比来判断是否出现断纱,最后通过SVM(support vector machina)多分类判断玻璃纤维断开位置(即哪根玻璃纤维断开)。
玻璃纤维缠绕机断纱检测系统主要由玻璃纤维缠绕机、图像采集和视觉信息处理部分组成,玻璃纤维缠绕机断纱检测系统如图1所示。
图1 缠绕机断纱检测系统
本视觉系统选用CMOS(complementory metal oxide semiconductor)彩色相机(选用彩色相机是为考虑后期卷辊检测问题,本文并未涉及),要求检测精度为1mm/pixel,视野范围为240 mm×30 mm,通过计算,可选用分辨率为130万像素相机,最终选用相机型号为MV-UBS131GC-T,相机工作距离设置为400 mm,安装在玻璃纤维检测区域正上方。通过焦距计算公式,得镜头焦距值约为8,故选用镜头焦距为8。其中光源选用LED(light-emitting diode)条形灯,条形光源适用于检测方形结构物体,光源安装在玻璃纤维待检测区域的正上方。
工业相机CMOS能够实时采集运动状态的玻璃纤维图像,然后将图像信息输入到计算机,经过计算机图像处理在显示屏上实时显示玻璃纤维状态,当出现断纱问题立即发出停机指令。
图像处理流程主要包括图像加权平均灰度、图像中值滤波、图像二值化、图像形态学操作,具体步骤如下:
(1)在待检测区域获取矩形ROI(region of interest)区域,设置矩形大小为1 600×100,如图2所示。
图2 矩形ROI图
(2)图像加权平均灰度[9]如图3所示。
图3 加权平均灰度图
(3)图像中值滤波[10]。核大小设置为7,可以有效地过滤掉玻璃纤维的小毛刺,如图4所示。
(4)图像二值化[11]。设置阈值大小为90,如图5所示。
图5 二值化图
(5)图像形态学操作。主要进行腐蚀和膨胀,腐蚀操作内核设置为3×3的矩形,膨胀内核设置为5×5的矩形,经过腐蚀和膨胀操作后,可以消除小区域的噪音,使得每根玻璃纤维形成完全封闭区域,如图6和图7所示。
图6 形态学腐蚀图
图7 形态学膨胀图
图像处理完成后,根据图像的特征识别玻璃纤维是否断开以及通过SVM多分类识别断开位置(即哪根玻璃纤维断开)。图7为单通道图像,用矩阵A表示如下:
Am×n=f(i,j)=
(1)
式中:f(i,j)为像素值;(i,j)为像素点;m、n为图像行和列。
通过数学表达判断玻璃纤维断开的原理为:根据图像矩阵A,首先定义相邻点的列像素差值Fj(x)为:
Fj(x)=f(i,j+1)-f(i,j)
(2)
在矩阵A中,取固定行(本文取i=90),扫描所有列,Fj(x)=255出现的次数即表示玻璃纤维的实际根数,当预设根数M与Fj(x)=255出现的次数不相等则表示玻璃纤维出现断开。
缠绕机启动后,每根运动的玻璃纤维位置会出现一定程度的波动,扫描所有行与列,当Fj(x)=255,取y=j;当Fj(x)=-255,取z=j,其中y和z分别表示同一根玻璃纤维左侧和右侧。
定义第k根玻璃纤维第i行像素中点坐标为MIDk(i,Pk),其中MIDk(i,Pk)可以统计每根玻璃纤维每行像素中点坐标;i=0,1,2,…,m-1;Pk表达式如下:
(3)
式中:k为第几根玻璃纤维;N为实际根数。
通过纱线之间的距离判断哪根玻璃纤维断开,主要存在如下问题:①假设首或尾根断开,将难以判断是首根还是尾根断开;②当出现多根纱线断开,则纱线的距离不好把握;③由于玻璃纤维的特殊性,相邻两根玻璃纤维之间的距离是不太规则的。针对这些问题笔者采用SVM一对一多分类方法,假设有M个类别,则需要M(M-1)/2个二分类器来解决多分类问题[12]。以每根玻璃纤维各行像素中点坐标MIDk(i,Pk)为训练特征,由于玻璃纤维是运动状态,故MIDk(i,Pk)位置信息不明确。
假设有N个样本,训练集为X={(x1,y1),(x2,y2),…,(xN,yN)},其中:xn∈RK(K表示K维特征向量);对应的类标签为yn∈{1,2,…,M};M为类个数;n=1,2,…,N。
对于第i类和第j类数据,可以通过以下方法解决二分类问题:
式中:wij为法向量,决定超平面的方向;bij为位移项,决定超平面与原点之间的距离;C为惩罚因子;ξ为松弛变量。
SVM决策函数如下:
根据SVM决策函数预测测试数据属于i类还是j类,可以通过投票的方式判断数据类别。假设测试数据xtest预测类别为i类,则i类得一票,否则j类得一票,最终得票最多的类别为预测结果。倘若某根玻璃纤维断开,运动状态的玻璃纤维断口移出检测区域后,则此根玻璃纤维MIDk(i,Pk)将消失,没断开的玻璃纤维MIDk(i,Pk)将会分类到对应的分类器并匹配到对应的标签,则根据标签yn反推出少了哪个标签,即哪根玻璃纤维断开。
搭建如图8所示的实验平台,预设玻璃纤维为28根。启动缠绕机,使28根玻璃纤维按照一定的速度运动,确保没有断纱情况。采集了300幅玻璃纤维图像,分类属性类别为28,每个类别贴上对应的标签,获取每幅图像中每根玻璃纤维的MIDk(i,Pk)并作为训练特征,然后用混淆矩阵对该模型进行评估,分别评估分类准确率acciracu﹑分类精度precision和召回率recall。
(5)
(6)
(7)
式中:TP为真正例;FP为假正例;FN为假反例;TN为真反例。
图8 实验平台
将SVM的类型设置为C-SVC,核函数设置为LINEAR,各平均指标如图9所示。从图9可知,随着迭代次数增加,SVM模型的各平均指标逐渐递增,当迭代次数达到600,各指标趋于稳定,故设置迭代次数为600。得到各二分类平均准确率、精确率和召回率的结果如表1所示。
图9 模型各平均指标
表1 平均准确率、精确率和召回率
从表1可知,整体预测平均准确度为96.81%,正样本结果中预测平均精确率为96.10%,负样本结果中预测平均召回率为96.94%。该模型平均准确率、精确率和召回率数值较大,可认为该模型较优。
启动缠绕机并运行5 min,从断纱检测界面可知,该检测系统能够正常显示,随机截取一张未出现断纱情况的图像,结果如图10所示。当第5根玻璃纤维出现断开时,断口移动出有效检测区域,显示结果如图11所示,从图11中可知,第5根玻璃纤维断开(第5根玻璃纤维无标签),同时实时异常位置也显示第5根断开。实验结果表明该检测系统较为稳健。
图10 正常情况显示图
图11 异常情况显示图
针对目前玻璃纤维断纱检测方法存在检测准确率不高、没充分利用标签样本等问题,笔者采用自定义方法判断玻璃纤维是否断开以及通过SVM一对一多分类方法判断玻璃纤维断开位置。通过OpenCV编写相关程序,实现了图像处理、特征获取和多分类训练与测试等。实验结果表明,该检测方法能够实现断纱的检测。