基于MSER和SVM的玻璃纤维管纱毛羽检测
2019-06-11李海叶景军锋张缓缓苏泽斌
李海叶 景军锋 赵 瑾 张缓缓 苏泽斌
(1.西安工程大学,陕西西安,710600;2.西安获德图像技术有限公司,陕西西安,710048)
玻璃纤维属无机非金属材料[1],其具有一系列的优良物理化学性能,因而被广泛应用于航天航空、建筑、电子等领域[2]。玻璃纤维管纱是细纱经捻线机缠绕在纱管上所形成的管状纱体,从缠绕到成形的过程中,会不可避免地产生各种毛羽疵点,这些都将影响着后期的使用以及再加工的质量,因此对毛羽疵点进行及时检测,提高管纱质量具有重要的实际意义。玻璃纤维管纱图像如图1所示。
图1 玻璃纤维管纱图像
管纱毛羽影响着纺织品的表面光洁度和手感特性,对纤维纱线的耐磨性有一定的破坏,同时毛羽的存在也会引起染色不均和起球等危害[3],毛羽疵点将直接影响管纱的等级。目前多数研究是对纱线毛羽的检测,而对纱线绕制成管纱后产生的管纱毛羽,相关检测研究甚少[4]。大部分企业依旧是借助简易设备,通过肉眼对管纱毛羽检测。但由于人工检测受劳动强度大和劳动时间长等因素影响,会出现错检和漏检等情况,不能保证管纱检测的准确率及工作效率,甚至在检测过程中因人为因素会对管纱造成二次损伤。
结合图像处理的视觉检测技术已日趋成熟,机器视觉技术因其具有高效、准确、智能化的特点,而被广泛地应用在外观包装检测、医学医药工程、航天军事科技等领域[5]。机器视觉是一种软硬件集成、自动化的检测技术,机器代替人眼对计算机提取到的视觉信息进行分析和处理,并将其应用到识别、检测等方面[6]。针对管纱自身特有结构,利用机器视觉技术对管纱毛羽疵点进行实时检测。通过多路相机采集管纱毛羽原始图像,根据其形态特征以及灰度对比信息,提出基于最大稳定极值区域(Maximally Stable Extremal Regions,以下简称MSER)的管纱毛羽分割方法,然后运用局部二值模式(Local Binary Pattern,以下简称LBP)算法获得管纱毛羽的轮廓点特征信息,最后利用支持向量机(Support Vector Machine,以下简称SVM)对毛羽进行疵点分类。
1 硬件平台搭建
管纱毛羽检测系统硬件结构如图2所示。主要包括计算机、步进电机、光源、工业相机等,检测时要对管纱斜面和垂直面两处毛羽进行检测。在管纱斜面和垂直面的左右两端分别安装相机和光源,2号光源与3号相机检测管纱斜面毛羽,1号光源与4号相机检测管纱垂直面毛羽。两组背光条形光源与相机的中心点处于同一平面,两个条形光源由一个多通道光源控制器控制。黑色背景板置于光源后方,增强毛羽疵点与背景的差异,并通过调整相机焦距、光圈等参数以获取清晰的管纱图像。将管纱放置在步进电机转盘上,设定旋转速度,使得管纱旋转一周的时间为4 s。为保证在旋转过程中相机能够采集到完整管纱图像,设置帧率为30 fps,然后通过交换机将图像传送至计算机后,运用图像处理算法对采集的管纱斜面和垂直面两帧图像进行动态实时检测。因管纱的斜面与垂直面只是位置不同而结构相同,所以两者在检测算法上一致,本文以垂直面毛羽检测为例进行算法分析。
图2 硬件结构示意图
1,2-条形光源;3,4-工业相机;5-交换机;6-计算机;7-步进电机;8-管纱;9-光源控制器;10-黑色背景板
2 基于MSER和SVM的管纱毛羽检测
2.1 检测流程
管纱毛羽检测主要由以下四个步骤完成。第一步,实时采集管纱斜面毛羽与垂直面毛羽图像;第二步,运用MSER算法分割疵点区域,根据检测区域点生成MSERs结果,提取管纱毛羽;第三步,在空间上利用检测窗口将MSER检测结果图划分成多个小区域图像块,计算每个图像块内像素的LBP值,得到每个图像块的LBP直方图。将所有图像块的LBP统计直方图连接成为一个特征向量;第四步,将LBP提取的特征向量输入到SVM中,进行分类器训练,利用训练好的分类器进行毛羽分类。
2.2 毛羽分割
采用MSER提取毛羽疵点区域,有效抑制噪声和管纱背景纹理的干扰。MSER算法由MATAS J等提出,是一种局部不变特征检测方法[7]。它是基于分水岭的概念,具有单调强度变换的不变性、邻接保持变换的不变性、稳定性、多尺度检测、计算复杂度低等优点。这样的优点及性能使得MSER在目标识别、目标跟踪等领域得到了广泛应用[8]。
MSER是对一幅灰度图像取阈值进行二值化处理,阈值从0到255依次递增,在这个过程中,有些连通区域面积随阈值上升的变化很小或没有变化,类似于分水岭算法中水面持续上升的时候,有些被水淹没地方的面积没有变化,则该区域就被称为最大稳定极值区域,表达式见式(1)。
(1)
式中,Qi表示阈值为i时的某一连通区域,Δ为灰度阈值的微小变化量,q(i)为阈值为i时区域Qi的变化率。当q(i)为局部极小值时,Qi为MSER+。对灰度图像反转,再进行阈值从0~255的二值化处理过程,得到MSER-。根据检测区域点生成并标记图像稳定区域MSER+和MSER-,分割出管纱毛羽。
2.3 LBP特征提取
(2)
式中,gC表示以R为半径的中心点像素灰度值;gP表示P邻域内各像素灰度值;s(·)是一个符号函数,表达式见式(3)。
(3)
2.4 疵点分类
提取LBP特征后,使用SVM进行分类[10]。SVM是一种基于统计学习的监督分类方法。SVM基本原理是通过非线性映射将样本空间映射到高维乃至无穷维特征空间中,样本在高维空间线性可分,应用核函数替代特征空间内点乘计算,在高维特征空间中建立线性学习机,使用带标签数据训练得到超平面定义的分类器。超平面离两侧的样本数据间隔越大,分类确信度越高。不同核函数生成不同SVM模型,径向基核函数训练的SVM模型分类效果较好,能将样本非线性特征参数快速高效地映射到高维特征空间,能够很好地处理非线性问题。径向基核函数表达式见式(4)。
(4)
式中:σ为高斯核宽度;xi和xj为原空间里的向量。
SVM在小样本训练集上有优异表现,解决了非线性不可分和升维带来的计算复杂化问题,实现测试样本精准预测。本文使用径向基核函数的SVM分类器,进行对各种毛羽疵点分类测试。
3 试验与分析
试验数据来源于图2所示的硬件平台采集的图像,试验图像如图3所示。目前,工业上管纱毛羽疵点主要有端毛羽、毛圈和毛夹3种类型。使用系统软件编程环境为Visual Studio 2015,结合OpenCV3.0进行算法测试,计算机配置为Intel(R) Core(TM) i5-4460,CPU为3.20 GHz,内存为8 GB。
3.1 管纱毛羽区域分割
原始管纱图像存在少量噪声和深浅不一的管纱纹理,毛羽疵点区域与背景对比不明显,因此准确定位分割疵点有很大难度。采用MSER算法对管纱不同类型毛羽的分割结果,分割后的毛羽形态完整。端毛羽形态一般表现为近直线且毛羽细长,采用MSER算法可以增强端毛羽在原始图像中的显著性。进而在滤除管纱表面纹理和噪声的情况下,使端毛羽表现的更为突出,如图4所示。毛圈作为另一种毛羽疵点,一般表现为半圆弧形,不论弧形的长短大小还是亮度不同的同一毛圈,都能够精准分割出毛圈,分割结果如图5所示。毛夹作为不规则形态的毛羽疵点,是毛圈与端毛羽交织聚集而成。MSER算法在保证能够提取出聚集分布的端毛羽和毛圈区域的同时,又能提取出离散分布的小段端毛羽和毛圈,不会丢失细节信息,结果如图6所示。
3.2 管纱毛羽特征提取
图4~图6中无关黑色背景会影响运算速度和效率,选择对MSER分割结果剪切处理后的毛羽图像为试验样本,部分样本如图7所示。选取900张处理后的图像作为训练样本,使用LBP算法对试验样本图像提取特征,将特征向量送入SVM进行分类训练。训练完成后,对管纱毛羽图像进行分类测试。分类性能用分类准确率ACC度量,其表达式见式(5)。
LBP算法的主要参数设置:选取邻域采样点数P为8,邻域半径R进行调节与测试。LBP-SVM算法试验结果:当R=1时,ACC=89.2%;当R=2时,ACC=92.8%;当R=3时,ACC=97.0%;当R=4时,ACC=95.6%;当R=5时,ACC=94.3%。该试验结果反映了不同大小领域半径R对分类准确率的影响。R<3时,随着R增大,分类准确率持续升高;R=3时,分类效果最高效稳定;R>3时,R继续增加,分类准确率降低。因为领域半径R较小时,增加半径大小得到更多毛羽特征;半径增大到一定程度时,毛羽特征出现冗余。用分类器分类时,误判的可能性不断增加,分类准确率有所下降。经过分析,最终选取R=3。
(5)
式中:T为正确识别个数,S为总样本个数。
3.3 管纱毛羽分类
为了比较SVM分类情况,本文采用BP神经网络与之对比[11]。从90张~900张毛羽疵点图像选择不同的训练样本个数进行测试,试验结果如图8所示。
图8 不同算法的ACC曲线
由图8可知,在不同训练样本个数的情况下,LBP-SVM算法始终比LBP-BP算法的分类准确率有较大幅度的提高,即使训练样本为90张时,LBP-SVM算法对疵点分类准确率也高达81%。随着训练样本个数增加,当训练样本为270张时,采用LBP-BP算法的准确率为74%,LBP-SVM算法的准确率为87%,由此可见,后者比前者的准确率提高了13%。样本数量继续增长到540张时,LBP-SVM算法的准确率达到95%,LBP-BP算法的准确率仅为80%,此时,两种算法的精度差距达到最大。训练样本为900张时,LBP-SVM算法的分类准确率达到了97%,而LBP-BP算法的准确率不足90%。因为在训练样本有限条件下,SVM最优解是基于有限的样本信息,而不是样本数足够大时的最优解,因此它克服了神经网络需要大量样本的局限性。由此可见,当训练样本为小样本数据集时,SVM是一个精度高、检测效果好的分类模型。同时SVM具有较强的逼近能力和泛化能力。
两种算法对3类管纱毛羽的分类结果见表1。从整体来看,表1中LBP-SVM算法对端毛羽、毛圈和毛夹三种疵点的分类准确率高于LBP-BP算法。同时两种算法训练好的分类模型对毛夹疵点的分类准确率明显高于端毛羽疵点和毛圈疵点。因为在管纱成形过程中,不可避免地会出现端毛羽和毛圈相互交织、聚集而形成毛夹疵点,疵点特征较为明显,易于与其他两类疵点区分,故而分类结果较好。端毛羽和毛圈因结构相似而易于混淆,会导致分类器难以分辨,容易出现误检的情况。
表1 不同方法对3类管纱毛羽的分类结果
4 结论
管纱毛羽不仅影响机织、针织后加工的效率和质量,而且直接影响最终产品的外观和价格,故对管纱毛羽的检测具有重要的市场应用价值。本文根据管纱自身结构特点,设计了管纱疵点检测平台,采用了多路相机对采集的图像并行处理检测,实现了管纱表面整体的疵点检测,提升了检测速度与精度。算法实现过程主要包括疵点分割,特征提取与疵点分类。使用MSER算法分割毛羽部分,利用LBP提取毛羽特征,再通过SVM对各种毛羽疵点分类,端毛羽、毛圈、毛夹的分类准确率分别为94.7%、97.7%、98.6%。本文提出的LBP-SVM算法高效准确,具有良好的应用发展前景。