CN116958074A - 基于yolov7的物体表面缺陷检测方法 - Google Patents
基于yolov7的物体表面缺陷检测方法 Download PDFInfo
- Publication number
- CN116958074A CN116958074A CN202310836985.0A CN202310836985A CN116958074A CN 116958074 A CN116958074 A CN 116958074A CN 202310836985 A CN202310836985 A CN 202310836985A CN 116958074 A CN116958074 A CN 116958074A
- Authority
- CN
- China
- Prior art keywords
- module
- yolov7
- model
- surface defect
- defect detection
- 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 75
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 12
- 238000012795 verification Methods 0.000 claims abstract description 10
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 230000004927 fusion Effects 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 6
- 229910000831 Steel Inorganic materials 0.000 claims description 4
- 239000010959 steel Substances 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 abstract description 4
- 238000011160 research Methods 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- 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
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明属于表面缺陷检测等计算机视觉领域。基于对表面缺陷的特点与YOLOv7算法架构的研究,提出了一种基于yolov7的物体表面缺陷检测方法包括:获取图片,构建训练集、测试集、验证集,在YOLOv7模型的基础上,构建表面缺陷识别模型:在SPPCSPC模块后面加入EVCBlock模块;将Concat模块替换成AScat模块;在特征提取网络输出端部分添加SPDConv模块;采用训练好的表面缺陷检测模型对待测图片进行缺陷识别。本发明让模型更够准确检测与定位小目标缺陷,实现在整体上提高物体表面缺陷检测特别是小目标缺陷检测的准确度。
Description
技术领域
本发明属于表面缺陷检测等计算机视觉领域。尤其涉及一种基于yolov7的物体表面缺陷检测方法。
背景技术
物体表面缺陷检测对现代制造业至关重要,可提高生产效率和质量。由于原料和环境因素,缺陷物品难以避免。缺陷可能影响产品质量、寿命和安全。检测可以提高产品质量和安全性,减少问题和隐患的发生,保障用户权益,减少浪费。在过去,物体表面缺陷检测主要依赖人工进行,但人工检测耗时费力,效率低下,难以满足高效率、大规模生产的需求.随着计算机技术的发展和深度学习算法的广泛应用,基于图像处理和机器学习的自动化物体表面缺陷检测方法越来越受到关注。利用计算机视觉技术和机器学习算法,可以实现对物体表面缺陷的高精度、高速度检测,不仅能够有效提高产品质量和安全性,还可以提高生产效率,减少不良品数量,降低企业的生产成本。
深度学习算法诞生之前,物体表面缺陷检测一般是依靠机器视觉等传统方法来进行。传统的检测表面缺陷检测方法存在着易受背景环境干扰、难以处理细微缺陷、对缺陷的尺寸与形状变化不敏感等问题。随着各种基于图像处理和机器学习的目标检测算法例如SSD,Faster RCNN等被广泛应用到物体表面缺陷检测中,但这些算法在表面缺陷检测中表现出了定位准确但分类准确度不高的情况。随着2016年YOLO算法的提出,使物体目标检测精度得到了进一步提升的同时检测速度也得到了进一步的提升。随着YOLO系列算法的不断更新,在缺陷检测领域也越来越多的模型开始使用YOLO系列算法作为基础模型这大大提升了模型的检测速率,满足实际工程中对检测精度与检测速度的均衡要求,但大部分的模型对小目标缺陷检测上的提升非常的有限,表面缺陷检测的准确率还有提升的空间。
发明内容
表面小目标缺陷之所以难以被检测,首先是因为小目标缺陷有着位置、形状不确定的特点,使得目标检测模型在提取、融合表面缺陷特征信息过程中容易出现小目标缺陷特征信息丢失、忽略的情况,从而导致小目标缺陷错检、漏检问题。
为解决以上的技术问题,本发明将采取以下的技术方案:以YOLOv7为基础网络,首先利用EVC模块对提取的特征信息进行补全,使小目标特征信息得到了增强,再根据特征提取网络PAFPN中存在的可优化点,结合空间自适应注意力机制提出了一个新的自适应融合模块AScat替换PAFPN特征提取网络中的拼接模块(Concat),让模型更够准确检测与定位小目标缺陷。最后在输出端引入专门用于预测小目标的SPDconv,使小目标特征信息在卷积过程中不容易丢失,从整体上提高改进型YOLOv7在物体表面缺陷检测特别是小目标缺陷检测的准确度。
一种基于yolov7的物体表面缺陷检测方法,按照如下步骤进行:
步骤(1):获取图片,构建训练集、测试集、验证集
步骤(2):在YOLOv7模型的基础上,构建表面缺陷识别模型:
在所述YOLOv7模型的SPPCSPC模块后面加入EVCBlock模块;
将所述YOLOv7模型的Concat模块替换成AScat模块;所述Concat模块在所述YOLOv7模型中用于层次特征融合;
在所述YOLOv7模型的网络输出端部分添加SPDConv模块;得到表面缺陷识别模型;
步骤(3)训练步骤(2)中构建的表面缺陷检测模型;
步骤(4)采用步骤(3)训练好的表面缺陷检测模型对待测图片进行缺陷识别。
作为优选,所述步骤(2)中,在所述YOLOv7模型的SPPCSPC模块后面加入EVCBlock模块,包括以下步骤:
先将EVCBlock模块代码写入Yolov7v7模型的common.py配置文件中,再在yolo.py文件中申明EVCBlock模块,再在Yolov7v7模型的yolov7.yaml文件的第51结构行SPPCSPC模块后面添加EVCBlock模块,将更新后的yolov7.yaml文件命名为better_yolov7.yaml文件;
所述EVCBlock模块包括轻量级MLP和可学习的视觉中心机制LVC,所述轻量级MLP用于捕获特征的全局长程依赖关系,所述可学习的视觉中心机制LVC用于聚集层内局部区域特征。
作为优选,所述步骤(2)中,将所述YOLOv7模型的Concat模块替换成AScat模块,具体包括以下步骤:
先将AScat模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明AScat模块,再在所述better_yolov7.yaml文件中,将第56、68结构行的Concat模块替换成AScat模块,在第81、94结构行的Concat模块后添加AScat模块,得到更新后的better_yolov7.yaml文件;。
所述AScat模块以特征图为输入,所述AScat模块的融合公式如下:
其中,yij是特征融合之后的所述特征图在(i,j)处的加权融合,和/>分别是未进行特征融合前自底向上传递和从左到右传递的所述特征图在放大后,在(i,j)处的特征向量,αij和βij为系数,同时αij+βij=1且αij,βij∈[0,1];用/>与/>来控制参数,/>与/>是用1×1卷积从输入的特征图反向传播自动生成的;
作为优选,所述步骤(2)中,所述在原YOLOv7模型的网络输出端部分添加SPDConv模块,具体包括以下步骤:
先将SPDConv模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明SPDConv模块。在所述更新后的better_yolov7.yaml文件中将第106结构行的RepConv后面添加SPDConv模块;
所述SPDconv包括:一个空间到深度层SPDlayer和一个非跨步卷积层Non-stridedlayer;所述空间到深度层SPDlayer,通过帧循环超分转换,实现在保留特征信息的前提下对特征图进行下采样;
作为优选,所述步骤(3),包括设置训练参数:
训练批次大小设置为Batch=12,学习率设定为Ir=0.01,训练迭代次数Epoch=300;完成训练后,训练结果为:准确率提升为77.11%,召回率提升为71.22%,mAP_0.5提升为78.35%。
作为优选,所述步骤(1)中,所述图片来源于钢材表面缺陷数据集NEU-DET;
所述构建训练集、测试集、验证集包括:利用prepare_train_val.py程序将图片数据集按7:2:1的比例随机划分成训练集、测试集、验证集。
本发明yolov7模型改进之处主要包括:
(1)用EVC模块完善YOLOv7特征融合网络
YOLOv7的特征融合网络使用的是聚合特征金字塔(FAFPN)网络架构,PAFPN通过建立不同路径的信息流通道,引入不同尺度的特征进行融合,实现更加有效的跨尺度信息交互。但FAFPN只注重于层间特征交互,而忽略了层内特征规则,而层内特征规则是非常有用的。因此在特征融合前使用EVC模块对特征图进行修正,完善特征图的信息能有效提升特征图融合的结果,EVC模块的结构与效果如图2所示。
(2)用自适应特征融合模块ASCAT替换Concat模块改善YOLOv7特征融合网络性能。
AScat模块的融合方式与Concat模块不同,Concat模块是直接将特征进行拼接不同,而AScat模块首先将输入的特征图通道放大,将放大的特征图乘以生成的权重再沿通道直接相加。AScat模块可以看作是对图像对象尺度和语义水平的一种注意机制模块。其核心思想是根据输入的特征图使用空间注意力机制来生成权重来进行整合。
(3)使用SPDConv提升YOLOv7小目标缺陷检测性能
SPDconv是以检测小目标见长的卷积建构块,在钢材表面缺陷中存在着许多微小缺陷,我们选择在YOLOv7最深层的网络输出端部分添加一个SPDconv,因为小目标缺陷往往是最深层的网络输出端检测出来的,因此在最深层的网络输出端部分使用SPDconv能够有效提高检测小尺寸缺陷的性能的同时也几乎没有增加计算负担。
与现有技术相比,本发明一种改进型YOLOv7的表面缺陷检测方法能够获取如下有益效果:
用EVC模块对提取的特征信息进行补全,使特征图在后续的特征融合中能表现出更好的效果。再根据特征提取网络PAFPN中存在的可优化点,结合空间自适应注意力机制提出了一个新的自适应融合模块AScat替换PAFPN特征提取网络中的拼接模块。AScat模块能准确有效的识别出小目标特征并进行融合,利用这两个改进方法,使特征融合中小目标特征信息经常被忽略的情况得到了改善。在输出端部分使用专门用于预测小目标的SPDconv,让小目标特征信息在卷积时能够有效的被保留下来。
附图说明:
图1改进型yolov7模型架构图
图2 EVC模块结构图
图3未使用AScat模块改进型YOLOv7特征融合网络
图4使用AScat模块改进型YOLOv7特征融合网络
图5 AScat模块特征融合示意图
图6改进型yolov7模型训练结果图
图7改进型yolov7模型验证集测试结果图
具体实施方法
为使本发明实施的目的、技术方案和优点更加清楚,下面讲结合具体实施结合附图。
本发明所提供的改进型YOLOv7的表面缺陷检测模型方法包括:
步骤(1):将东北大学提供的钢材表面缺陷数据集NEU-DET,利用prepare_train_val.py程序将图片数据集按7:2:1的比例随机划分成训练集、测试集、验证集。
步骤(2):构建改进型YOLOv7表面缺陷识别模型,具体步骤如下:
(1)在原YOLOv7模型的SPPCSPC模块后面加入EVC模块。
先将EVCBlock模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明EVCBlock模块。再自建better_yolov7.yaml文件,相对于原yolov7文件,在第51结构行SPPCSPC模块后面添加EVCBlock模块。
YOLOv7的特征融合网络使用的是聚合特征金字塔(FAFPN)网络架构,PAFPN通过建立不同路径的信息流通道,引入不同尺度的特征进行融合,实现更加有效的跨尺度信息交互。但FAFPN只注重于层间特征交互,而忽略了层内特征规则,而层内特征规则是非常有用的。因此在特征融合前使用EVC模块对特征图进行修正,完善特征图的信息能有效提升特征图融合的结果,EVC模块的结构与效果如图2所示。
EVC模块的核心有两个模块分别是轻量级MLP和可学习的视觉中心机制(LVC),前者负责捕获特征的全局长程依赖关系,后者负责聚集层内局部区域特征。使用轻量级MLP获取全局信息而不是使用transformer获取全局信息是因为两者在深度特征中提取全局信息能力相差不大,而轻量级MLP计算量更低。LVC是一个具有固有字典的编码器,通过自学习获取特征局部信息。图片进行EVC模块先会经历过一个由通道大小为256的7×7卷积和批处理归一化层和激活函数层组成的Stem Block层用于特征平滑,在获取特征图的全局信息与局部信息后将这些信息拼接在一起构成完整的特征图然后输出。通过EVC模块进行特征图补全之后缺陷特征被大大加强,在后续的处理中这些缺陷就能有效的被模型所识别。
(2)将特征融合网络中用于层次特征融合的Concat模块替换成AScat模块。
先将AScat模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明AScat模块。在better_yolov7.yaml文件中将第56、68结构行的Concat模块替换成AScat模块,在第81、94结构行的Concat模块后添加AScat模块。以上所提到的结构行数均为添加EVC模块后的结构行数。
虽然FAFPN网络架构融合不同层次的特征信息进行多尺度学习,一定程度上缓解了跨尺度特征融合的问题,但是在特征融合中存在着一些问题使融合网络对小目标特征信息关注还不够,导致特征信息丢失。
如图3所示,在特征融合过程中PAFPN使用的是直接拼接方式相当于使用固定权重融合方式完成的,然而融合的最佳比例取决于输入图像中目标的大小。显然,对象的大小因图像而异,图像中对象的大小分布取决于数据集。PAFPN中用于集成自下而上和自上而下的特征映射的固定权重,相当于两者的均匀权重平均值,这就可能导致在缺陷特征融合过程对小目标缺陷特征关注不够,造成小目标缺陷的特征信息缺失。
未使用AScat模块改进型YOLOv7特征融合网了提高目标定位和分类精度,提出一种新的自适应特征融合模块AScat来代替普通的特征通道融合模块Concat(如图4),该模块利用输入的从左到右的特征信息与垂直方向的特征信息(以图内为例就是自底向上传递的特征信息)自动计算空间自适应权值,然后根据权值进行自适应特征融合。例如,输入较小对象的图像,那么路径中经过训练的尺度注意模块会根据输入图像中包含的对象尺度自适应地对特征图进行加权计算从而更强调更高分辨率的特征图,在特征融合后就可以让小目标缺陷的特征得到更多的关注。
AScat模块的融合方式与Concat模块不同,Concat模块是直接将特征进行拼接不同,而AScat模块首先将输入的特征图通道放大,将放大的特征图乘以生成的权重再沿通道直接相加。AScat模块可以看作是对图像对象尺度和语义水平的一种注意机制模块。其核心思想是根据输入的特征图使用空间注意力机制来生成权重来进行整合。通过在特征图(i,j)处的向量的加权融合,系数是由网络自适应学习到的,他们在所有通道间是共享的。图5为融合示意图,ASCAT的融合公式如下:
公式中yij是特征融合之后特征图(i,j)处的加权融合,和/>分别是未进行特征融合前自底向上传递和从左到右传递的特征图放大后(i,j)处的特征向量,αij和βij则是为系数,同时αij+βij=1且αij,βij∈[0,1](通过softmax函数就能实现)。在这里我们用/>与来控制参数,/>与/>是用1×1卷积从输入的特征图反向传播生成自动生成的。通过这种方法能够有效解决融合图片的不一致问题,进而突出想要的目标点。
(3)在特征提取网络输出端部分添加SPDConv模块。
先将SPDConv模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明SPDConv模块。在better_yolov7.yaml文件中将第106结构行的RepConv后面添加SPDConv模块。以上所提到的结构行数为添加EVC模块、AScat模块后的结构行数。
SPDconv是以检测小目标见长的卷积建构块,在表面缺陷中存在着许多微小缺陷,我们选择在最深层的网络输出端部分添加SPDconv,因为小目标缺陷往往是最深层的网络输出端检测出来的,因此在最深层的网络输出端部分使用SPDconv能够有效提高检测小缺陷的性能的同时也几乎没有增加计算负担。
SPDconv由一个空间到深度层(SPDlayer)和一个非跨步卷积层(Non-stridedlayer)组成。SPDlayer采用了帧循环超分转换技术尽可能保留特征信息的前提下对特征图进行下采样,让特征图中小目标特征被尽可能的保留了下来,在后续检测识别中就能更加准确的识别出小目标缺陷,有效的提升了模型对小目标缺陷的检测性能。
步骤(3)训练步骤(2)中构建的改进型YOLOv7表面缺陷检测模型,具体步骤如下:
在服务器上搭建训练框架,设置训练参数,训练批次大小设置为Batch=12,学习率定为Ir=0.01,训练迭代次数Epoch=300;完成训练后,训练结果为准确率提升为77.11%,召回率提升为71.22%,mAP_0.5提升为78.35%
步骤(4)采用步骤3训练好的改进型YOLOv7表面缺陷检测模型对验证集进行目标识别。
在训练框架下,设置测试参数批次大小设置为Batch=36,测试权重使用模型最好的权重。验证集的测试结果为为准确率提升为91.4%,召回率提升为86.5%,mAP_0.5提升为93.7%。
Claims (6)
1.基于yolov7的物体表面缺陷检测方法,其特征在于,包括以下步骤:
步骤(1):获取图片,构建训练集、测试集、验证集;
步骤(2):在YOLOv7模型的基础上,构建表面缺陷识别模型:
在所述YOLOv7模型的SPPCSPC模块后面加入EVCBlock模块;
将所述YOLOv7模型的Concat模块替换成AScat模块;所述Concat模块在所述YOLOv7模型中用于层次特征融合;
在所述YOLOv7模型的特征提取网络输出端部分添加SPDConv模块;得到表面缺陷识别模型;
步骤(3)训练步骤(2)中构建的表面缺陷检测模型;
步骤(4)采用步骤(3)训练好的表面缺陷检测模型对待测图片进行缺陷识别。
2.如权利要求1所述的基于yolov7的物体表面缺陷检测方法,其特征在于,所述步骤(2)中,在所述YOLOv7模型的SPPCSPC模块后面加入EVCBlock模块,包括以下步骤:
先将EVCBlock模块代码写入Yolov7v7模型的common.py配置文件中,再在yolo.py文件中申明EVCBlock模块,再在Yolov7v7模型的yolov7.yaml文件的第51结构行SPPCSPC模块后面添加EVCBlock模块,将更新后的yolov7.yaml文件命名为better_yolov7.yaml文件;
所述EVCBlock模块包括轻量级MLP和可学习的视觉中心机制LVC。
3.如权利要求2所述的基于yolov7的物体表面缺陷检测方法,其特征在于,所述步骤(2)中,将所述YOLOv7模型的Concat模块替换成AScat模块,具体包括以下步骤:
先将AScat模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明AScat模块,再在所述better_yolov7.yaml文件中,将第56、68结构行的Concat模块替换成AScat模块,在第81、94结构行的Concat模块后添加AScat模块,得到更新后的better_yolov7.yaml文件,
所述AScat模块以特征图为输入,所述AScat模块的融合公式如下:
其中,yij是特征融合之后的所述特征图在(i,j)处的加权融合,和/>分别是未进行特征融合前自底向上传递和从左到右传递的所述特征图在放大后,在(i,j)处的特征向量,αij和βij为系数,同时αij+βij=1且αij,βij∈[0,1];用/>与/>来控制参数,/>与/>是用1×1卷积从输入的特征图反向传播自动生成的。
4.如权利要求3所述的基于yolov7的物体表面缺陷检测方法,其特征在于,所述步骤(2)中,在所述YOLOv7模型的特征提取网络输出端部分添加SPDConv模块,具体包括以下步骤:
先将SPDConv模块代码写入Yolov7模型的common.py配置文件中,再在yolo.py文件中申明SPDConv模块;在所述更新后的better_yolov7.yaml文件中将第106结构行的RepConv后面添加SPDConv模块;
所述SPDconv包括:一个空间到深度层SPDlayer和一个非跨步卷积层Non-stridedlayer;所述空间到深度层SPDlayer,通过帧循环超分转换,实现在保留特征信息的前提下对特征图进行下采样。
5.如权利要求4所述的基于yolov7的物体表面缺陷检测方法,其特征在于,所述步骤(3),包括设置训练参数:
训练批次大小设置为Batch=12,学习率设定为Ir=0.01,训练迭代次数Epoch=300。
6.如权利要求5所述的基于yolov7的物体表面缺陷检测方法,其特征在于,所述步骤(1)中,所述图片来源于钢材表面缺陷数据集NEU-DET;
所述构建训练集、测试集、验证集包括:利用prepare_train_val.py程序将图片数据集按7:2:1的比例随机划分成训练集、测试集、验证集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310836985.0A CN116958074A (zh) | 2023-07-10 | 2023-07-10 | 基于yolov7的物体表面缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310836985.0A CN116958074A (zh) | 2023-07-10 | 2023-07-10 | 基于yolov7的物体表面缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958074A true CN116958074A (zh) | 2023-10-27 |
Family
ID=88450398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310836985.0A Pending CN116958074A (zh) | 2023-07-10 | 2023-07-10 | 基于yolov7的物体表面缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958074A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117809105A (zh) * | 2023-12-28 | 2024-04-02 | 西南交通大学 | 一种颜色相似灰度再验证的垃圾识别分类方法 |
-
2023
- 2023-07-10 CN CN202310836985.0A patent/CN116958074A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117809105A (zh) * | 2023-12-28 | 2024-04-02 | 西南交通大学 | 一种颜色相似灰度再验证的垃圾识别分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598861B (zh) | 基于改进的Faster R-CNN模型的非均匀纹理小缺陷的检测方法 | |
CN110223324A (zh) | 一种基于鲁棒特征表示的孪生匹配网络的目标跟踪方法 | |
CN111783772A (zh) | 一种基于RP-ResNet网络的抓取检测方法 | |
Bo et al. | Particle pollution estimation from images using convolutional neural network and weather features | |
CN103278511B (zh) | 基于多尺度角点特征提取的晶片缺陷检测方法 | |
CN109284779A (zh) | 基于深度全卷积网络的物体检测方法 | |
CN116958074A (zh) | 基于yolov7的物体表面缺陷检测方法 | |
Lv et al. | A novel pixel-wise defect inspection method based on stable background reconstruction | |
CN113222982A (zh) | 基于改进的yolo网络的晶圆表面缺陷检测方法及系统 | |
CN116883393B (zh) | 一种基于无锚框目标检测算法的金属表面缺陷检测方法 | |
CN115439458A (zh) | 基于深度图注意力的工业图像缺陷目标检测算法 | |
CN111401358A (zh) | 一种基于神经网络的仪表表盘校正方法 | |
CN115294033A (zh) | 一种基于语义分割网络的轮胎带束层差级和错边缺陷检测方法 | |
CN113538342B (zh) | 一种基于卷积神经网络的铝质气雾罐涂层质量检测方法 | |
CN117910073A (zh) | 基于3d打印技术的工艺品包装设计优化系统及方法 | |
CN117291898A (zh) | 一种表面缺陷检测方法、系统及设备 | |
Zhang et al. | Deformable residual attention network for defect detection of train wheelset tread | |
CN116503379A (zh) | 基于轻量化改进YOLOv5的零件识别方法 | |
CN114596273B (zh) | 利用yolov4网络的陶瓷基板多种瑕疵智能检测方法 | |
Jia et al. | Research on Industrial Production Defect Detection Method Based on Machine Vision Technology in Industrial Internet of Things. | |
CN116124787A (zh) | 用于非朗伯体外观的自主多角度联合检测方法 | |
Xie et al. | GSPSO‐LRF‐ELM: Grid Search and Particle Swarm Optimization‐Based Local Receptive Field‐Enabled Extreme Learning Machine for Surface Defects Detection and Classification on the Magnetic Tiles | |
CN115375966A (zh) | 一种基于联合损失函数的图像对抗样本生成方法及系统 | |
CN113673534B (zh) | 一种基于Faster RCNN的RGB-D图像果实检测方法 | |
CN114092396A (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 |