基于破坏学习的残差网络丝饼毛羽缺陷分类

2022-03-24 09:21张诗涵景军锋宋智伟
棉纺织技术 2022年3期
关键词:准确率表面分类

张诗涵 景军锋 宋智伟

(西安工程大学,陕西西安,710600)

丝饼是为了方便化纤长丝的运输、存放和包装,将其有规律地缠绕在纸管上,形成饼状物[1]。化学纤维以强度高、耐热性好、耐辐射、弹性好等优势广泛应用于纺织行业以及其他领域[2⁃4]。在丝饼的制备过程中,由于机器缠绕的速度过高、张力不均匀等原因会形成各种各样的缺陷[5],其中毛羽缺陷最为常见。毛羽缺陷的存在严重影响丝饼的质量、外观以及使用价值。毛羽缺陷按照形态可划分为毛丝、毛圈和毛团3 种类型[6],如图1所示。不同类型的毛羽缺陷影响丝饼的质量评级,不同评级的丝饼影响后续成品的质量等级,因此针对丝饼表面存在的毛羽缺陷进行严格分类的任务是必不可少的。

图1 毛羽缺陷图片

在目前的化纤长丝制造企业中,对于丝饼表面毛羽的分类任务大多仍采用人工目视的方法。人工检测一方面存在人为检测效率低、主观性强、易漏检误检等问题;另一方面还可能对丝饼造成二次污染。近年来,随着机器视觉和深度学习的快速发展[7],采用视觉无损技术检测丝饼表面缺陷的方法也逐渐出现。文献[8]构建了一个具有特定结构的卷积核提取丝饼毛羽的特征,最终实现了对丝饼毛羽的定位和计数。该方法对于简单的毛羽缺陷能够实现很好的检测效果,但是实际生产中的毛羽缺陷比较复杂,使用特定卷积核的鲁棒性不强。文献[9]使用改进的卷积神经网络实现了丝饼表面的缺陷识别。使用深度学习的方法能够很好地表现出丝饼的缺陷特征并实现较好的检测结果。但该文献针对的缺陷为丝饼表面的拌丝、成形不良和油污缺陷,这几类缺陷之间的差异比较明显,使得分类任务的难度并不大,对于丝饼毛羽缺陷的分类效果有待验证。文献[10]采用信息熵和能量的组合特征表征丝饼缺陷,最后使用阈值分割将缺陷和背景分离。该方法对于丝饼表面的压痕、污渍等缺陷能够实现较好的检测效果,但不能实现丝饼毛羽缺陷的分类任务。

为解决丝饼毛羽缺陷的分类任务,本研究提出了一种基于破坏学习的残差网络丝饼毛羽缺陷分类方法。通过引入一种区域混乱机制将原图进行破坏,使得卷积神经网络必须更加专注于学习缺陷的局部细节特征;随后提出一种对抗损失函数消除区域混乱机制引入的噪声,使得网络更具鲁棒性;最后使用全局最大池化代替平均池化加强网络的特征提取能力。试验结果表明,经过破坏学习后的网络性能有所提升,达到更高的分类精度,同时测试具有实时性,能够满足实际生产的需求。

1 丝饼毛羽图像采集装置设计

本研究所用丝饼图像均来自生产线现场采集的图片。由于毛羽缺陷绝大部分产生于表面,所以目前所需检测的区域为丝饼的各表面,包括上表面、下表面和圆柱面。因化纤长丝的物理性质所致,丝饼表面光滑且高度反光,这导致丝饼毛羽缺陷无法与背景很好地区分开来,因此相机和光源的摆放位置会严重影响采集的图片质量。经过调整相机和光源的摆放位置,得到最佳的光源和相机摆放位置为光源垂直于丝饼的表面打光,相机与光源垂直摆放采集丝饼表面图像,采集装置示意图如图2 所示。

图2 采集装置示意图

从图2 可以看出,在丝饼旋转的过程中,1 号光源和1 号相机负责上表面的打光和采集,2 号光源和2 号相机负责圆柱面的打光和采集,下表面的操作方式与上表面相同。从图2 还可以看出,采用这种光源和相机的位置组合方式拍摄得到的图片缺陷与背景分离且清晰,不需要再对图片进行过多的预处理操作[11]。

由于毛羽缺陷部分占整张图片的比例小,且整张图片的分辨率太大,所以需要对采集到的原图进行感兴趣区域(ROI)提取。设置图像尺寸大小为256 pixel×256 pixel 能够很好地展示毛羽缺陷,使一张图片中仅包含一类缺陷,且该尺寸大小和神经网络输入尺寸相近,使神经网络能直接提取到毛羽缺陷的特征信息。

2 丝饼毛羽分类算法

2.1 网络结构

残差网络在加深网络提取更丰富特征的同时解决了网络退化问题。本研究以残差网络ResNet50[12]为骨干网络进行改进,整体网络结构如图3 所示。网络同时将丝饼原图和通过区域混乱机制破坏后的图片送入网络中进行训练,通过4 个Bottleneck 结构块提取特征信息,图4 展示了第一个Bottleneck 中的一个Block 的具体结构。在经过最后一个Bottleneck 结构块后采用全局最大池化代替ResNet50 网络中的平均池化[13]。平均池化考虑整张图片的信息,对所有特征值求平均,而毛羽缺陷相对于整张图片较小,使用平均池化会弱化丝饼的局部特征。而全局最大池化输出整个特征图的最大值,保留最显著的特征,更适合丝饼毛羽的识别。分类网络负责识别原图和破坏图像所属的类别,由于通过区域混乱机制破坏图像后会不可避免的引入噪声,提出一种对抗损失函数消除噪声对分类网络的影响。最后通过最小化分类损失函数和对抗损失函数优化网络结构,使网络达到更好的分类效果。

图3 丝饼毛羽分类网络框架

图4 Block 结构图

2.2 区域混乱机制

由于丝饼表面缺陷在全局结构下类别之间差异较小,甚至人眼都不能准确分类。在使用神经网络处理自然语言时,通过在句子中打乱单词的顺序可以让神经网络专注于区分有判别性的单词,忽略不相关的单词[14]。将这种思想应用于丝饼图像上,如果将图片的整体结构破坏,神经网络不得不关注图片的局部细节区域,从具有判别性的区域识别图像类别。

本研究受到CHEN Y 等人[15]的启发,提出一种在二维邻域将图片随机打乱成局部区域的区域混乱机制。区域混乱机制示例如图5 所示。 从图5 可以看出,对于输入图片I,首先将图像均匀地划分为N×N个子区域,每个子区域用Ri,j表示,i和j分别为行列参数,其中1≤i,j≤N。对于第j列的图像块Ri,生成一个在范围(-k,k)内随机选择的随机向量a,其中k为定义邻域范围的可调参数(1≤k<N),通过上述操作后第j列新排列的块为Si=Ri+a。对于第i行的块Rj,采用相同的操作处理,得到新的N×N个子区域Si,j。这种打乱方式既能够破坏全局结构,又能够使破坏在一个可控范围内进行。

图5 区域混乱机制示例

2.3 损失函数

在网络的整体框架中,损失函数由分类损失函数和对抗损失函数两部分组成。这两种损失函数以端到端的方式共同促进破坏学习,使其中只有有区别的局部细节被增强,无关的噪声信息被过滤掉。损失函数的构成如式(1)所示。式中,Lc和Ld分别表示分类损失函数和对抗损失函数。

2.3.1 分类损失

本研究使用有监督的方法,网络训练的输入分别为原始图片I,破坏后的图片P(I)和图片对应的标签l。分类网络将输入图像映射成概率分布向量G(I,θc),其中θc是分类网络中所有可学习的参数。分类损失函数构成如式(2)所示。式中,M为训练所用数据集。

由于全局结构已经被区域混乱机制破坏,因此网络必须要找到类别之间存在细小差异的区域才能识别这些破坏后的图片。

2.3.2 对抗损失

使用区域混乱机制破坏图像并不一定总能为分类任务带来有益信息,以图5 为例,在随机打乱局部区域时,区域混乱机制同时也引入了噪声视觉模式。网络从噪声视觉模式中学习到的特征对分类任务是有害的。因此,提出了另外一个对抗损失函数Ld消除区域混乱机制带来的噪声信息。首先给每一张图片贴上一个标签向量d∈{0,1}2表示图像是否被破坏,然后通过在网络中新添加一个鉴别器来判断图像是否被破坏,鉴别器D公式如式(3)所示。

3 试验结果与分析

本试验所用计算机操作系统为Windows10,内存为64 GB,处理器为Intel(R)Core(TM)i7⁃5930K CPU(3.50 GHz),显卡型号为NVIDIA GeForce GTX TITAN X,显存大小为16 GB,采用Pytorch 深度学习开源框架进行网络的构建和训练。

3.1 数据集构建

根据相机实际拍摄过程中得到的图片,专业检测人员对所得图片进行细致的分类工作,将数据集分为毛丝、毛圈、毛团、线头、丝饼表面和螺旋纹共6 类,数据集中每种类别的代表图片如图6 所示。毛丝是缠绕过程中纤维断裂在表面形成的一根单丝;毛圈是一根单丝的两端嵌入在丝饼表面上形成的环状缺陷;毛团是毛丝和毛圈组合而成的一种复杂混和缺陷;线头是一股毛丝聚集而成的毛丝束;丝饼表面为相机拍摄的正常丝饼表面图片;螺旋纹是丝饼缠绕过程中在表面形成的正常纹路。在这6 类图片中,丝饼表面和螺旋纹这两类图片不属于缺陷,通过将这两类相机实际拍摄到的图片加入到网络中训练,让网络能学习到更加精确的缺陷特征,减少误检和漏检。

图6 数据集构建

本试验所构建的数据集总图片数量为43 433张,其中毛丝图片数量为11 245 张,毛圈图片数量为11 012 张,毛团图片数量为3 691 张,线头图片数量为4 897 张,丝饼表面和螺旋纹图片分别为1 697 和10 891 张。网络训练按照9∶1 的比例划分训练集和验证集,训练集数量为39 039 张,验证集数量为4 394 张。模型训练完成后另设置测试集1 200 张图片,每类图片数量为200 张。

3.2 试验结果与性能对比

由于引入区域混乱机制需要将图片进行分块处理,因此需要设置分块的数量N,且分块数量N需要被输入图片的大小整除。输入图片的尺寸为256 pixel×256 pixel,分别设置分块数量为2、4、8进行试验。试验结果:当N=2 时,分类精度94.4%;当N=4 时,分类精度95.0%;当N=8时,分类精度94.5%。结果表明:N=4 时分类精度最高,为95.0%,因此选择分块的数量为4。

表1 为本研究方法在每类图像中的分类准确率。从表1 可以看出,丝饼表面、螺旋纹和线头这3 类图片的分类准确率较高,达到98.0%以上,毛丝和毛圈这两类图片的分类准确率达到95.0%以上,分析原因为这几类图片特征之间的差异较大,每类图片都有其独特的特征,因此网络能够很好地完成分类。毛团的分类准确率较低,仅为83.5%。分析原因为实际生产过程中毛团出现概率较低,因此毛团训练的图片数量少,同时毛团的特征复杂并且与其他类型的缺陷相似度高,导致网络无法很好地识别该类图片。

表1 各类图片测试分类准确率

图7 展示了毛羽分类的混淆矩阵。从图7 可以直观地反映网络的预测结果与真实标签之间的差异。

图7 混淆矩阵

表2 为本研究方法和其他方法对丝饼毛羽分类识别准确率的性能对比。

表2 丝饼毛羽分类模型准确率性能对比

Paddle 为百度开发的一种新的深度学习框架[16],简化了深度学习过程中繁杂的步骤,能轻松实现从数据集构建到模型训练再到结果预测这一过程,丝饼毛羽缺陷在该框架下的分类准确率为91.4%。LI P 等人[17]使用一个二阶甚至高阶的统计方法来代替一阶的全局平均池化,并将这种分类方法命名为Fast⁃MPN,本研究选择该方法下的两个经典分类骨干网络进行测试,最终分类准确率为93.0%、92.5%。ZHOU M 等人[18]提出观察对象的整体框架(LIO)学习结构信息来增强对物体的识别,使用该方法达到的分类准确率为94.1%。YANG Z 等人[19]提出了一种新颖的无需更多标注细节的自监督训练机制,并把在这种方式下训练出来的模型称为NTS⁃Net,该方法最终实现90.5%的分类准确率。本研究选择两个经典分类骨干网络进行评估,试验结果表明,使用ResNet50 骨干网络效果优于VGG16 的分类效果,最终选择ResNet50 作为模型骨干。本研究在网络最后一层卷积层后使用全局最大池化代替ResNet50 原网络中的平均池化,试验结果表明,使用全局最大池化后网络的分类准确率(95.0%)高于平均池化的分类准确率(94.2%),这说明全局最大池化能更好地提取丝饼毛羽缺陷中更具判别性的特征,更加适合丝饼的毛羽分类任务。

不同模型训练过程中分类准确率曲线展示如图8 所示。

图8 模型训练分类准确率曲线对比

从图8 可以看出,本研究所采用的方法在网络进行一次迭代训练后,模型就已经有较高的准确率,说明网络能够很好地提取到每类图片的关键特征信息。随着迭代次数的增加,模型的准确率较快趋于稳定,最终实现相对最好的识别准确率。

由于本研究所使用的方法在训练过程不需要额外的标注信息,因此在预测阶段没有额外的计算量,经测试,本研究方法在测试阶段平均每张图片测试时间为30 ms,可满足工业实时检测的需求。

4 结束语

本研究使用一种破坏学习的卷积神经网络方法实现对丝饼毛羽缺陷的分类工作。首先根据真实采集到的丝饼表面图像进行数据集的构建。其次提出一种区域混乱机制破坏图像的整体结构,使分类网络更加注意图片的局部细节,通过提出的对抗损失函数消除区域混乱机制引入的噪声信息。同时使用全局最大池化代替分类原网络中的平均池化,使分类网络针对丝饼毛羽缺陷达到更高的分类精度。试验结果表明,本研究提出的方法对丝饼毛羽图像的识别平均准确率达到95.0%,平均每张图片的测试时间为30 ms,可满足工业生产中的精度和实时性要求。但本研究方法针对毛团这类图片的分类准确率较低,之后的工作会重点针对毛团这类缺陷进行改进,提高此类图片的分类准确率。

猜你喜欢
准确率表面分类
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
太阳表面平静吗
按需分类
教你一招:数的分类
说说分类那些事
表面与背后
给塑料分分类吧