织物疵点在线检测的神经网络方法研究
2022-07-23上海交通大学学生创新中心王佳莹
上海交通大学学生创新中心 王佳莹
本文提出一种基于机器视觉的在线检测方法,用于圆形纬编机针织面料疵点的自动检测。在归纳总结针织面料疵点图像学特征的基础上,设计一种可检测织物疵点的深度学习神经网络。基于单阶段目标检测模型YOLOv3,修改网络结构中的两条支路后该网络可参照图像中的背景织物用以识别其上的疵点。并使用深度可分离卷积层降低模型参数、加快检测速度。实验表明,基于YOLOv3改进的纬编针织面料疵点检测算法的mAP(各类别平均准确率的平均值)为81.44%,相较于YOLOv3明显提升。
纺织工业中,面料在织造后往往出现各类疵点,影响产品质量。目前疵点检测的主要方式为肉眼检查和自动验布。但两种检测方式都需要额外的成本并占用场地,且线下进行的方式无法实时检出疵点以便于企业及时处理缺陷面料。及时发现疵点,是控制面料生产质量、降低企业损失的有效手段。在此种现实情况下,在线、自动、智能检测针织面料的技术具有相当的价值。针织圆形纬编机具有独特的结构,在织造过程中人工难以一丝不漏地观察面料并及时发现疵点。加之智能化的需求,因此亟需一种适合圆形纬编机的在线检测方法以自动检测面料疵点。
机器视觉凭借着非接触、高效率、便捷、客观等优点,在缺陷检测方面得到了广泛的应用。目前市场上比较成熟的服装面料自动缺陷检测系统主要包括以色列EVS公司的1-tex2000系统,它只能用于单色服装面料的缺陷检测,检测速度达到120m/min,适应服装面料的高速测试;来自瑞士乌斯特的Fabriscan system 211也专注于单色服装面料的缺陷检测。经过几十年的发展,以色列、美国、法国、澳大利亚等国家的织物疵点检测系统的技术和水平在应用上处于领先地位。
本文以单面圆形纬编机所生产的针织面料为检测对象,设计基于机器视觉的在线检测方法,实现针织面料上典型疵点的在线检测。
1 织物疵点图像特征
本文根据GB/T 24117-2009将纬编过程中的面料缺陷分为9类:漏针、花针、破洞/豁口、稀路/密路、缺纱、横条/横路、水渍/油污、跳丝、毛丝。
与人工观察类似,如果检测算法能够准确检测出疵点,那么它必须能够分辨疵点与其背景之间的差异,而并非单独记忆疵点的外观。是否能够察觉到这种“差异”即针织面料疵点在线检测的分辨能力之一。上述疵点按照纹理和颜色可大致分为三类:第一类的纹理与正常区域有所差异而颜色基本一致,如花针、漏针、稀路/密路、跳丝、缺纱等;第二类的纹理和颜色明显异常,包括破洞和豁口;第三类的纹理并没有遭到破坏,仅仅颜色不同,包括横条、横路、水渍、油污、毛丝等。在上述三大类之下的各个异种疵点相互之间具有微妙的差别,这是在线检测的一大障碍。
为了克服这一障碍,将上述疵点再次按照包容区域的形状分类,并以此作为检测算法的第二种分辨能力,借此分化那些纹理和颜色特征归属一类的疵点。上述疵点的形状可大致为四类:不规则(毗邻区)、横向线形、纵向线形和横向条状,总结如表1所示。
表1 各类疵点图像特征
2 织物疵点在线检测方法
织物疵点在线检测算法流程如图1所示。在神经网络中,被输入的图像数据可视为多维数组,经过诸多特定步长和大小不一致的全卷积层映射后被ReLU层或其他函数激活,输出大量图像特征。这些数据将在用于简化参数的“瓶颈层”经由池化层简化,最后被全连接层或1h1卷积层等浓缩,导出判断结果。
图1 检测算法流程
本文使用YOLOv3模型作为基本网络结构,整体神经网络结构如图2所示。其中,平行四边形代表疵点检测算法神经网络的重要节点,内部的文字分别代表该节点的名称和编号和输出数据的张量形状,节点名称括号中的数字为卷积层的序号,记录当前使用的卷积层总数,而括号外的数字则代表该类型的卷积层(有深度可分离卷积层和普通卷积层两种类型)的序号;箭头代表数据传输路线,箭头附近的标注则代表被省略的节点;方形则表示数据在张量的最后一轴堆叠,同样记有节点编号和输出的张量形状。
图2 神经网络结构简图
网络可被分为骨架和瓶颈层两部分,骨架网络为使用可分离卷积层的Darknet53,用于图像处理,而瓶颈层为一种特征金字塔(FPN),用于特征提取。网络的输入图像经过预处理,为RGB模式,其宽和高分别为768和512px。相较于原YOLOv3网络的尺寸(416h416)有所扩大以在提高精度的同时适应图像样本。经过骨架内的卷积层与残差层分别引出三条支路,分别对应不同尺度,层数越深,尺度越大。尺度最小的上路经过最大池化处理并经由卷积层投影后将取得织物的纹理特征,而尺度最大的下路经过平均池化处理并同样被卷积层投影后得到织物的背景信息。纹理信息被直接载入特征金字塔的底端,而背景信息则投入特征金字塔的三个末端,也就是整体的输出端。
整体网络相较其原型yolov3而言,半数以上3h3二维卷积层被替换为卷积核尺度相同的深度可分离卷积层,而用于降维的1h1卷积层和输出层则未被替代。在瓶颈部分新增一个2h2的平均池化层和2h2的最大池化层分别用于织物背景和纹理的提取。
3 织物疵点在线检测结果
本文使用各类疵点的分类结果的平均精确率(AP)以及顾及所有分类的平均精确率(mAP)作为评价指标,在测试集上的mAP值如表2所示。
表2 疵点检测神经网络的mAP
其中,“YOLOv3-FD”代表基于YOLOv3的织物疵点神经网络,而“YOLOv3”代表原网络。在各个纵列中,只有各个类别置信度高于下标数字的检测结果参与计算。两种神经网络在一整次训练中总体损失、学习率与迭代次数之间的关系如图3所示。
图3 疵点检测神经网络算法的训练情况(左:YOLOv3-FD,右:YOLOv3)
从图3中可以看出,未经结构调整的YOLOv3网络在训练过程中各个数据点的总体损失保持在5以上,且在学习率不停变化的迭代过程中没有明显的变化,而本文所使用的神经网络则能够较好地习得疵点特征。
“YOLOv3-FD”在置信度门槛为25%时各类型疵点的平均精确率(AP)如图4所示。
图4 置信度为25%时各类型疵点的AP
从图4中可以看出,当置信度为25%时,一些类型的疵点如毛丝、花针等的识别准确率度较高(90%以上),而横条、稀路/密路和漏针疵点的准确率较低,神经网络仅能识别43%的横条、70%的稀路/密路和71%的漏针。经过分析,发现精确度较低的原因在于这三种疵点的特征不明显。其中横条的图像特征为条状的、颜色较针织物淡的印记,光线的不均匀和织物的不规范折叠都将产生类似的效果,因此容易被神经网络忽略。而漏针则表现为线圈脱散而在布面出现垂直条痕及小孔,具有与缺纱相似的图像特征,同样使神经网络难以分辨。
4 结论与展望
本文在对织物疵点图像学特征整理的基础上,构造了一种适用于纬编针织面料疵点的检测算法。在单阶段目标检测算法YOLOv3的结构基础上改写了两条支路,使之能够准确检测出部分类型的常见针织物疵点,当置信度门槛为25%时mAP可达81.44%,相较于原YOLOv3有明显提高。此外使用了模型量化技术减轻了输出层的运算量,并将部分卷积层替换为深度可分离卷积层以在加快预测速度的同时减小模型体量。后续将进一步研究搭建效率更高的神经网络,以在保证检测精度的基础上缩短运算时间。