APP下载

布匹瑕疵检测算法研究进展

2023-12-18程汉权熊继平陈经纬

计算机时代 2023年11期
关键词:图像处理深度学习

程汉权 熊继平 陈经纬

关键词:深度学习;织物瑕疵;图像处理;瑕疵检测

中图分类号:TP29 文献标识码:A 文章编号:1006-8228(2023)11-16-06

0 引言

布匹瑕疵检测是纺织业中至关重要的环节。布匹存在近百种不同的瑕疵类型,而且即使是同一种瑕疵,其形状和大小也存在差异。目前,布匹瑕疵检测的手段还是以人工背光检测为主[1]。人工检测需要很高的熟练度,劳动强度大,靠人工检测质量难以保证。

由于手工检测存在主观性和低效性等问题,自动化布匹瑕疵检测技术逐渐受到了广泛关注及研究。目前计算机视觉瑕疵检测方法分为传统方法和深度学习方法两大类。传统方法大致可以分为四类:基于模型、基于频谱、基于字典和基于统计。深度学习方法主要包括深度卷积神经网络和生成模型,具体分类如图1 所示。

1 常见瑕疵种类及成因

同一个批次的产品往往因一个瑕疵品受到影响。第一,产品质量会直接影响到布匹企业的名誉和市场份额。第二,瑕疵产品会打乱产品的销售量导致滞销,从而浪费企业资金和原材料。织物瑕疵通常是由机器工艺落后、纱线质量不佳、环境因素、织物中夹杂着杂质和工人的操作不当等原因造成的。国家标准GB/T 17760—2019《印染布布面疵点检验方法》中根据瑕疵产生原因将布匹疵点划分为98 种类别。部分常见瑕疵见表1。

由表1 可见,布匹的瑕疵具有复杂性和多样性,如表面瑕疵的大小、颜色、形状和位置等方面都存在着显著的差异。由于瑕疵形成的原因有多种多样,因此不同类型的瑕疵呈现出的外观也千差万别,甚至相同类型的瑕疵在外观上也会存在明显的差异。具体外形可见部分瑕疵可视化如图2 所示。

2 基于传统机器视觉的布匹瑕疵检测方法

与深度学习中的端对端的训练检测方式不同,传统的检测方法通过图像处理方法提取布匹的纹理特征,并对其定量和定性描述,实现瑕疵检测。基于传统的布匹瑕疵检测方法包括三个部分:图像预处理、图像特征提取和图像识别分类。具体流程如图3所示。

2.1 基于模型的方法

基于模型的布匹瑕疵检测方法先利用一些已知良品布匹图像来构建一个模型,该模型能够表示出良品布匹的纹理特征和结构特征等。然后将待检测的布匹图像输入到该模型中,利用模型生成的纹理特征和结构特征进行检测,判断该布匹是否存在瑕疵。

杨晓波[2]将Gaussion-Markov 随机场(GMRF)应用到布匹瑕疵检测,利用模型参数构造距离统计量,区分正常区域的纹理和特诊畸变区域的纹理,实现瑕疵的自动检测。Cohen 等人[3]利用GMRF 对正常布匹图像建模,将待测图像划分为N×N 大小的不重叠的窗口,计算每个窗口与模型参数的最大似然估计,实现瑕疵检测。姚登辉[4]基于时间序列图像处理的方法,对两个方向上的联合投影序列进行分析,通过应用AR 谱原理,确定了投影序列中的最高谱峰位置和峰值,从而可以区分出正常纹理和疵点。Ozdemir 等人[5]研究了一种以马尔可夫随机场(MRF) 作为纹理模型的方法和一种基于Karhunen-Loeve 变换的新方法,用于纺织物缺陷检测。朱俊岭等人[6]采用AR 模型谱估計对布匹纹理图像建模,得到方差序列,通过计算疵点图像和正常纹理图像谱估计之间得相关系数得到疵点类型和位置。

尽管MRF 是一种强大的建模工具,但它存在一些问题。MRF 模型通常需要手动构建特征,这需要领域专家的知识和经验,并且可能导致模型无法有效地适应新的数据。自回归模型对数据需求高,受初始条件影响。

2.2 基于频谱的方法

基于频谱的布匹瑕疵检测方法的核心思想是使用Gabor 变换和傅里叶变换等技术将纹理图像从空间域转换为频率域,然后利用滤波器去除布匹的纹理特征来检测缺陷。

Sakhare 等人[7]采用谱域和空间域方法对织物瑕疵进行检测和分类,谱域只能检测瑕疵是否存在,空间域可以检测出瑕疵类型和位置。刘伟斌等人[8]提出频谱滤波的织物疵点检测方法,采用傅里叶变换获得含有疵点的频谱图,利用设计好的滤波器分离纹理信息,进行灰度图重构,分割出织物疵点。王鹤翔[9]提出基于SVM 和小波变换的织物疵点检测与分类,利用自适应小波变换对织物图像进行特征向量的提取,利用一对一SVM 分类器进行分类。顾箐等人[10]提出基于局部熵和小波变换的织物疵点检测方法,采用不完全重叠等大的局部窗口提取图像的局部熵,但只针对纬向疵点、径向疵点、区域类疵点这三类。杨亚[11]提出基于正交小波分解的织物疵点检测方法。尉苗苗等人[12]提出一种新的基于最优Gabor 滤波器的轻编织物疵点检测方法,检测分为学习阶段和检测阶段。汤晓庆等人[13] 提出一种基于方向梯度直方图(HOG) 特征和Gabor 滤波的织物疵点检测算法。景军锋等人[14]提取布匹的熵图像,对熵图像进行Mean Shift 平滑滤波,提出了一种基于Mean shift 滤波的织物疵点检测方法,实验比较发现该方法优于Gabor 滤波。

使用傅里叶变换可以有效消除布料表面纹理对缺陷检测的干扰,而采用小波变换则更适合实现对局部缺陷的分类。但是基于频谱分析法的每个操作只适用于特定的结构和类别。

2.3 基于统计的方法

基于统计的缺陷检测方法的主要思路是通过对布匹图像提取统计信息,从而获得纹理信息。实现布匹瑕疵检测的主要方法有:直方图统计法、局部二进制和灰度共生矩阵等。

闵信军[15]通过使用超像素分割和显著性滤波等技术,从布匹图像中自上而下地提取出显著性特征,并将这些特征进行融合,以获得布匹图像中的视觉显著性区域。孙国栋和他的团队[16]将灰度共生矩阵与反向投影技术结合起来,提出了一种基于GLCM 的反向投影方法。李小宁等人[17]提出一种结合梯度共生矩阵-自适应中值滤波和灰度的织物质量检测方法。并对含7 种缺陷的纺织品样本进行GGCM 特征提取。郝阳[18]采用灰度共生矩阵(GLCM)对布匹图像提取特征值,利用K 近邻算法进行布匹种类的分类。刘海等人[19]采用图像分块方法提取梯度方向描述子,并进行聚类构建字典,提出一种基于梯度方向直方图袋的特征提取方法。何峰等人[20]提出一种基于窗口跳步形态学法的纹理织物疵点检测算法,以解决生产速度过快所导致的织物抖动和检测速度无法跟上的问题。该算法达到或超过80m/min 的检测速度。李春雷等人[21]提出了一种织物瑕疵检测算法,该算法基于低秩分解和方向梯度直方图,该算法利用方向交替方法生成稀疏矩阵和低秩矩阵,并对稀疏矩阵进行分割,以定位瑕疵区域。同时,针对特征矩阵构建了有效的低秩分解模型。Wang 等人[22]针对织物图像分层问题提出一种基于计算灰度矩阵特征值的CUDA K-means 并行算法,可以实现多个K 值的搜索,还可以进行K-means内部的并行计算。

灰度共生矩阵的使用相较于另外两种方法更为普遍,但是其在计算纹理特征时对图像的灰度级别分布非常敏感。如果图像的灰度分布不均匀,则GLCM可能会忽略一些重要的纹理信息。因此,灰度矩阵对大尺寸的图像难以到达实时检测的要求,形态学方法和直方图检测效率则相对较高。

2.4 基于字典的方法

字典学习是一种无监督的特征学习方式,广泛用于数据降维和特征提取。主要步骤是:数据准备、字典学习、表示特诊提取、特征选择和分类器训练。

占竹等人[23]提出了一种自动评定方法,其基于图像的稀疏表达。该方法首先利用K-SVD 对正常织物纹理图像进行字典学习,然后利用该字典对图重构,并根据重构效果对织物进行等级评定。Li 等人[24]将织物图像分为冗余部分(背景)和稀疏部分(缺陷),提出了一种基于新型纹理描述符和低秩分解模型的新型织物瑕疵检测模式化方法,但局限于均匀纹理和规则图案的织物。

字典学习通常需要对高维数据进行降维以避免维数灾难,需要大量的计算资源和时间来学习一个合适的字典,其结果也受到许多参数的影响,包括字典大小、正则化系数和表示误差。选择合适的参数需要一定的经验和技巧,并且需要多次实验。

3 基于深度学习的布匹瑕疵检测方法

相较于传统机器视觉的方法,深度学习具有更强的鲁棒性、自适应性、可迁移性和可扩展性。当前布匹瑕疵检测的深度学习方法主要分为三个方向:卷积神经网络、自动编码器和生成对抗网络。

3.1 基于卷积神经网络的方法

深度学习方法可分为无监督和有监督两大类,卷积神经网络是一种有监督的网络。

Wu 等人[25]提出基于深度神经网络的单色布匹瑕疵检测算法,在CPU 模式下,检测速度达到135m/min。Ramakrishnan.K 等人[26]针对具有活动轮廓特征的特定缺陷,提出了一种使用直方图和HF 的CNN 网络。B.Wei 等人[27]在CNN 基础上,针对小样本问题,使用压缩采样定理将小样本数据压缩采样并扩充,提出结合压缩感知和卷积神经网络的新方法。Li.Y 等人[28]采用多个带有多层感知器的微架构来优化网络,提出一种紧凑的卷积神经网络结构,该网络框架不仅适用于织物缺陷检测,还适用于其他数据集的物体识别任务。刘闪亮[29]在基础网络VGGNet-16 的上进行改进,提出基于ODFTNet 的织物缺陷检测算法。Cheng 等人[30]基于语义分割网络提出一种结合卷积下采样、深度可分离卷积和交叉平行比损失函数的分离卷积SCUNet,参数量为4.27M,但是该方法只在灰度图像进行了测试。Ouyang 等人[31]在卷积神经网络中引入一种新的成对电位激活层,该方法能够对具有复杂特征和不平衡数据集的织物进行高精度的缺陷分割。在使用TILDA 数据集进行评估时,该方法的平均准确率达到92.25%。但该方法需要对数据进行预处理和标注。孙羽等人[32]提出一种基于深度卷积神经网络(DCNN)的织物疵点检测办法,建立了一种改进的多层感知机卷积神经网络,进一步增强特征表示能力。

3.2 基于生成模型的方法

生成模型是一种无监督方法,它可以学习任何类型数据分布。所有类型的生成模型都旨在学习样本的真实数据分布。生成模型分为两类,自编码器和GAN。利用生成模型进行布匹瑕疵检测可以通过学习正常布匹图像的特征来自动生成对比的瑕疵图像,从而实现对布匹瑕疵的自动识别。

⑴ 自编码器

自编码器对正常的布匹图像进行建模,后利用所建模型来检测异常或瑕疵图像。使用自编码器模型对正常和瑕疵图像进行编码和解码。如果一个图像经过编码和解码之后的误差很小,则这个图像正常;如果误差很大,则这个图像就很可能存在瑕疵。

杨伟嘉[33]设计一个有效的二分类深度卷积网络,并针对样本不均衡问题采用Focal loss 损失函数,提出了基于全卷积自编码器网络的无监督布料瑕疵检测方法。Zhang 等人[34]设计内存引导量化变分自动编码器,提出了一种无监督和无记忆缺陷的方法,用于样本稀缺和缺陷类型不平衡的彩色图案织物缺陷识别,避免了人工标记样本。Wei 等人[35]使用训练后的模型,从输入图像和重建图像之间的SSIM 残差图中获得目标缺陷,实现了一个基于VAE 的织物缺陷检测系统,满足了实时性要求。Zhang.H 等人[36]提出一种基于无监督去噪卷积自编码器的彩色织物疵点自动检测与定位方法。

自编码器相较于目标检测模型不需要手动标注大量數据。相较于传统机器视觉方法,可以自适应数据的分布和特征,从而可以处理一些噪声、变形和光照变化等常见的问题。自编码器的训练时间相对较短,并且可以在GPU 上进行加速,因此可以在较短的时间内完成大规模的数据训练。

⑵ 生成对抗模型

GAN 是一种无监督的深度学习方法,利用正常的布匹图像作为输入,训练生成器生成与正常图像相似的合成图像。生成器应该尽量保留正常图像的纹理和形状特征。训练判别器来区分生成器生成的合成图像和真实的瑕疵图像。判别器应该能够准确地识别瑕疵图像,而不将正常图像误判为瑕疵图像。通过交替训练生成器和判别器,以便生成器生成更接近真实瑕疵图像的合成图像,同时判别器也能够更准确地识别瑕疵图像。这个过程可以提高生成器的瑕疵特征捕捉能力。

Cheng 等人[37]基于生成对抗网络模型架构提出了具有无监督直接缺陷残差图像生成的织物缺陷检测模型,使用带有块的生成器和双判别器来使生成的图像更接近目标图像。Wei 等人[38]针对织物疵点的多样性和缺陷样本的缺乏问题,提出一种基于DCGAN 的多阶段无监督织物瑕疵检测方法,将缺陷图像进行重建,从原始图像中减去重建图像时,得到缺陷的残差图。

生成对抗模型能够从大量的正常和瑕疵数据中学习特征,从而能够检测出各种类型的瑕疵,包括一些难以捕捉的细微瑕疵。但是,生成对抗模型的训练需要大量时间和计算资源,因为需要进行反复的迭代训练过程。可能需要更多的数据才能学习到足够的特征,尤其是对于一些较小的数据集,模型的性能可能会受到限制。

4 结束语

以计算机视觉为核心的纺织品缺陷自动检测技术引起了研究人员的广泛关注。随着新型物体检测算法、计算能力、传感器技术和工业的发展,基于计算机视觉的纺织品缺陷检测系统将继续高速发展。但目前对布匹瑕疵进行高准确度实时检测仍存在一些困难。

⑴ 目前还没有统一的布匹瑕疵公开数据集。

⑵ 随着纺织技术不断在发展,织物的种类和纹理将会越来越复杂。

⑶ 面对不同布匹和瑕疵种类,目前需要不同的模型进行检测。

传统机器学习方法通常使用手工设计的特征来表示布匹图像,然后使用分类器(如支持向量机、随机森林等)进行分类。相比之下,深度学习方法可以从原始像素级数据中学习到更高层次的抽象特征,无需手工设计特征。

综上所述,布匹瑕疵检测具有重要的经济和社会意义,可以提高生产效率和产品质量,降低生产成本和环境污染,虽然这个领域已经进行较多研究,但仍然存在许多挑战和机遇,布匹瑕疵检测仍是一个值得研究的问题。

猜你喜欢

图像处理深度学习
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现