一种改进CA注意力机制的YOLOv5织物疵点检测方法与流程

文档序号:34724802发布日期:2023-07-07 19:36阅读:132来源:国知局
一种改进CA注意力机制的YOLOv5织物疵点检测方法

本发明设计了一种针对织物的疵点检测方法,具体涉及一种在深度学习网络结构中更换融入ca注意力机制c3模块的织物疵点检测方法。


背景技术:

1、纺织制造业是我国的重要产业支柱,我国的纺织品出口量在世界上居于首位(纺织学报, 2020, 41(05): 72-78)。在纺织品生产过程中,因机器故障、人工操作等因素会造成织物出现疵点或破损(江南大学, 2017),因此织物疵点检测是提高织物质量的重要环节。目前我国大多数企业仍然以人工目测为主,但受限于人眼易疲劳、手工操作复杂等因素,高质量织物的生产步与国际水平相比仍然落后(ieee. t. ind. appl. 2000, 36(5):1267-1276)。

2、如今随着纺织行业不断向去人工化、织造一体化发展,物质量的智能化检测环节在生产过程中起着决定性作用,提高织物疵点检测精度与效率、降低人工成本已然成为纺织行业质量检测的研究重点。目前织物检测方法一般采用传统算法,如基于模型的方法、基于结构的方法、基于统计学的方法、基于谱分析的方法等(optik. 2016, 127(24): 11960-11973),但由于疵点种类数目庞大以及生产工艺的不同,这些方法存在检测精度低、模型泛化性能差等问题。而基于深度学习的检测方法可以通过数据集有效获得疵点的特征信息,从而准确检测不同种类疵点,但检测中存在对微小疵点检测存在检测效果差、误检率高的问题(光学精密工程, 2022, 30(08): 998-1010)。

3、本发明通过在深度学习网络模型种加入cac3注意力机制,可以有效提升模型对疵点所在区域的关注程度,从而增强模型检测精度并有效提升模型鲁棒性。


技术实现思路

1、本发明的目的是为了解决疵点检测精确度低的问题,为实现上述目的提供了一种加入cac3注意力机制的深度学习模型检测方法,以有效提高织物疵点检测的精确度和召回率,具体流程可见图2。

2、本发明织物疵点检测方法包括如下步骤:

3、步骤1:采集若干织物图像,建立织物图像数据集,通过对不同疵点类别的织物图像进行标注,获得带有标签的织物图像数据集。

4、步骤2:将带有标签的织物图像数据集按照给定比例划分为训练集、验证集、测试集,训练集、验证集以及测试集的比例为8:1:1。

5、步骤3:通过将ca注意力机制加入网络结构,构建yolov5_cac3模型

6、步骤4:将训练集和验证集的路径、初始训练权重文件路径输入网络模型训练所需参数中进行训练,获得训练完成的yolov5_cac3模型。

7、步骤5:将测试集的织物图像路径、训练完成的模型路径输入检测代码中,每张待检测织物图像都在yolov5_cac3模型中被标注疵点预测框后输出,再通过不同的预测框显示出测试集中每张织物的疵点类别、置信度以及位置信息,从而完成织物疵点的检测。

8、所述的步骤1中,使用labelimg对构建的织物图像数据集进行疵点数据标注处理,通过软件对疵点区域进行标注后可获得疵点的真实标注框,获得的数据包括疵点的种类以及经过归一化后每个真实标注框的中心坐标以及相对宽和高。

9、所述的步骤1中,织物疵点包括四种类别:断氨纶、结头、破洞和纬缩。

10、所述的步骤3中,建立的yolov5_cac3模型依次包括input、backbone、neck、head。

11、结构具体如下:

12、a) input

13、在图片输入后对其采取mosaic数据增强操作,将训练所用图片抽取四张进行随机的缩放、剪裁、排布后拼接在一起,因处理后的图片疵点信息丰富,因此可以有效提升训练后模型鲁棒性和检测精度等性能。

14、yolo系列算法在初始设定的九个锚点框的基础上输出对应的预测框,通过与已有gt框位置信息的比对计算误差,通过不断修正参数进行网络框架的不断更新并增强模型识别精度。

15、b) backbone

16、模型主干网络为darknet53骨干网络,主要结构包括conv模块、cac3模块、sppf模块。cac3模块包括conv模块和ca注意力模块,sppf模块由池化、连接、全连接三个步骤组成。

17、ca 注意力模块操作原理如下:

18、ca注意力机制依照准确的位置信息分成两个阶段来给通道关系编码。

19、第 1 阶段为特征图的信息嵌入操作。在对通道注意编码时,采用将全局池化分解为一对一维特征编码操作,避免将全局空间信息压缩到通道描述符中造成位置信息丢失的后果。

20、

21、输入x,先以尺寸为(h,1)的池化核沿着水平方向或(1,w)的池化核沿着垂直方向编码每个通道。因而,高度为h和宽度为w的第c通道的输出分别可以表示为

22、

23、

24、该变换方式沿着两个不同的空间方向来聚合特征,从而生成一对方向感知的特征图,能够得到全局感受野并对位置信息进行精确编码。

25、第 2 阶段为ca注意力生成操作。先将第1阶段的变换结果进行concat操作,之后利用1×1卷积变换函数s1对其进行变换操作:

26、

27、α表示非线性激活函数;e是分别在水平和垂直方向对空间信息 进行编码的中间特征映射。r 表示缩减率,可用来控制 seblock 大小 ,即可以通过控制r来减少f的通道数,使得模型更加精简并减少算力。随后,分别沿空间方向将e分解为两个独立的张量和。用其他两个 1×1卷积变换 和分别将 和变换为通道数相同的张量到输入x,得到输出和:

28、

29、

30、式中:λ为sigmoid激活函数。接着分别对和进行扩展并作为注意力权重。最后的输出y可以表示为:

31、

32、加入ca模块的方法:在代码中定义cac3模块,将网络结构backbone中的c3模块替换为为cac3后进行模型训练即可。

33、c) neck:

34、包括cbs、upsample、concat和c3组成,其中c3模块包括三个卷积模块。neck 部分采用 fpn+pan的网络结构。fpn 层自顶向下传达语义特征,pan层自底向上传达定位特征。最后两个特征进行融合,使不同尺寸的特征图都包含语义信息和位置信息。

35、在neck部分,yolov5提取多特征层进行目标检测,一共提取三个特征层。

36、三个特征层位于主干部分cspdarknet的不同位置,分别位于中间层,中下层,底层,当输入为(640,640,3)的时候,三个特征层的尺寸分别为shape1(80,80,256)、shape2=(40,40,512)、shape3=(20,20,1024)。

37、在获得三个有效特征层后进行fpn层的构建,构建方式为:

38、shape3=(20,20,1024)的特征层进行1次1×1卷积调整通道后获得p5,p5进行上采样后与shape2=(40,40,512)特征层进行结合,并通过csplayer进行特征提取获得p5_upsample,此时获得的特征层为(40,40,512)。

39、p5_upsample进行1次1×1卷积调整通道后获得p4,p4进行上采样后与shape1特征层进行结合,并用csplayer进行特征提取p3_out=(80,80,256)。

40、p3_out进行一次3×3卷积进行下采样,下采样后与p4堆叠,并用csplayer进行特征提取p4_out=(40,40,512)。

41、p4_out进行一次3×3卷积进行下采样,下采样后与p5堆叠,并用csplayer进行特征提取p5_out,此时获得的特征层为(20,20,1024)。

42、此时获得三个尺寸大小不同的特征图,通过头端进行检测。

43、d) head

44、yolov5 的检测头模块采用了多层级特征融合的方法,首先将骨干网络输出的特图经过一个 conv 模块进行通道数的降维和特征图的缩放,然后再将不同层级的特征图进行融合,得到更加丰富的特征信息,从而提高检测性能。

45、本发明方法以通过添加权重赋予深度学习网络模型关注疵点区域能力为关键点估计问题,此方法操作简便,只需在模型中注册模块并更改相应结构后便可使用,且与一般的深度学习网络模型相比,此方法训练的模型对疵点区域的关注程度有明显提升,在识别精确度以及召回率方面相较于原始模型提升幅度高,可有效聚焦疵点位置并将其识别,极大提升了织物疵点的检测效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1