APP下载

基于改进Faster R-CNN的织物疵点检测算法

2023-01-15高小淋曹高帅

毛纺科技 2022年12期
关键词:疵点残差织物

孙 旋,高小淋,曹高帅

(1.桂林理工大学 机械与控制工程学院,广西 桂林 541004;2.郑州电力职业技术学院 电力工程系,河南 郑州 451450)

我国是世界上最大的纺织品出口国,纺织行业是我国的重要产业[1]。在织物生产过程中,因机器故障、人工操作等因素会造成织物出现疵点或破损。因此,织物疵点检测是提高织物质量的重要环节。

随着社会经济的快速发展、技术的更新,深度学习在织物疵点检测领域中已取得显著成果。提高织物疵点检测精度与效率,降低人工成本,是纺织行业质量检测的研究重点。在织物疵点检测图像检测技术中,许玉格等[2]、刘洋[3]、孙禹锋[4]、段春梅等[5]通过建立通道叠加的ResNet50对织物疵点进行特征提取,增强了对疵点特征的表达能力,但疵点种类复杂,检测效率低。张丽谣等[6]采用SSD网络对织物疵点进行学习判断,并通过对参数的调整来实现对疵点的分类和识别,然而,疵点检测准确率只达到80%。车翔玖等[7]、何永贵[8]充分利用织物疵点面积较小的特点,在图像中产生潜在疵点区域,然后利用卷积神经网络对潜在区域内的疵点进行预测,并在算法后期将潜在区域内出现疵点的概率合并,从而实现识别织物中存在疵点的概率,但对于疵点区域小的部分却无法实现精准检测。吴志洋等[9]、王生伟[10]设计浅层卷积神经网络,再通过一个大网络来指导小网络,实现2种网络并行模式的训练。陈宇俊[11]采用Cross Net作为主干网络,并对残差结构进行改进,该检测方法可达到97%以上的检测精度。郜仲元等[12]利用Pix2PixGAN网络提高疵点与纹理融合,实现图像数据增强。李宇等[13]将 SPP、FPN+ PAN应用于 Neck层进行特征提取,并利用3种尺度的预测方法进行疵点检测,然而,对于分辨率小的疵点,漏检率高。

本文提出一种改进Faster R-CNN的多种织物疵点检测算法研究,选取精度高的ResNet50作为提取织物疵点的特征网络,在原ResNet50基础上通过拓宽残差结构宽度与优化网络参数来改进原ResNet50。将改进后的ResNet50作为Faster R-CNN的主干网络,采用改进的K-means聚类算法生成的预测框取代原Faster R-CNN中人工设计的预测框。与原Faster R-CNN、SSD算法进行实验对比,结果表明,改进后的Faster R-CNN算法不仅对织物疵点具有更好的检测性能与更高的定位精度,并且在难以检测的走纱与浮纱疵点方面相比于其他算法有显著的检测优势。

1 改进ResNet50特征提取网络

本文在ResNet50特征提取网络基础上,拓宽残差结构宽度与调整网络部分层结构来改进ResNet50,从而提高网络精度。通过优化部分层参数来减少网络参数量,提高推理速度。

1.1 拓宽残差结构宽度改进ResNet50

多种残差结构见图1。将ResNet50网络拓宽残差结构宽度,使其提取更多特征。如图1(b)所示,将原深度64层的卷积更改为128层,但增加网络宽度,相对应网络计算量也随之增加,所以引入GoogleNet中的Inception结构,通过多卷积核并行计算,在拓宽网络宽度的同时减少模型的参数量。

图1 多种残差结构Fig.1 Various residual structures.(a) Initial residual structure;(b) Wider residual structure;(c)Introducing group convolution residual structure

Inception结构是采用3个1×1的卷积进行降维,降低计算的复杂度。如果某个卷积层中输入较多的特征数,则对输入特征数先进行降维处理,减少特征数后再做卷积,计算量会显著减少,Inception结构如图2所示。

图2 Inception结构Fig.2 Inception structure

将特征层分成n组进行卷积操作,在输出相同深度的特征层时,训练参数只有普通卷积的n分之一,经大量实验表明,当n为32时,网络有最佳分类精度,修改后的残差结构如图1(c)所示。

为进一步优化ResNet50特征提取网络,调整各层残差模块顺序,图3为调整各层残差模块的顺序图。残差结构(见图3(b))是将BN层移到相加操作后,会阻碍信息传递;残差结构(见图3(c))将BN层与激活层移到卷积层之前,形成一种预激活的方式,更易于网络优化,且BN作为预激活可以提高对模型的正则化。

图3 调整各层残差模块顺序图Fig.3 Sequence diagram of adjustment of residual modules on each floor.(a) Initial residual structure;(b) Add BN;(c)Add BN and active layer again

将调整后的网络在织物数据集上进行分类训练。表1示出为激活层与BN层不同放置位置时对网络性能影响的实验结果。

表1 改进网络结构的实验结果Tab.1 Experimental results of improved network structure

由表1可见,图3(b)所示残差结构网络损耗从初始0.387增加到0.517,准确率显著下降,因为短路层加入BN后,信息传播明显受到影响。图3(b)所示残差结构网络损耗从0.387降低到0.302,准确率没有显著变化,因此本文采用图3(b)所示残差结构对ResNet50进行改进。

1.2 优化网络参数改进ResNet50

拓宽残差结构宽度主要针对网络精度改进ResNet50,为减少网络参数数量,选择优化部分层参数。在网络精度不变的条件下,将原始ResNet50在数据进入网络后经过的7×7卷积核拆分成2个3×3卷积,以减少计算量。

网络改进实验结果如表2所示。可见,优化后的ResNet50参数量与计算量更少。改进后的ResNet50网络架构如图4所示。

表2 网络改进实验结果Tab.2 Network Improvement Experiment Results

图4 改进ResNet50网络架构Fig.4 Improve ResNet50 network architecture

2 改进的Faster R-CNN算法

2.1 多尺度特征融合

本文研究的织物疵点多为小目标,为提高Faster R-CNN检测小目标能力,将改进后的ResNet50作为Faster R-CNN的主干网络,并且在Faster R-CNN网络中引入FPN网络进行多尺度预测。

改进后的ResNet50+FPN结构如图5所示,最终预测分5个特征层进行,将RPN的网络头部应用于每一个P层。与初始图片相比,P层具有不同的尺度信息,因此将预测的多个尺度信息在原始RPN网络中分离,使每个P层只处理单个尺度信息。

图5 改进后的ResNet50+FPN结构Fig.5 Improved ResNet50+FPN structure

2.2 改进的K-means算法优化预测框尺寸

本文检测到的织物疵点特征主要分2类:一类是经纬脱线形成的条状或线状疵点;另一类则是矩形面积较小类疵点。选择最佳的预测框大小可以使网络更容易学习并且得到一个好的检测器。

针对本文织物数据集与检测目标的大小,重新设计RPN网络中生成预测框的尺寸。采用改进的K-means聚类算法对数据集进行训练,并将得到预测框尺寸应用于RPN网络,从而加快网络的收敛性,提高检测精度。

本文在用改进的K-means聚类算法生成预测框时,采用1-IOU的值表示样本与蔟中心之间的距离,从而取代传统的K-means聚类算法采用欧氏距离来计算。每个预测框与对应蔟中心的边界框所对应的IOU值越大,则距离越近。此外,计算所有边界框的高与宽和K个预测框的高与宽的比,比值越接近1,则预测框和边界框的重合度越高。

根据设定的阈值,由均值计算预测样本中边界框与K个预测框的适应度,适应度越高,聚类得到的预测框效果越好。此外。在K个预测框的基础上引入遗传算法,将边界框的高与宽2K个参数作为随机变异的DNA,计算和评估突变后的适应度。与传统K-means聚类算法相对比,改进后的K-means聚类算法更适用于图片预测框的生成。通过训练标注后的织物数据集,最终得到15个预测框尺寸以及适应度,结果如表3所示。

表3 改进K-means聚类算法实验结果Tab.3 Experimental results of improved K-means clustering algorithm

由表3训练结果得知,将初始Faster R-CNN算法中的(128,128)、(256,256)、(512,512) 3种尺度更改为(32,32)、(64,64)、(100,100)、(128,128)、(256,256) 5种。将初始1∶1、1∶2、2∶1比例更改为1∶5、1∶1、5∶1,分别在5个特征层进行预测,每层预测3个预测框。以880 pixel×880 pixel的图片分辨率为例,表4示出多特征层预测结果。

此外,在实验验证过程中发现,仅通过增加预测框数量,用于网络训练的时间基本不变,表5示出增加预测框数量的实验结果。

表4 多特征层预测实验结果Tab.4 Prediction experimental results of multi-feature layer

表5 增加预测框数量的实验结果Tab.5 Experimental results of increasing number of prediction boxes

3 实验平台与结果分析

3.1 数据集采集

本文所研究样本为某纺织企业所提供,织物疵点图片为600 pixel×800 pixel的彩色图像,根据疵点的长度面积以及出现的频率,将织物疵点分为2个大类6个小类,走纱、浮纱、断纱为一类;结头、破洞、污渍为另一类,6类疵点如图6所示。

图6 织物疵点样本Fig.6 Fabric defect sample.(a) Take off the yarn;(b) Belt yarn;(c)Yarn breaking;(d)Knot;(e)Hole;(f)Stain

3.2 实验环境

实验环境如表6所示,网络模型的训练与测试均在CPU中进行。

表6 实验环境Tab.6 Experimental environment

3.3 评价指标

针对改进Faster R-CNN检测多种织物疵点,采用准确率(precision,P)、召回率(recall,R)、平均准确率(average precision,AP)与平均准确率均值(mean average precision,PmA)来评估本文算法的性能,其公式分别如下:

(1)

(2)

(3)

(4)

式中:TP表示正确检测出的织物疵点数量;FP表示错误检测出的织物疵点数量;FN表示漏检的织物疵点数量;N表示织物疵点种类。

3.4 改进的Faster R-CNN算法检测实验

本次实验包含引入FPN多尺度预测的Faster R-CNN以及本文进一步改进后的Faster R-CNN检测算法。在实验过程中,采用迁移学习进行训练,根据数据集将织物类型划分为单色布、格子布、条纹布3种。Batch size取值为4,迭代50次后添加FPN网络的Faster R-CNN多尺度预测的实验结果如图7所示。

本文基于改进的Faster R-CNN检测算法除了添加FPN网络之外,还采用改进的ResNet50特征提取网络与改进的K-means聚类算法生成预测框。表7示出不同算法模型检测结果。将改进后的Faster R-CNN检测算法进行训练,其实验结果如图8所示。

表7 不同算法模型检测实验结果Tab.7 Experiment results of different algorithm model detection

图7 Faster R-CNN多尺度预测实验结果Fig.7 Faster R-CNN multiscale prediction results. (a)Average accuracy training chart;(b) Training chart of loss value and learning rate

图8 不同算法检测结果对比Fig.8 Comparison of detection results on different algorithms.(a)Hole;(b)Knot;(c)Stain;(d)Yarnbreaking;(e)Belt yarn;(f)Take off the yarn

从表7可看出,原Faster R-CNN在数据集上PmA值为0.802,而改进后的Faster R-CNN算法的平均准确率为0.868,相较于原算法提高了6.6%。在难以检测的织物疵点,尤其走纱,本文算法相较于SSD、YOLOv4、原Faster R-CNN算法,PA值分别提高了26.0%、31.1%、6.1%;在织物浮纱疵点上,改进的Faster R-CNN相较于SSD、YOLOv4、原Faster R-CNN算法,PA值分别提高25.7%、17.4%、10.8%。

为进一步验证本文算法相较于原Faster R-CNN、SSD在织物疵点检测中的优势,选取破洞、污渍、结头、断纱、浮纱、走纱图片各1张,进行检测结果对比,SSD、原Faster R-CNN检测结果与本文算法检测结果对比如图8所示。

由图8得出,这3种算法对于破洞、结头类疵点都具有很好的检测能力;对于织物上的污渍,SSD与原Faster R-CNN算法无法检测出织物上的所有疵点且在“小目标”疵点中均存在漏检,而改进的Faster R-CNN算法不仅全部检测出污渍所在位置,且对于“小目标”污渍疵点检测精度为95%,相较于SSD与原Faster R-CNN算法检测精度更高。

对于浮纱类,尤其长度比跨度大的疵点,这类疵点在织物中较难检测。图8中,对比3种算法检测浮纱类疵点可知,经过本文改进的K-means聚类算法生成的预测框相比于SSD算法、原Faster R-CNN生成的预测框更精确地定位到疵点,且本文改进的Faster R-CNN算法检测浮纱类疵点的置信度高达99%,相较于SSD、原Faster R-CNN检测置信度分别提高15%、5%。

对于走纱类疵点,尤其“细长型”疵点,SSD算法检测的置信度为62%,原Faster R-CNN算法检测的置信度为78%,而改进后的Faster R-CNN不仅能准确框住疵点,且置信度高达97%,相较于SSD、原Faster R-CNN检测置信度分别提高35%、19%,检测精度最高。

4 结 论

本文提出一种基于改进Faster R-CNN算法的多种织物疵点检测算法。针对织物疵点的特征,以Faster R-CNN算法为基础,对原算法进行了改进。选取ResNet50作为织物疵点特征提取网络,在ResNet50基础上拓宽残差结构宽度,调整了各层残差模块顺序并对网络参数进行优化,从而提高网络精度与推理速度。实验结果表明,改进后的ResNet50网络总损耗显著降低,并且在数据集相同的条件下,网络训练时间明显减少。

将改进后的ResNet50特征提取网络引入Faster R-CNN算法中,构建特征金字塔网络融合不同尺度的特征层,使网络能够在5个特征层上预测。采用改进K-means聚类算法生成的预测框对原Faster R-CNN中人工设计的预测框重新设计。其实验结果表明,改进后的Faster R-CNN对织物疵点有更佳的检测能力,尤其是针对“小目标”与“细长型”疵点,相较于SSD、原Faster R-CNN算法具有更高的定位精度,且模型性能表现更好,检测效果更佳,置信度更高。

猜你喜欢

疵点残差织物
无Sn-Pd活化法制备PANI/Cu导电织物
基于Cascade RCNN 和二步聚类的织物疵点检测
基于双向GRU与残差拟合的车辆跟驰建模
《纺织品织物折痕回复角的测定》正式发布
基于总变差的织物疵点分割方法
竹纤维织物抗菌研究进展
喷丝板疵点检测系统设计
基于残差学习的自适应无人机目标跟踪算法
基于FPGA的图像疵点处理设计与实现
基于递归残差网络的图像超分辨率重建