基于小波变换的纱管残纱检测系统设计
2020-07-30杨岭玉任淑艳余佳琦段海龙
杨岭玉 ,任淑艳 ,余佳琦 ,段海龙
(1.天津职业技术师范大学自动化与电气工程学院,天津 300222;2.天津职业技术师范大学天津市信息传感与智能控制重点实验室,天津 300222)
随着纺织企业占市场经济比重的不断增大,生产成本俨然成为纺织企业竞争的重要指标之一[1]。生产过程中,从络筒机上退下的纱管仍有残纱存在的可能,因此需要根据残纱的有无来进行纱管的分拣。传统的检测方法采用人工检测或接触式检测。人工检测成本高且识别率不稳定。接触式检测采用各种样式的打手触碰纱管来判定纱管是否存有残纱,打手快速下落和打击纱管表面纱线时,易对纱管成形和纱线品质造成不利影响[1-2]。近年来出现了非接触式余纱量检测方法,通过颜色传感器实现数据采集,将同类型的空管作为预设值进行比对[3],或利用支持向量机或神经网络对颜色进行划分[4],这些方案主要依赖纱管和纱线之间的色差进行分检,颜色相近时易误检,检测效果不理想。
本文设计一款基于小波变换的纱管残纱检测系统,当检测系统传送带上的纱管通过红外传感器时,触发摄像头抓拍纱管图像,随后使用OpenCV进行图像处理与检测。该方法为非接触式检测,在检测过程中不会对纱线造成损伤,在提高检测效率的同时,解决了人力成本高的问题。
1 检测系统与检测流程
1.1 检测系统
纱管残纱检测系统主要由触发装置、图像采集装置和上位机处理3部分组成,如图1所示。图1中,触发装置由红外传感器与单片机组成。本系统采用2Y0A21 GP2Y0A21YK0F红外测距传感器,该传感器响应速度快,可以准确检测到是否有纱管经过,并将检测信号传送给单片机,由单片机进行处理。图像采集装置由光源和CCD工业相机组成。通过调节光源,可以降低纱管对光线的反射,保证图像质量。选用MV-UBD32C工业摄像头,可以将光信号转变成为有序的电信号[5],该摄像头分辨率高,可以保证图像采集速度,满足系统需要。图像处理部分由上位机完成,上位机读取CCD摄像头采集的图像数据并进行处理,以判断纱管是否存在残纱。
图1 检测系统
1.2 检测流程
系统的采样区为摄像头拍到的区域。当红外传感器感应到有纱管进入后,首先采集图像,利用纱管绕纱区域提取方法将采集的图像缩减至一个仅包含纱管绕纱区域的矩形;然后利用形态学滤波以及小波变换,提取图片各个方向分量绕纱部分的信息;最后使用灰度直方图提取分量图像特征量,通过使用欧氏距离比较低频、垂直、水平方向差异性较大的2部分图像是否一致,判断纱管是否有残线存在。检测算法流程如图2所示。
2 检测过程
2.1 图像采集及预处理
提取绕纱区域过程如图3所示。传送带上有纱管通过时,触发摄像头进行拍照,得到纱管原图;对纱管原图进行剪裁,提取纱管绕纱区域图;最后令纱管绕纱区域与背景图做减法,得到排除背景干扰的绕纱区域图。络筒机上退下的带有残纱的纱管在运动过程中可能出现脱线的情况,纱管脱线图如图4所示。
图2 检测算法流程图
图3 提取绕纱区域过程
图4 纱管脱线图
为了不影响后续的操作,本文采用形态学滤波解决脱线情况,膨胀、腐蚀操作是形态学滤波最基本的操作[6]。
膨胀运算公式为XΘS={x|S+x⊆X},用结构元素S扫描原图像X的每个像素,然后取当前S所覆盖下的X对应区域内的所有像素的最大值,用该最大值替换当前像素值,从而实现连接相邻物体和填充图像中的细小缝隙的功能[7]。腐蚀运算公式X○+S={x|[S+x]∪X≠X},与膨胀相反,腐蚀运算取的是S覆盖区域内的所有像素的最小值,实现去除物体间细小的粘连,消除图像中小颗粒噪声的功能[8]。
单独进行膨胀或腐蚀操作会使目标大小发生改变[9]。为解决上述问题,本文采用开运算操作,即先腐蚀后膨胀。经过形态学滤波得到滤波图如图5所示。
图5 形态学滤波所得图
由图5可以看出,开运算在消除小颗粒噪声、平滑较大物体边界的同时其面积并无明显的改变,较好地解决了脱线问题。
2.2 小波变换提取特征
由上文分析可知,单独使用开运算仅能去除部分干扰,分离出的纱管轮廓较浅。本文将形态学处理作为过程中的一步,以其粗提取的结果作为基础,使用小波变换提取特征信息。小波变换是一种时频分析法[10],它解决了傅氏变换只能将图像信号从空间域转化为频率域的问题。离散的二维空间域数字信号纱管图像通过变换到小波域,可以同时提取包含细节成分的高频部分信息和包含图像信息的低频成分信息[11]。
小波变换公式如下
式中:Ws为获得的尺度分量,表示分解后的近似图像,为低频部分;Wωi为前一近似图像与后一近似图像的差别成分,为三方向的高频部分[9];j0为开始尺度,常为0,令图像尺寸 M、N 为 2j,故 j为(0,1,…,2j-1),m、n 为(0,1,…,2j-1);i为 H、V、D 三方向,小波分解过程如图6所示。
图6 小波分解过程
由于Haar小波函数是最简单的正交函数,具有构造简单、计算方便的特点[12],故本文使用Haar小波函数。小波变换后得到的图像如图7所示。由图7可以看出,经过小波变换后得到的图像在凸显特征信息的同时,更好地保留了图像细节,便于后续对残纱的识别。
图7 小波变换后得到的图像
2.3 残纱检测
从小波变换得到的各个方向分量图可以看出,低频分量图与水平高频分量图的纱线与纱管具有较高的对比度,并且纱线特征明显,故本文使用灰度直方图提取特征量,使用欧氏距离[13]锁定差异性较大的2部分图像,通过比较低频、垂直、水平方向差异性较大的2部分图像是否一致,判断纱管是否有残线存在。低频图像特征量提取过程如图8所示。
图8 低频图像特征量提取过程
图8(a)中,将低频分量图沿着x方向平均分为5部分,分别为 A1、A2、A3、A4、A5。以 A1 为例,首先对A1进行灰度直方图操作,得到图像中各灰度级的像素的个数,由于灰度级数较多,极大地影响了后续计算效率。为了解决此问题,将灰度直方图按灰度级平均分为 5 份,记为 x1、x2、x3、x4、x5,统计每一份的像素值和,得到特征量 sum1、sum2、sum3、sum4、sum5,该操作通过减少特征量,提高了计算机运算效率。然后对A2、A3、A4、A5同样进行特征量提取的操作,得到各自的特征量。最后对相邻2部分的特征量求欧氏距离d。当d>阈值q时,认为纱线存在于该部分;反之,当d<阈值q时,判断为纱线不存在于该部分。其中q值是经过大量的实验计算所得。距离d计算公式为
通过对垂直分量与水平分量进行相同的处理,判断纱线存在于哪一部分,并通过对比残纱在低频、水平与垂直方向存在的部分是否一致,判断是否有残纱存在。对于蓝色和红色的有纱纱管识别率可达95%,绿色的有纱纱管识别率可达90%。可以看出,算法对有色纱管是否存在残纱均可做出准确的检测。
2.4 检测软件
使用Microsoft Visual Studio 2015 MFC搭建残纱检测界面。Microsoft Visual Studio 2015是一种集成开发环境,提供了MFC类库[14]。MFC是C++实现界面可视化设计的核心,配合动态链接库实现界面设计[15]。
用户首先进行串口设置,在装置开始工作之前进行背景采集,然后点击运行。由于在工业现场不同颜色、亮度的纱管对光的敏感度不同,因此在进行检测时,可以根据现场的情况对不同颜色的纱管进行工作现场纱杆颜色参数与探测灵敏度参数的调节,从而减少灯光等外界因素对纱管颜色和亮度的影响,提高纱管残纱检测系统的准确率。
3 结语
本文对基于小波变换的纱管残纱检测算法进行了研究。检测系统由单片机与OpenCV共同构成,通过二者之间的相互通信,保证了检测系统的实时性。检测算法根据不同颜色的纱管对工作现场纱杆颜色参数与探测灵敏度参数进行调节,极大地降低了灯光等外界因素对纱管颜色和亮度的影响,从而提高了识别的准确率。实验结果表明,该算法可以对不同颜色与亮度的纱管是否存有残纱进行识别,且识别效果良好。