邓泽林 刘 行 董云龙 袁 烨 ,
无纺布具有强度高、透气性好、质地柔软等优点,是生产口罩、干湿擦布等医用纺织品的重要原材料[1].在无纺布实际生产制造过程中,质量检测至关重要.现阶段国内主流的无纺布质量检测环节大量依赖人工来完成,用工成本高且自动化程度低下,导致效率难以提升.无纺布的产量大,实际铺网生产速度可高达几十米/min.而无纺布的瑕疵尺度通常小于0.5 mm (如图1 所示),导致人工检测的难度大、检出率低.根据李比希最低定律[2],如果质量检测员的检测效率远低于生产效率,则上游的无纺布生产设备难以发挥全部性能.人工检测方式不仅制约了无纺布产能,而且在长时间检测中质检员也易发生视觉疲劳,给产品质量上引入了严重隐患.因此开展对无纺布瑕疵自动检测的研究,对提高无纺布的生产效率和质量管控具有深远意义.
图1 无纺布生产过程中产生的瑕疵,第1 行为点状疵点,第2 行为丝状瑕疵Fig.1 Defects generated in the production process of non-woven fabrics.The dotted defects and filamentary defects are shown in the first and second row
目前对布匹缺陷检测方法主要可分为4 类[3]:基于频谱、基于统计、基于模型和基于学习等方法.基于频谱主要是通过傅里叶变换[4]、小波变换[5-6]和Gabor[7-8]变换等.通过傅里叶变换的方法无法在空间上定位瑕疵位置.而小波变换和Gabor 变换的计算开销大,难以用于生产过程中的实时检测.基于统计学是通过直方图统计[9-10]、灰度共生矩阵和形态学方法对疵点进行特征描述,这类方法[11]计算开销小,但是对光照等噪声敏感,其错检、漏检率较高.基于模型的方法是通过自回归模型和马尔科夫随机场模型[12],判断织物的纹理是否符合此模型.但是基于模型的方法实用性不强,近几年对其研究较少.
近年来随着深度学习技术的发展,基于深度学习的方法在布匹疵点[13-14]以及其他各类缺陷[15-16]的检测中都取得了很好的效果.同时也有大量的公开数据集[17-19],为织物疵点检测技术的发展提供了数据上的支持.基于学习的检测方法可分为候选区域的两阶段式和端到端的单阶段式,其中候选区域的两阶段式检测方法有着很高的召回率,广泛应用于包括布匹瑕疵在内的各类缺陷检测任务中.基于区域卷积神经网络 (Region convolutional neural network,R-CNN)[20]的布匹瑕疵检测方法通过滑窗将高分辨的布匹图像裁剪成2 000 余个48×48 像素的图像块,并将图像块作为输入,以神经网络作为一个二元分类器判断输入的图像块是否存在瑕疵.但是这种方法的计算开销大,难以用于实时检测中.基于Fast R-CNN[21-22]的布匹瑕疵检测算法,通过在高层的特征图中选取候选区域以提高效率.但是无纺布的缺陷尺寸通常小于0.5 mm,在经过卷积后的高层特征图中存在细节纹理信息丢失,因此这种方法选取的候选区域容易遗漏缺陷区域.
目前对于无纺布疵点检测的研究较少,主要使用边缘检测与动态阈值相结合的经典机器视觉方法[23].这种方法有较高的检测效率,但是精度和召回率都较低.研究人员对于织物的疵点检测展开了大量研究,基于深度神经网络的方法有效地提升了检测的召回率和精度,但检测效率依然低下.对于256×256 像素的织物图像平均检测耗时达198 ms[24],无法满足无纺布的实时检测要求.无纺布生产过程中,布匹宽度大、传送速度快的特点会产生大量图像数据,基于卷积神经网络的织物疵点检测方法难以满足无纺布检测的实时性.因此,目前已有的基于深度学习的织物检测方法无法直接应用于无纺布的实时检测中.
综上所述,基于传统机器视觉的检测方法计算开销大或难以适应噪声的干扰.对于无纺布中尺寸微小的疵点,目前基于神经网络的布匹检测方法难以平衡检测的召回率和效率.本文提出了一种基于最大稳定极值区域分析和深度学习协同的无纺布瑕疵检测方法,能够同时兼顾检测的精度与效率.本文主要贡献如下:
1) 提出了一种基于最大稳定极值区域和深度学习协同的无纺布瑕疵检测方法,可用于无纺布生产过程的瑕疵实时检测.
2) 通过最大稳定极值区域 (Maximally stable extremal regions,MSER)[25]算法提取候选区域的锚点中心.在不降低分辨率和检测精度的情况下,有效地提高检测的效率.
3) 设计了一种分布式无纺布疵点实时检测系统,降低对计算能力与通信带宽的需求,提高了系统运行的可靠性.
本文提出了一种基于最大稳定极值区域分析和深度学习协同的无纺布瑕疵检测方法,并通过预检测和精确检测两级检测的方式保证精度与效率.
本文使用的是两阶段的区域候选检测方案,区域候选检测方案有着较高的召回率[26],广泛用于各类缺陷检测中.但是简单使用滑窗式的区域候选方法产生候选区域过多,难以满足实时的检测要求.而在特征图中选取候选区域的方法,会遗漏微小的无纺布疵点.
如图1 所示,可以看到无纺布中的疵点通常与邻域的灰度值存在差异,因此本文使用最大稳定极值区域(MSER)来选取候选区域.MSER 作为一种图像中斑点区域检测的方法,常用于图像中文本区域检测的任务.而无纺布通常为浅色,疵点为深色,和文本与背景的关系相似.MSER 无需平滑处理即可快速地对多尺度目标进行检测,提取无纺布中不同尺寸的疵点.MSER 的思路为:通过一系列的阈值对灰度化的图像进行二值化操作,并获取不同阈值条件下二值图像的联通区域.分析各个联通区域的面积随阈值增长时的变化率,如果联通区域能够在很宽的阈值范围内保持较小的面积变化率,则为稳定区域.其实施细节如算法1 所示.MSER 可以有效地生成合格的疵点候选区域,并且可以通过调整阈值τ以满足对不同等级缺陷的定制检测要求.
算法 1.最大稳定极值区域算法
MSER 可以产生有效且可控的候选点,如图2所示.通过MSER 算法提取了候选点后,以候选点为中心提取48×48 像素大小的矩形区域作为预检测模型和精确检测模型的输入.
当复卷机工作在高速模式时,首先由预检测摄像头组获得图像数据,经过MSER 算法提取候选区域,预检测模型作为二元分类器判断候选区域中是否存在瑕疵.为了防止池化操作丢失细节纹理信息而造成疵点的漏检,模型中没有使用池化层来减少模型的参数,以保证预检测过程的召回率.
图2 在不同阈值 τ 时MSER 算法产生的候选区域,图中点代表候选区域的中心Fig.2 In the candidate regions generated by the MSER algorithm at different thresholdsτ,the dots represent the center position of the candidate region
图3 本文采用的预检测模型结构图.输入疵点图像经过三个不同尺度的卷积后得到三个特征图,特征图拼接后作为稠密连接模块的输入.稠密连接模块输出与全连接层和softmax 层相连.其中虚线矩形框出部分为展开稠密连接模块的具体形式Fig.3 The structure diagram of the pre-detection model used in this paper.The input defect image is convolved at three different scales to obtain three feature maps,and the feature maps are concatenated as the input of the dense block.The output of the dense block is connected to the fully connected layer and the softmax layer.Among them.The dashed rectangle outlines the specific form of the dense block
预检测的模型结构如图3 所示,输入的48×48像素的图像经过 1×1,3×3,5×5 的卷积层得到3 个特征图,3 种不同尺度的卷积核可以实现不同大小的感受野,提高特征感知与整合能力.将3 个特征图拼接后作为稠密连接模块[27]的输入,稠密连接模块中的每一层的输入来自之前所有层的输出,能够充分保留细节信息,提高网络的特征感知能力.稠密连接模块能够加强特征图中特征的传递,如在稠密连接模块的最后一层仍然保留输入图像的高分辨率信息.这种连接方式可防止在多层卷积计算的过程中,丢失无纺布图像细微的疵点语义信息.稠密连接模块的输出与全连接层相连,预测结果最后通过softmax函数将输出映射至 [0,1].
预检测模型的输入为经过MSER 提取的48×48像素大小的候选区域,输出为此区域存在疵点的概率.训练时使用二值交叉熵损失函数作为损失函数:
其中,xi,yi表示训练数据的输入和标注,f1(·) 表示预检测二元分类器.
当预检测模型检测到当前无纺布存在缺陷时,主机控制机将复卷机的工作模式切换为低速.在低速工作模式下,精确检测摄像头组开始采集图像,并通过精确检测模型预测疵点的外接矩形框.精确检测模型的结构示意图如图4 所示.
图4 本文采用的精确检测模型.其中 tx,ty,tw,th 分别表示检测矩形框的横坐标、纵坐标、宽度与高度,C 表示疵点检测置信度Fig.4 The precise detection model used in this paper.tx,ty,tw,th are the abscissa,ordinate,width and height of the detection rectangle,and C is the confidence of defect detection
精确检测模型采用RetinaNet[28]目标检测模型相似的结构,由特征金字塔部分和全连接部分组成.特征金字塔部分采用了特征金字塔结构[29],特征金字塔由下采样和上采样两部分组成.下采样通过一系列卷积和最大池化操作,不断地提高特征图的语义信息维度并降低特征图分辨率.上采样再通过卷积提高特征图的分辨率并降低语义信息维度.连续的上采样和下采样操作,生成了各个尺度的特征图.由于疵点属于微小的纹理特征,为了防止在下采样和上采样恢复的过程中细节纹理信息的丢失,通过侧枝结构将高分辨率的特征图与上采样的特征图进行合并.合并后的特征图包含了更加丰富的语义信息,并作为特征金字塔部分的输出.特征金字塔部分输出的各个尺度的特征图与全连接层相连,并在全连接层中进行多尺度语义特征信息融合,精确定位疵点外接矩形.
外接矩形预处理方式借鉴YOLOv3[30],精确检测网络预测tx,ty,tw,th四个系数和矩形中包含瑕疵的置信度C,四个系数与外接矩形B=[bx,by,bw,bh]之间的转换式如式(1)所示.
其中,pw,ph为初始矩形的宽和高,(cx,cy) 表示初始矩形的中心坐标.tx,ty为横纵坐标上的偏移量,并经过了sigmoid 函数进行非线性压缩.bx,by,bw,bh分别表示预测的外接矩形的中心的横纵坐标和矩形的宽高.
为了初始化矩形框能够包含相应的疵点,初始化矩形通常包含真实的矩形框.在初始化矩形与真实矩形为包含关系时,IoU (Intersection over union)损失函数[31]的输出为零.故精确检测模型使用CIoU (Complete-IoU)[32]作为损失函数,如式(2)所示.与IoU 损失函数相比,CIoU 还考虑了两个矩形之间的中心点距离、长宽比.因此CIoU 损失函数在两个矩形框为包含关系时模型依然能够很好地收敛.
精确检测模型预测的外接矩形框之间存在着较大的重合,还需通过非极大值抑制(Non-maximum suppression,NMS)算法进行后处理才可得到最终的预测结果,如图5 所示.不断计算置信度缺陷最大的矩形与其余矩形的IoU,如果IoU 值大于设定的阈值T,则认为是非极大值并去除.非极大值抑制算法细节如算法2 所示.
图5 NMS 算法处理效果图Fig.5 NMS algorithm processing effect diagram.(a) is the original image;(b) is the network prediction effect diagram,the network prediction rectangle is drawn with a red rectangle;and (c) is the effect diagram processed by the NMS algorithm.
算法 2.非极大值抑制算法
本文所提出算法的整体思路与具体流程如图6所示.
无纺布的疵点实时检测系统主要由复卷机、高速工业摄像头、工业控制机集群以及系统控制软件组成.本文设计的系统整体结构如图7 所示,生产过程中的无纺布比较松软,需要通过复卷机进行切边、分切以及接头等操作,达到一定规格、张力要求才能出厂.系统通过在复卷机上加装工业摄像头来实时采集无纺布图像.生产的无纺布在传动滚轴带动下,无纺布依次通过摄像头的视野范围.布匹在复卷机上进行疵点检测过程中,当检测到疵点时复卷机停止运转,由于惯性会在停止后向前继续滚动滑出清除面板.为了解决这个问题,本系统将复卷机的工作分为高速和低速两种模式,并通过主机控制机切换复卷机的工作模式.高速工作模式的无纺布传送速度为30 m/min,低速时为3 m/min,在低速模式下布匹缓冲距离较小.
由于视频流数据量巨大,单个千兆网口只能负担两路视频流.系统通过工业控制机集群分布式处理工业摄像头采集的无纺布视频流数据,每台工控机负责采集两路视频流并通过交换机获取当前运行状态与上传检测结果.
本文采用两个摄像头组的两级检测方式,两级检测使用两个结构不同的模型,能够在保证检测效率的情况下精确地检测无纺布中的疵点.通过预检测摄像头组和精确检测摄像头组协同工作,两个摄像头之间安装两个存在一定间距.当预检测摄像头组检测到缺陷时,主机控制机将复卷机调为低速模式.在低速工作模式下,精确检测摄像头组开始获取图像,并检测无纺布图像中的缺陷.预检测模型使用较简单的结构提高检测的速率,并且要求预检测模型有着较高的召回率.精确检测由于工作在低速传送的模式下,对检测的效率要求较低.故模型设计上可使用较为复杂的模型结构,以提高检测精度.同时在模型的功能设计上,由于预检测模型为二元分类器来判断是否存在瑕疵.而精确检测模型除了要对缺陷进行分类外,还需要预测出瑕疵的外接矩形框.
图6 无纺布疵点检测算法流程图Fig.6 Flow chart of non-woven fabric defect detection algorithm
图7 无纺布疵点检测系统总体组成.(I) 代表工业控制机集群,(II) 代表高速工业摄 像头,摄像头发出的光线代表摄像头的视野.下方的摄像头组用于预检测,上方的摄像头组用于精确检测Fig.7 The overall composition of the non-woven defect detection system.In the design diagram (I) represents the industrial control machine cluster,(II) represents the high-peed industrial camera,and the light from the camera represents the camera's field of view.The lower camera group is used for pre-detection,and the upper camera group is used for precise detection
无纺布宽较大,通常接近3 m,单一摄像头视野难以覆盖.本系统通过16 个工业高速摄像头呈两排布局来获取完整的无纺布图像.本系统使用的工业高速摄像头的分辨率为500 万像素,采集帧率为10 赫兹.由于视频流数据量巨大,单个千兆网口只能负担两路视频流.本系统通过工业控制机集群分布式处理工业摄像头采集的无纺布视频流数据,每台工控机负责采集两路视频流并通过交换机获取当前运行状态与上传检测结果,具体如图8 所示.
图8 系统分布式设计结构Fig.8 System distributed design structure
系统将16 个摄像头分为预检测和精确检测两组,每组8 个摄像头.每组摄像头的视频流数据由4 个从机处理器负责,每个从机处理器处理两个相邻摄像头产生的视频流数据.两个摄像头与一个从机工业控制机组成一个子网,从机控制机的计算能力能够实时地处理两个摄像头采集的视频流数据.同时,系统采用的千兆以太网也能在子网中流畅地传输两个摄像头视频流数据.在从机处理器中使用本文的疵点检测算法进行处理,并将检测的疵点结果和降分辨率的视频流数据通过以太网发送给主机控制机.主机控制机根据各个从机的检测结果,给复卷机发送相应的控制指令从而控制整个瑕疵检测流程.系统采用控制功能分散、显示操作集中、兼顾分而自治和综合协调的设计原则[33],有效地提高了系统运行的可靠性.
为了实现更好的数据采集与人工交互方式,本系统还配套开发了疵点实时检测系统的终端软件,如图9 所示.软件主要用于控制复卷机的启动、停止等上层逻辑操作、数据集的手工标注,以及从机控制机识别结果的实时显示.软件的具体功描述如下:
1) 无纺布数据采集的标注功能.软件可控制复卷机进入低速模式,同时从机控制机不执行检测功能,直接将采集到的视频流数据转发至主机控制机.软件从视频流数据中提取图像帧,存储为未标注的数据集.通过软件对无纺布数据集进行交互式标注,支持不同类型的疵点使用不同的标注进行区分.
2) 控制复卷机的工作.软件设计了相应的人机交互接口,通过软件可以显示目前复卷机的工作状态.同时,也可控制复卷机的停止、工作,以及高速和低速工作模式之间的切换.
图9 疵点检测系统终端软件Fig.9 Defect detection system terminal software
3) 各个从机控制机疵点检测的集中显示功能.从机控制机对其负责的两个摄像头的视频流数据进行疵点检测,将检测结果和降低分辨率的视频流传输给主机控制机.主机控制机可将检测结果进行集中显示,将检测到的疵点通过矩形框出,并统计瑕疵的数目、面积作为无纺布生产质量的定量指标.
本文的所有程序均在Intel Xeon E3 1 230-v3@3.4 GHz,Nvidia GTX 1 080,32 GB RAM,Ubuntu 16.04 中进行.使用Pytorch 框架进行训练,开始的50 个epoch 的学习率是 1×10-4,在接下来的50 个epoch 学习率线性下降到 1×10-6.
在复卷机上加装的高速工业摄像头组获取无纺布图像数据,通过NMS 算法选取候选区域后,手工标注疵点并构成对应的数据集.数据集共包含无纺布图像2 000 幅,其中的80%用于训练,20%用于测试.通过添加高斯噪声、随机裁剪和马赛克等方式进行数据增强.训练时的相关超参数配置如表1所示.
系统中所使用工业摄像头、工业控制器和交换机的硬件相关参数如表2 所示.
本文采用精度和召回率来评估无纺布疵点检测结果.精度P和召回率R的计算式为
其中,TP,FP,FN分别表示真正例、假正例和真反例.
表1 训练超参数配置Table 1 Training hyperparameter configuration
表2 硬件设备参数Table 2 Hardware device information
MSER 算法对 2 400×600 像素无纺布图像的平均处理速度为12.7 ms.预检测模型和精确检测模型分别训练后,在测试集上对其进行测试.在测试集上,两个模型在不同阈值τ的精度和召回率如表3 所示,结果表明可以调节不同的阈值来满足对不同程度疵点的定制化检测.两个模型在测试集的预测速度如表4 所示,完全符合复卷机在低速和高速模式下预测速度要求.测试集上部分疵点的检测效果如图10 所示.
图10 通过本文算法对疵点进行检测的结果Fig.10 The result of defect detection through the algorithm of this paper
表3 模型在不同阈值下的检测精度和召回率Table 3 The detection accuracy and recall rate of the model under different thresholds
表4 模型预测速度测试 (ms)Table 4 Model prediction speed test (ms)
YOLOv3、RetianNet、SSD[35]以及本文方法的精度和召回率在不同阈值τ下的对比如图10 和图11所示,由图11 和图12 可知本文在精度与召回率上均为最优.为了验证算法的鲁棒性,在不同程度的光照下对不同纹理的无纺布使用本文算法进行提取疵点.实验结果如图13 所示,结果表明本算法能够较好地克服无纺布纹理与外部光照的干扰,精确地检测出无纺布疵点.
将训练好的两级模型分别部署于工业控制机中,使用本文所设计系统对复卷机上的无纺布进行疵点检测.不同类型疵点的检测精度和召回率测试结果如表5 所示.实验结果表明,对于0.3 mm 以上的疵点召回率为100%,对0.1 mm 的丝状疵点召回率98.8%.
图11 不同模型在不同阈值 τ 下的精度对比Fig.11 Comparison of the accuracy of different models under different thresholds τ
图12 不同模型在不同阈值 τ 下的召回率对比Fig.12 Comparison of recall rates of different models under different thresholds τ
图13 不同光照和纹理条件下疵点检测结果Fig.13 Defect detection results under different lighting and texture conditions
无纺布的质量检测问题直接关系到其生产效率与质量.为了提高无纺布生产过程中疵点检测的自动化程度,本文提出了一种基于最大稳定极值区域与卷积神经网络协同的疵点实时检测系统.针对无纺布生产过程中,布匹宽度大、速度快的特点.系统通过预检测与精确检测两级检测机制,两级检测分别使用不同结构的模型,在不影响检测效率的情况下精确地检测无纺布中的疵点.并通过分布式计算处理架构设计,解决了高速工业摄像头产生视频流数据过大的问题.实验证明本文提出的算法对疵点的检测精度高,且可达到实时的检测效率.本文提出的系统对于0.3 mm 以上疵点召回率100%,对0.1 mm 丝状疵点召回率98.8%,完全能够满足无纺布生产现场疵点检测的效率与精度要求,可广泛地推广应用于无纺布生产的疵点实时监测中.目前对于无纺布疵点的清除工作还依赖于人工,下一步将在本文的基础上,对检测出的疵点通过机械装置进行去除,进一步提高无纺布生产的自动化水平.
表5 不同类型疵点的检测精度和召回率测试Table 5 Testing accuracy and recall rate of different types of defects