APP下载

基于改进YOLOv4-Tiny的缝纫线迹质量检测方法

2023-09-25马创佳齐立哲高晓飞王子恒孙云权

纺织学报 2023年8期
关键词:针脚池化均匀度

马创佳, 齐立哲, 高晓飞, 王子恒, 孙云权

(复旦大学 工程与应用技术研究院, 上海 200433)

在服装生产中,质量低下会导致产品返工,造成对原材料和人力成本的浪费[1]。当前,生产线上对产品缝纫线迹质量的评估主要由人工目视检查完成,但这种方法主观性强、效率低下,且随着劳动力成本的上升加重了服装产业的成本负担,通过人工智能技术实现服装纺织产业转型升级是大势所趋[2-3]。

随着人工智能的发展,计算机视觉技术已应用于多个工业领域中。当前,计算机视觉在服装生产方面的应用仍集中于对织物表面的缺陷检测,国内外对缝纫线迹的检测研究仍较少。基于传统图像处理方法的研究中,核心在于提取线迹或针脚点的特征,从而获取目标特征的数量和位置信息,计算均匀度和密度实现缝纫质量评估。传统的边缘提取算法如Sobel[4]、Canny[5]等通过划分线迹与非线迹区域实现线迹特征提取,但面对缝纫线与面料颜色相似的情况效果不佳,易受面料褶皱引起的折痕干扰,影响检测效果。面向多种线迹类型的场景,李彩林等[6]首先识别线迹类型和定位线迹针脚点,并为不同线迹类型设计特征提取方法提取线迹特征用于质量检测。以上工作在实际应用中虽能代替人工检测,有效提升检测速度和准确率,但提出的方法仅能用于线迹种类单一、面料需严格平整的场景,且存在算法鲁棒性差、需人工调整参数等问题,面对不同的线迹类型时需重新设计检测方案,难以广泛应用。

近年来,以卷积神经网络为代表的深度学习模型被广泛应用于多项工业任务中。以VGG-16[7]、ResNet[8]为代表的卷积神经网络通过强大的自学习能力,在有限的数据集合中准确提取目标特征,有效避免外界干扰的影响。Kim等[9]利用预训练的VGG-16模型提取直线形缝纫线迹特征,用于线迹密度、断线等质量问题的判断。此外,基于卷积神经网络的目标检测算法也被应用于缝纫线迹质量检测。毕月[10]采用了SSD(single shot multibox detector)目标检测方法实现护照上缝纫线迹段的检测识别,并以识别到的线迹段数量来进行质量判断;但上述方法并不适用于线迹特征相似、缝纫线与面料颜色差异较大的缝纫场景,因为大多数卷积神经网络模型是面向通用场景设计的,直接应用于缝纫线迹检测无法达到良好的检测效果。

针对以上分析,为兼顾算法实时性和检测精度,本文以YOLOv4-Tiny[11]算法为基础进行改进,实现缝纫线迹针脚点的有效识别和定位。为解决缝纫线迹与面料颜色相近、面料褶皱等因素导致YOLOv4-Tiny无法有效识别线迹目标特征的问题,在原网络结构中嵌入一种改进的卷积注意力模块(convolutional block attention module, CBAM)[12],提高对线迹特征的学习能力,并引入快速空间金字塔池化(spatial pyramid pooling-fast, SPPF)解决检测过程中因线迹局部特征相似而出现的误检问题。后续利用模型获取缝纫线迹针脚点的数量和位置信息计算线迹针脚点密度和均匀度,实现了5种线迹类型的质量评估。

1 缝纫线迹质量检测方法设计

基于改进YOLOv4-Tiny的缝纫线迹质量检测主要包含3个步骤:1)采集缝纫线迹图像,并对图像中的线迹针脚点进行标注,构建用于模型训练的数据集;2)对改进后的YOLOv4-Tiny神经网络进行模型训练,通过目标检测实现缝纫线迹针脚点的定位;3)通过针脚点数量和位置信息计算线迹密度和均匀度,实现缝纫线迹质量的评估。检测流程如图1 所示。

图1 缝纫线迹质量检测流程图Fig. 1 Flow chart of sewing stitch quality test

1.1 数据集构建

本文在实验室环境中采集数据集图像,图像拍摄时工业相机置于缝纫机侧面,且相机视野仅包含面料及缝纫线区域。在4种纯色的纯棉面料上各缝制5种类型线迹,使用工业相机拍摄缝纫线迹图像并保存为jpg格式文件,数据分布如表1所示,线迹类型示例如图2所示。使用labelimg对图像进行标注,标注信息主要包含目标线迹类型、标注框左上角坐标和右下角坐标,保存为xml格式用于模型训练。数据集图像共200张,包含直线形(straight)、锯齿形(serrated)、 虚线锯齿形(dash serrated)、装饰缝(ornament) 和拼接缝(splicing)共5种类型线迹。实验中,将灰色和粉色面料缝制的线迹图像70张设为测试集,其余130张以7∶3的比例划分为训练集和验证集用于模型训练。

表1 缝纫线迹数据集分布统计Tab. 1 Sewing stitch data set distribution statistics

图2 缝纫线迹样例图Fig. 2 Sample drawing of sewing stitch type. (a) Straight; (b) Serrated; (c) Dash serrated; (d) Ornament; (e) Splicing

1.2 基于改进YOLOv4-Tiny针脚点定位

本文的缝纫线迹质量检测任务,关键在于获取线迹针脚点的数量和位置信息。为此,采用改进的YOLOv4-Tiny算法对线迹针脚点进行检测。由于缝纫线与面料的颜色相近、面料褶皱等因素的干扰,易造成误检以及检测目标与实际位置偏差较大的现象。且虚线锯齿形和装饰缝的局部特征与锯齿形的线迹特征高度相似,检测中易因感受野过小而出现线迹类型相互误识别的现象。

YOLOv4-Tiny是轻量级的目标检测神经网络,其主干网络CSPDarkNet53-Tiny由3个CBL和3个CSP模块组成,相比YOLOv4算法深度明显下降,且提高了检测速度,但牺牲了网络的特征提取能力,模型检测精度有所下降。且由于YOLOv4-Tiny算法是面向通用数据集设计的,在缝纫线迹识别这一场景下需针对前面所提的问题进行调整改进,以适应本文的检测任务。为此,本文引入改进的CBAM模块和SPPF模块对YOLOv4-Tiny网络结构进行改进,提高模型对线迹的特征提取能力以及检测过程中结合上下文信息的能力。本文改进的YOLOv4-Tiny网络结构如图3所示,其中改进的Soft-CBAM和Soft-SPPF的具体结构如图4所示。

图3 改进后的YOLOv4-Tiny网络结构Fig. 3 Improved YOLOv4-Tiny network structure

1.2.1 改进CBAM注意力机制

本文引入CBAM注意力机制,将输入特征图先后通过通道注意力机制(channel attention, CA)和空间注意力机制(spatial attention, SA)设置不同通道和区域间的权重,从而调整网络对包含线迹信息的重要通道和区域的关注度,提高YOLOv4-Tiny对缝纫线迹的特征提取能力。

CA和SA都采用最大池化(max pooling)对输入特征图进行池化操作,该操作会在选定区域内选取特征最明显的像素点作为输出。SA的池化操作是通道维度的,目的是使网络关注有特征存在的区域,因此采用最大池化可有效突出特征图每个位置的特征信息。CA的作用是使网络关注有价值的特征通道,池化操作是在每个通道的特征图上进行的,采用最大池化易使当前通道忽视其有效的特征信息。在缝纫线迹检测中,缝纫线迹的特征与面料往往非常相似,使用最大池化操作易使网络偏向关注与目标无关的特征区域,从而忽略线迹特征区域,无法有效提高对线迹针脚点特征的关注。

基于以上分析,本文对CA中的池化模块进行改进,用SoftPool[13]替换最大池化操作。SoftPool对目标点通过指数加权方式获取相应权重,然后将权重与池化区域像素点相乘再相加得到最终输出。该池化方法可在下采样的同时充分保留池化区域内的有效线迹特征信息,减少信息损失。此外,为减少参数量,用1×1卷积替换CA中的全连接层。改进后的CBAM注意力机制称为Soft-CBAM,如图4(a)所示,图中的Mc和Ms分别表示CA和SA运算。将其嵌入到主干特征提取网络的输出之后以及颈部网络的上采样操作之后。

图4 Soft-CBAM模块结构和Soft-SPPF网络结构Fig. 4 Soft-CBAM module structure and Soft-SPPF network architecture

添加Soft-CBAM后,图5展示了图2(a)在经过主干特征提取网络两个输出路径后,特征图的可视化结果,图中颜色越明亮的区域表明线迹特征越突出。对比图5(a)、(b)可知,改进后的网络模型对特征图关注的区域明显改变,更注重和突出图像中线迹特征所在的中间区域,弱化了与线迹无关的特征信息。

1.2.2 改进快速空间金字塔池化SPPF

在缝纫线迹针脚点的检测中,存在如虚线锯齿形线迹的局部特征与锯齿形线迹特征相似的情况,网络模型若无法有效结合目标特征区域的上下文信息,易出现误检的问题。

本文引入SPP[14]的快速版本——SPPF模块,通过多层池化操作实现特征图局部特征和全局特征的提取与合并,提高模型的感受野。SPPF通过堆叠多个小尺寸池化层的方式达到大尺寸池化层的池化效果,并将每个池化层的输出进行拼接实现多尺度特征融合,提升网络表达能力。传统SPPF模块的池化操作通常采用最大池化,本文将其替换为SoftPool,保证该输入特征图在经过该模块后充分保留线迹特征的细节信息并用于检测。此外,为减少模块计算量,将SPPF中第1个卷积层的输出通道数修改为输入特征图的1/4,使经过池化后拼接的特征图通道数与原通道数保持一致。改进后的Soft-SPPF网络结构如图4(b)所示,其中H、W和C分别为输入特征图的高度、宽度和通道数。

本文在YOLO Head之前加入Soft-SPPF模块,提高线迹特征的感受野范围,使得YOLO Head进行检测时充分利用目标针脚点区域的周边特征信息,有效减少因线迹局部特征相似造成误检的情况。

1.3 缝纫线迹质量检测方法

缝纫线迹质量指标包含线迹密度和均匀度,本文同一图像中仅有一种线迹类型,将待测图像传入改进的YOLOv4-Tiny算法进行缝纫线迹的针脚点目标检测后,输出得到针脚点的针脚数量和每个针脚点的中心坐标,通过本节介绍方法计算密度和均匀度。

1.3.1 物像空间标定

为矫正图像中由相机镜头带来的畸变,本文采用“张氏标定法”[15]对相机进行标定。完成相机标定并对图像进行矫正后,将一规则物体放置在面料检测平台上,然后利用相机拍摄规则物体后获取图像中物体边长的像素距离dp,再通过人工尺量的方式读取物体的实际长度dm,从而计算像素实际长度与像素距离之间的比值K,单位为pixel/cm,公式为

K=dp/dm

(1)

1.3.2 密度检测

本文以缝纫线迹在10 cm内包含的线迹针脚点数量为标准计算线迹密度D。选取图像中线迹两端的针脚点中心坐标并由式(2)计算它们间的像素距离L,从而获取线迹长度。后续由式(3)可得线迹密度。

(2)

(3)

式中:(xl,yl)与(xr,yr)为线迹左右两端针脚点的中心坐标;N为针脚点数量。

1.3.3 均匀度检测

本文通过计算相邻针脚点的距离与平均像素距离的相对误差来衡量均匀度。首先获得图像中线迹长度的像素距离L,并通过式(4)计算得到相邻针脚点间的平均像素距离(M)。

M=L/(N-1)

(4)

通过目标检测算法输出的定位信息可获取每个针脚点锚框的中心坐标。计算相邻针脚点中心坐标的像素距离与M的绝对误差,再计算与M的比值,得到相邻针脚点相对误差(RRE)。

(5)

式中,(xi,yi)与(xi+1,yi+1)为相邻2个针脚点的中心坐标。由公式可知,相对误差越小,相邻针脚点的距离与M的差值越小,说明2个针脚点的距离越标准。

本文计算所有相邻针脚点的平均相对误差(RMRE), 并以此衡量整条线迹的均匀程度,计算结果越小,缝纫线迹越均匀。

(6)

式中,RREi为第i个针脚点处的相对误差。

2 实验与分析

2.1 实验环境与模型训练策略

本文对改进的YOLOv4-Tiny模型进行训练,操作系统为Ubuntu18.04,编程语言为Python3.8,采用Pytorch1.7.0深度学习框架训练。显卡为GeForce RTX 2080Ti,显存大小为11 GB,CPU为Intel Xeon E5-2678 v3,后续测试实验皆在此环境配置下完成。

图7 改进的YOLOv4-Tiny检测效果Fig. 7 Detection effect of improved YOLOv4-Tiny algorithm. (a) Original image; (b) Detection results

本文以在VOC2007数据集上的预训练模型初始化网络权重参数,并在自建的缝纫线迹数据集上进行训练。训练过程中,使用Adam算法优化模型参数,初始学习率设为0.001,并采用余弦退火方法调整学习率。迭代次数epoch设为200,批样本大小batch size设为8。

结合实际应用场景需求,在训练过程中对线迹图像采用如旋转、水平翻转、色彩抖动、添加噪声和光照调节等方式进行在线数据增强,使训练所得的网络模型具备较好的抗干扰能力,且能适用于与数据集颜色相近面料的线迹识别。

图6示出训练过程中的模型损失值变化曲线。可看出在前50次迭代训练中,模型损失值快速下降,拟合本文数据集,并在150次迭代后模型基本收敛,损失值保持在一个平稳范围内。

图6 模型训练损失曲线Fig. 6 Model training loss curve

2.2 缝纫线迹质量检测

本文用训练得到的改进YOLOv4-Tiny模型对测试集中5种类型缝纫线迹、且缝纫线与面料颜色相同的图像进行针脚点识别和定位,并用于自动质量检测,检测结果如图7所示。从图7看出,改进的模型在亮度较高(直线形)和较低(虚线锯齿形)的情况下均能准确识别,且在线迹周围有明显褶皱时也能准确识别针脚点。

将人工通过尺量的各线迹点间距经计算所得结果与缝纫质量自动检测结果比较,结果如表2所示。质量指标包括缝纫线迹密度和均匀度,均匀度以所有相邻针脚点间距与平均间距的平均相对误差衡量。由于针脚数量和线迹长度的统计是计算密度和均匀度的前提,因此在实验中也对其结果进行对比。

由表2可知,自动检测与人工检测对针脚数量的统计完全相同,线迹长度的差值在1.1 mm内。在密度和均匀度的统计中,直线形线迹的差值均高于其他类型的线迹,其中自动检测的密度值比人工检测高出0.6,保持在±1 针/(10 cm)内。而均匀度计算结果差值最大为1.21%,这是由于直线形线迹的针脚点相比其他类型线迹更加细小、密集,人工统计难度大,尺量读数时的细小误差会导致均匀度的计算结果与自动检测偏差较大。

表2 自动质量检测与人工检测方法效果对比Tab. 2 Comparison between automatic quality assessment and manual testing methods

考虑人工尺量读数误差的影响以及实际生产要求,缝纫线迹质量自动检测结果与人工检测的差值在可接受范围内,验证了本文所提方法的可行性,表明改进的YOLOv4-Tiny算法面对不同类型线迹均可准确识别和定位线迹针脚点的位置,且相比人工检测稳定性更高,可有效代替人工用于实际检测。

2.3 改进YOLOv4-Tiny算法有效性验证

本文采用目标检测算法中常用的均值平均精度(PMAP)、F1值和检测时间对改进的YOLOv4-Tiny算法的检测性能进行评估。

2.3.1 不同目标检测模型对比验证

为客观评估改进的YOLOv4-Tiny算法在缝纫线迹检测任务上的有效性,将之与轻量级目标检测算法MobileNet-SSD、YOLOv5s和YOLOv4-Tiny在实验测试集上的PMAP、F1值和检测时间进行比较,结果如表3所示。可见,YOLOv4-Tiny各项性能指标均优于MobileNet-SSD和YOLOv5s,且检测时间最短,对其进行改进更合适。而改进的YOLOv4-Tiny算法与原算法相比,PMAP和F1值都有明显提升,PMAP值为85.50%,F1值为0.892。检测速度方面,本文提出的算法需15.9 ms实现缝纫线迹检测,与YOLOv4-Tiny算法的检测时间基本持平。

表3 不同目标检测算法性能对比Tab. 3 Performance comparison of different object detection algorithms

此外,本文基于YOLOv4-Tiny算法对图7(a)中线迹图像进行质量检测实验,实验结果与人工检测的差值如表4所示。与表2中的数据对比发现,基于YOLOv4-Tiny算法检测得到的线迹长度和均匀度与人工检测结果的差值范围更大,均匀度差值普遍更高。表明改进后的算法对线迹针脚点的识别效果更好,定位更准确,适用于缝纫线迹检测场景。

表4 YOLOv4-Tiny算法质量检测结果与人工检测的差值Tab. 4 Difference between quality detection results and manual detection based on YOLOv4-Tiny algorithm

2.3.2 消融实验

为验证本文引入的Soft-CBAM和Soft-SPPF模块对检测算法性能提升的贡献,进行了消融实验。将改进前后的模块依次加入YOLOv4-Tiny算法中,对比检测精度PMAP、F1值和检测时间变化,结果如表5所示。

表5 各模块对检测算法的贡献Tab. 5 Contribution of each module to detection algorithm

对比a组和其它组实验结果发现,本文引入的各个模块对模型检测性能均有提升,且检测速度没有明显下降。b、c组的实验结果表明,改进后的Soft-CBAM模块效果更优,PMAP和F1值提升更多的同时速度更快,更适用于线迹检测场景,验证了SoftPool替换最大池化以及用1×1卷积代替全连接层的有效性。对比d、e组可发现,引入Soft-SPPF相比SPPF仅多了0.4 ms的检测时间,但PMAP和F1值提升明显,检测效果更好,验证了Soft-SPPF的性能提升。

3 结 论

针对缝纫质量检测场景,研究了基于改进YOLOv4-Tiny的缝纫线迹质量检测方法,首先将改进后的YOLOv4-Tiny在自建数据集上训练与测试,检测时间为15.9 ms,检测精度为85.50%,可有效识别线迹针脚点数量和位置信息。然后利用本文方法计算线迹长度、密度和均匀度,实现质量检测。并将本文质量检测方法与人工方法进行对比,验证所提方法的可行性,通过对比和消融实验验证了改进YOLOv4-Tiny的性能提升。

此次研究中,实验所用面料为纯棉,且均为无图案面料,本文方法在其它材质以及有图案面料上的效果仍有不足,后续工作可从这2个方向深入探究。

猜你喜欢

针脚池化均匀度
低播量下杂交稻产量形成对种植均匀度的响应
基于Sobel算子的池化算法设计
吉利帝豪EV汽车手自一体式灯光系统电路检修*
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
均匀度控制不佳可致肉种鸡晚产
基于卷积神经网络和池化算法的表情识别研究
诗句如针脚,绣遍倾城旧事
一种继电器单元的设计与应用
锦纶长丝染色均匀度判色新方法