基于子图切割的织物缺陷在线检测方法

2022-11-15 06:08曹国政林富生刘泠杉宋志峰余联庆
棉纺织技术 2022年11期
关键词:疵点子图滤波器

曹国政林富生刘泠杉宋志峰余联庆

(1.武汉纺织大学,湖北武汉,430200;2.湖北省数字化纺织装备重点实验室,湖北武汉,430200;3.三维纺织湖北省工程研究中心,湖北武汉,430200)

我国是纺织产品的主要生产和消费国,纺织产业的发展与大众的日常生活息息相关。据统计,存在缺陷的织物价值将会在完好织物价值基础上削减45%~65%[1],因此织物缺陷检测就显得尤为重要。目前,织物缺陷检测主要通过人工进行识别,优点是可以检测出所有种类的缺陷,但是人工检测效率低。一位熟练的质检工人检测速度也只有15 m/min~20 m/min[2],并且工人会受到天气、环境、心情等一些因素的影响而出现漏检和误检等情况。利用机器视觉技术对织物进行缺陷检测就成为了学者们研究的方向。MALEK A S等人[3]利用傅里叶变换对织物纹理规律特征进行匹配,然后通过形态学分析对缺陷进行检测,但检测结果不够稳定。狄岚等人[4]利用Gabor滤波器对织物图像进行滤波处理并融合,通过特征提取出疵点,提取准确率提高,但是该算法增加了许多不必要的计算,因此检测速度较慢。沈晶等人[5]先对织物纹理进行增强然后通过分水岭算法进行图像分割得到疵点,但是存在过度分割的情况,检测结果不稳定并且时间较长,无法满足织物在线检测。深度学习在织物疵点检测实时性上有较大的提升,但检测准确性极大依赖于训练数据集的大小和多样性[6]。

本研究在现有检测算法的基础上提出了一种新的检测方法(以下简称改进算法),既保证了检测的精度又提高了检测速度,满足了织物在线检测的需求。该检测方法具体过程:首先搭建在线检测的试验平台,并且对织物图像进行采集,然后通过预处理提高织物纹理与缺陷的对比度;再对图像进行分割得到大小相同的一系列子图,然后对每张子图的灰度进行累计,通过累计灰度与平均灰度的差值快速寻找出存在缺陷的子图;其次,对存在缺陷的子图单独使用快速傅里叶变换,在频域内创建合适的滤波器进行卷积,接着利用傅里叶逆变换将频域信号转变到空域,同时消除噪声并且获得缺陷特征;最后经过阈值分割和特征提取得到缺陷区域。改进算法流程具体如图1所示。

图1 本研究改进算法检测流程图

1 图像采集试验平台搭建

织物缺陷的在线检测可以分为织物图像的采集和缺陷识别处理两部分。

将采集试验平台搭建在织机与卷曲轴之间,采集试验平台包括包胶辊、张紧机构、光源、摄像头、电控柜和计算机,如图2所示。通过张紧机构与包胶辊将织物完全展开放置在试验台上,将光源设置在摄像头的两侧,可以更好地展现出织物的纹理结构[7],并且在织机处安装速度传感器,根据传感器的信号调整卷曲以及摄像头采集图片的速度,经采集好的图片传输到计算机上进行缺陷检测,记录疵点位置,并及时反馈给电控柜控制停车补救或打标处理,减少织物下线后的二次检测过程。

2 图像预处理

由于车间环境复杂,采集到的图像往往伴随着大量的噪声,直接对图像进行缺陷识别很容易出现误检和漏检的情况,因此在进行缺陷识别前先对图片进行反转和图像增强等预处理。

2.1 图像灰度值反转与增强

由于在黑色的织物中缺陷不够明显,如图3(a)所示,在识别时不容易分辨,为此将原图像上每个像素点的灰度值进行反转,得到新图像的灰度值,如图3(b)所示。

图3 缺陷图像预处理对比图

图像增强的优势在于舍弃一些不感兴趣的信息,而强调感兴趣的特征,使处理后的图片缺陷与背景更加分明。灰度变换可以很好地调整图像的对比度,是常用的图像增强手段之一。采用分段线性变换的方法抑制不感兴趣的区域,使感兴趣的区域更加突出,图像增强后的效果如图3(c)所示。可以看出缺陷边缘轮廓变得更加清晰,从而为后面的滤波卷积做准备。

2.2 图像切割

织物具有纹理相似性,图像的背景具有相同的纹理并且占据整张图片的绝大部分,构建滤波器对整张图像进行卷积处理,大量的背景将会极大地增加卷积的计算量从而导致运算速度减慢,因此对图像进行切割得到大小相同的子图,仅仅对存在缺陷的子图进行运算,可极大减少计算量,节约时间。

本试验采用MZ2710型工业摄像头,分辨率1 920 pixel×1 080 pixel,检测速度30帧/s,并 且使用90°镜头。首先,摄像头采集图像,然后将图像间重叠的部分进行裁剪得到两张像素为900 pixel×900 pixel的图像,最后对每张图像进行图像切割处理。疵点所占像素点数量和图像切割方式是影响检测结果的两个重要因素。通过控制摄像头与织物的距离来控制图像上疵点所占的像素比例。将不同距离拍摄的图像进行识别并分析,当距离为5 cm时,疵点所占像素占图像总像素的10%~20%,可以较好反映出疵点。通过子图切割分离疵点和背景,切割规律和数量是图像切割的重点。分别对缺陷图像进行块状切割、条状切割、异形切割,图像效果分析如图4所示。可以看出,异形切割复杂,并且像素点数量难以控制;条纹切割虽简单,但条纹过长,背景占比过大;而块状切割简单,缺陷与背景占比均衡。因此,块状切割最适宜,能满足实际需求。接着,将图像切割成不同大小的n×n块子图,然后进行判断分析。当n<3时,疵点所占比例小分离阈值无法确定;当n>3时,子图过多运算时间增加,综合考虑运算时间和分离阈值选取难易程度,取n=3较为合适。

图4 不同切割方法

2.3 灰度值累计判断

图像上每个像素都有一个特定的灰度值,灰度值的大小表示该像素点的亮暗程度。由于织物具有相同的纹理,完好的织物具有较为稳定的灰度值,因此背景子图总灰度值维持在一个较小的波动范围内,但是当织物出现疵点时,灰度会发生较大的突变,将切割后的每张子图的所有像素点灰度值进行累计,并计算出灰度值方差,将灰度值方差设置为阈值,将灰度值与均值之差超过该阈值的子图设为怀疑子图,最后通过傅里叶变换对怀疑子图进行二次识别,最终得到准确的织物疵点信息。

3 缺陷检测

经过预处理后,缺陷相对背景更加明显,但是噪声还没有完全消除。在保证缺陷特征信息不被消除的前提下,将图像变换到频域的范围内,使用正弦形状的叠加带阻滤波器对图像进行去噪处理,进一步减小噪声以及背景纹理对缺陷检测的干扰。

3.1 构建带阻滤波器

首先通过快速傅里叶变换将怀疑子图的数字图像信号进行空域到频域的变换,如式(1)所示。

式中:h(r,c)为怀疑子图的数值矩阵;r、c为数值矩阵的行、列坐标;H(u,v)为怀疑子图频谱。

其次,在频域范围内构造两个阻带半径不同的巴特沃斯高通滤波器[8-11],如式(2)所示。

式中:D为滤波器的阻带半径;D(u,v)为点到滤波器中心的距离;B(u,v)为巴特沃斯高通滤波器;n为滤波器阶数。

将两个高通滤波器进行差分形成带阻滤波器,n越大,出现振铃现象越明显[12-15];n越小,卷积运算小,过渡性差,细小的干扰细节会被检测到。根据试验,选择n=3。与传统傅里叶变换使用的高斯滤波器相比,巴特沃斯滤波器的滤波介于尖锐与平滑之间,既保证了滤波的平滑度又没有失去边缘性。

将构建的滤波器在频域内进行卷积运算,如式(3)所示。其中G(u,v)为傅里叶卷积函数。

最后,进行傅里叶逆变换,将图像的频域信号转变到空间域中,见式(4)。

3.2 图像分割

3.2.1 阈值分割

图像经过快速傅里叶变换和卷积后,缺陷特征已经被保留,但是缺陷特征仍然与背景混合在一起,经过阈值分割可以很简单地将背景与缺陷特征分离出来。阈值分割原理是将占据不同灰度级范围的像素点分成若干类,极大压缩了数据量,简化了分析与处理步骤,因此运算速度快,实现简单。

首先通过Halcon软件自带的灰度直方图观察图5中的灰度值分布,可以发现缺陷集中于波峰中,而背景相对平坦。使用binary_threshold算子即可由Halcon软件自动计算出合适的阈值将缺陷和背景分割出来,如图6所示。

图5 灰度直方图

图6 阈值分割图

3.2.2 形态学变换

经过阈值分割后,背景与缺陷特征被分割出来,但分割的区域与缺陷区域还存在着较大的形态误差,将分割后的区域进行形态学变换,使两区域更加吻合。对区域进行闭运算即先膨胀运算后腐蚀运算,将较大的区域联合在一起,并且利用填充运算将区域中间的空洞进行填补,形成一块完整的区域,如图7所示。

图7 形态学变换

3.2.3 缺陷提取

织物在生产过程中主要会形成破洞、棉粒等缺陷,缺陷的形状、长、宽以及灰度特征都不具备一定的规律性,因此选择面积作为筛选条件,在Halcon软件中使用select_shape算子,将条件为area参数在30~9 999范围内的缺陷特征提取出来。

3.2.4 子图合并

当缺陷检测完成后,为了更加直观地显示原图像缺陷位置,因此将所有子图按照原排列顺序进行合并,恢复原来的图像,再显示检测结果,如图8所示。

图8 检测结果显示

4 对比分析与结果讨论

4.1 试验对比与分析

为了验证改进算法在准确率和检测速度上的优势,将同一批织物缺陷分别使用传统傅里叶变换算法(以下简称传统算法)和改进算法进行检测,对两者的检测结果和时间进行比较分析。

图9展示了两组具有代表性的结果对比图。可以看出,在寻找缺陷区域上,改进算法寻找到的区域轮廓与缺陷区域轮廓更加贴合;在检测结果上,传统傅里叶变换算法会受到噪声的干扰,从而引起误判和漏判等情况的发生。

表1是将检测试验重复进行10组,分别记录两种检测算法的检测准确率和检测时间。可以看出,传统算法的平均准确率为92.89%,平均检测时间为219.01 ms;改进算法的平均准确率为97.66%,平均检测时间为178.15 ms。改进算法在准确率和平均用时上都有明显提高。

图9 检测结果对比

表1 检测结果对比

4.2 检测准确率分析

为了进一步分析改进算法的检测准确率,利用相机在现场随机采集500张图像,其中带有缺陷图像和合格图像各占250张,再将这500张图像随机等分成10组并进行准确率检测,检测结果如表2所示。可以看出,改进算法的检测准确率较好,平均准确率可达98.2%。

表2 试验图像准确率

4.3 稳定性测试分析

在实际生产的过程中,由于工作现场的环境过于复杂,并且影响检测结果的因素易于变化,因此算法的稳定性是判别算法好坏的重要参数。将能够准确检测的缺陷图片和合格图片各选50张并分成合格组与不合格组,再将试验环境进行不同程度的改变,对两组图像进行30次重复性试验,统计准确率结果如表3所示。可以看出,改进算法对不同环境的适应性良好,具有较高的稳定性。在不同环境下,合格组的检测准确率达到了98.80%,不合格组的准确率也达到了98.93%。再将每组的平均检测时间绘制成折线图,如图10所示。可以看出,合格图像的平均检测时间为105.91 ms,不合格图像平均检测时间为178.84 ms,满足实时检测的需求。

表3 稳定性试验准确性结果

图10 试验检测时间统计结果

4.4 适应性测试分析

为了验证改进算法所适应的疵点类型,分别对破洞、油污、棉球、粗结、霉斑、杂物、缺经、缺纬、双经、双纬、经缩、纬缩等10种常见织物缺陷进行检测,数据汇总如表4所示。

由表4可知,改进算法对区域型缺陷如破洞、油污、霉斑和离散型缺陷如棉球、粗结、杂物的检测准确率较高,均在90%以上,但是在纹理型缺陷如缺经、缺纬、经缩、纬缩的检测准确率仅有50%~60%。

表4 缺陷检测适应性结果

5 结论

为了减轻质检工人的劳动强度,提高检测准确性与效率,本研究基于机器视觉的传统傅里叶变换检测算法提出改进,将完整的织物图像进行切割得到多张子图,并对子图进行灰度累计并判断,将灰度值相近的背景首先剔除,再对怀疑子图使用巴特沃斯高通滤波器在频域内进行卷积处理,并通过阈值分割和特征提取进行缺陷识别。与传统算法相比,改进算法经过两次判断首先剔除大量背景减少运算时间,然后使用巴特沃斯高通滤波器进行滤波,边缘信息更加准确明显,因此检测的准确性和时效性得到较大提高。通过对实际生产过程中产生的区域型缺陷和离散型缺陷进行检测和结果分析,改进算法的平均检测时间为178.15 ms、平均准确率为97.66%,而传统算法平均检测时间为219.01 ms、平均准确率为92.89%。本研究改进算法在检测准确率和检测时间上都有明显的改善,具备实时检测的条件,且鲁棒性良好。但是在纹理型缺陷的检测上,与传统算法相比,改进算法的准确率略有提高,仍有提升空间。

猜你喜欢
疵点子图滤波器
基于Cascade RCNN 和二步聚类的织物疵点检测
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
基于总变差的织物疵点分割方法
喷丝板疵点检测系统设计
异构属性网络中统计显著密集子图发现算法研究
基于FPGA的图像疵点处理设计与实现
基于Spark 的大规模单图频繁子图算法
从滤波器理解卷积
不含3K1和K1+C4为导出子图的图色数上界∗