APP下载

基于L0梯度最小化和K-Means聚类的织物缺陷检测研究

2021-03-05张团善李秀昊

轻工机械 2021年1期
关键词:像素点纹理梯度

刘 纪, 张团善*, 李秀昊

(1.西安工程大学 机电工程学院, 陕西 西安 710600; 2.中国科学院广州先进技术研究所, 广东 广州 511458)

纺织领域中织物的生产过程涉及多个环节,其中产品质量控制是保障效益最为关键的步骤。影响产品质量最重要的因素就是织物表面缺陷。在生产过程中由于各种原因会产生多种不同类型的缺陷,目前,纺织行业定义了70多个类别的织物缺陷[1],这些缺陷影响织物的品质和销售,因此织物缺陷检测至关重要。现阶段主要依靠人工检查,但由于人的局限性,检测结果经常出现人为误差,因此,人工检验不能满足质量和控制要求[2]。

针对织物表面缺陷,大量研究和实践提出了许多织物缺陷检测算法,主要分为基于统计、频谱、模型及学习等自动化检测的算法[3]。基于统计的方法使用一阶统计和二阶统计来提取纹理分类中的纹理特征。常见的方法包括共生矩阵,分形维数法,互相关函数等方法[4-6]。例如Zhang等[4] 82利用局部二值模式(LBP)和灰度共生矩阵(GLMC)分别提取缺陷图像的局部特征信息和整体纹理信息,然后将两部分特征信息作为输入训练BP神经网络,用来分类不同类型的缺陷。这种方法适用于纹理周期性强的纺织品。基于频谱的方法主要包括 Gabor 滤波器、小波变换和傅里叶变换等[7-9]。例如,Li等[8] 589基于多尺度小波变换和高斯混合模型开发了一种缺陷检测算法,大大提高了检测效率。首先,分别使用“金字塔”小波分解算法和小波阈值去噪处理缺陷图像,对生成的小波系数进行重构。获得新图像后,应用期望最大化(EM)算法的高斯混合模型对新图像进行缺陷分割。该类方法可有效提取缺陷的特征,但对于格状和条状织物检测效果较差,适应性较低。基于模型的方法有自回归模型、马尔科夫随机场模型等[10-11]。例如,Cohen等[11] 805使用高斯马尔可夫随机场(GMRF)建立无缺陷的织物模型,其检测过程是对 GMRF法获取的统计数字进行假设检验,将测试图像分为非重叠的子块,然后判定每个子块有无缺陷。这种方法可检测纹理结构相对简单、颜色单一的织物缺陷,适合断头、断针等缺陷的检测,但是这种算法复杂度高,检测耗时长。基于学习的方法主要应用卷积神经网络[12-14]来检测织物表面缺陷。例如,Liu等[14] 3391提出了一种基于生成对抗网络(GAN)的织物缺陷检测框架,首先使用样式标签和实际缺陷训练条件生成对抗网络(CGAN)生成不同类型的缺陷,然后使用合成图像和实际缺陷图像训练另一个生成对抗网络,生成具有适当融合缺陷的图像,最后将混合数据集输入进deeplab v3网络检测缺陷,但是耗时时间长、不易部署且稳定性较差。

为解决上述问题,课题组设计了一种基于L0梯度最小化和K-means聚类的织物缺陷检测方法,提高了纺织工业生产设备的自动化程度。

1 织物缺陷检测方法

课题组提出的缺陷检测方法过程如图1所示,主要包括图像平滑、图像聚类、二值化等步骤。首先使用L0梯度最小化平滑图像,然后将平滑后的图像使用K-means算法聚类分割,最后,二值化聚类后的图像。

图1 缺陷检测算法流程图Figure 1 Flow chart of defect detection algorithm

1.1 图像平滑

织物图像中的噪声点和阴影是影响缺陷检测的关键因素,图像平滑的目的在于保护图像边缘,去除图像背景纹理信息和无意义的细节。而目前大多数图像平滑算法很难做到去除细节和边缘保护二者之间的平衡。为此,使用L0梯度最小化平滑图像,在去除背景纹理信息的同时去除图像的噪声和多余的信息。

L0梯度最小化平滑最早由香港中文大学徐立等人提出[15],是一种零梯度范数保留边界信息的全局平滑方法。

L0范数为向量中不为零的元素的个数,用来描述梯度的稀疏性时一般作为平滑项,对图像进行L0梯度最小化平滑步骤如下:设织物的输入图像为I,平滑后输出的图像为S,S在图像中任一像素p处的梯度可以用Sp=(∂xSp,∂ySp)T表示。其中x,y表示图像在横纵2个方向的坐标值。在图像中任一像素p处的梯度值定义为:

C(S)=#{{p||∂xSp|+|∂ySp||≠0}。

(1)

式中:#{}表示计数,C(S)为p的幅值|∂xSp|+|∂ySp|不为零的个数,∂xSp,∂ySp分别表示x和y方向上的梯度。

输入的织物缺陷图像需要限制水平和垂直2个方向的梯度数目。因此,平滑后输出的图像S可以定义为:

(2)

式中:λ为权重系数,用来调节图像的平滑程度;Sp为输出图像在像素p处的值;Ip为输入图像在像素p处的值。

输出图像的目标函数在建模过程涉及像素差值和全局不连续项,因此传统的优化方法不能解决该问题,所以引入辅助变量(h,v)将正则项C(S)变为局部约束C(h,v)。则目标函数定义为:

(3)

式中β为调节参数,用于控制引入变量(h,v)与对应梯度的相似性。

1.2 缺陷分割

织物图像经过平滑后去除了纹理背景和噪声点的影响,图像呈现出缺陷位置和背景的二类簇分布。1967年MacQueen等[16]提出的K-means聚类算法易于实现且快速高效,因此笔者采用K-means聚类算法对平滑后的图像实现缺陷的分割。

K-means 算法的核心思想是通过多次迭代产生聚类结果,首先选取K个聚类中心,由于本文是分割缺陷和背景,所以K值默认为2。设p为织物图像S中的像素点,xi为p中的数据对象,μi为p中所有点的均值。则目标函数定义为:

(4)

式中Je为数据对象和其所在簇质心的平方误差和。

为求解目标函数(4)的最优解,算法的步骤如下:

1) 随机选取2个对象作为初始聚类中心。

2) 计算样本点到2个聚类中心的欧式距离,分配样本点到离该点最近的聚类中心。

3) 更新聚类中心,再次计算类别中样本点的均值更新聚类中心,公式为;

(5)

4) 不断重复步骤1)和步骤2),直至目标函数收敛。

利用K-means算法将图像分为缺陷聚类中心和背景聚类中心,判断像素点的归属,从而实现缺陷的分割。

2 实验及结果分析

为了验证我们提出的织物缺陷检测算法的性能,使用Python3.5和OpenCV编程实现,所采用的硬件为一台搭载Intel酷睿i7-8700k处理器的Windows 10计算机。使用工业CCD相机获取纺织厂织物缺陷数据集,并将图像大小调整到(670×436)像素。部分织物图像如图2示。

图2 织物缺陷样本Figure 2 Samples of fabric defects

2.1 织物图像平滑参数选择

图像平滑过程中,经过处理的图像明显呈块状分布,图像中的噪声点和背景纹理被较好的平滑。因为算法保留了图像边缘,因此,缺陷边界被完整保存,图像中其余细节部分被磨平。为了获得最佳平滑效果,需要调节平滑权重系数λ。λ值越高,图像细节保留就越完整,限制梯度的个数就会较低。平滑后结果如图3所示。

为了获得最佳参数λ,使用MATLAB图像处理工具箱展示了平滑后全局图像的细节信息以及边缘保留情况。综上实验,选取λ=0.06为平滑最佳参数,结果如图4所示。

2.2 织物缺陷检测结果

利用K-means聚类算法对平滑后的缺陷图像进行聚类分割。实验结果证明,在去除了背景纹理和噪声点的缺陷图像中,属于缺陷的像素点能够被准确清晰地分割出。为了清晰地表达缺陷位置,对聚类后的缺陷图像做二值化处理,结果如图5所示。

图5 织物缺陷检测结果Figure 5 Detection results of fabric defect

3 结语

课题组针对织物缺陷的自动化检测提出了一种基于L0梯度最小化平滑和K-Means聚类的检测方法。为了降低缺陷图像背景和噪声点的影响,通过实验的方法给出了最佳平滑参数的取值,为后续缺陷分割提供了高效稳定的保障。缺陷检测利用K-Means算法直接完成缺陷像素点和非缺陷像素点的聚类,从而实现织物缺陷的自动化检测。实验结果证明:课题组提出的检测方法可靠性较高,提高了检测效率,降低了检测时间。将来计划对检测算法做适当的修改,使得算法对缺陷检测率更高,更好地适应工业生产。依据文中提出的方法,构建一套数码印花织物点状缺陷检测系统是下一步的研究重点。

猜你喜欢

像素点纹理梯度
磁共振梯度伪影及常见故障排除探讨
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
基于BM3D的复杂纹理区域图像去噪
一个具梯度项的p-Laplace 方程弱解的存在性
使用纹理叠加添加艺术画特效
基于像素点筛选的舰船湍流尾迹检测算法
基于AMR的梯度磁传感器在磁异常检测中的研究
基于canvas的前端数据加密
TEXTURE ON TEXTURE质地上的纹理