经编布匹瑕疵点检测方法

2020-09-15 05:58崔旭东王平江
关键词:布匹疵点经编

崔旭东,黄 成,王平江*

(1.鞍山师范学院 计算中心,辽宁 鞍山 114005;2.华中科技大学 国家数控工程中心,湖北 武汉 430074)

新生产的布匹上疵点的检测,如果采用人工凭肉眼进行检测,难免产生很多问题.随着机器视觉技术的发展,人们将该技术应用于布匹疵点的检测[1-2].目前世界上基于视觉的布匹疵点检测技术,在梭织布、无纺布疵点检测方面有了很好的发展[3-6].

然而,对于经编布来说,由于制造工艺的原因,所生产的布匹虽然具有弹性好、可形成独特的花纹及色泽鲜艳、样式美观,但是织线间距大、纹理显著,使得当采用机器视觉方法进行布匹疵点检测时:或者由于疵点的面积大小与网格大小比较接近,而产生误检;或者由于布匹本身的纹理特性将疵点隐没,尤其是对于经过染整后的经编布;或者不同颜色纱线混合编制的经编布,现有的机器视觉检测技术更难于准确地检测出疵点.同时,经编布的疵点种类高达数十种,造成适用于纬编布匹疵点检测的机器视觉的技术,不能满足经编布匹高速生产环节中疵点的在线检测[7-8].

论文通过对经编布匹上疵点的特点分析,提出了适合于经编布匹疵点的视觉检测方法.

1 经编布匹瑕疵点图像处理

在利用机器视觉技术对布匹疵点进行检测时,主要步骤为经编布匹在线图像采集、图像处理[9]、疵点识别(疵点特征提取与分析)、疵点分类、疵点位置定位及形成布匹疵点报告等几个步骤,能否根据所采集的图像准确且高速识别疵点是这几个步骤中最关键的技术[10-11].

1.1 常见的经编布匹疵点种类

图1所示为几种典型的经编布匹纹理及疵点的类型.不难看出,由于编制工艺的原因,经编布匹的纱线不仅粗大结实(以增加其抗拉强度),而且纱线之间的间隔较大(亦即网纹粗大不密实),粗大的网纹间隔极易在布匹疵点检测时被误检为疵点,或者疵点隐藏在纹理之中,使得经编布匹疵点检测与密实编制的纬编布相比更加困难.因此要想对经编布匹图像进行瑕疵检测时仅保留疵点的基本特征信息,而又干净地过滤掉大片的纹理区域,须将疵点区域与正常纹理部分准确区分分割开来.

图1 几种典型的经编布匹疵点

1.2 图像预处理方法的确定

为了确定预处理的方法,论文向原始图像的灰度图中加入椒盐和高斯噪声[12],利用中值滤波、高斯滤波和邻域平均滤波3种预处理方法进行去噪处理,并对比去噪前后的图像和灰度直方图,以判断几种预处理手段的去噪效果和关键信息保留的能力.

研究表明,虽然平滑滤波处理可以有效减少经编布匹正常纹理对于疵点检测的干扰,但是也很容易将细小的疵点一起滤掉,故不能将平滑滤波的方法应用于经编布匹疵点检测的预处理.高斯滤波相对于中值滤波的图像预处理,可以得到更好的检测效果.

1.3 经编布匹疵点图像分割方法

将破洞的疵点图像(如图1(e)所示)作为图像分割算法选择的测试样本,对其分别进行平滑、高斯和中值滤波,再进行边缘增强和阈值分割的操作,最终处理结果如表1所示.

表1 对去噪后的破洞类疵点进行图像分割的处理结果

表1所列的各种边缘增强算法中,均丢失了较多的疵点信息,只有二值化处理能够较好地保留疵点的原始信息,但是固定的二值化阈值并不能保证每次都是合适的分割阈值,导致其难以对不同类型疵点都达到理想的检测效果.因此在对图像进行阈值分割处理时,需要有一种方法来让系统自动判别每一次的分割阈值,最大限度地保留疵点的原始信息,为此论文引入最大熵阈值分割的方法.熵是用来衡量某个观察对象(系统)信息分布均匀程度的数学概念,信息分布越均匀则表明信息熵越大,系统的不确定性就越高、越无序.在图像中灰度等级即信息,因此在图像处理中,当图像具有最大熵时,即代表此时的图像具有最大信息量.将熵的概念引入图像分割,其目的是有效分割图像的前景和背景区域,使得前景与背景在其各自的区域内都具有最大熵,从而实现提取图像中的疵点部分,将经编布匹的正常纹理剔除.

在带有疵点的经编布匹上,疵点区域像素的灰度级彼此接近,正常纹理区域像素的灰度级同样也彼此接近,它们在各自的灰度区间里分布相对均匀,即在各自的灰度区间里均具有较大的局部熵.由于图像整体的灰度分布并不均匀,需要找到一个合理的阈值,以期望将细小、狭长至大片的疵点区域同明显的正常纹理区域区分开来.该阈值两侧像素区域内的灰度级在各自区间都是均匀分布的,即在该阈值两侧的局部熵越大越好.亦即,在阈值两侧的局部熵累加起来具有最大值时,该阈值便可以将疵点区域和正常纹理区域准确地区分开,使疵点部分的信息能够被最大限度地保留,以便有效识别与获取疵点区域(面积大小)、类型及其位置等信息.

最大熵分割的疵点检测方法,是遍历每一个灰度级,并将每个灰度级(且该级灰度下的像素数目不为零)作为分割阈值对图像进行操作,利用该阈值划分前景和背景区域,分别计算图像的前景熵和背景熵,二者相加得到累积熵,最后选择具有最大累积熵时的阈值作为分割阈值.

2 基于改进的最大熵阈值分割的疵点检测方法

2.1 改进最大熵阈值分割

由前述可知,在进行最大熵阈值分割时,算法可能需要遍历0~255个灰度级,依次让这256个灰度级作为阈值来分割图像,并以此来统计计算图像阈值为何值时分割的图像具有最大的累积熵.该种遍历的方法,虽然具有最好的分割效果,然而在实际生产中布匹运行速度非常快,每次检测都遍历所有的灰度级会严重影响检测的实时性,因此论文针对这个问题提出了改进方法.

观察各种经编布匹图像的直方图发现,无论原始图像还是对图像进行高斯滤波预处理后,其灰度直方图中的灰度级会高度集中在一个单峰区间内.在布匹的污渍疵点图像(图1(c))中,疵点颜色较正常布匹颜色更深,灰度级更低;在布匹的棉结疵点图像(图1(d))中,疵点颜色较正常布匹颜色更浅,灰度级更高.因此论文选取背景纹理相同的污渍和棉结疵点图像作为对比样本,预处理方式为高斯滤波,高斯函数的σ参数值设定为2,迭代次数为两次,显示结果如图2所示.

观测图2中滤波前后的灰度直方图可以发现,经高斯滤波的平滑处理后,污渍疵点的峰值点灰度值为177,最大熵分割阈值为147,而棉结疵点的峰值点灰度值为182,最大熵分割阈值为203,两种疵点图像的直方图均集中在[130, 230]的单峰区间内,且灰度分布更狭窄了.在经过预处理后,污渍疵点图像中灰度级小于147的像素被归类为目标疵点区域,大于147的像素被归类为背景纹理区域,最大熵分割阈值小于其灰度直方图峰值点所在灰度级;而棉结疵点图像中则是灰度级大于203的像素被归类为目标疵点区域,小于203的像素被归类为背景纹理区域,最大熵分割阈值大于其灰度直方图峰值点所在灰度级.

不论疵点颜色灰度级大于或小于正常布匹纹理的灰度级,最大熵分割的阈值总是在预处理后灰度直方图峰值点前后的一定大小区间内,因此可以对最大熵阈值分割方法做出改进,以避免遍历计算所有的灰度级而消耗时间.理论上,最大熵阈值分割的过程中遍历的灰度级数量多达256个,而实际检测中由于高斯滤波预处理的作用,使得图像的灰度级高度集中于某个单峰区间,因此算法运行时需要遍历的灰度级并不需要达到256个.

通过大量测试实验可知,阈值点的分布总是在灰度直方图峰值点前后50个灰度范围以内.因此,在对图像利用高斯滤波进行预处理后,可以求得其灰度直方图峰值点所在的灰度值,令其为p,则得到最大熵分割的阈值点可能存在的区间为[p-50,p+50].若出现p-50<0的情况,则将遍历的灰度级区间改为[0, 100],若出现p+50>255的情况,则将遍历的灰度级区间改为[155, 255].改进后的最大熵阈值分割方法只需要遍历这101个灰度级即可得到最大熵分割阈值T,这将有效减少熵计算的运行时间,提高检测的实时性.将改进后的最大熵阈值分割方法应用于布匹检测的流程如图3所示,改进后的算法在预处理后图像上的取值区间如图4所示.

图4 改进后最大熵算法的阈值取值区间

2.2 连通域优化下瑕疵点定位

外来纤维疵点(图1(f))作为测试对象,最大熵阈值分割的初步处理后,布匹疵点的原始图像被转化为了二值图像,如图5所示.

由此可知,最大熵分割的阈值可以将原始图像中绝大多数疵点信息保留,并能清晰地将疵点区域与布匹正常纹理部分区分开来.从图5(c)中可以看到,依旧存在部分正常纹理被判定为目标疵点区域,形成了干扰噪声区域.在利用MATLAB对二值图像进行处理时,系统默认黑色像素点为背景,白色像素点为前景,而在所有的图像处理中,形态学操作都是面向前景部分进行的,因此在通过最大熵阈值分割初步获得的二值图像中可能存在以下3个问题:①图像前景背景划分错误.疵点存在的形式种类繁多,不同类型疵点间的灰度级差异很大,因此在初步得到最大熵阈值分割的图像后,应该判别目标疵点的像素点是否被设置为前景;②二值图像的4周边界出现了部分黑边;③在原始疵点灰度图像中,部分布匹正常纹理区域在二值图像中被错误判断为目标疵点区域.

为了解决问题①,在最大熵阈值分割处理后,通过计算白色像素点在二值图像中的占比来判断图像的目标疵点区域是否被正确设置为前景.在不考虑大面积坏布(颜色渐变而产生)的情况下,疵点区域的大小通常远远小于正常布匹区域的大小,因此若白色像素占比高于1/2,则说明系统将目标疵点区域错误判定为背景,此时对二值图像进行颜色反转操作;若白色像素占比低于1/2,则保持原二值图像输出即可.

为了解决问题②,论文将预处理后的图像部分边缘进行裁剪,具体边缘裁剪的像素行个数则需要根据实际相机采集图像的分辨率来确定,裁剪的目的是消去图像边缘区域在滤波时产生噪声对疵点检测造成的影响.而对该部分边缘的补偿可以由相机对经编布匹图像重复覆盖采集获得,并将补偿的部分在采集到的相邻图像中显示,以确保系统采集布匹信息的完整性.

通过上述两种方法的处理,可以将图5(c)中的疵点布匹图像获得如图6所示的显示效果.

图6 初步优化和最终优化后的图像

由图6(a)看到,通过初步优化后的二值图像的疵点信息可以较为完整地显示出来.但是问题③依旧没有得到解决,解决这个问题的核心是提高二值图像中的信噪比,为此引入连通域的概念.对连通域进行形态学去噪处理时,可以选用一个小块连通域作为结构元素,利用结构元素可以与目标检测连通域进行腐蚀、膨胀和开、闭操作.初步优化后的二值图像经过优化去噪后获得的最终二值图像如图6(b)所示.可以看到,目标疵点区域正常纹理部分得到了非常好的分割,且目标疵点部分为二值图像的前景,布匹正常纹理部分为二值图像的背景,没有多余噪声干扰,疵点区域也得到了最大限度的保留.

通过以上操作得到了一个较为准确的布匹疵点二值图像,其中疵点部分为白色前景,布匹正常纹理部分为黑色背景.为了能够在检测出布匹疵点的同时获得疵点的准确位置,选择利用连通域的重心坐标作为疵点区域位置的表示方法.连通域重心可通过MATLAB中的regionprops方法获得,regionprops可以获得连通域的包括重心属性(centroid)和边界属性(boundingbox)在内的多种基本属性.在提取到目标疵点连通域的重心后,用MATLAB对目标疵点区域进行重心和轮廓绘制,绘制时依旧可以选用regionprops方法进行操作.由于只需要对经过优化后的二值图像进行操作,因此可以选择MATLAB中的hold on和hold off命令确保操作对象的正确性.

通过上述操作可以获取到目标疵点连通域的重心信息,并可显示重心和轮廓在二值图像的具体位置,如图7所示.

图7 疵点连通域质心与轮廓图

通过图7和图5(a)中的原始疵点图像的对比,可以发现原图中的疵点部分区域被清晰地表示了出来,利用绘制连通域的重心和轮廓也较好地达到了对疵点检测和定位的目的.

3 实验结果与分析

论文选择了一幅带有外来纤维疵点(图1(f))的经编布匹的照片作为测试对象,利用灰度直方图对测试样本图像去噪前后的效果进行分析,如果去噪后图像的灰度直方图与原始图像的灰度直方图一致性好(实际上是以峰值信噪比作为评价的客观准则),说明去噪效果好.原始灰度图像加入高斯噪声和利用几种预处理方法去噪前后的灰度直方图如图8所示.

图8 几种滤波方法对高斯噪声去噪后的灰度直方图

由图8(c),(d)可见,在经编布匹的灰度图像加入高斯噪声后,中值滤波和高斯滤波的直方图与原始图像的直方图很好地重叠在一起,说明这两种滤波方法都可以获得较好的去噪效果,能将原灰度图像的大部分信息保留下来.同理,在测试样本的原始灰度图像加入椒盐噪声,分析上述滤波方法去除噪声的能力,依旧是中值滤波和高斯滤波可以获得较好的去噪效果.结合表1的处理结果,最终决定采用高斯滤波预处理方法用于实际图像预处理.将有疵点的和无疵点的布匹照片作为输入,通过相应步骤的处理后,将得到的疵点图像及其中心坐标作为输出,判断有无错检、漏检现象的产生.限于篇幅,仅列出3张布匹疵点图像的检测结果(实验选择了14张布匹疵点图像作为测试对象),疵点类型分别为污渍、棉结和破洞,见图9和表2.设定该次实验选用的预处理方式为高斯滤波,公式中的σ参数值设定为2,高斯滤波的迭代次数为两次.

图9 经编布匹疵点检测实验结果

表2 经编布匹疵点检测实验结果

由实验结果的统计信息可以得到以下结论:①该方法用于检测疵点时,可以对疵点的轮廓和位置进行精准的描述,在测试14张布匹疵点图像时,准确率达到了100%.当扩大样本数量后,选取100张经编布匹图像作为实验样本,其中20张为正常布匹纹理图片,根据相关的计算方法可以得到该实验的准确率达到95%,误检率为5%,漏检率为5%.②该方法适用范围较广泛,能检测出数十种以上明显疵点,相较于现有的常见方法,具有较好的普适性.③表2中最右列显示的是该算法在处理该图片时运行一次的平均时间,大多数情况下算法的运行时间都能保证在0.1 s以内.上述图片的大小均为256*256 pixel,线阵CCD相机的采样行频为1 024 Hz,因此0.1 s形成的像素行个数约为103个,远小于该次实验的256行像素点,而在布匹横向部分的幅宽可以在采集到图像后分割为多个子图像,采用多线程并行处理.由此可知,在t时间内采集到的布匹图像,使用该算法检测的时间小于采样时间,因此该算法满足生产需求,在实际应用中能够具有较好的实时性.④通过高斯滤波后的灰度直方图可以看出,在经过高斯滤波处理后的图像中,灰度级的分布高度集中,最大熵分割阈值点所在的灰度级总是分布在灰度直方图峰值点所在灰度值±50个灰度级范围内,所以使用改进的最大熵阈值分割方法可以有效提高算法的运算速度.⑤从高斯滤波后的灰度直方图可以看出,当疵点颜色深于布匹颜色时,布匹正常部分的灰度级分布几乎全部集中于最大熵分割阈值的右侧;当疵点颜色浅于布匹颜色时,布匹正常部分的像素点灰度级分布几乎全部集中于最大熵分割阈值的左侧.由此可知,在图像进行了最大熵阈值分割后,系统对图像前景和背景的区分尤为重要,否则在对疵点进行二值化时便可能将存在疵点的目标区域误认为是背景,产生错误的疵点区域的划分,造成检测结果出现偏差.

4 结束语

论文将最大熵阈值分割和连通域分析的方法引入经编布匹疵点检测和定位中,并且为了提升检测效果进行了算法的优化改进,使得该算法能够准确检测出常见的数十种经编布匹疵点.在检测出疵点的同时,系统可以自动输出疵点中心坐标及其面积,通过人机交互界面向检测人员发出预警信息并及时停机处理,具有高度自动化的特征.

猜你喜欢
布匹疵点经编
基于Cascade RCNN 和二步聚类的织物疵点检测
基于总变差的织物疵点分割方法
喷丝板疵点检测系统设计
基于FPGA的图像疵点处理设计与实现
独 坐
与辉煌同行 十年经编走出万里路
选择的价值
经编十年 辉煌与创新同行
润源经编:不止是花边机
有漏洞的账本