APP下载

基于MF⁃SSD 网络的织物疵点检测

2020-12-24黄汉林景军锋张缓缓

棉纺织技术 2020年12期
关键词:疵点织物尺度

黄汉林 景军锋 张缓缓 王 震 周 君

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

1 问题的提出

随着生活水平的提高,人们对产品质量提出越来越高的要求。外观检测作为织物质量控制的重要组成部分,在纺织行业中越来越受关注。织物外观检测方式分为人工检测和自动检测两种,目前许多工厂仍然使用人工方法进行疵点检测,由于人工检测成本高、劳动强度大,工人容易受到视觉疲劳和心理因素的影响,导致织物疵点漏检率高,从而降低生产效率,给工厂带来巨大经济损失。为此,在生产过程中引入自动疵点检测迫在眉睫[1]。

织物疵点的自动检测算法主要有统计方法、频谱方法、学习方法、模型方法、结构方法[2]。基于统计的方法,ZHU D D 等人[3]提出了一种基于自相关函数和灰度共生矩阵的色织物疵点检测算法,算法加大了复杂度,实时性不强。基于频谱的方法,文献[4]采用粒子群优化算法对Gabor滤波器进行优化,获得最佳参数,检测经编织物疵点,但不适合检测细小的局部疵点。基于学习的方法,文献[5]提出了一种基于局部二值模式和灰度梯度直方图特征检测织物疵点的方法,最后使用支持向量机对织物进行分类,分类准确率达到90%,适用于周期性强的图案织物。基于模型的方法,文献[6]提出基于广义高斯混合模型的检测方法,以检测斜纹和平纹织物疵点。尽管以上传统方法在织物的特征提取和疵点检测方面取得了良好的效果,但是通过手工或浅层学习识别特征的方式对于复杂的条件却不能很好适应。这些疵点检测方法通常针对各种疵点会设定多个阈值,而且对照明条件和背景颜色非常敏感,缺乏对检测环境的适应性和鲁棒性。

随着深度学习技术的发展,在工业疵点检查领域中,深度神经网络的应用受到越来越多的关注。与传统的特征提取学习方法相比,深度学习能够从训练样本中学习更丰富的层次特征,并表现出卓越的性能。近年来,基于深度学习的缺陷检测算法很多,但是大多都是对缺陷样本进行分类。文献[7]利用传统图像算法和卷积神经网络相结合的方法对焊接缺陷进行识别,但参数大、数据冗余度高。文献[8]提出一种DCNN 的网络模型对布匹缺陷分类,虽然监测效果显著,识别率高,但是并不能定位出疵点的具体位置。也有一部分基于网格对缺陷进行定位,文献[9]提出基于学习的无监督疵点检测方法,构建多尺度卷积去噪自编码器网络,需要输入少量无疵点样本图片进行训练,进而对织物疵点图片进行分割,但是对复杂的图案化织物纹理缺乏准确性和稳定性。文献[10]提出一种结合GAN[11]和Faster R⁃CNN[12]的疵点检测方法,利用GAN 对疵点图片进行扩充,然后利用Faster R⁃CNN 对色织物疵点进行检测,但是检测时间较长,达不到工业要求。文献[13]通过基于Fisher 准则的堆叠式降噪自动编码器,对周期性花纹织物和较复杂的提花经编织物疵点进行分类,但是对尺度较大的纹理织物检测效果不佳。文献[14]使用改进YO⁃LO[15]算法,通过融合多层特征,使用多尺度金字塔检测钢带风力涡轮机叶片疵点,该算法的识别率可达90%以上,主要用于检测小型疵点。

2 特征提取

SSD[16]网络是近年来常用目标检测方法之一,该方法在速度和精度方面都优于R⁃CNN 系列和YOLO 系列[17],但是在SSD 中大约80%的时间花在基础网络上(VGG⁃16[18])。为此,文献[19]提出改进SSD 网络模型检测密闭容器表面疵点,但是该法难以检测小尺寸目标。文献[20]中用表征能力更强的深度残差网络Resnet101[21]代替VGG⁃16 主干网络,并引入特征融合机制,把底层特征和高层特征有机融合在一起,具有良好的准确性,但是残差网络结构较深,提高了算法时间复杂度,运行速度有待提高。因此使用更快的基础网络可以进一步提高速度,在本研究中使用MobileNet[22]来 替 代VGG⁃16 作 为 主 干 网 络。MobileNet⁃SSD 主要由深度可分离卷积和普通卷积层组成,见图1。

图1 MobileNet⁃SSD 网络结构

在特征融合模块中,将不同尺寸特征图融合,通过下采样生成新的特征金字塔,然后通过不同尺度的特征层对疵点进行预测,进一步提高SSD 的精度,以满足工业生产的速度和精度要求。

深度可分离卷积将标准卷积核分解计算,见图2。深度可分离的卷积由深度层(Dw)和逐点层(Pw)组成。Dw 是使用3×3 内核的深卷积层,而Pw 是使用1×1 内核的常见卷积层。Dw 的一个卷积核负责一个通道,且一个通道只被一个卷积核卷积,而常规卷积模式中每个卷积核同时操作输入图片的每个通道。逐点卷积使用1×1 卷积,其主要作用是对通道数升维和降维,深度可分离卷积减少织物疵点信息提取过程中的冗余表达。

图2 深度可分离卷积

首先通过深度层卷积得到特征图,随后经批量归一化算法(BN)和激活函数(Relu6)处理,BN层为防止梯度爆炸和过拟合,Relu6 函数为非线性激活函数,见公式(1),在低精度计算下该函数具有更强的鲁棒性。

为了增强检测织物疵点的鲁棒性,减少有效信息丢失,在主干网络后面加了8 个标准卷积层,大小采用3×3 卷积核,降低参数,然后从6 个不同尺度的特征图上提取特征来做检测,它们的大小为19×19、10×10、5×5、3×3、2×2、1×1,最后用分类回归和边界框得分来预测织物疵点类别和位置,预测的疵点检测框往往有很多,采用非 极 大 值 抑 制(Non⁃Maximum Suppressionn,NMS)算法,保留一个最优疵点位置框,达到精准预测织物疵点位置的目的。

3 特征融合

SSD 以不同尺度的特征图作为检测层,分别检测不同大小的疵点。该方法处理简单有效,但存在一些缺陷:一般使用低层检测小疵点,但低层感受野大,上下文信息缺乏,容易引起误检;使用简单的单一检测层多尺度信息略显缺乏,但是因为疵点目标尺度变化范围十分广泛,高层虽然感受野较小,但经过多次下采样,小疵点的语义信息已经丢失,缺失丰富的语义信息。对于SSD网络小疵点漏检率高的问题,本研究提出一种新的MF⁃SSD 模型,见图3,引入一种轻量级且高效的功能融合模块。首先Mobile⁃SSD 网络中38×38 的特征图大小设置为基本特征图的大小,利用Conv1×1 降维,对 于 网 络 中19×19 和10×10 的特征图,使用双线性插值法将特征图的大小调整为基本图大小,所有特征图在空间维度的大小都相同,通过Concat 方式将3 种尺度特征图连接起来,融合不同尺度的特征,对于生成38×38 特征层后接BN 层输出,最后采用下采样以生成新的特征金字塔,在不同尺度特征图上对织物疵点做预测。本方法可以完美解决SSD 对小疵点误检、漏检的问题。

图3 MF⁃SSD 模型

4 疵点检测

MF⁃SSD 网络提取不同尺度织物疵点特征,并设置不同尺度和长宽比的先验框(Prior boxes)对疵点区域进行检测。织物疵点可分为大目标疵点和小目标疵点,而SSD 网络正是采用不同尺度特征图对大小不同目标疵点进行检测,CNN 网络浅层的特征图比较大,语义信息比较丰富,保留细节信息,检测小目标疵点;接着会逐渐采用步长为2 的卷积方式来降低特征图大小,深层特征图在下采样中逐渐丢失细节信息,小尺度特征图感受野较大,保留大疵点语义信息,可以检测大疵点,见图4。

图4 SSD 多尺度预测

对于一个大小为n×n 的特征图,首先设置n×n 个单元,设检测疵点类别数为c,一共有6 类疵点,每个单元设置的先验框数目记为k,其尺度和长宽比存在差异,每个单元使用了4 个或者6个不同的先验框,则每个单元共需要(c+4)×k个卷积核,4 为先验边框坐标偏移量,则缺陷特征图所有的单元共产生(c+4)×k×n×n 个预测值,见图5。然后根据Ground Truth 匹配合适先验框进行训练,来预测多个先验框的疵点类别和位置损失,最后根据损失函数式(2),执行端到端(end⁃to⁃end)的反向传播,回归输入图片具体疵点类别和位置坐标,找到最佳疵点类别和边框。

图5 SSD 检测结构

总体目标损失包括位置损失(localization loss,loc)和 置 信度损失(confidence loss,conf)。式中:x 为输入图像,l 为预测框,g 为真实边框,权重项∂通过交叉验证为1,N 为真实边框和默认边框匹配的数目。

5 结果分析

5.1 试验平台

本试验环境为Windows10 操作系统,64 GB内 存,NVIDIA GeForce GTX1080ti 显 卡,CPU为Inter(R)Core(TM)i7⁃6800,使 用Tensor⁃flow1.7 深度学习框架进行训练,CUDA10.0,优化 器采用RMSprop,Batchsize 为2,权 重衰减为0.004,初始学习率为0.001,20 000 次迭代训练模型,训练时间7 h。

5.2 原始图片数据集建立与扩增

在织物疵点采集过程中,由于工业环境限制,使用神经网络模型对织物疵点进行检测时,由于自身样本数太小,样本多样性分布不均衡,导致检测结果不太满意。因此试验需要对样本库进行扩增,使用这些图片进行训练,提高神经网络预测的准确性,样本扩充方式有改变亮度、加高斯噪声、旋转角度、镜像、模糊、旋转、平移等,以毛丝疵点为例,见图6。

图6 数据集扩增

本试验数据集共有1 850 张彩色图片,数据包含所有织物无瑕疵样本及其疵点样本,疵点背景复杂,且疵点的尺度变化大,其中疵点图片正样 本1 360 张,负 样 本490 张,尺寸为300 pixel×300 pixel,疵点图片类别共分为6 类,包括自建的Stain(污渍)、Maosi(毛丝)、Beltarn(带纱)、Pilling(起球)等4 种疵点数据集和由香港大学提供的Thickbar(粗经)、Knots(结头)两种公共数据集[23],按8∶2 的比例将图片随机划分为训练集、测试集,数据库样本见表1。

表1 数据库样本

5.3 试验结果

检测的部分样本结果见图7。其中,不同的颜色代表不同的疵点类型,绿色代表Maosi 疵点,橙色代表Beltyarn 疵点,黄色代表Stain 疵点,类别后面的数值表示检测到该种疵点的概率。用不同模型检测每张图片的时间分别为:VGG16⁃SSD 61 ms,Faster R⁃CNN 198 ms,YOLOV2 33 ms,MobileNet⁃SSD 27 ms,MF⁃SSD 30 ms。MF⁃SSD 模型检测时间较快。

图7 检测结果图

本研究通过平均准确率均值mAP(mean Average Precision)和单张图片检测时间来评价模型的性能,一组数据的mAP 是每一类AP 取平均值,每一类的AP 是由精确率/召回率曲线下的面积计算得到的,具体计算公式见式(3)。

其中:Nrel_img是检测出疵点的训练样本数;P(i)是i 个图像的检测准确率;rel_img(i)判断第i张样本是否分类正确,正确为1,错误为0。

毛丝疵点的AP 曲线见图8。

图8 毛丝疵点AP 曲线对比

结果表明:在检测比较小的毛丝疵点时,Mo⁃bile⁃SSD 准确率并不高,说明SSD 在对小疵点检测方面还有一部分疵点被漏检,仍需改进,加入特征融合模块的MF⁃SSD 模型,牺牲少量检测时间,但是准确率显著增加。将本模型结果与4 种主流的目标检测算法结果进行对比,如图9 所示。由于本训练样本太少,训练生成的知识模型还不够完善,在扩充训练样本后,模型的准确率得到进一步提升,训练和测试结果表明,微调后的SSD 模型在织物疵点检测方面有显著效果,特别是在疵点分类和检测准确率方面,相比于其他算法,MF⁃SSD织物疵点模型快速且稳定,满足了工业要求。

图9 检测mAP 对比

6 结论

本研究提出了一种基于MF⁃SSD 网络的表面疵点检测方法,引入了轻量级网络MobileNet,该方法减少计算量,缩短训练时间,并且提高检测的速度。针对SSD 网络对小瑕疵检测效果不佳的问题,引入图像融合模块来处理此类任务。研究结果表明,MF⁃SSD 模型经过所构建的表面疵点数据集训练后,可以精准检测大小不同疵点,mAP 达到90.1%,单张图片检测速度30 ms,达到工业检测要求。

猜你喜欢

疵点织物尺度
无Sn-Pd活化法制备PANI/Cu导电织物
基于Cascade RCNN 和二步聚类的织物疵点检测
《纺织品织物折痕回复角的测定》正式发布
竹纤维织物抗菌研究进展
喷丝板疵点检测系统设计
财产的五大尺度和五重应对
基于FPGA的图像疵点处理设计与实现
宇宙的尺度
织物柔软剂的香气发展趋势
9