张宏伟,谭全露,陆 帅,葛志强,徐 健
(1.西安工程大学 电子信息学院,陕西 西安 710048;2.浙江大学 工业控制技术国家重点实验室,浙江 杭州 310027;3.北京理工大学 医工融合研究院,北京 100081)
色织衬衫花型美观大方,是我国出口创汇能力最强的服装产品之一。色织衬衫的花型由染色的纱线经纬交织而成,主要表现为点状、星状、条状和格子状的花型。由于色织物的品质波动和生产过程中的不确定因素[1-3],导致衬衫裁片外观不可避免地出现缺陷,如破洞、断头、双纱等[4]。为了提高色织衬衫产品的品质,降低缺陷裁片对衬衫成衣的影响,经过裁剪工序加工的裁片在进入缝制工序前,需要进行严格检测。目前,色织衬衫裁片的缺陷检测基本依赖于人工目测。色织花型复杂多样,随着市场需求和流行趋势而变化,需要经验丰富的工人才能完成这项高难度的检测工作。但受个人能力、主观因素和疲劳因素限制,人工检测方法效率低、速度慢且准确率不稳定[5],因此,亟需一种高效率的机器视觉方法来解决人工目测存在的问题。
目前,基于机器视觉的织物缺陷检测技术已成为纺织行业的一个研究热点。针对纹理、花型固定的织物品种,研究人员设计了多种能够区分缺陷区域和织物背景图像特征的传统检测算法。如景军锋等[6]结合字典学习和卷积神经网络检测色织物缺陷;李鹏飞等[7]用局部二进制算法提取织物特征,结合AdaBoost分类算法实现织物分类;ZHANG等[8]利用L0梯度最小化原则滤除织物纹理背景,并用模糊聚类检测织物缺陷;KANG等[9]提出一种 Elo 等级评定算法来实现织物缺陷检测等。上述检测算法凭借专家经验,针对特定织物人工设计精巧的缺陷区域判别特征实现缺陷检测。这种传统特征设计检测算法成本高且难以适用于新的织物花型。
为了提高特征工程方法的灵活性,机器学习算法,尤其是有监督机器学习算法被引入织物缺陷的检测与分类中。对于产量大且花型稳定的织物品种,易于构建缺陷样本数量丰富、缺陷种类相对平衡的数据集。如果再对缺陷数据集进行准确的人工标注,机器学习算法则能够很好地实现织物缺陷的检测、分类。如ZHANG等[3]利用 YOLOV2 模型对色织物疵点进行检测、分类;JING等[4]改进LeNet-5模型以实现织物缺陷检测;LI等[10]利用监督学习获取显著性直方图并提取有效的显著性特征实现织物缺陷检测;YAPI 等[11]利用监督学习训练贝叶斯分类器实现织物的缺陷检测等。这些工作均需建立大规模缺陷样本数据集,并对缺陷区域进行准确的人工标注。但在实际的生产场景中,色织衬衫花型品种随着市场需求而变化,难以构建缺陷种类完备的织物数据库,更难以实现完备的人工标注,因此,基于有监督机器学习的织物缺陷检测算法难以适应色织衬衫裁片花型因批次变化的场景。
无监督机器学习由于不需要人工手动标记缺陷区域[12],已经引起了部分织物缺陷检测研究人员的关注。如张宏伟等[13]提出一种基于去噪卷积自编码器的无监督重构模型,利用待测图像和重构图像的残差分析方法,初步实现了色织物缺陷的快速检测和定位;MEI 等[14]提出一种基于多尺度卷积去噪自编码器(Multi-Scale Convolutional Denoising AutoEncoder,MSCDAE)重构模型,通过残差分析检测并定位织物缺陷等。无监督机器学习的织物缺陷检测模型可以有效利用实际生产中无缺陷样本容易获取、无需要标注缺陷样本的巨大优点,通过去噪、重构得到待测样本的修复版本。通过将待测样本与其修复图像进行残差计算,即可检测和定位织物缺陷区域。该类算法的关键在于无监督深度自编码器模型能否有效提取复杂花型织物的主要特征,它决定了无监督深度模型能否在有效重构织物图像正常花型的同时修复缺陷区域。
针对经典自编码器重构色织衬衫裁片图像能力弱的问题,笔者构造了一种U型深度去噪卷积自编码器模型,通过残差分析实现色织衬衫裁片的缺陷检测和定位。文中方法部分介绍了传统U型检测网络,阐述了一种新型U型深度去噪卷积自编码器的网络结构及其应用于色织衬衫裁片缺陷检测的步骤;实验部分描述了实验软、硬件平台,色织衬衫裁片样本和评价指标,并与其他检测算法进行定性、定量分析对比。实验结果表明,该方法在不需要缺陷样本和缺陷标记的情况下,能够有效重构色织衬衫裁片的纹理花型,实现快速检测和定位多种类型的色织衬衫裁片缺陷。
1.1.1 经典Unet模型
2015年,RONNEBERGER 等人针对生物医学图像细胞分割问题,创新提出一种隐含层结构类似于字母“U”的深度卷积网络目标检测模型,简称为 Unet 模型[15]。该模型的训练属于有监督学习,训练过程中需要输入细胞图像原图及其像素的类别标记数据,检测阶段中该模型可以高效地针对输入的细胞图像实现细胞图像分割。Unet 结构如图1所示,其输入层为单通道图像层,输出层为双通道的像素分类层,隐含层为U型跳接结构的多个卷积层、最大池化层和上采样层,使用的损失函数为交叉熵损失函数。另外,该模型在训练过程中还使用了数据增强策略来弥补样本的稀缺。该模型在当年的ISBI 细胞追踪项目上以较大优势赢得了比赛,因此引起了诸多研究人员的关注,如桥梁的裂缝缺陷检测[16]、水稻生长过程中的倒伏监测[17]和车站的人群流量预估[18]等。在样本数据相对丰富的条件下,这些改进后的有监督Unet 模型都取得了较好的研究成果。
图1 经典Unet 网络模型
1.1.2 U型去噪卷积自编码器模型
在实际验片工序中,由于完备、平衡的缺陷样本及其缺陷区域标记信息难以获取,因此,色织衬衫裁片缺陷检测问题无法直接采用有监督范式下的 Unet 模型。相反,实际生产中无缺陷样本非常容易获取,便于建立无监督样本库,因此,笔者提出一种无监督重构修复模型和残差计算缺陷检测算法。首先利用大规模无缺陷样本训练重构修复模型,其次计算待测样本及其重构的残差图像以实现色织衬衫裁片的缺陷检测。为了完成重构修复工作,该实验提出一种U型去噪卷积自编码器模型(U-shaped Denoising Convolutional Auto-Encoder,UDCAE)。
图2为U型去噪卷积自编码器模型网络结构示意图,其输入为三通道的无缺陷色织衬衫裁片彩色图像,在叠加了高斯噪声后进入隐藏层,隐藏层采用对称性深度U型卷积、反卷积网络结构;其输出层为与输入层尺寸相同的三通道图像结构,损失函数采用L1损失函数。该模型在进行深度卷积编码时采用边界补零填充方式,可以保证在短路跳接操作时网络层的输入、输出数据维度一致,无须经典U型网络结构中的维度裁剪操作。
图2 U 型去噪卷积自编码器(UDCAE)网络结构
U型去噪卷积自编码器模型训练时,模型输入为叠加了高斯噪声的无缺陷色织衬衫裁片图像,输出为重构的色织衬衫裁片图像。以逐渐降低输入图像和重构图像损失函数数值为目标,利用 Adam 优化器迭代调整模型参数,直至重构图像和输入图像的像素差异最小化,如图3所示。
图3 UDCAE 模型训练示意图
实验具体的训练步骤如下:
(1) 对输入的色织衬衫裁片图像叠加高斯噪声:
(1)
(2) 对被高斯噪声损坏后的图像进行压缩编码:
(2)
其中,z为卷积编码输出,W和b分别为编码网络的权重和偏置,‘°’为卷积编码过程,R(·) 为修正线性单元(Rectified Linear Unit,ReLU)激活函数:
R(x)=max(0,x)。
(3)
(3) 对U型去噪卷积自编码器模型编码后的图像进行解码操作:
(4)
该模型训练过程中的损失函数为L1损失函数:
(5)
U型去噪卷积自编码器模型训练成功后即可用于色织衬衫裁片的缺陷检测,其具体流程如图4所示。缺陷检测时,输入为待测色织衬衫裁片图像;由于训练好的模型可以对输入图像进行修复性重构,重构图像的输出是与输入图像尺寸相同的三通道彩色图像。若待测图像中有缺陷存在,则输出是对缺陷区域进行修复后的重构图像与正常区域相比,缺陷区域存在显著的像素数值差异,通过残差分析,能够检测、定位出实际缺陷区域;反之,若待测图像中没有缺陷,则输出的重构图与待测原图间的差异为随机噪声。
图4 UDCAE 缺陷检测示意图
实验具体的检测步骤如下:
(1) 将U型去噪卷积自编码器模型输入的待测原图和输出重构图分别进行灰度化。灰度化操作为
Xgray=0.2125Xr+0.7154Xg+0.0721Xb,
(6)
其中,Xr、Xg、Xb分别为待测样本对应R、G、B这3个不同颜色通道下的像素值;Xgray为灰度化后的图像,灰度化后的图像像素值范围从0到255。
(2) 对色织衬衫裁片灰度化图像进行高斯滤波,通过采用3×3像素的高斯核对织物图像进行滑窗卷积操作实现。G(x,y)可表示为
G(x,y)=[1/(2πσxσy)]·exp{-[(x2+y2)/(2σxσy)]} ,
(7)
其中,(x,y)为色织衬衫裁片图像的像素坐标,σx为该图像x轴方向的像素标准差;σy为该图像y轴方向的像素标准差。滤波时使用该高斯核对织物图像进行滑窗卷积操作:
Xgray+Gaussian=Xgray*G(x,y),
(8)
其中,Xgray+Gaussian为色织衬衫裁片图像经过灰度化和高斯滤波后的图像,‘*’为卷积操作。
(3) 计算灰度化、高斯滤波后的原图及其重构图之间的残差图像。即
(9)
(4) 利用自适应二值化阈值,对灰度残差图进行二值化处理。残差图像中难免存在大量的非缺陷区域,分布着离散且数值较小的随机噪声,为了提高检测结果中缺陷区域的准确性,需要将这些随机噪声滤除。自适应二值化阈值可表示为
T=μ+σ,
(10)
其中,T为自适应二值化阈值,μ、σ分别为灰度残差图的均值、标准差。灰度残差图的像素数值若低于该值,则置逻辑0;若大于或等于该值,则置逻辑1。
(5) 对二值残差图进行先腐蚀后膨胀的开运算操作,最终得到缺陷检测结果。
实验使用的色织衬衫裁片样本均来源于某制衣厂。这些裁片利用扫描仪进行图像采集,整理成分辨率为512×512×3像素的样本图像。该实验建立了数据集Ⅰ、数据集Ⅱ、数据集Ⅲ和数据集Ⅳ,共4个色织衬衫花型的裁片图像数据集,用于模型的训练和测试。每个数据集内均包含两个部分:用于建模的无缺陷样本和用于测试的缺陷样本。其中,数据集Ⅰ包含无缺陷样本188张,缺陷样本6张;数据集Ⅱ包含无缺陷样本119张,缺陷样本12张;数据集Ⅲ包含无缺陷样本124张,缺陷样本12张;数据集Ⅳ包含无缺陷样本489张,缺陷样本9张。实验用于建模的无缺陷样本实例如图5(a)所示,用于测试的缺陷样本实例如图5(b)所示。
(a) 用于建模的4种色织衬衫裁片无缺陷样本
(b) 用于测试的4种色织衬衫裁片缺陷样本
实验采用北京联众集群公司的深度学习工作站(型号:LZ540-GR)进行 UDCAE 模型的建模、训练及缺陷检测实验。工作站硬件配置:中央处理器为 Intel(R) Core(TM) i7-6850K CPU(1个物理 CPU,12个逻辑CPU,每个CPU核数为6核,主频为3.60 GHz);以 NVIDIA GP102为核心的GeForce GTX 1080 Ti显卡(双卡,每块显卡内存为11 GB);内存为32 GB。软件配置:操作系统为 Ubuntu 16.04.6 LTS;以Keras为前端,TensorFlow 为后端的深度学习网络模型搭建框架,Keras 和 TensorFlow具体版本分别为2.1.3和1.12.0;软件编程环境为基于开源 Anaconda 的 Python编程语言环境。
该实验对检测结果进行了定性、定量分析。定性分析为缺陷检测区域的直观图示。定量分析采用平均单帧检测时间、精确率(Precision,P)、召回率(Recall,R)和准确率(ACCuracy,ACC)4种指标进行评价。其中,精确率、召回率和准确率的定义分别为
P=TP/(TP+FP),
(11)
R=TP/(TP+FN),
(12)
AC C=(TP+TN)/(TP+TN+FP+FN),
(13)
其中,TP表示真实缺陷区域被成功检出的像素个数;TN表示真实缺陷区域未被检出的像素个数;FP表示正常区域被错误检测为缺陷区域的像素个数;FN表示正常区域被成功检测为正常区域的像素个数。
2.4.1 实验结果定性分析
首先,U型去噪卷积自编码器模型的训练阶段采用无缺陷色织衬衫裁片数据集进行训练;其次,通过调整迭代次数使训练好的模型拥有对色织衬衫裁片图像的重构修复能力;最后,计算待测裁片图像与重构图像的残差图像,通过残差分析检测并定位缺陷区域。该实验与多尺度卷积去噪自编码器模型的重构、检测结果进行了对比,部分缺陷检测结果的直观对比如图6所示。
由图6可知,U 型去噪卷积自编码器模型能够在准确还原不同花型色织衬衫裁片图像的基础上,更好地修复色织衬衫裁片图像中的缺陷区域。通过直观对比可知,该实验模型和 MSCDAE 模型都具备较好的重构修复能力,但该实验模型的修复能力相对较好。从图6中展示的数据集Ⅱ中3个缺陷样本的重构效果来看,U型去噪卷积自编码器模型修复效果优于MSCDAE模型。
图6 MSCDAE 和 UDCAE 模型对色织衬衫裁片缺陷图像重构及检测效果对比
U型去噪卷积自编码器模型利用训练好的模型对色织衬衫裁片缺陷图像按照1.3节的检测步骤,进行缺陷检测实验测试。由图6的对比实验得出,该模型能够准确地检测出数据集Ⅰ中第1个缺陷样本的缺陷区域,但MSCDAE模型出现了过检。对于数据集Ⅱ的3个缺陷样本,MSCDAE模型均出现了严重漏检,而该模型的检测结果较准确。对于数据集Ⅲ的第3个缺陷样本,该实验模型准确地检测出了该裁片的两处缺陷区域,而 MSCDAE模型误判了1处较小的缺陷区域。对于数据集Ⅳ的第2个缺陷样本,该实验模型再次比MSCDAE模型更为准确地检测出了缺陷区域。因此,从定性分析角度,MSCDAE模型针对色织衬衫裁片缺陷图像的检测存在部分过检、漏检现象,相比之下,该实验模型能够更精确地检测、定位缺陷,且检测结果与真实缺陷更接近。
2.4.2 实验结果定量分析
表1为两种模型针对4种花型色织衬衫裁片数据集的缺陷图像平均检测耗时的对比。如表1所示,U 型去噪卷积自编码器模型的缺陷检测相对于 MSCDAE 模型耗时更少。
表1 MSCDAE 和 UDCAE 模型平均检测时间对比
表2为两种模型分别在4个数据集上检测结果的精确率、召回率和准确率的对比,同时,这3个评价指标的取值范围均为从0到1,数值越大,表明检测结果越好。
表2 MSCDAE和UDCAE模型检测结果在不同评价指标下的对比 %
由表2可知,针对数据集Ⅰ、Ⅱ、Ⅲ,该实验模型在精确率、召回率和准确率3项评价指标下均取得了比MSCDAE模型更高的分数。其中,采用MSCDAE模型训练并检测的数据集Ⅱ,获得了较低的召回率分数,因为其检测结果存在大量漏检,而召回率对漏检惩罚较大。两种模型针对数据集Ⅳ:① 精确率和召回率两项评价指标下,该模型虽未占绝对优势,但两个模型获得的评价指标分数数值相差不大,差距不超过2%;② UDCAE模型比 MSCDAE模型的检测准确率高4%多。由此可以得出,在精确率、召回率和准确率3项评价指标下,U型去噪卷积自编码器模型比多尺度卷积去噪自编码器模型的检测效果更好。
针对有监督机器学习模型难以解决色织衬衫裁片的缺陷检测问题,笔者提出一种基于U型去噪卷积自编码器的无监督建模方法与实验。通过计算待测织物图像与模型重构图像的残差,进行数学形态学分析,实现色织衬衫裁片的缺陷检测和定位。该方法使用无缺陷样本建立无监督U型去噪卷积自编码器模型,可有效避开缺陷样本数量稀缺、缺陷种类不平衡、人工设计缺陷特征构造成本高且特征泛化能力差等实际问题。同时,该方法的计算效率和检测精确度均能满足色织衬衫裁片的验片工艺需求,为色织衬衫制衣行业的验片工艺提供了一种易于工程化的缺陷自动检测方案。