CN116664478A - 一种基于深度学习的钢材表面缺陷检测算法 - Google Patents
一种基于深度学习的钢材表面缺陷检测算法 Download PDFInfo
- Publication number
- CN116664478A CN116664478A CN202310239482.5A CN202310239482A CN116664478A CN 116664478 A CN116664478 A CN 116664478A CN 202310239482 A CN202310239482 A CN 202310239482A CN 116664478 A CN116664478 A CN 116664478A
- Authority
- CN
- China
- Prior art keywords
- attention
- pooling
- feature
- module
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 62
- 238000001514 detection method Methods 0.000 title claims abstract description 54
- 229910000831 Steel Inorganic materials 0.000 title claims abstract description 42
- 239000010959 steel Substances 0.000 title claims abstract description 42
- 238000013135 deep learning Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000007246 mechanism Effects 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 238000011176 pooling Methods 0.000 claims description 64
- 230000006870 function Effects 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000005728 strengthening Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 abstract description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 208000032170 Congenital Abnormalities Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
一种基于深度学习的钢材表面缺陷检测算法,属于缺陷检测算法领域。为了提高刚才表面缺陷检测的精度,本发明提出一种基于深度学习的钢材表面缺陷检测算法,步骤一、扩充图像数据集,并对图像进行预处理;步骤二、改进YOLOv5网络结构;所述的改进YOLOv5网络结构的过程包括:首先,优化K‑means算法找到适配于钢材表面缺陷的Anchor参数优化;然后,将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块,最后优化特征金字塔网络。本发明算法解决了卷积神经网络对图相关重复特征提取的问题,提高了产生候选框的速度,改进后的网络结构解决了过拟合以及预设先验框不合理的问题,同时进一步在提升了检测确度和速度。
Description
技术领域
本发明涉及一种基于深度学习的钢材表面缺陷检测算法。
背景技术
相对于传统的目标检测方法,基于深度学习的目标检测方法具有较高的检测精度和较强的适应性,在工业场景中也得到了广泛的应用。在钢材表面缺陷检测任务中,由于复杂的工业环境等因素的影响,导致检测难度增加,误检率和漏检率高,检测效率低。因此,对钢材表面缺陷进行精准的识别具有重要的研究意义。
随着科技的持续发展和生产力的不断提升,我国在工业智能化及其相关领域取得了巨大的进步。市场对工业产品的外观及质量也提出了更高的要求,这要求传统的生产模式要向智能化生产模式进行转变。从宏观角度来看,制造业的智能化、自动化、无人化将是必然的趋势。
中国钢铁行业正在经历规模迅速扩张、产量飞速提升的一段时期,该时期着力于解决国民经济发展和用钢问题。但在钢材的生产和加工过程中,容易受到环境中不良因素的影响,从而使表面产生多种类型的缺陷。划痕、开裂、斑块等典型的钢材表面缺陷会导致钢材的性能和使用年限降低,甚至直接造成安全事故的发生。因此,表面缺陷检测在钢材生产过程中是一个十分重要的环节,各大企业也将其视为提高产品质量的关键技术,相关学者也在进行钢材表面缺陷检测方法的研究。
最初钢材表面缺陷检测主要靠人工目检,这种方法不仅成本高、检测效率低,更重要的是会出现大量误检和漏检,在实际的工业环境中并不适用。之后出现了一些特定产品缺陷的检测方法来替代人工检测,例如涡流无损检测、微波检测、线结构光扫描检测等,但这些检测方法仍然存在材料限制、无法进行缺陷分类等问题,不能很好的满足精确高效的检测要求。
目前计算机视觉的检测方法已经在许多工业场景中应用,其中以深度学习的目标检测最为常见。大致流程为:首先使用成像设备对金属生产过程中的表面图像或视频进行拍摄;然后将其输入到训练好的网络模型中;最后,网络模型就可以自动推理出缺陷区域并进行分类。相比于传统方法,基于深度学习的相关方法是根据卷积神经网络(Convolutional Neural Network,CNN)对缺陷样本进行自主学习,从而克服了一个传统算法只能检测一种缺陷的问题,还可以通过改进网络结构,参数调整等方式优化网络模型,使之可以检测出面积微小、特征模糊的缺陷。因此基于深度学习的钢材表面缺陷检测方法已成为目前工业生产和学术研究的热点。
发明内容
本发明的目的是为了提高刚才表面缺陷检测的精度,而提出一种基于深度学习的钢材表面缺陷检测算法。
上述目的通过以下的技术方案实现:
一种基于深度学习的钢材表面缺陷检测算法,所述方法通过以下步骤实现:
步骤一、扩充图像数据集,并对图像进行预处理;
步骤二、改进YOLOv5网络结构;所述的改进YOLOv5网络结构的过程包括:
首先,优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化;
然后,将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块,最后优化特征金字塔网络。
进一步地,步骤一所述的扩充图像数据集,并对图像进行预处理的过程,具体为:
步骤一一、选用NEU-DET数据集,收集钢材的6种典型表面缺陷,即:轧制氧化皮、斑块、开裂、点蚀表面、内含物和划痕,
步骤一二、图像预处理;
选用非线性灰度变换中的伽马变换对NEU-DET数据集进行预处理,预处理数学公式如式1所示:
s=crγ (1)
式中,r为灰度图像的输入值,取值范围为[0,1]。s为经过伽马变换后的灰度输出值;c为灰度缩放系数,通常取1;γ为伽马因子大小,控制了整个变换的缩放程度。
进一步地,步骤二所述的优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化的过程,具体为:
优化K-means算法过程如下:
A.在数据点中随机选取一个样本作为初始聚类中心c1;
B.首先计算每个样本与当前已有聚类之间的最短距离,用D(x)表示,并计算每个样本被选为下一个聚类中心的概率按照轮盘法选出下一个聚类中心;
C.重复步骤B,直到选择k个聚类中心;
假设每个网格对应k个Anchor,在训练的时候,在每一个网格附近找出这k种形状;训练后的Anchor会自动匹配合适的尺寸来对预测目标范围进行限制,从而达到多尺度学习的目的。
进一步地,步骤二所述的将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块的过程具体为:
(2)引入全局自注意力机制;
所有注意力在2D特征图上执行,相对位置编码分别为高度和宽度的Rh和Rw;向量是qkT+qrT,其中q,k,r表示查询,键和位置编码,1×1表示逐点卷积;
多头注意力在自注意力的基础上,将输入结果经过编码器后分为多个head头,再输入到自注意力机制中,最后将每一个输出结果做concat操作,降低网络深度,减少耗损,且提取到更多的细节信息;多头注意力机制与C3模块融合,构建残差结构;
(3)采用注意力模块;
将全局自注意力替换空间卷积,输入的特征图首先经过并联的最大池化和平均池化,让注意力更好地集中在对最终目标影响更大的通道上,然后经过一个共享的全连接层,在该层中,会在不同尺度上对被压缩后的特征图进行计算,最后通过Sigmoid激活函数输出经过通道注意力强化后的特征图;该模块的计算公式如式2:
式中:σ为Sigmoid激活函数;MLP代表共享全连接层中的运算;W0和W1分别为共享全连接层的1层和2层;和/>分别为压缩后得到的两个不同的通道背景描述;C为输出向量的长度;MaxPool为最大池化运算,用来聚合特征映射的空间信息;
空间注意力模块则是负责关注输入特征图中有意义部分的位置信息;
特征图经过最大池化和平均池化,使注意力更好地集中在突出目标的空间特征上,减弱其他无关物体的空间特征,将得到的2个输出特征进行拼接操作,并利用7×7的卷积核进行卷积,再通过Sigmoid函数激活,最后输出含有空间注意力权重的特征图;该模块的计算过程如式3;
式中:f7×7为7×7的卷积;AvgPool为平均池化运算;
CA注意力机制主要包含以下三个操作:
(3)、信息嵌入操作:对于给定的一个输入特征图,使用全局平均池化分别沿着特征图的水平方向和垂直方向进行池化操作,得到两个嵌入后的信息特征图,
水平方向即X方向使用H×1的池化核,将H×W×C的输入特征通过全局平均池化操作得到H×1×C的信息特征图,公式如式4所示:
垂直方向即Y方向使用1×W的池化核,将H×W×C的输入特征通过全局平均池化操作得到1×W×C的信息特征图,公式如式5所示:
(4)、注意力生成操作:将上一步生成的两个信息特征图和/>沿着空间维度进行拼接,再经过1×1卷积操作和激活函数;之后沿着空间维度进行分片操作得到两个分离的特征图,在分别对两个分离的特征图经过变换和激活函数,得到两个注意力向量gh和gw,公式如式6所示:
其中,
gh=σ(Fh(fh))
gw=σ(Fw(fw))
(3)、特征图校正操作(Re-weight):上一步操作得到两个注意力向量gh∈C×H×1和gw∈C×1×W,将其进行广播变换到C×H×W的维度后与经过残差操作的输入特征图xc进行对应位置相乘操作,得到最后的注意力特征,如式7所示:
yc=xc×gh×gw (7)。
进一步地,步骤二所述的优化特征金字塔网络的过程,具体为:
在全连接层前加入的一个特殊设计的网络结构,让其对任意尺寸的输入均会产生固定数量的输出,通过最大池化对最后的卷积层的输出进行下采样;通过设定相对于输入图像尺寸而变化的过滤器步长和尺寸来达到对于任意尺寸的输入,全连接层的输入数据数量不变的目的,一共构建三种尺寸比例的池化层,每个池化层均用来提取固定尺寸的特征;最后将池化层的输出拼接得到固定尺寸的全连接层的输入;
SPPF模块,全称Spatial Pyramid Pooling–Fast,采用多个小尺寸池化核级联,融合不同感受野的特征图;
特征金字塔网络用于提取不同尺寸的特征,不同尺寸的特征用来判断不同尺寸的目标物体;对特征金字塔网络中每一层加入一个空间金字塔池化层,用于提高特征金字塔网络的感受野,进一步加强其对不同尺寸物体的感受力;
在加入空间金字塔池化网络层后,将输出层之前的五个卷积层减少为3个。
本发明的有益效果为:
1.本发明针对当前钢材表面缺陷检测中对复杂目标特征提取困难、定位误差大等问题,从锚框的选择进行了研究。对于网络中设定的初始锚框尺寸进行改进可以使预测框的回归更加精准,减小了预测框的定位误差。
2.钢材表面会存在许多尺寸较小、像素占比少并且分布密集的小目标缺陷。其自身存在着语义信息少、覆盖面积小、边缘信息模糊等先天不足等问题。特征提取网络在进行下采样操作时会对连续将特征图缩小后,可能会损失很多小目标缺陷的位置和语义信息,导致其检测效果并不理想,甚至出现漏检的情况。针对该问题提出了改进方案,将C3模块与全局自注意力模块融合,构建残差结构,既能提升速度又能克服全卷积网络的缺陷。同时引入注意力机制模块,提升特征图不同通道间目标信息的相关性表述。
3.在实际的工业检测线上,由于计算资源有限,设备对于图像的响应和处理速度往往无法达到大规模量产的需要。钢材表面缺陷的识别需要具有一定的快速性,在保证检测精度的同时减少计算量,以满足工业中对于缺陷检测实时性的要求是本设计面临的难题。改进特征金字塔网络,选用SPPF模块。该模块解决了卷积神经网络对图相关重复特征提取的问题,提高了产生候选框的速度,改进后的网络结构解决了过拟合以及预设先验框不合理的问题,同时进一步在提升了检测确度和速度。
附图说明
图1是本发明的流程示意图;
图2是本发明涉及的样本规模;
图3是本发明涉及的全局自注意层结构;
图4是本发明涉及的C3_MHSA结构;
图5是本发明涉及的通道注意力模块结构图;
图6是本发明涉及的空间注意力模块;
图7是本发明涉及的CA注意力生成流程示意图;
图8是本发明涉及的CA信息嵌入操作示意图;
图9是本发明涉及的SPPF模块;
图10是本发明涉及的改进的特征金字塔网络结构图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本发明优选的实施例:
请参阅图1-图10,本发明提供一种技术方案:
一种基于深度学习的钢材表面缺陷检测算法,如图1所示,所述方法通过以下步骤实现:
步骤一、扩充图像数据集,并对图像进行预处理;
步骤二、改进YOLOv5网络结构;所述的改进YOLOv5网络结构的过程包括:
首先,针对复杂目标特征提取困难、定位误差答等问题,优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化;
然后,针对小目标特征提取,将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块,最后优化特征金字塔网络。改进后的网络结构解决了过拟合以及预设先验框不合理的问题,同时进一步在提升精了检测确度和速度。其流程图如图1所示。
具体实施方式二:
本实施方式的一种基于深度学习的钢材表面缺陷检测算法,与具体实施方式一不同的是,步骤一所述的扩充图像数据集,并对图像进行预处理的过程,具体为:
步骤一一、选用NEU-DET数据集,收集钢材的6种典型表面缺陷,即:轧制氧化皮(RS)、斑块(Pa)、开裂(Cr)、点蚀表面(PS)、内含物(In)和划痕(Sc),对于缺陷检测任务,每种缺陷的详细介绍如表1所示。样本规模如2图所示,分别展示了每种缺陷类型的目标数量、所有缺陷目标占整张图的尺寸比例和所有缺陷目标中心点坐标在整张图中的位置。由于工业相机、环境光源以及其他不可控因素会导致采集到的图像随机性较强,图像中的特征信息也不够丰富,所以采用图像裁切、水平翻转和垂直翻转方法扩充样本数量,而且能防止过拟合发生。
表1 NEU-DET数据集每种缺陷介绍
步骤一二、图像预处理;
对原始NEU-DET数据图像进行了预处理,更有利于复杂目标和小目标的识别。选用非线性灰度变换中的伽马变换对NEU-DET数据集进行预处理,该方法适用于过曝或者曝光不足的灰度图利用伽马变换进行对比度调节。通过非线性变换,让图像中较暗的区域的灰度值得到增强,图像中灰度值过大的区域的灰度值得到降低。经过伽马变换,图像整体的细节表现会得到增强。预处理数学公式如式1所示:
s=crγ (1)
式中,r为灰度图像的输入值,取值范围为[0,1]。s为经过伽马变换后的灰度输出值;c为灰度缩放系数,通常取1;γ为伽马因子大小,控制了整个变换的缩放程度。
具体实施方式三:
本实施方式的一种基于深度学习的钢材表面缺陷检测算法,与具体实施方式二不同的是,步骤二所述的优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化的过程,具体为:
Anchor是从训练集中统计或者聚类得来的框,该框是训练时的真实框具有不同的尺寸,可以让网络在训练时更加快速的找到缺陷特征,更利于模型快速收敛。由于YOLOv5初始权重是在COCO数据集上训练得到,因此其初始Anchor也是根据COCO数据集设置。网络训练的效果会受到初始Anchor值的影响,因此针对钢材表面缺陷数据集NEU-DET中缺陷目标尺寸差异大的特点,对Anchor进行了优化。
K-means算法是解决聚类问题的经典算法,这种算法简单快速。对初始聚类中心敏感,选择不同的聚类中心会产生不同的聚类结果和不同的准确率。随机选取初始聚类中心的做法会导致算法的不稳定性,有可能陷入局部最优的情况。
改善K-means聚类算法不是在整个数据集中随机选取k个数据对象作为初始聚类中心,而是遵循初始的聚类中心之间的距离应尽可能远的原则,让聚类有效增强。假设利用该算法己经提前选取好了n个初始聚类中心(0<n<k),在选取第n+1个聚类中心时,距离前面n个聚类中心越远的点则更容易被选作为第n+1个聚类中心,这样可以使收敛加快,也不容易发生聚类错误,可以减少计算时间。
优化K-means算法过程如下:
A.在数据点中随机选取一个样本作为初始聚类中心c1;
B.首先计算每个样本与当前已有聚类之间的最短距离,用D(x)表示,并计算每个样本被选为下一个聚类中心的概率按照轮盘法选出下一个聚类中心;
C.重复步骤B,直到选择k个聚类中心;
假设每个网格对应k个Anchor,也就是模型在训练的时候,在每一个网格附近找出这k种形状;训练后的Anchor会自动匹配合适的尺寸来对预测目标范围进行限制,从而达到多尺度学习的目的。一个与训练集相匹配的Anchor可以有效的减少预测框与真实框尺寸相差较大的问题,能够有效地提升表面缺陷检测性能。
具体实施方式四:
本实施方式的一种基于深度学习的钢材表面缺陷检测算法,与具体实施方式三不同的是,步骤二所述的将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块的过程具体为:
(3)引入全局自注意力机制;
YOLOv5作为卷积神经网络缺乏全局建模的能力,Transformer具有获取全局信息的能力。两者融合既能提升速度又能克服全卷积网络的缺陷。2017年,谷歌BRAIN团队[31]提出Transformer模型。多头自注意力机制(MHSA)作为模型中的一层结构如图3所示,提供了一种高效的捕捉全局信息的建模方式,不增加网络深度,获取更为全局的感受野,专注于目标整体。
所有注意力在2D特征图上执行,相对位置编码分别为高度和宽度的Rh和Rw;向量是qkT+qrT,其中q,k,r表示查询,键和位置编码,1×1表示逐点卷积;
多头注意力在自注意力的基础上,将输入结果经过编码器后分为多个head头,再输入到自注意力机制中,最后将每一个输出结果做concat操作,降低网络深度,减少耗损,且提取到更多的细节信息;多头注意力机制与C3模块融合,构建残差结构(C3_MHSA)如图4所示。该网络结构可以有效地处理大图像通过卷积做空间下采样,减少计算量,降低模型的推理时间。
(4)采用注意力模块;
将全局自注意力替换空间卷积,虽然在一定程度上降低了卷积操作时参与运算的卷积核参数数量,但参数的下降可能存在将重要特征丢失的情况。提高对于多类目标不同特征处理的准确性,引入注意力机制模块。
CBAM模块是一种较为全面的关键注意力信息获取来源,包含通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)。通道注意力模块主要负责关注输入特征图中有意义的部分,如图5所示。
输入的特征图首先经过并联的最大池化和平均池化,让注意力更好地集中在对最终目标影响更大的通道上,然后经过一个共享的全连接层,在该层中,会在不同尺度上对被压缩后的特征图进行计算,最后通过Sigmoid激活函数输出经过通道注意力强化后的特征图;该模块的计算公式如式2:
式中:σ为Sigmoid激活函数;MLP代表共享全连接层中的运算;W0和W1分别为共享全连接层的1层和2层;和/>分别为压缩后得到的两个不同的通道背景描述;C为输出向量的长度;MaxPool为最大池化运算,用来聚合特征映射的空间信息;
空间注意力模块则是负责关注输入特征图中有意义部分的位置信息,该模块的结构图如图6所示;
特征图经过最大池化和平均池化,使注意力更好地集中在突出目标的空间特征上,减弱其他无关物体的空间特征,将得到的2个输出特征进行拼接操作,并利用7×7的卷积核进行卷积,再通过Sigmoid函数激活,最后输出含有空间注意力权重的特征图;该模块的计算过程如式3;
式中:f7×7为7×7的卷积;AvgPool为平均池化运算;
CA(Coordinate Attention)注意力机制是一种将通道维度和空间维度并行考虑的轻量化注意力,为移动网络而设计;CA注意力机制解决了两个问题:一是只关注到通道维度的信息,并没有考虑空间位置信息;二是CBAM注意力机制只关注空间注维度分支注意力,但没有解决长距离依赖问题;CA注意力机制的具体流程如图7所示。
CA注意力机制主要包含以下三个操作:
(5)、信息嵌入操作(Coordinate Information Embedding):对于给定的一个输入特征图,使用全局平均池化分别沿着特征图的水平方向和垂直方向进行池化操作,得到两个嵌入后的信息特征图,如图8所示。
水平方向即X方向使用H×1的池化核,将H×W×C的输入特征通过全局平均池化操作得到H×1×C的信息特征图,公式如式4所示:
垂直方向即Y方向使用1×W的池化核,将H×W×C的输入特征通过全局平均池化操作得到1×W×C的信息特征图,公式如式5所示:
(6)、注意力生成操作(Coordinate Attention Generation):将上一步生成的两个信息特征图和/>沿着空间维度进行拼接,再经过1×1卷积操作和激活函数;之后沿着空间维度进行分片操作得到两个分离的特征图,在分别对两个分离的特征图经过变换和激活函数,得到两个注意力向量gh和gw,公式如式6所示:
其中,
gh=σ(Fh(fh))
gw=σ(Fw(fw))
(3)、特征图校正操作(Re-weight):上一步操作得到两个注意力向量gh∈C×H×1和gw∈C×1×W,将其进行广播变换到C×H×W的维度后与经过残差操作的输入特征图xc进行对应位置相乘操作,得到最后的注意力特征,如式7所示:
yc=xc×gh×gw (7)
CA注意力机制对于长距离依赖问题的解决,在于生成注意力操作时沿着空间维度拼接信息特征图和/>这一拼接操作;它将水平方向的全局特征和垂直方向的全局特征拼接成整个的全局特征,在一定程度上解决了长距离依赖问题。
具体实施方式五:
本实施方式的一种基于深度学习的钢材表面缺陷检测算法,与具体实施方式四不同的是,步骤二所述的优化特征金字塔网络的过程,具体为:
空间金字塔池化是在全连接层前加入的一个特殊设计的网络结构,让其对任意尺寸的输入均会产生固定数量的输出,通过最大池化对最后的卷积层的输出进行下采样。因为池化结果的尺寸是随着池化中过滤器的步长和尺寸而变化的,因此可以再通过设定相对于输入图像尺寸而变化的过滤器步长和尺寸来达到对于任意尺寸的输入,全连接层的输入数据数量不变的目的,一共构建三种尺寸比例的池化层,每个池化层均用来提取固定尺寸的特征;最后将池化层的输出拼接得到固定尺寸的全连接层的输入;
SPPF模块,全称Spatial Pyramid Pooling–Fast,采用多个小尺寸池化核级联,融合不同感受野的特征图;在丰富特征图的表达能力的情况下,有效避免了对图像区域裁剪、缩放操作导致的图像失真等问题,解决了卷积神经网络对图相关重复特征提取的问题,提高了产生候选框的速度,且节省了计算成本。SPPF模块如图9所示。
特征金字塔网络用于提取不同尺寸的特征,不同尺寸的特征用来判断不同尺寸的目标物体;对特征金字塔网络中每一层加入一个空间金字塔池化层,用于提高特征金字塔网络的感受野,进一步加强其对不同尺寸物体的感受力;改进后的特征金字塔网络结构如图10所示。
为了减少特征金字塔网络部分的参数量,在加入空间金字塔池化网络层后,将输出层之前的五个卷积层减少为3个,用于抵消引入空间金字塔池化网络层后增加的参数。由于空间金字塔池化网络中存在两个1×1的卷积层,因此改动后的特征金字塔网络中各个输出层之前卷积层数量并没有减少,因此删除两个卷积层对于特征金字塔层和输出层的性能影响不大,可以在一定程度上减少特征金字塔网络层的参数量。在不改变网络层数的前提下减少模型参数,提高计算速度,以及使用空间金字塔池化网络对特征金字塔网络进行增强,以提升缺陷检测的精度。
本发明的实施例公布的是较佳的实施例,但并不局限于此,本领域的普通技术人员,极易根据上述实施例,领会本发明的精神,并做出不同的引申和变化,但只要不脱离本发明的精神,都在本发明的保护范围内。
Claims (5)
1.一种基于深度学习的钢材表面缺陷检测算法,其特征在于:所述方法通过以下步骤实现:
步骤一、扩充图像数据集,并对图像进行预处理;
步骤二、改进YOLOv5网络结构;所述的改进YOLOv5网络结构的过程包括:
首先,优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化;
然后,将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块,最后优化特征金字塔网络。
2.根据权利要求1所述的一种基于深度学习的钢材表面缺陷检测算法,其特征在于:步骤一所述的扩充图像数据集,并对图像进行预处理的过程,具体为:
步骤一一、选用NEU-DET数据集,收集钢材的6种典型表面缺陷,即:轧制氧化皮、斑块、开裂、点蚀表面、内含物和划痕,
步骤一二、图像预处理;
选用非线性灰度变换中的伽马变换对NEU-DET数据集进行预处理,预处理数学公式如式1所示:
s=crγ (1)
式中,r为灰度图像的输入值,取值范围为[0,1];s为经过伽马变换后的灰度输出值;c为灰度缩放系数,通常取1;γ为伽马因子大小,控制了整个变换的缩放程度。
3.根据权利要求2所述的一种基于深度学习的钢材表面缺陷检测算法,其特征在于:步骤二所述的优化K-means算法找到适配于钢材表面缺陷的Anchor参数优化的过程,具体为:
优化K-means算法过程如下:
A.在数据点中随机选取一个样本作为初始聚类中心c1;
B.首先计算每个样本与当前已有聚类之间的最短距离,用D(x)表示,并计算每个样本被选为下一个聚类中心的概率按照轮盘法选出下一个聚类中心;
C.重复步骤B,直到选择k个聚类中心;
假设每个网格对应k个Anchor,在训练的时候,在每一个网格附近找出这k种形状;训练后的Anchor会自动匹配合适的尺寸来对预测目标范围进行限制,从而达到多尺度学习的目的。
4.根据权利要求3所述的一种基于深度学习的钢材表面缺陷检测算法,其特征在于:步骤二所述的将C3模块与全局自注意力模块融合,构建残差结构,并引入注意力机制模块的过程具体为:
(1)引入全局自注意力机制;
所有注意力在2D特征图上执行,相对位置编码分别为高度和宽度的Rh和Rw;向量是qkT+qrT,其中q,k,r表示查询,键和位置编码,1×1表示逐点卷积;
多头注意力在自注意力的基础上,将输入结果经过编码器后分为多个head头,再输入到自注意力机制中,最后将每一个输出结果做concat操作,降低网络深度,减少耗损,且提取到更多的细节信息;多头注意力机制与C3模块融合,构建残差结构;
(2)采用注意力模块;
将全局自注意力替换空间卷积,输入的特征图首先经过并联的最大池化和平均池化,让注意力更好地集中在对最终目标影响更大的通道上,然后经过一个共享的全连接层,在该层中,会在不同尺度上对被压缩后的特征图进行计算,最后通过Sigmoid激活函数输出经过通道注意力强化后的特征图;该模块的计算公式如式2:
式中:σ为Sigmoid激活函数;MLP代表共享全连接层中的运算;W0和W1分别为共享全连接层的1层和2层;和/>分别为压缩后得到的两个不同的通道背景描述;C为输出向量的长度;MaxPool为最大池化运算,用来聚合特征映射的空间信息;
空间注意力模块则是负责关注输入特征图中有意义部分的位置信息;
特征图经过最大池化和平均池化,使注意力更好地集中在突出目标的空间特征上,减弱其他无关物体的空间特征,将得到的2个输出特征进行拼接操作,并利用7×7的卷积核进行卷积,再通过Sigmoid函数激活,最后输出含有空间注意力权重的特征图;该模块的计算过程如式3;
式中:f7×7为7×7的卷积;AvgPool为平均池化运算;
CA注意力机制主要包含以下三个操作:
(1)、信息嵌入操作:对于给定的一个输入特征图,使用全局平均池化分别沿着特征图的水平方向和垂直方向进行池化操作,得到两个嵌入后的信息特征图,
水平方向即X方向使用H×1的池化核,将H×W×C的输入特征通过全局平均池化操作得到H×1×C的信息特征图,公式如式4所示:
垂直方向即Y方向使用1×W的池化核,将H×W×C的输入特征通过全局平均池化操作得到1×W×C的信息特征图,公式如式5所示:
(2)、注意力生成操作:将上一步生成的两个信息特征图和/>沿着空间维度进行拼接,再经过1×1卷积操作和激活函数;之后沿着空间维度进行分片操作得到两个分离的特征图,在分别对两个分离的特征图经过变换和激活函数,得到两个注意力向量gh和gw,公式如式6所示:
其中,
gh=σ(Fh(fh))
gw=σ(Fw(fw))
(3)、特征图校正操作(Re-weight):上一步操作得到两个注意力向量gh∈C×H×1和gw∈C×1×W,将其进行广播变换到C×H×W的维度后与经过残差操作的输入特征图xc进行对应位置相乘操作,得到最后的注意力特征,如式7所示:
yc=xc×gh×gw (7)。
5.根据权利要求4所述的一种基于深度学习的钢材表面缺陷检测算法,其特征在于:步骤二所述的优化特征金字塔网络的过程,具体为:
在全连接层前加入的一个特殊设计的网络结构,让其对任意尺寸的输入均会产生固定数量的输出,通过最大池化对最后的卷积层的输出进行下采样;通过设定相对于输入图像尺寸而变化的过滤器步长和尺寸来达到对于任意尺寸的输入,全连接层的输入数据数量不变的目的,一共构建三种尺寸比例的池化层,每个池化层均用来提取固定尺寸的特征;最后将池化层的输出拼接得到固定尺寸的全连接层的输入;
SPPF模块,全称Spatial Pyramid Pooling–Fast,采用多个小尺寸池化核级联,融合不同感受野的特征图;
特征金字塔网络用于提取不同尺寸的特征,不同尺寸的特征用来判断不同尺寸的目标物体;对特征金字塔网络中每一层加入一个空间金字塔池化层,用于提高特征金字塔网络的感受野,进一步加强其对不同尺寸物体的感受力;
在加入空间金字塔池化网络层后,将输出层之前的五个卷积层减少为3个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310239482.5A CN116664478A (zh) | 2023-03-13 | 2023-03-13 | 一种基于深度学习的钢材表面缺陷检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310239482.5A CN116664478A (zh) | 2023-03-13 | 2023-03-13 | 一种基于深度学习的钢材表面缺陷检测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116664478A true CN116664478A (zh) | 2023-08-29 |
Family
ID=87714199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310239482.5A Pending CN116664478A (zh) | 2023-03-13 | 2023-03-13 | 一种基于深度学习的钢材表面缺陷检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664478A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934762A (zh) * | 2023-09-19 | 2023-10-24 | 华南理工大学 | 锂电池极片表面缺陷的检测系统及方法 |
CN117173151A (zh) * | 2023-09-25 | 2023-12-05 | 江苏精益智控科技有限公司 | 一种长型钢材的外表面缺陷视觉识别装置、方法及系统 |
-
2023
- 2023-03-13 CN CN202310239482.5A patent/CN116664478A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934762A (zh) * | 2023-09-19 | 2023-10-24 | 华南理工大学 | 锂电池极片表面缺陷的检测系统及方法 |
CN116934762B (zh) * | 2023-09-19 | 2024-01-16 | 华南理工大学 | 锂电池极片表面缺陷的检测系统及方法 |
CN117173151A (zh) * | 2023-09-25 | 2023-12-05 | 江苏精益智控科技有限公司 | 一种长型钢材的外表面缺陷视觉识别装置、方法及系统 |
CN117173151B (zh) * | 2023-09-25 | 2024-03-08 | 江苏精益智控科技有限公司 | 一种长型钢材的外表面缺陷视觉识别装置、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427839B (zh) | 基于多层特征融合的视频目标检测方法 | |
CN116664478A (zh) | 一种基于深度学习的钢材表面缺陷检测算法 | |
CN108416266B (zh) | 一种利用光流提取运动目标的视频行为快速识别方法 | |
CN109977774B (zh) | 一种基于自适应卷积的快速目标检测方法 | |
CN111223088A (zh) | 一种基于深层卷积神经网络的铸件表面缺陷识别方法 | |
CN112070727B (zh) | 一种基于机器学习的金属表面缺陷检测方法 | |
CN111723693A (zh) | 一种基于小样本学习的人群计数方法 | |
CN110633738B (zh) | 一种用于工业零件图像的快速分类方法 | |
CN111127384A (zh) | 基于偏振成像的强反射工件视觉测量方法 | |
CN114037684A (zh) | 一种基于yolov5和注意力机制模型的疵点检测方法 | |
CN112101113B (zh) | 一种轻量化的无人机图像小目标检测方法 | |
CN115601357B (zh) | 一种基于小样本的冲压件表面缺陷检测方法 | |
CN114612456B (zh) | 一种基于深度学习的钢坯自动语义分割识别方法 | |
CN116402769A (zh) | 一种兼顾大小目标的高精度纺织品瑕疵智能检测方法 | |
Li | Metal surface defect detection based on few defect datasets | |
Han et al. | Feature based sampling: a fast and robust sampling method for tasks using 3D point cloud | |
Yaohui et al. | Visual alignment system for PCB production based on yolov5 | |
Sun et al. | Intelligent Site Detection Based on Improved YOLO Algorithm | |
Yuan et al. | Low-Light Image Object Detection Algorithm Based on YOLOX | |
Zhang et al. | Self-supervised Multi-view Stereo via View Synthesis Representation Consistency | |
Wang et al. | Defect Detection of Aluminum Profiles based on Improved Feature Pyramids | |
Wang et al. | Surface Defect Detection of Strip Steel Based on YOLOv5 | |
Yue et al. | A multi-attention fusion mechanism for collaborative industrial surface defect detection | |
Yu et al. | LCG-YOLO: A Real-Time Surface Defect Detection Method for Metal Components | |
CN117853747A (zh) | 基于深度学习的电缆接头毛刺检测方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |