CN117557534A - 基于模型自优化的x射线焊缝缺陷智能评测方法 - Google Patents
基于模型自优化的x射线焊缝缺陷智能评测方法 Download PDFInfo
- Publication number
- CN117557534A CN117557534A CN202311562432.7A CN202311562432A CN117557534A CN 117557534 A CN117557534 A CN 117557534A CN 202311562432 A CN202311562432 A CN 202311562432A CN 117557534 A CN117557534 A CN 117557534A
- Authority
- CN
- China
- Prior art keywords
- layer
- feature
- convolution
- population
- pixel
- 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 168
- 238000005457 optimization Methods 0.000 title claims abstract description 48
- 238000011156 evaluation Methods 0.000 title claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000005259 measurement Methods 0.000 claims abstract description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 114
- 230000006870 function Effects 0.000 claims description 50
- 230000004927 fusion Effects 0.000 claims description 45
- 230000007246 mechanism Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 29
- 239000013598 vector Substances 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 23
- 230000003993 interaction Effects 0.000 claims description 22
- 238000011176 pooling Methods 0.000 claims description 21
- 238000013461 design Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 14
- 230000000739 chaotic effect Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 10
- 230000001965 increasing effect Effects 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 238000012512 characterization method Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004220 aggregation Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 210000000988 bone and bone Anatomy 0.000 claims description 2
- 230000006872 improvement Effects 0.000 abstract description 21
- 238000011161 development Methods 0.000 abstract description 6
- 238000011160 research Methods 0.000 abstract description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 238000009659 non-destructive testing Methods 0.000 abstract description 4
- 230000036541 health Effects 0.000 abstract description 2
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000000691 measurement method Methods 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 15
- 238000013527 convolutional neural network Methods 0.000 description 12
- 230000008447 perception Effects 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 8
- 238000003466 welding Methods 0.000 description 8
- 238000002679 ablation Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 229910001220 stainless steel Inorganic materials 0.000 description 7
- 239000010935 stainless steel Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 241000283153 Cetacea Species 0.000 description 2
- 241000287127 Passeridae Species 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- NINIDFKCEFEMDL-UHFFFAOYSA-N Sulfur Chemical compound [S] NINIDFKCEFEMDL-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/09—Supervised learning
-
- 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
- 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/10—Image acquisition modality
- G06T2207/10116—X-ray image
-
- 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]
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明属于X射线焊缝缺陷无损检测技术领域,具体为一种基于模型超参数自适应优化的X射线焊缝缺陷尺寸智能评测方法,包括:步骤1、构建高性能X射线焊缝缺陷检测模型;步骤2、设计尺寸测量;步骤3、设计模型自优化策略。本发明是基于模型自优化的X射线焊缝缺陷尺寸智能测定方法研究,加速推动无损检测行业的智能化进程,以及自动机器学习的工程化应用,进而为智能制造产品质量的提升、生产过程、操作使用时的安全提供有力保障,为推动“高端装备智能制造”、“工业4.0”中工业自动化、智能化健康持续发展具有重大的价值和现实意义,应用前景和发展前景广阔。
Description
技术领域
本发明属于X射线焊缝缺陷无损检测技术领域,具体为一种基于模型超参数自适应优化的X射线焊缝缺陷尺寸智能评测方法。
背景技术
不锈钢材料在日常生活和工业中已经被大量的使用,比较重要的会涉及到国防、航空航天等方面,这些领域对不锈钢材料的质量要求极其严格。然而作为完整不锈钢构件中最薄弱的焊缝区域,常常会因为各种综合因素而产生裂纹、未焊透、未熔合等缺陷,难以保证不锈钢材料的高质量焊接。由于忽视焊接质量造成的事故屡见不鲜,因此必须对焊缝进行严格的质量检测,最大限度的降低经济损失,减少安全事故的发生。对于X射线图像,目前依旧以传统的人工分析为主,这种利用人眼识别的方式以人的主观感受和经验为主导,易受到专业水平等主观因素的影响,从而导致准确性低;且由于工程实际测试环境复杂,质检人员的身体、心理都极易受到影响,检查质量难以保障。
基于深度学习的缺陷检测是目标检测算法在实际生产中的应用,任务是找出图像中的缺陷目标,并确定其位置和类别信息。目前,基于深度学习的检测算法主要分为三类,分别是以Faster R-CNN、Mask R-CNN等为代表的双阶段(Two-stage)目标检测算法;以YOLO、SSD等为代表的单阶段(One-stage)目标检测算法;以及基于视觉Transformer(ViT)的目标检测算法。Two-stage检测算法是将目标检测任务分成两个阶段来完成,首先使用区域候选网络(Region proposal network,RPN)将原图分解成多个可能产生目标的候选区域,再通过回归损失函数确定目标的位置信息,以及通过分类损失函数确定目标的类别信息。基于Two-stage目标检测算法改进的模型检测精度较高,但检测速度慢,无法满足实际工业生产中对实时性检测的需求。One-stage检测算法使用一个全卷积神经网络,直接从整张图来预测边界框(Bounding box)的坐标,以及边界框中包含物体的置信度和物体类别的概率,是一个端到端的过程。One-stage目标检测算法的优势在于检测速度较快,可以满足工业生产中实时检测的需求,但检测精度相对于Two-stage检测算法和基于ViT的检测算法较低,检测性能有待提高。
综上可知,尽管目前基于深度学习的焊缝缺陷检测方法已经取得了不错成效,但依然存在许多理论和技术问题需要解决,其问题主要体现在:(1)目前工厂中采集到的X射线不锈钢焊缝胶片普遍存在着图像质量低、对比度低、判别特征不明显等问题,且焊缝缺陷尺寸变化剧烈,导致现有的检测模型无法充分挖掘X射线图像中的有效特征信息和建立远距离依赖关系,检测效果不佳,难以实现检测精度与检测速率的平衡。(2)目前主流的检测模型不仅需要设计者具有丰富的专业知识和领域知识,还需在构建模型时进行反复的实验以获得最佳的模型参数,面对新的现实问题时往往需要重新构建模型。这种依赖于人为调参的方式主观性强,过程费时费力,自学习能力低,且难以有效的泛化。(3)目前对于X射线焊缝缺陷的检测与研究,大多集中于对静态缺陷图像的分类识别和大致位置的判定,但不能准确、直观地测量出缺陷的具体尺寸,无法为后续的缺陷评定和数值模拟提供有效的数据支持,促进焊接工艺的优化和升级。
发明内容
为有效解决X射线焊缝缺陷低质量图像判别特征不明显导致的检测效率难以保障,已有检测算法缺少对缺陷尺寸直观体现,以及检测模型人工调参专业依赖性、主观性强等问题,本发明目的是提出一种基于模型自优化的X射线焊缝缺陷尺寸智能测定方法。
本发明是采用如下技术方案实现的:
一种基于模型自优化的X射线焊缝缺陷智能评测方法,包括如下步骤:
步骤1:构建X射线焊缝缺陷检测模型
X射线焊缝缺陷检测模型包括Backbone、Neck、Head三部分。
(1)Backbone部分的0-5层为浅层特征提取网络,通过CBS卷积块与C3模块堆叠的方式提取输入图片的浅层局部特征,同时对图像分辨率进行下采样并增加特征图的通道个数,即特征图维度从[1,3,640,640]变为[1,256,40,40]。第6层为深层特征提取模块DFEM,DFEM包括Convolutional Layer、Transformer Layer、Fusion Layer三个部分;首先通过Convolutional Layer编码图像的局部空间信息,使用一个卷积核大小为3*3的深度卷积(DWConv)对图像进行局部特征提取,然后经过1*1的逐点卷积(PWConv)将特征图通道数减少至原来的一半,此时特征图维度变为[1,128,40,40];完成对特征图的局部表征后,再经过Transformer Layer对远距离非局部依赖性进行建模,首先通过unfold操作将图片划分为n个patch,再通过PoolFormer Block对图像进行全局表征,建模图像的全局远距离依赖关系,接下来的fold操作视为unfold的反操作,将划分的patches重新拼接,从而将特征图维度重新变为[1,128,40,40];接着经过Fusion Layer的第一个逐点卷积实现多通道之间的信息交互后,与经过Convolutional Layer局部表征后的特征图进行Concat拼接,特征图维度由[1,128,40,40]变为[1,256,40,40],接着再通过一个逐点卷积进行通道间的特征交互,最后与第5层浅层特征提取之后的特征图进行Add融合并输出,此时输出特征图的维度与输入DFEM时相同,依然是[1,256,40,40]。第7层经过步长为2的CBS卷积模块实现下采样并将特征图通道数增加为原来的两倍,特征图通道数变为[1,512,20,20]。第8层为组卷积空间金字塔模块(GCSPPF);将SPPCSPC模块中的标准卷积替换为分组卷积(GCConv),核心部分使用SPPF模块代替SPPCSPC模块中的SPP模块;GCSPPF不改变特征图维度,作为即插即用的模块来使用,输出的特征图维度与输入保持一致,为[1,512,20,20]。至此,完成主干特征提取网络Backbone的构建。
(2)Neck部分为基于注意力集中机制的高效层聚合特征金字塔(ACEA-FPN)结构;9-18层为自底向上的上采样,特征图维度由[1,256,20,20]变为[1,256,80,80],而19-26层为自顶向下的下采样,特征图维度由[1,128,80,80]变为[1,512,20,20]。具体如下:第6层与第8层的输出分别经过ODConv进行特征提取并得到维度相同的特征图后,在11层进行拼接,并通过第12层的C2f模块进行不同尺度特征的融合,输出的特征图维度为[1,256,20,20],经过第13层的Upsample操作对特征图进行上采样,得到维度[1,256,40,40]的特征图;第15层通过Concat操作将第13层输出的特征图、第6层输出的特征图以及第4层经过ODConv进一步特征提取后的特征图进行拼接,得到维度为[1,640,40,40]的特征图;经过第16层的C2f模块进行不同尺度特征的融合并降维至[1,256,40,40],接着通过第17层的上采样操作后得到[1,256,80,80]的特征图,第18层的Concat操作将第4层的浅层特征图与第17层的深层特征图进行融合,得到维度为[1,384,80,80]的特征图,经过第19层的C2f模块将拼接后的特征图进行了信息融合,接着经过一个ODConv模块得到[1,128,40,40]的特征图,再与第16层输出的特征图进行Concat拼接,得到[1,384,40,40]的特征图,经过第22、23层的特征融合与提取后送入第25层;25层将第12层、第16层与第23层的特征图进行拼接,并通过第26层的C2f模块融合多个通道间的不同尺度的特征信息。
(3)Head部分以第19、22、26层的输出作为输入,通过标准的CBS卷积块来将三组输入的通道个数统一为64,得到低、中、高三个层级的特征图,对应的特征图维度分别为[1,64,80,80]、[1,64,40,40]和[1,64,20,20];将这三个不同层级的特征图作为尺度变化自适应检测头(SCA-Head)的输入,首先经过空间感知模块(spatial-aware),由相应层级的卷积模块进行处理;并在可变形卷积学习不同层级的特征图表示的同时,通过双线性插值对高层级特征图进行上采样,并通过Stride=2的卷积对低层级特征图进行下采样,将三个不同层级的特征图缩放至相同大小,即三组特征图维度都统一为[1,64,40,40];接下来经过尺度感知模块(scale-aware),由自适应平均池化(AdaptiveAvgPool)、标准卷积(Conv2d)、ReLu激活函数与Hardwish激活函数组成,实现多尺度上下文信息的动态高层次融合;尺度感知模块与空间感知模块的输出结果经过相加后进入全局感知模块(Global-aware),该模块先通过平均池化来捕获所有特征图中的共性特征并保留更多的图像背景信息,接着经过全局注意力机制(GAM),对不同尺度的特征图进行跨维的特征交互,对目标的尺度差异性变化更加敏感,从而捕捉到更重要的特征;最后通过softmax分类器与Hardtanh激活函数得到非线性的高级语义特征表示;经过SCA-Head后输出三个检测头:维度[1,3,80,80]的检测头负责检测小目标,维度[1,3,40,40]的检测头负责检测中等大小的目标,维度[1,3,20,20]的检测头负责检测大目标。
步骤2:设计尺寸测量
首先使用训练好的检测模型对缺陷图像进行目标检测,同时利用OpenCV的轮廓识别算法对图像中焊缝缺陷的轮廓特征进行拟合,然后将提取到的轮廓点像素按照偏差平方和最小的原则进行直线拟合,拟合结果用多项式方程表示,具体计算公式为:
μ(x)=ax+b (4)
其中,(xi,yi)表示轮廓像素点坐标,且i=1,2,3,…,m;μ(x)为拟合的二项式函数,为拟合直线在(xi,yi)上的偏差的平方。
从缺陷的矩形轮廓中提取其左上角像素点坐标(x1,y1)与右下角像素点坐标(x2,y2),并通过计算这两个对角点之间的距离得到焊缝缺陷的像素宽度和像素高度,具体公式如下:
pixel_width=x2-x1 (5)
pixel_height=y2-y1 (6)
式中,pixel_width表示焊缝缺陷的像素宽度,pixel_height表示焊缝缺陷的像素高度。
通过定义转换因子pixel_to_real来构建缺陷的像素大小与实际尺寸之间的映射关系,以保证映射尺寸与实际尺寸的一致性;转换因子的大小计算公式如下:
式中,real_size表示焊缝缺陷的实际尺寸,pixel_size表示焊缝缺陷在图像中的像素大小,pixel_to_real代表转换因子,即像素大小到实际尺寸之间的映射比例。
同时,应当固定待测X射线胶片到摄像头的距离,以便正确地校准转换因子;将X射线胶片放在一个到摄像头已知距离处,并测得焊缝缺陷的实际尺寸与它在图像中的像素大小,然后使用公式(7)来计算转换因子,从而将像素大小转换为实际尺寸,具体转换公式如下:
real_width=pixel_width×pixel_to_real (8)
real_height=pixel_height×pixel_to_real (9)
式(8)~(9)中,real_width、real_height分别为焊缝缺陷的实际宽度与实际高度,pixel_width、pixel_height分别为焊缝缺陷在图像中的像素宽度和像素高度,pixel_to_real为像素大小映射到实际尺寸的转换因子。
步骤3、设计模型自优化策略
(1)、HCOA模型优化策略
首先,通过混沌映射来初始化若干组(m组)在搜索范围内的初始的超参数值,混沌映射初始化的公式如式(26)所示;
其中,mod为求余函数,xi+1表示第i+1次映射的值。
为了解决现有群体智能优化算法存在计算代价高的不足,有效降低运算成本并提高寻优精度,引入了种群协同机制。种群协同机制包括分组寻优策略和协同进化策略两部分。首先通过分组寻优策略将大的种群分为n个子种群,每个种群拥有相同的个体数量(即m/n),接对每个子种群以并行的方式独立使用原始的COA优化算法进行寻优得到新的超参数解集,如公式(13)-(22)所示。在卷积搜索过程中,分别定义纵向卷积核、横向卷积核和区域卷积核,依次进行二维卷积运算并更新种群的位置向量,然后将3种卷积核更新后的种群的位置向量进行随机权重或等比例权重相加,进一步更新种群的位置向量;在解质量增强过程中,对最优解的搜索空间逐维进行带非惯性权重的高斯变异,并对最优解进行扰动,从而提高算法的局部搜索能力;更新过程如下。
式(10-12)表示种群初始化过程;式中,种群的位置向量X由n×d阶矩阵构成,其中n表示种群中的个体数量,d表示决策变量的维度;f(Xp)表示适应度函数,也称目标函数;在COA中,初始种群的位置向量X0在d维搜索空间中随机生成,lp为一个1×d阶矩阵,为第p个个体的下限;up为一个1×d阶矩阵,为第p个个体的上限;rand为[0,1]之间的随机数;
KL=2×rand(k,1)-IL (13)
式(13-15)表示纵向卷积的位置更新过程;式中,KL为一个k×1阶矩阵,代表纵向卷积核;rand(k,1)表示矩阵中每个元素为[0,1]之间的随机数;IL为一个k×1阶矩阵,所有元素为1。t为当前迭代次数,为一个n×d阶矩阵,为第t代纵向卷积位置更新后的种群位置向量。比较/>和Xt中每个位置的适应度值的大小,择优替换掉Xt中个体的位置,如式(8)所示,其中,/>为第t代种群的第p个个体位置;/>为第t代纵向卷积位置更新后的种群的第p个个体位置。
同理,式(16-18)为横向卷积的位置更新过程,式(19-21)为区域卷积的位置更新过程。
KT=2×rand(1,k)-IT (16)
KR=2×rand(k,k)-IR (19)
在综合位置更新阶段,将第t代纵向卷积更新后的种群的位置向量第t代横向卷积更新后的种群的位置向量/>和第t代区域卷积更新后的种群的位置向量/>采用随机权重或等比例权重相加合并为/>即
特别地,令r1=r2=r3,以便进行等比例权重相加。比较和Xt中每个个体位置的适应度值的大小,择优替换掉Xt中个体位置,则有
式中,为第t代综合位置更新后的种群的第p个个体位置。最后,计算Xt中所有个体位置的适应度值,并根据适应度值的大小进行排序,选出最优解/>
然后通过公式(27-28)对每个子种群使用精英反向学习策略并更新个体信息,接着更新最优个体的位置信息和适应度值;选取普通个体对应的极值点作为携带更多有效信息的精英个体,然后根据式(27)求出精英个体的反向解并在精英反向解及当前种群中选出优秀个体;
式(27)中,δ是区间[0,1]内的随机值,其中lbk和ubk分别为动态边界的下界与上界;当/>越界时,则利用式(28)将其重置。
接下来通过种群协同机制的协同进化策略在各子种群之间引入了信息交流,如公式(29-30)所示;首先定义了一个参数α,表示协同机制的强度,在每次迭代时,对于当前种群中的每个个体,计算它和其他种群中各个个体的适应度差异,并根据α的值对其位置进行更新。对于某个种群中的某个个体i,计算其与其他种群中所有个体j的适应度差异,计算公式如下:
β=abs(fitness[i]-fitness[j]) (29)
式中,fitness[i]和fitness[j]分别表示个体i和个体j的适应度值;然后,根据计算出的β值和α参数,计算新的个体位置,计算公式为:
Xi=Xi+α*(Xj-Xi)/β (30)
式中,Xi和Xj分别表示个体i和个体j的位置。
然后将子种群合并为一个种群;接着通过公式(24)使用高斯随机扰动策略来对全局最优进行扰动,使其跳出局部最优解,提高寻优精度;解质量增强机制是对最优解的d维搜索空间逐维进行带非惯性权重的高斯变异,对最优解/>进行扰动,从而提高算法的局部搜索能力;
式中,为一个n×1阶矩阵,为最优解/>中d维搜索空间中的第q(q=1,2,…,d)维的位置;ω=1-(t/itermax)2,其中itermax为最大迭代次数;randn为一个满足均值为0,方差为1的标准正态分布的随机数;/>为一个n×1阶矩阵,表示对最优解/>的第q维进行带非惯性权重高斯变异后的第q维位置。
然后通过公式(25)更新全局最优解;令对第q维进行带非惯性权重高斯变异后的个体位置为比较/>和/>的适应度值的大小,择优替换掉/>的个体位置,则有
当迭代次数小于最大迭代次数时,重复以上对子种群进行的操作,直至达到最大迭代次数后结束循环;此时就得到了使得检测模型精度最高的最优超参数组件的值。
(2)HCOA进化模型超参数
将经过上述机制改良的HCOA优化策略用于进化检测模型中的29个关键超参数,其中包括初始学习率(lr0)、循环学习率(lrf)、学习率动量(momentum)、权重衰减系数(weight_decay)、预热学习轮次(warmup_epochs)、预热学习动量(warmup_momentum)、预热初始学习率(warmup_bias_lr)、IOU损失系数(box)、分类损失系数(cls)、分类BCELoss正样本权重(cls_pw)、有无物体系数(obj)、有无物体BCELoss正样本权重(obj_pw)、训练时的IOU阈值(iou_t)、anchor的长宽比(anchor_t)、每个输出层的anchors数量(anchors)以及14个数据增强系数(translate、scale、mosaic、mixup等);通过在网络训练过程中自适应地调整模型超参数,并给出使得适应度函数值最大的最佳超参数组件;
fitness=0.1mAP@0.5+0.9mAP@0.5:0.95 (31)
式(31)为模型适应度函数的计算公式,求取出的fitness值作为HCOA的适应度值来进行种群更新,最优个体信息会被用来建立最终模型。
本发明具有如下优点:
1、针对X射线焊缝缺陷图像质量低、判别特征不明显,焊缝缺陷形态多变、与背景相似程度高造成的特征提取困难、检测精度低等问题;本发明探明并构建能够有效挖掘缺陷图像深层次全局特征、高效充分融合多尺度特征信息以及具有尺度变化抗干扰能力的系列模块及模型组合方法,集成CNN与视觉Transformer两种架构的优势,同时提取焊缝缺陷图像的局部特征与全局特征以克服CNN对远距离依赖关系建模不足的缺点,最终构建出X射线焊缝缺陷高性能检测模型,综合提高了检测精度。
2、针对人工设计的检测模型需要人为调参,对专业领域知识依赖性强,自学习能力低等问题;本发明提出了一种面向深度神经网络高维超参数自适应寻优的HCOA模型优化策略,通过在检测模型训练过程中自适应寻优得到模型的最佳超参数组件,增强了模型的自适应学习能力,提高了自动化水平。
3、针对现有X射线焊缝缺陷检测技术的研究大多集中于对图像中缺陷类别与大致位置的判定,而不能直观地显示出缺陷的具体尺寸等问题;本发明通过构建缺陷实际尺寸与屏幕分辨率之间的映射关系,并综合考量焊缝缺陷的类别及形态特征等关键因素,设计了适用于焊缝缺陷的尺寸测量算法,实现了缺陷检测与尺寸测量一体化技术,可以为后续的缺陷评定和数值模拟提供有效的数据支持。
附图说明
图1表示本发明整体框架图。
图2表示本发明构建X射线焊缝缺陷检测模型框架图。
图3表示本发明设计了深层特征提取模块(DFEM)。
图4表示本发明在Transformer Layer中引入PoolFormer Block。
图5表示SPPCSPC模块。
图6表示组卷积空间金字塔池化模块(GCSPPF)。
图7表示不同多尺度信息融合方式比较。
图8表示C2f模块。
图9表示ODConv模块。
图10表示尺度变化自适应检测头(SCA-Head)。
图11表示HCOA模型自由化策略流程图。
图12表示不同模型的检测效果对比图。
图13表示焊缝缺陷尺寸测量效果图。
具体实施方式
下面结合附图对本发明的具体实施例进行详细说明。
一种基于模型自优化的X射线焊缝缺陷智能评测方法,包括如下步骤:
步骤1:构建高性能X射线焊缝缺陷检测模型
本发明所构建的检测模型是以YOLOv5框架为基础实现的,如图2所示,包括Backbone、Neck、Head三部分。首先,在主干特征提取网络中,设计了基于视觉Transformer(ViT)的深层特征提取模块(DFEM),将CNN与ViT两种架构相结合来建立焊缝缺陷的全局长距离依赖关系,同时捕获缺陷图像中的局部信息与全局信息,用于有效挖掘的缺陷图像的深层特征。之后,将YOLOv7中的SPPCSPC模块与YOLOv5中的SPPF模块相结合,同时引入分组卷积替换其中的标准卷积,设计了组卷积空间金字塔池化模块(GCSPPF),在扩大感受野、增强低质量焊缝缺陷特征表达能力的同时,进一步压缩了模型的参数量。其次,在Neck部分,为了加强对焊缝缺陷的多尺度特征融合能力,使模型获取到丰富的上下文信息,本发明设计了新的neck网络:基于注意力集中机制的高效层聚合特征金字塔(ACEA-FPN)。最后,在检测头部分,本发明提出了尺度变化自适应检测头(SCA-Head),通过自适应融合不同尺度感受野的特征信息,在一定程度上可以有效地处理焊缝缺陷尺度变化剧烈的问题。
模型整体处理流程:Backbone中0-5层沿用了原始YOLOv5的结构,用于提取X射线焊缝缺陷图像的浅层局部特征;之后通过DFEM模块(第6层)将ViT结构的性能优势引入到模型中,可以有效提取图像的深层次全局特征,克服卷积神经网络对于长远距离依赖关系建模不足的问题;随后又经过GCSPPF模块(第8层),进一步扩大了感受野,提高了模型对缺陷特征的感知和表达能力。Neck部分为本发明提出的基于注意力集中机制的高效层聚合特征金字塔结构,结合GFPN的思想,将Backbone中第4、6、8层三个不同尺度的特征进行了融合,并且在每个concat融合操作之前都引入了ODConv模块,可以充分利用卷积核空间、输入通道信息以及输出通道信息,从而捕获到丰富的上下文信息,提高模型的检测性能。Head部分以Neck网络的第19、22、26层作为输入,这三层分别对应着低、中、高三个层级的特征图,低层级特征图包含更多的空间位置信息,而高层级特征图包含更多的高级语义信息,这三个不同层级的特征图分别经过三个卷积模块(27、28、29层)将通道数统一为64,并输入到SCA-Head中,SCA-Head对这三组不同尺度的特征图进行了跨尺度的信息交互与融合,综合了来自不同层级输出特征图的信息表示,并得到最终的输出结果,因此对焊缝缺陷的尺度变化有了较好的抗干扰能力。具体如下:
(1)Backbone部分的0-5层为浅层特征提取网络,与原始YOLOv5的0-5层一致,通过CBS卷积块与C3模块堆叠的方式提取输入图片的浅层局部特征,同时对图像分辨率进行下采样并增加特征图的通道个数,即特征图维度从[1,3,640,640]变为[1,256,40,40]。图像分辨率从640*640下采样至40*40,扩大了感受野,而特征图通道数从3增加至256,实现了特征升维,增加了特征丰富度。
基于卷积神经网络的深度学习模型在长距离依赖建模方面存在不足,无法适应焊缝缺陷尺寸变化多样性,因此难以满足复杂场景下的焊缝缺陷检测任务。为了在低质量X射线图像中挖掘到更多深层次的有效信息,适应焊缝缺陷的尺寸变化多样性,本发明设计了深层特征提取模块(DFEM),如图3所示。该模块既保留了CNN的平移不变性、局部感受野等良好的归纳偏置,又具备了视觉Transformer具有全局感受野,擅于捕获远距离依赖关系的性能优势,通过学习高级特征间的全局依赖关系以增强特征表示,减轻了低质量深度图给检测模型带来的负面影响。其中,视觉Transformer能更有效提取全局长距离依赖关系,克服传统卷积神经网络表征输入信息的短距离相关缺陷;同时,将视觉Transformer与CNN相结合,可以有效整合不同尺度的局部信息,克服Transformer局部特征建模不足。
第6层为深层特征提取模块DFEM,DFEM包括Convolutional Layer、TransformerLayer、Fusion Layer三个部分,旨在用较低的运算成本同时提取图像中的浅层局部信息与深层全局信息,增强低质量焊缝缺陷图像的特征表示。其中Convolutional Layer用于对图像进行局部表征,首先通过一个逐通道卷积提取图像的局部信息,再通过逐点卷积融合各通道信息,并对通道数进行压缩,以降低后续的参数量和计算量。标准卷积通常可以视作三个顺序操作的堆叠,即unfolding,local processing(矩阵乘法)和folding。TransformerLayer的核心思想与卷积相似,只是将卷积中的局部处理替换为更深层次的全局表示。在一般的视觉Transformer架构中,通常使用多头自注意力作为token mixer模块,以实现不同token之间的信息交互,但self-attention的计算复杂度与要混合的token数量成平方倍,这对于模型的轻量化设计是十分不友好的。PooLFormer的研究者发现视觉Transformer的成功归功于Transformer Encoder整体架构的设计(即token mixer+channel MLP),而具体采用哪种token mixer模块的影响并不大,于是用空间池化算子来作为token mixer模块,其性能在多项视觉任务上超越了经典的视觉Transformer模型。因此,本发明在Transformer Layer中引入PoolFormer Block来代替标准的Transformer Encoder对图像进行全局表示,如图4所示。该模块使用没有参数的空间池化算子来作为token mixer模块,没有可学习参数,只是用于使得每个token平均聚合其附近的tokens的信息,其计算复杂度和序列的长度是线性关系,相比于多头自注意力而言,在保证性能的同时大大减少了参数量与计算量,利于移动端设备的部署。若输入为T∈RC×H×W,则该池化算子的表达式如式(1)所示,其中K表示池化核尺寸,减去自身是因为后续的残差连接会再次将原始输入加上。
归一化层选择了GroupNorm,其原理是将特征图的通道划分为更小的组,并独立地对每个组进行归一化,从而使GN对批大小的依赖性降低,更适合各种批大小和网络架构。Fusion Layer的作用是融合局部特征信息与全局特征信息,将经过全局表征后得到的特征图经过一个逐点卷积进行特征增强,之后与第一阶段局部表征得到的特征图进行Concat拼接,再利用逐点卷积交互各通道间的信息,最后通过一个残差连接对DFEM提取到的深层次全局特征与该模块之前的浅层局部特征进行融合。
第6层具体流程为:如图3所示,首先通过Convolutional Layer编码图像的局部空间信息,使用一个卷积核大小为3*3的深度卷积(DWConv)对图像进行局部特征提取,然后经过1*1的逐点卷积(PWConv)将特征图通道数减少至原来的一半,此时特征图维度变为[1,128,40,40];完成对特征图的局部表征后,再经过Transformer Layer对远距离非局部依赖性进行建模,首先通过unfold操作将图片划分为n个patch,再通过PoolFormer Block对图像进行全局表征。PoolFormer与Transformer的编码器结构相似,主要是利用空间池化算子来代替Transformer的多头自注意力,从而在保证性能的同时大大减少了参数量与计算量,没有任何可学习参数,只是使用池化算子来使得每个token聚合其附近的tokens的信息,如式(1)所示。建模图像的全局远距离依赖关系,接下来的fold操作可以视为unfold的反操作,将划分的patches重新拼接,从而将特征图维度重新变为[1,128,40,40];接着经过Fusion Layer的第一个逐点卷积实现多通道之间的信息交互后,与经过ConvolutionalLayer局部表征后的特征图进行Concat拼接,特征图维度由[1,128,40,40]变为[1,256,40,40],接着再通过一个逐点卷积进行通道间的特征交互,最后与第5层浅层特征提取之后的特征图进行Add融合并输出,此时输出特征图的维度与输入DFEM时相同,依然是[1,256,40,40]。
第7层经过步长为2的CBS卷积模块实现下采样并将特征图通道数增加为原来的两倍,特征图通道数变为[1,512,20,20]。
第8层为本发明设计的组卷积空间金字塔模块GCSPPF。YOLOv5s算法在SPP模块的基础上进行改进,设计了SPPF模块,用于解决输入尺寸不统一的问题,实现多尺度特征的融合。该算法对池化层和整体结构进行调整,在保持感受野不变同时,降低了运算成本,提升了检测速度。YOLOv7算法中也对SPP进行改进,其思想是将SPP与CSP模块相结合,提出了SPPCSPC模块,如图5所示,该模块扩大了感受野,提升了检测精度,但也大大增加了模型的参数量和计算量。针对现有的X射线缺陷图像对比度低、特征信息不明显的问题,为进一步扩大感受野,提高模型对缺陷特征的感知和表达能力,本发明在SPPCSPC模块的基础上,借鉴SPPF的思想,同时引入分组卷积,设计了组卷积空间金字塔池化模块(GroupConvolution SPPF Module,GCSPPF),如图6所示。相比于原结构中的SPP模块,SPPF模块采用多个小尺寸池化核级联代替SPP模块中单个大尺寸池化核,从而在融合多尺度特征,丰富特征图的表达能力的同时,进一步提高了运行速度。分组卷积的方式可以增加相邻层卷积核之间的对角相关性,而且能够减少训练参数与计算量,加快网络收敛速度。具体地,将SPPCSPC模块中的标准卷积替换为了分组卷积(GCConv),增加了相邻层卷积核之间的对角相关性,而且能够减少训练参数与计算量,加快网络收敛速度;核心部分使用SPPF模块来代替SPPCSPC模块中的SPP模块,SPPF模块采用多个小尺寸池化核级联代替SPP模块中单个大尺寸池化核,从而在融合多尺度特征,丰富特征图的表达能力的同时,进一步提高了运行速度。GCSPPF不改变特征图维度,可以作为即插即用的模块来使用,输出的特征图维度与输入保持一致,为[1,512,20,20]。
至此,完成主干特征提取网络(Backbone)的构建。
(2)Neck部分为本发明设计的基于注意力集中机制的高效层聚合特征金字塔(ACEA-FPN)结构。
多尺度特征信息在目标检测任务中是至关重要的,因此本发明开展了对多种不同多尺度特征融合方式的研究。YOLOv5中Neck采用的是PA-FPN的结构,如图7(a)所示,在传统的FPN基础上引入了额外的bottom-up路径进行信息聚合,以提升多尺度特征检测能力。为追求更加高效、充分的多尺度信息融合,更好地平衡不同尺度的特征信息,GFPN采用了轻主干、重Neck的思想,如图7(b)所示,这种设计范式使得检测器在网络前期阶段便能够以相同的优先级实现浅层空间信息和深层语义信息的交互,从而具有更优异的处理目标大尺度变化问题的能力。
如果直接使用GFPN对YOLO模型中的PA-FPN结构进行替换,虽然可以取得更高的性能,但依然存在较大的问题:其一是由于它的跨尺度融合Queen-fusion操作引入了大量额外的上采样和下采样操作,给模型带来了较大的推理延迟的增加,这让精度的提升有些得不偿失;其二是由于GFPN中使用的3x3卷积进行跨尺度特征融合不够高效,需要进一步优化以提升精度。
所以,传统的特征金字塔网络对多尺度特征融合不够充分、高效,对于尺度差异性较大的焊缝缺陷数据而言,可能会破坏不同尺度焊缝缺陷的特征一致性。回到实际应用中,常规的方法很难在保证检测实时性的同时可以提高多尺度焊缝缺陷的检测精度。本发明借鉴GFPN的思想,对原YOLOv5的PA-FPN结构进行改进,提出了基于注意力集中机制的高效层聚合特征金字塔网络(ACEA-FPN)结构。首先,本发明删除了Queen-Fusion中的额外的上采样算子以降低延迟,从而更好的平衡模型精度与效率;其次,引入了C2f模块替换掉原始的3x3卷积作为特征融合模块,如图8所示,C2f结合了C3模块以及ELAN的思想进行设计,保持模型轻量化的同时可以获得更加丰富的梯度流信息,提供了更加高效的跨尺度特征融合方式;最后,为了获得更加丰富的上下文信息,以进一步增强模型在复杂背景下的检测能力,在每次深浅特征融合的Concat操作之前引入了全维度动态卷积(ODConv)模块。该模块利用一种新的多维注意力机制和并行策略,同时考虑了卷积核数量、卷积核尺寸、输入通道数和输出通道数等维度上的动态性。
不同于常规的卷积模块,ODConv由多个卷积核经过注意力机制的加权进行线性组合而成。首先将输入特征进行压缩,压缩之后的特征向量映射到一定比例的低维空间,通过核空间的四种维度的注意力计算出各个维度的关注标量与卷积核做乘法。最后与输入特征做卷积运算,得到ODConv的输出,如图9所示。图中,x为输入特征,y为输出特征,GAP是全局平均池化,FC是全连接层,ReLU、Sigmoid和Softmax是激活函数,αsi代表在各个位置处为卷积参数分配的关注标量,αci代表为输入通道分配的关注标量,αfi代表为输出通道分配的关注标量,αwi代表整个卷积核分配的关注标量。ODConv的公式可以定义为:
y=(αw1⊙αf1⊙αc1⊙αs1⊙W1+…+αwn⊙αfn⊙αcn⊙αsn⊙Wn)*x(2)
本发明在Neck网络的每次深浅特征Concat融合操作之前,引入ODConv模块来替代标准卷积,可以充分利用卷积核空间、输入通道信息以及输出通道信息,从而捕获到丰富的上下文信息,为提高模型的检测性能提供了保证。同时,注意力机制采用了并行策略,在一定程度上减少了模型的运行时间。
Neck网络依然属于特征金字塔的结构,9-18层为自底向上的上采样,特征图维度由[1,256,20,20]变为[1,256,80,80],而19-26层为自顶向下的下采样,特征图维度由[1,128,80,80]变为[1,512,20,20];具体如下:
第6层与第8层的输出分别经过ODConv进行特征提取并得到维度相同的特征图后,在11层进行拼接,并通过第12层的C2f模块进行不同尺度特征的融合,输出的特征图维度为[1,256,20,20],经过第13层的Upsample操作对特征图进行上采样,得到维度[1,256,40,40]的特征图;第15层通过Concat操作将第13层输出的特征图、第6层输出的特征图以及第4层经过ODConv进一步特征提取后的特征图进行拼接,得到维度为[1,640,40,40]的特征图;经过第16层的C2f模块进行不同尺度特征的融合并降维至[1,256,40,40],接着通过第17层的上采样操作后得到[1,256,80,80]的特征图,第18层的Concat操作将第4层的浅层特征图与第17层的深层特征图进行融合,得到维度为[1,384,80,80]的特征图,经过第19层的C2f模块将拼接后的特征图进行了信息融合,接着经过一个ODConv模块得到[1,128,40,40]的特征图,再与第16层输出的特征图进行Concat拼接,得到[1,384,40,40]的特征图,经过第22、23层的特征融合与提取后送入第25层;25层将第12层、第16层与第23层的特征图进行拼接,并通过第26层的C2f模块融合多个通道间的不同尺度的特征信息。
(3)尺度变化自适应检测头(SCA-Head)
目前主流的检测模型在骨干网络提取到足够的特征信息之后,采用特征金字塔先将提取到的视觉特征送入模型头部,然后使用具有不同感受野的检测头预测不同尺度的目标。但由于不锈钢焊缝缺陷数据集中多个不同尺度的缺陷经常共存于一幅图像中,并且在特征金字塔不同尺度的特征图中,缺陷的形态、尺度以及位置均存在很大差异,现有的大多数目标检测算法都无法实现很好地处理。尤其在处理未熔合(incomplete fusion)这类缺陷时,由于该类缺陷通常呈现细长的直线,相对于其它类别的缺陷,此类缺陷长宽比较大,尺度变化剧烈,因此基线模型对此类缺陷的检测效果较差。
为了更好的融合因目标尺度的差异性而造成的特征尺度多样性,以及互不相同的目标形状和空间位置蕴含的潜在的位置关系特征,本发明提出了尺度变化自适应检测头(SCA-Head),如图10所示,包括空间感知模块、尺度感知模块以及全局感知模块。可以将特征金字塔网络的输出看作是Level×Space×Channel的三维张量,即F∈RLSC,其中L代表特征图的层级,S代表特征图的宽高乘积,C代表特征图的通道数。空间感知模块与尺度感知模块分别在S与L两个维度上执行,而全局感知模块用于进行跨维的特征交互与融合,综合来自不同级别特征图的信息,以提高特征表示的丰富性。
首先,特征图通过空间卷积偏移模块(offset)处理后,得到偏移和掩码,这些偏移和掩码与不同层级的特征图(高、中、低)一起输入到空间感知模块中,由相层级的卷积模块进行处理,以捕获更适合目标的特征。由于不同的空间位置对应不同尺度的物体,不同位置的像素对于检测特征的重要性也不同。而标准卷积采用方形卷积核结构进行采样,导致同一层激活单元的感受野大小相同。对于小目标,这个感受野可能包含很多与目标无关的区域,造成背景干扰,从而降低特征质量。因此,在空间感知模块中采用可变形卷积(DCNv3)来自适应地学习最佳的卷积核结构和采样点,使有效感受野能更好的匹配目标的形状。在可变形卷积学习不同层级的特征图表示的同时,通过双线性插值对高层级特征图进行上采样,并通过Stride=2的卷积对低层级特征图进行下采样,将三个不同层级的特征图缩放至相同大小。接下来,通过尺度感知模块对这些特征图进行加权求和。尺度感知模块作用在Level维度上,学习不同的语义层次,根据单个目标的规模在适当的层次上增强该特征。最后,将整合后的特征图输入到全局感知模块,根据具体任务动态调整特征图,输出特征图列表。在全局感知模块中引入了全局注意力机制(GAM),同时包括通道注意力以及空间注意力,考虑了通道与空间维度之间的相互作用,可以对不同尺度的特征图进行跨维的特征交互,保留更多信息。对于对比度低、特征信息不明显的焊缝缺陷,与背景的相似性使得它们的检测变得困难,全局感知模块可以有效地增强其有用的特征,同时抑制无用的特征,对目标的尺度差异性变化更加敏感,可以捕捉到更重要的特征。
对于某些特定类别的焊缝缺陷,由于其尺度差异性较大,长宽变化剧烈,直接在不同尺度特征图上分别进行检测,可能造成较高概率的漏检。而本发明提出的SCA-Head将三个不同层级的特征图作为尺度变化自适应检测头的输入,综合利用它们的优势,对不同层级的特征图进行融合、调整或者加权等处理,得到最终的输出结果,综合了来自不同层级特征图的信息表示,对于焊缝缺陷的尺度变化具有一定的抗干扰能力。
具体为:Head部分以第19、22、26层的输出作为输入,通过标准的CBS卷积块来将三组输入的通道个数统一为64,得到低、中、高三个层级的特征图,对应的特征图维度分别为[1,64,80,80]、[1,64,40,40]和[1,64,20,20];将这三个不同层级的特征图作为尺度变化自适应检测头(SCA-Head)的输入,首先经过空间感知模块(spatial-aware),由相应层级的卷积模块进行处理,这些卷积模块使用可变形卷积(DCNv3)来自适应地学习最佳的卷积核结构和采样点,使有效感受野能更好的匹配目标的形状。并在可变形卷积学习不同层级的特征图表示的同时,通过双线性插值对高层级特征图进行上采样,并通过Stride=2的卷积对低层级特征图进行下采样,将三个不同层级的特征图缩放至相同大小,即三组特征图维度都统一为[1,64,40,40];接下来经过尺度感知模块(scale-aware),由自适应平均池化(AdaptiveAvgPool)、标准卷积(Conv2d)、ReLu激活函数与Hardwish激活函数组成,实现多尺度上下文信息的动态高层次融合,从而对焊缝缺陷的尺度差异性变得更加敏感,在一定程度上缓解了某些特定类别的缺陷尺度变化剧烈与极度长宽比的问题。尺度感知模块与空间感知模块的输出结果经过相加后进入全局感知模块(Global-aware),该模块先通过平均池化来捕获所有特征图中的共性特征并保留更多的图像背景信息,接着经过全局注意力机制(GAM),对不同尺度的特征图进行跨维的特征交互,可以有效增强提取到的有用特征,同时抑制无用特征,对目标的尺度差异性变化更加敏感,从而捕捉到更重要的特征;最后通过softmax分类器与Hardtanh激活函数得到非线性的高级语义特征表示,从而提高检测精度。经过SCA-Head后输出三个检测头:维度[1,3,80,80]的检测头负责检测小目标,维度[1,3,40,40]的检测头负责检测中等大小的目标,维度[1,3,20,20]的检测头负责检测大目标。
步骤2:设计尺寸测量
在焊接过程中,焊缝的尺寸是一个重要的质量指标,对于保障焊件结构的安全可靠至关重要。因此,如何在实现高性能、高效率焊缝缺陷检测的同时,准确、直观地测量出缺陷的实际尺寸,对工业检测具有重要意义,值得进行更加深入的研究。为此,本发明提出了适用于摄像头与待检图像距离固定的尺寸测量算法,可以实现焊缝缺陷检测与尺寸测量的一体化技术。
首先使用训练好的检测模型对缺陷图像进行目标检测,同时利用OpenCV的轮廓识别算法对图像中焊缝缺陷的轮廓特征进行拟合,这种轮廓识别算法是用拓扑分析来确定二值化图像边界的算法,可以更好地提取焊缝缺陷的边缘轮廓。然后将提取到的轮廓点像素按照偏差平方和最小的原则进行直线拟合,拟合结果用多项式方程表示,具体计算公式为:
μ(x)=ax+b (4)
其中,(xi,yi)表示轮廓像素点坐标,且i=1,2,3,…,m;μ(x)为拟合的二项式函数,为拟合直线在(xi,yi)上的偏差的平方。
由于焊缝缺陷形态各异,且往往是不规整的,因此将拟合后得到的多边形缺陷轮廓使用最小外接矩形来进一步描述其尺寸信息,这样就使得不同种类、不同形态的焊缝缺陷有了统一的测量标准。从缺陷的矩形轮廓中提取其左上角像素点坐标(x1,y1)与右下角像素点坐标(x2,y2),并通过计算这两个对角点之间的距离得到焊缝缺陷的像素宽度和像素高度,具体公式如下:
pixel_width=x2-x1 (5)
pixel_height=y2-y1 (6)
式中,pixel_width表示焊缝缺陷的像素宽度,pixel_height表示焊缝缺陷的像素高度。
但上述的pixel_width和pixel_height仅代表像素大小,并非缺陷的实际尺寸。因此,本发明通过定义转换因子pixel_to_real来构建缺陷的像素大小与实际尺寸之间的映射关系,以保证映射尺寸与实际尺寸的一致性。要确定转换因子的大小,需要测量物体在现实中的尺寸,并且知道它在图像中的像素大小,则可以求得转换因子的大小,计算公式如下:
式中,real_size表示焊缝缺陷的实际尺寸,pixel_size表示焊缝缺陷在图像中的像素大小,pixel_to_real代表转换因子,即像素大小到实际尺寸之间的映射比例;在实际中,确定real_size与pixel_size的大小时,既可以选择焊缝缺陷的高度,也可以选择焊缝缺陷的宽度。
同时,应当固定待测X射线胶片到摄像头的距离,以便正确地校准转换因子。一种简单的方法是将X射线胶片放在一个到摄像头已知距离(例如0.3m或0.5m)处,并测得焊缝缺陷的实际尺寸与它在图像中的像素大小。然后,可以使用公式(7)来计算转换因子,从而将像素大小转换为实际尺寸,具体转换公式如下:
real_width=pixel_width×pixel_to_real (8)
real_height=pixel_height×pixel_to_real (9)
式(8)~(9)中,real_width、real_height分别为焊缝缺陷的实际宽度与实际高度,pixel_width、pixel_height分别为焊缝缺陷在图像中的像素宽度和像素高度,pixel_to_real为像素大小映射到实际尺寸的转换因子。
转换因子是一个固定值,只需计算一次就可以确定,不需要每次测量缺陷尺寸时重复计算,但前提是将摄像头放置在距离待检X射线底片的固定位置处。如果摄像头位置改变,则需要重新计算和设置转换因子的大小。
步骤3、设计模型自优化策略
由于焊缝缺陷数据采样形式的差异性,面对不同的问题很可能需要重构模型,或者通过大量的人为试验才能确定合适的超参数组件,主观性强,自适应性低。神经网络模型超参数进化是指通过自动调整模型的超参数来改善模型的性能和泛化能力。超参数进化可以被视为在超参数空间中搜索最优解的过程。超参数空间由各种超参数的取值范围组成,搜索的目标是找到最佳的超参数组合,使得模型在给定任务和数据集上达到最佳性能。
将HCOA优化策略用于进化检测模型中的29个关键超参数,这29个超参数也就是HCOA算法待优化的决策变量,而29即决策变量的维度。现在目的就是将公式(31)作为优化策略的适应度函数,然后通过自适应寻优得到使得适应度函数的值达到最大的那一组超参数,也就是模型的最优超参数组件。而搜索范围就是这组超参数中每个超参数对应的上下边界,即最大或最小能取到多少,搜索结果会控制在这个区间内。
(1)、HCOA模型优化策略
混沌映射是非线性的,因此它能够产生高度非线性的序列,这对于优化算法来说是很有用的,因为它们通常需要搜索非线性的空间;其次,混沌映射对初始条件非常敏感,微小的变化可以导致完全不同的序列。这意味着即使使用相同的参数和种子,也可以生成不同的初始种群,从而增加了搜索空间的可达性。本发明采用Circle混沌映射来初始化种群。
首先,通过混沌映射来初始化若干组(m组)在搜索范围内的初始的超参数值,混沌映射初始化的公式如式(26)所示;
其中,mod为求余函数,xi+1表示第i+1次映射的值。
由于Circle混沌映射具有较好的均匀性和遍历性,与随机初始化种群相比,通过Circle混沌映射的初始化种群分布更均匀,更具有代表性和区分度,使得算法具有更强的全局搜索能力,从而提高算法的寻优性能。这里的“若干组”就是种群数量,假设种群数量为100,那每次搜索就会得到100组超参数的寻优结果,然后进行排序选择最好的那一组(即适应度函数的值达到最大的那一组)。
为了解决现有群体智能优化算法存在计算代价高的不足,有效降低运算成本并提高寻优精度,引入了种群协同机制。种群协同机制包括分组寻优策略和协同进化策略两部分。首先通过分组寻优策略将大的种群分为n个子种群,每个种群拥有相同的个体数量(即m/n),接对每个子种群以并行的方式独立使用原始的COA优化算法进行寻优得到新的超参数解集,如公式(13-2)2所示。通过式(23)将卷积后得到的解的适应度值与原始解相比较,如果更好则替换原始解。
卷积优化算法(COA)是将二维卷积运算引入智能优化算法的种群位置更新过程,主要包括卷积搜索和解质量增强2种机制:在卷积搜索过程中,分别定义纵向卷积核、横向卷积核和区域卷积核,依次进行二维卷积运算并更新种群的位置向量,然后将3种卷积核更新后的种群的位置向量进行随机权重或等比例权重相加,进一步更新种群的位置向量;在解质量增强过程中,对最优解的搜索空间逐维进行带非惯性权重的高斯变异,并对最优解进行扰动,从而提高算法的局部搜索能力;更新过程如下。
/>
式(10-12)表示种群初始化过程;式中,种群的位置向量X由n×d阶矩阵构成,其中n表示种群中的个体数量,d表示决策变量的维度;f(Xp)表示适应度函数,也称目标函数;在COA中,初始种群的位置向量X0在d维搜索空间中随机生成,lp为一个1×d阶矩阵,为第p个个体的下限;up为一个1×d阶矩阵,为第p个个体的上限;rand为[0,1]之间的随机数。
KL=2×rand(k,1)-IL (13)
式(13-15)表示纵向卷积的位置更新过程;式中,KL为一个k×1阶矩阵,代表纵向卷积核;rand(k,1)表示矩阵中每个元素为[0,1]之间的随机数;IL为一个k×1阶矩阵,所有元素为1。t为当前迭代次数,为一个n×d阶矩阵,为第t代纵向卷积位置更新后的种群位置向量。比较/>和Xt中每个位置的适应度值的大小,择优替换掉Xt中个体的位置,如式(8)所示,其中,/>为第t代种群的第p个个体位置;/>为第t代纵向卷积位置更新后的种群的第p个个体位置。
同理,式(16-18)为横向卷积的位置更新过程,式(19-21)为区域卷积的位置更新过程。
KT=2×rand(1,k)-IT (16)
KR=2×rand(k,k)-IR (19)
在综合位置更新阶段,将第t代纵向卷积更新后的种群的位置向量第t代横向卷积更新后的种群的位置向量/>和第t代区域卷积更新后的种群的位置向量/>采用随机权重或等比例权重相加合并为/>即
/>
特别地,可以令r1=r2=r3,以便进行等比例权重相加。比较和Xt中每个个体位置的适应度值的大小,择优替换掉Xt中个体位置,则有
式中,为第t代综合位置更新后的种群的第p个个体位置。最后,计算Xt中所有个体位置的适应度值,并根据适应度值的大小进行排序,选出最优解/>
然后通过公式(27-28)对每个子种群使用精英反向学习策略并更新个体信息,接着更新最优个体的位置信息和适应度值;选取普通个体对应的极值点作为携带更多有效信息的精英个体,然后根据式(27)求出精英个体的反向解并在精英反向解及当前种群中选出优秀个体;
式(27)中,δ是区间[0,1]内的随机值,其中lbk和ubk分别为动态边界的下界与上界;当/>越界时,则利用式(28)将其重置;
接下来通过种群协同机制的协同进化策略在各子种群之间引入了信息交流,如公式(29-30)所示。由于原始COA算法在处理种群规模较大、搜索范围较广以及决策变量维度较高的优化问题时,会耗费大量的计算资源,因此本发明在原算法中加入种群协同机制,实现了COA算法的并行化,以提高其效率。种群协同机制是一种在多个种群之间共享信息以提高算法全局搜索能力的方法,其目的是通过种群间的交互和合作,加速优化过程并提高算法效率。具体地,本发明首先将初始种群划分为多个子种群,对于每个独立的子种群,使用常规的优化算法同时进行搜索;并且在不同子种群之间引入交流和合作机制,促进各子种群之间的信息共享和知识传递,从而全面提高算法的搜索效率和优化精度。具体过程如下:首先定义了一个参数α,表示协同机制的强度,在每次迭代时,对于当前种群中的每个个体,计算它和其他种群中各个个体的适应度差异,并根据α的值对其位置进行更新。对于某个种群中的某个个体i,计算其与其他种群中所有个体j的适应度差异,计算公式如下:
β=abs(fitness[i]-fitness[j]) (29)
式中,fitness[i]和fitness[j]分别表示个体i和个体j的适应度值;然后,根据计算出的β值和α参数,计算新的个体位置,计算公式为:
Xi=Xi+α*(Xj-Xi)/β (30)
式中,Xi和Xj分别表示个体i和个体j的位置。通过这种方式,可以将整个搜索空间划分为若干个子空间来完成并行搜索,提高了寻优效率;且不同子种群通过信息交流和共享的方式,协同地完成全局搜索任务,提高了算法的全局搜索能力和精度。
然后将子种群合并为一个种群。接着通过公式(24)使用高斯随机扰动策略来对全局最优进行扰动,使其跳出局部最优解,提高寻优精度。在COA中,解质量增强机制是对最优解的d维搜索空间逐维进行带非惯性权重的高斯变异,对最优解/>进行扰动,从而提高算法的局部搜索能力。/>
式中,为一个n×1阶矩阵,为最优解/>中d维搜索空间中的第q(q=1,2,…,d)维的位置;ω=1-(t/itermax)2,其中itermax为最大迭代次数;randn为一个满足均值为0,方差为1的标准正态分布的随机数;/>为一个n×1阶矩阵,表示对最优解/>的第q维进行带非惯性权重高斯变异后的第q维位置。
然后通过公式(25)更新全局最优解。令对第q维进行带非惯性权重高斯变异后的个体位置为比较/>和/>的适应度值的大小,择优替换掉/>的个体位置,则有
当迭代次数小于最大迭代次数时,重复以上对子种群进行的操作,直至达到最大迭代次数后结束循环;此时就得到了使得检测模型精度最高的最优超参数组件的值。
由于原始COA中初始个体都是在搜索空间内随机生成的,难以获取较好的种群多样性,易导致算法出现收敛性能差、易陷入局部最优解等问题;且原始算法在种群规模较大时,寻优速度慢,时间成本较高。对此,本发明在COA算法的基础上,依次引入Circle混沌映射初始化种群、精英反向学习策略以及种群协同机制三种改进策略来提高初始解的质量,扩大搜索区域,增强算法的全局以及局部搜索能力,缩短寻优时间,构成面向深度神经网络高维超参数自适应寻优的HCOA模型优化策略,算法流程图如图11所示。
(2)HCOA进化模型超参数
将经过上述机制改良的HCOA优化策略用于进化检测模型中的29个关键超参数,其中包括初始学习率(lr0)、循环学习率(lrf)、学习率动量(momentum)、权重衰减系数(weight_decay)、预热学习轮次(warmup_epochs)、预热学习动量(warmup_momentum)、预热初始学习率(warmup_bias_lr)、IOU损失系数(box)、分类损失系数(cls)、分类BCELoss正样本权重(cls_pw)、有无物体系数(obj)、有无物体BCELoss正样本权重(obj_pw)、训练时的IOU阈值(iou_t)、anchor的长宽比(anchor_t)、每个输出层的anchors数量(anchors)以及14个数据增强系数(fl_gamma、hsv_h、hsv_s、hsv_v、degrees、translate、scale、shear、perspective、flipud、fliplr、mosaic、mixup和copy_paste)。通过在网络训练过程中自适应地调整模型超参数,并给出使得适应度函数值最大的最佳超参数组件,用于建立最终的焊缝缺陷检测模型,减小模型设计难度的同时提高了模型自适应学习能力。
fitness=0.1mAP@0.5+0.9mAP@0.5:0.95 (31)
式(31)为模型适应度函数的计算公式,求取出的fitness值作为HCOA的适应度值来进行种群更新,最优个体信息会被用来建立最终模型。
一、HCOA算法性能验证
为充分验证HCOA的寻优性能和跳出局部最优解的能力,选择近年来应用范围广且应用性能较好的平衡优化器算法(Equilibrium optimizer,EO)、海鸥优化算法(SeagullOptimization Algorithm,SOA)、麻雀搜索算法(Sparrow Search Algorithm,SSA)和鲸鱼优化算法(whale optimization algorithm,WOA)在12个基准测试函数上进行对比仿真实验。其中包括Sphere(F1)、SchwefelN2.22(F2)、SchwefelN1.2(F3)、SchwefelN2.21(F4)、Rosenborck(F5)、Step(F6)、Quartic(F7)七个高维单峰基准函数,用于测试算法的开发能力;以及Schwefel(F8)、Rastrigin(F9)、Ackley(F10)、Griewank(F11)、Penalized(F12)五个高维多峰基准函数,用于测试算法跳出局部最优的能力。维数越高、峰值越多,对于群智能优化算法的求解就越难,越能体现出算法的寻优性能。
为了保证公平,所有实验在相同环境下进行。各算法的种群规模设为100,最大迭代次数设置为500,问题维度设置为30,对比算法的其他初始参数与原文献保持一致。为避免寻优结果的偶然性并证明HCOA的稳定性,选取平均值(Mean)和标准差(Std)作为算法性能的度量标准,最优结果用粗黑体进行表示,单峰多峰基准函数对比结果分别如表1、表2所示。
表1单峰基准函数实验结果
表2多峰基准函数实验结果
由表1分析可知,在相同测试约束条件下,对于7个高维单峰基准函数F1-F7,HCOA算法仅在函数F6上性能表现略低,而在其它6个函数上的寻优精度均排名第一,明显优于其它5种对比算法。在求解函数F7时,尽管HCOA未能寻得其理论最优解,但在平均值与标准差两个评价指标上仍明显优于其它优化算法。对于基准函数F1-F5,HCOA均能寻优到其理论最优解,且算法独立运行30次后所得标准差为0,寻优性能稳定。证明本发明改进的HCOA算法相较于原始算法具有更强的开发能力,且具有良好的稳定性和鲁棒性。
由表2分析可知,对于5个高维多峰基准函数F8-F12,HCOA算法在其中5个函数上性能表现最优。尽管HCOA在函数F8上的寻优精度略低于SOA,但其性能表现仍明显优于原始的COA算法及其它对比算法。对于函数F10,HCOA与COA、SOA、SSA算法并列第一;对于函数F12,在均值与标准差两个评价指标上HCOA算法相比于其它对比算法优越多个数量级。由此可见,HCOA算法具有更强的跳出局部最优的能力以及全局搜索能力。
由于本发明对COA算法进行了深入修改,引入的修改可能会导致性能下降。为了避免这一问题,本发明对HCOA算法进行了详细的消融实验,以证明每种修改策略均为有效的。选取各算法在12个基准函数上独立运行30次的最优适应度值的平均值以及平均运行时间(Time(s))作为评价指标,得到的HCOA消融实验结果如表3所示。
表3HCOA算法消融实验
通过HCOA算法的消融实验可知,改进算法的寻优效果与原算法相比得到了不同程度的提高,证明了HCOA引入的所有改进策略都能提高算法的寻优性能。在所有改进策略当中,种群协同机制(改进D)的改进效果最为明显,证明各子种群之间的协同进化与信息交流对优化算法的性能提升具有至关重要的作用。此外,为了防止引入的改进策略会大幅增加优化算法的时间复杂度,本发明比较了每种算法的运行时间。由表3可知,引入circle混沌映射初始化后(改进B),在大多数基准函数上的寻优时间都有一定增加,但算法的寻优能力也得到增强。接着引入精英反向学习策略后(改进C),进一步提升了算法的全局搜索能力,寻优时间与原先相差不大,依然保持在合理范围之内。而在引入种群协同机制后(改进D),算法性能得到较大幅度的提升,且相比于前几组改进算法显著缩短了寻优时间,加快了收敛速度。
本发明模型有29个用于训练设置的超参数,好的初始参数值十分重要,会影响模型的最终结果。本发明将经过改良后的HCOA算法用于模型超参数的进化,自适应学习得到模型的最优超参数组件并用于最终的模型训练,如表4所示。其中Hyp_initial代表默认的初始超参数组件,Hyp_final代表经过HCOA进化得到的最优超参数组件。
表4超参数进化结果
二、本发明方法消融实验
为充分验证本发明模型中各个改进模块对于X射线焊缝缺陷检测的有效性,本发明在原YOLOv5-s模型的基础上设计消融实验。通过控制变量的方式,将各个改进模块及其组合分别加入基线模型当中,与原模型作为对照组,具体实验内容与测试结果如下表5所示。通过表5分析每项改进策略对本发明模型的贡献,从实验中发现,每个模块对模型的整体性能都有不同程度的提升。
表5消融实验结果
/>
1)深层特征提取模块(DFEM)通过建模远距离依赖关系,从而捕获焊缝缺陷的深层次全局特征信息,增强焊缝缺陷的特征表示,有效解决卷积神经网络不具备全局感受野导致的特征提取困难、网络传播过程中特征信息损失较大等问题。加入DFEM后,模型对于圆形缺陷、条形缺陷、裂纹以及未熔合这四类缺陷的检测精度分别提升了1.8%、0.5%、4.3%和1.5%,可见利用全局特征信息来增强低质量焊缝缺陷图像的特征表示具有明显效果。
2)将YOLOv5-s的Backbone的最后两层替换为本发明的GCSPPF模块后,各类别的缺陷检测精度都得到一定提升,全类平均精度mAP@0.5与mAP@.5:.95分别提高了2.2%与1.6%。该模块扩大网络感受野,显著提升了对条形缺陷、裂纹这类较大目标的检测能力;同时采用分组卷积的方式,减少模型的参数量与计算量,并在相邻层卷积核之间引入一定程度的特征交互,保留了更多的细节信息,改善了圆形缺陷、未熔合等这类微小目标的特征提取效果,有效提高网络的整体性能。
3)ACEA-FPN对于网络性能的提升有着更为积极的影响,特别是在检测crack这一类缺陷时的性能提升尤为明显,相比于基线模型提升了15.1%。该模块是一种可以更加充分、高效地融合多尺度信息的特征金字塔,可以获得充分的上下文信息,因此对于保持多尺度焊缝缺陷的特征一致性具有积极作用。虽然对于形状细长多变的未熔合这类缺陷的检测略有不足,但带来的整体性能提升还是非常可观的,mAP@0.5与mAP@.5:.95相较于原YOLOv5-s分别提升了3.1%和2.7%。
4)本发明提出的SCA-Head专注于解决焊缝缺陷的尺度变化带来的漏检、误检问题。由于未熔合这类缺陷通常情况下程细长的直线,长宽比变化剧烈,造成了特征尺度的多样性,单一的小目标检测头或大目标检测头都无法很好地处理该问题,因此使用基线模型检测该类缺陷时往往效果不佳。SCA-Head模块将三个不同层级的特征图作为其输入,通过对不同层级的特征图进行融合、调整以及加权等处理,最终得到一个整体的特征图表示作为输出结果,从而综合了来自不同层级特征图的信息交互,具有更丰富的特征表达能力。该模块在未熔合的检测效果上提升明显,相比原来提升了17.3%。同时,mAP@0.5与mAP@.5:.95分别提升了2.8%和3%,对于模型整体性能的提升具有重要作用。
5)由最后一组实验可知,对于人工设计的模型而言,选择好的初始超参数值十分重要,会影响到模型的最终训练结果。本发明提出的HCOA算法以0.1mAP@0.5+0.9mAP@.5:.95作为适应度函数,优化用于模型训练的29个超参数,将进化后得到的最优超参数组件用于模型的最终训练。相比于加入了其他改进模块但未使用HCOA进化超参数的模型,mAP@0.5提升了1%,mAP@.5:.95提升了1.5%。
通过消融实验的对比发现,加入所有改进策略后的最终模型的性能提升最为显著。本发明算法对于5种类别的焊缝缺陷检测均有一定程度的改善,能较好地解决由于焊缝缺陷边缘不清晰、像素占比少以及尺度变化剧烈造成的漏检、误检问题,mAP@0.5与mAP@.5:.95相对于基线模型提升了8.5%与6.6%,充分验证了本发明方法对X射线焊缝缺陷检测的有效性。
三、本发明方法与其他主流算法的性能对比
为了充分验证本发明方法的优越性,选取了几种最先进的检测模型与本发明模型从参数量、计算量、FPS、mAP等不同角度进行了比较,对比模型包括:Faster RCNN、CasadeRCNN、YOLOv5-s、YOLOX-s、YOLOv7、YOLOv7-tiny、DAMO-YOLO-T、YOLOv8-s。对比结果如表6所示。实验结果表明,相比于其它先进的目标检测算法,本发明改进的算法在模型大小、检测精度和检测速度三个方面取得了更好的平衡。
表6不同检测算法的对比实验结果
由表6可知,双阶段目标检测算法Faster RCNN与Casade RCNN在X射线焊缝缺陷数据集上未能取得理想效果,且参数量与计算量较大,不能满足实时性焊缝缺陷检测的需求。而YOLO系列算法实时性能明显优于双阶段目标检测算法,更适合于工业检测的应用场合。其中,YOLOv7-tiny的参数量与计算量最小,但检测速度依然弱于YOLOv5-s,且全类平均精度指标mAP@0.5与mAP@.5:.95分别比YOLOv5-s低了15%和9%。YOLOX-s在精度指标mAP@.5:.95上排名第一,但只比YOLOv5-s提升了0.5%,而mAP@0.5比YOLOv5-s低了2.5%,且从轻量化与实时性角度上,均弱于YOLOv5-s。YOLOv8-s在检测精度上与YOLOv5-s相差甚小,mAP@.5:.95仅比YOLOv5-s低了0.2%,但其模型参数量与计算量均要明显高于YOLOv5-s。因此,在对比的所有基础模型中,YOLOv5-s的综合性能最优,说明在焊缝缺陷检测领域,YOLOv5-s与本发明的X射线焊缝缺陷数据集之间具有更好的契合度,能达到更好的检测效果,也是本发明选择YOLOv5-s作为基础模型的重要原因。经过本发明改进的YOLOV5-s算法,在所有对比算法中取得了最好的成绩,尽管在参数量与计算量上相比于基线模型略有提升,但mAP@0.5与mAP@.5:.95相对于基线模型提升了8.5%与6.6%,且图像处理速度依然达到68frames/s,能够满足实时工业检测的需求,实现了检测精度与检测速率的更好平衡。同时,本发明方法相比于实验中提到的所有经典的以及先进的检测模型,mAP@0.5平均提升了15.6%,mAP@.5:.95平均提升了10.3%,充分证明了本发明方法对于检测工业环境下低质量焊缝缺陷图像的有效性。
图12为本发明所述方法与其他流行检测算法的检测效果对比图,可以看出,现有检测算法易受到复杂背景信息的干扰,对X射线焊缝缺陷检测效果不佳,定位效果差,尤其在缺陷堆叠和多种缺陷类别混杂的情况下,极易出现漏检、误检等问题。本发明所述的改进算法在多尺度目标检测、缺陷堆叠等情况下表现出更好的检测效果,验证了本发明方法可以有效抑制背景信息的干扰,深入挖掘X射线焊缝缺陷的特征表示,一定程度上提高了对焊缝缺陷尺度变化的抗干扰能力,鲁棒性更好。
四、焊缝缺陷尺寸测量实验
为验证本发明尺寸测量算法的有效性,在固定摄像头与观片装置距离的前提下测量X射线焊缝缺陷的大小,如图13所示,并通过比较算法测量与人工测量的结果来验证映射尺寸与实际尺寸是否一致。每次测量重复3次,求出待测缺陷的相关尺寸及平均误差,以消除实现结果的随机性与偶然性。其中缺陷尺寸的人工测量与机器视觉测量的结果及平均误差如表7所示。
表7尺寸测量实验结果
结合图13与表7可以看出,多个缺陷样本的测量结果表明,本发明尺寸测量算法与人工测量值一致性较高,测量误差基本保持在1mm以内,精度较高,可以满足实际工业生产中的使用需求。但前提是需要固定摄像头与观片装置的距离,并且摄像头角度不得发生变化,否则会影响测量精度。同时,设置合适的转换因子是该算法能够准确测量缺陷尺寸的关键。
综上,本发明是基于模型自优化的X射线焊缝缺陷尺寸智能测定方法研究,加速推动无损检测行业的智能化进程,以及自动机器学习的工程化应用,进而为智能制造产品质量的提升、生产过程、操作使用时的安全提供有力保障,为推动“高端装备智能制造”、“工业4.0”中工业自动化、智能化健康持续发展具有重大的价值和现实意义,应用前景和发展前景广阔。
Claims (1)
1.一种基于模型自优化的X射线焊缝缺陷智能评测方法,其特征在于:包括如下步骤:
步骤1:构建X射线焊缝缺陷检测模型
X射线焊缝缺陷检测模型包括Backbone、Neck、Head三部分;
(1)Backbone部分的0-5层为浅层特征提取网络,通过CBS卷积块与C3模块堆叠的方式提取输入图片的浅层局部特征,同时对图像分辨率进行下采样并增加特征图的通道个数,即特征图维度从[1,3,640,640]变为[1,256,40,40];
第6层为深层特征提取模块DFEM,DFEM包括Convolutional Layer、TransformerLayer、Fusion Layer三个部分;首先通过Convolutional Layer编码图像的局部空间信息,使用一个卷积核大小为3*3的深度卷积DWConv对图像进行局部特征提取,然后经过1*1的逐点卷积PWConv将特征图通道数减少至原来的一半,此时特征图维度变为[1,128,40,40];完成对特征图的局部表征后,再经过Transformer Layer对远距离非局部依赖性进行建模,首先通过unfold操作将图片划分为n个patch,再通过PoolFormer Block对图像进行全局表征,建模图像的全局远距离依赖关系,接下来的fold操作视为unfold的反操作,将划分的patches重新拼接,从而将特征图维度重新变为[1,128,40,40];接着经过Fusion Layer的第一个逐点卷积实现多通道之间的信息交互后,与经过Convolutional Layer局部表征后的特征图进行Concat拼接,特征图维度由[1,128,40,40]变为[1,256,40,40],接着再通过一个逐点卷积进行通道间的特征交互,最后与第5层浅层特征提取之后的特征图进行Add融合并输出,此时输出特征图的维度与输入DFEM时相同,依然是[1,256,40,40];
第7层经过步长为2的CBS卷积模块实现下采样并将特征图通道数增加为原来的两倍,特征图通道数变为[1,512,20,20];
第8层为组卷积空间金字塔模块GCSPPF;将SPPCSPC模块中的标准卷积替换为分组卷积GCConv,核心部分使用SPPF模块代替SPPCSPC模块中的SPP模块;GCSPPF不改变特征图维度,作为即插即用的模块来使用,输出的特征图维度与输入保持一致,为[1,512,20,20];
至此,完成主干特征提取网络Backbone的构建;
(2)Neck部分为基于注意力集中机制的高效层聚合特征金字塔ACEA-FPN结构;9-18层为自底向上的上采样,特征图维度由[1,256,20,20]变为[1,256,80,80],而19-26层为自顶向下的下采样,特征图维度由[1,128,80,80]变为[1,512,20,20];具体如下:
第6层与第8层的输出分别经过ODConv进行特征提取并得到维度相同的特征图后,在11层进行拼接,并通过第12层的C2f模块进行不同尺度特征的融合,输出的特征图维度为[1,256,20,20],经过第13层的Upsample操作对特征图进行上采样,得到维度[1,256,40,40]的特征图;第15层通过Concat操作将第13层输出的特征图、第6层输出的特征图以及第4层经过ODConv进一步特征提取后的特征图进行拼接,得到维度为[1,640,40,40]的特征图;经过第16层的C2f模块进行不同尺度特征的融合并降维至[1,256,40,40],接着通过第17层的上采样操作后得到[1,256,80,80]的特征图,第18层的Concat操作将第4层的浅层特征图与第17层的深层特征图进行融合,得到维度为[1,384,80,80]的特征图,经过第19层的C2f模块将拼接后的特征图进行了信息融合,接着经过一个ODConv模块得到[1,128,40,40]的特征图,再与第16层输出的特征图进行Concat拼接,得到[1,384,40,40]的特征图,经过第22、23层的特征融合与提取后送入第25层;25层将第12层、第16层与第23层的特征图进行拼接,并通过第26层的C2f模块融合多个通道间的不同尺度的特征信息;
(3)Head部分以第19、22、26层的输出作为输入,通过标准的CBS卷积块来将三组输入的通道个数统一为64,得到低、中、高三个层级的特征图,对应的特征图维度分别为[1,64,80,80]、[1,64,40,40]和[1,64,20,20];将这三个不同层级的特征图作为尺度变化自适应检测头SCA-Head的输入,首先经过空间感知模块spatial-aware,由相应层级的卷积模块进行处理;并在可变形卷积学习不同层级的特征图表示的同时,通过双线性插值对高层级特征图进行上采样,并通过Stride=2的卷积对低层级特征图进行下采样,将三个不同层级的特征图缩放至相同大小,即三组特征图维度都统一为[1,64,40,40];接下来经过尺度感知模块scale-aware,由自适应平均池化AdaptiveAvgPool、标准卷积Conv2d、ReLu激活函数与Hardwish激活函数组成,实现多尺度上下文信息的动态高层次融合;尺度感知模块与空间感知模块的输出结果经过相加后进入全局感知模块Global-aware,该模块先通过平均池化来捕获所有特征图中的共性特征并保留更多的图像背景信息,接着经过全局注意力机制GAM,对不同尺度的特征图进行跨维的特征交互,对目标的尺度差异性变化更加敏感,从而捕捉到更重要的特征;最后通过softmax分类器与Hardtanh激活函数得到非线性的高级语义特征表示;经过SCA-Head后输出三个检测头:维度[1,3,80,80]的检测头负责检测小目标,维度[1,3,40,40]的检测头负责检测中等大小的目标,维度[1,3,20,20]的检测头负责检测大目标;
步骤2:设计尺寸测量
首先使用训练好的检测模型对缺陷图像进行目标检测,同时利用OpenCV的轮廓识别算法对图像中焊缝缺陷的轮廓特征进行拟合,然后将提取到的轮廓点像素按照偏差平方和最小的原则进行直线拟合,拟合结果用多项式方程表示,具体计算公式为:
μ(x)=ax+b (4)
其中,(xi,yi)表示轮廓像素点坐标,且i=1,2,3,…,m;μ(x)为拟合的二项式函数,为拟合直线在(xi,yi)上的偏差的平方;
从缺陷的矩形轮廓中提取其左上角像素点坐标(x1,y1)与右下角像素点坐标(x2,y2),并通过计算这两个对角点之间的距离得到焊缝缺陷的像素宽度和像素高度,具体公式如下:
pixel_width=x2-x1 (5)
pixel_height=y2-y1 (6)
式中,pixel_width表示焊缝缺陷的像素宽度,pixel_height表示焊缝缺陷的像素高度;
通过定义转换因子pixel_to_real来构建缺陷的像素大小与实际尺寸之间的映射关系,以保证映射尺寸与实际尺寸的一致性;转换因子的大小计算公式如下:
式中,real_size表示焊缝缺陷的实际尺寸,pixel_size表示焊缝缺陷在图像中的像素大小,pixel_to_real代表转换因子,即像素大小到实际尺寸之间的映射比例;
同时,应当固定待测X射线胶片到摄像头的距离,以便正确地校准转换因子;将X射线胶片放在一个到摄像头已知距离处,并测得焊缝缺陷的实际尺寸与它在图像中的像素大小,然后使用公式(7)来计算转换因子,从而将像素大小转换为实际尺寸,具体转换公式如下:
real_width=pixel_width×pixel_to_real (8)
real_height=pixel_height×pixel_to_real (9)
式(8)~(9)中,real_width、real_height分别为焊缝缺陷的实际宽度与实际高度,pixel_width、pixel_height分别为焊缝缺陷在图像中的像素宽度和像素高度,
pixel_to_real为像素大小映射到实际尺寸的转换因子;
步骤3:设计模型自优化策略
(1)、HCOA模型优化策略
通过混沌映射来初始化m组在搜索范围内的初始的超参数值,混沌映射初始化的公式如式(26)所示;
其中,mod为求余函数,xi+1表示第i+1次映射的值;
首先通过分组寻优策略将大的种群分为n个子种群,每个种群拥有相同的个体数量,即m/n,接着对每个子种群以并行的方式独立使用原始的COA优化算法进行寻优得到新的超参数解集,如公式(13)-(22);在卷积搜索过程中,分别定义纵向卷积核、横向卷积核和区域卷积核,依次进行二维卷积运算并更新种群的位置向量,然后将3种卷积核更新后的种群的位置向量进行随机权重或等比例权重相加,进一步更新种群的位置向量;在解质量增强过程中,对最优解的搜索空间逐维进行带非惯性权重的高斯变异,并对最优解进行扰动,从而提高算法的局部搜索能力;更新过程如下:
式(10-12)表示种群初始化过程;式中,种群的位置向量X由n×d阶矩阵构成,其中n表示种群中的个体数量,d表示决策变量的维度;f(Xp)表示适应度函数,也称目标函数;在COA中,初始种群的位置向量X0在d维搜索空间中随机生成,lp为一个1×d阶矩阵,为第p个个体的下限;up为一个1×d阶矩阵,为第p个个体的上限;rand为[0,1]之间的随机数;
KL=2×rand(k,1)-IL (13)
式(13-15)表示纵向卷积的位置更新过程;式中,KL为一个k×1阶矩阵,代表纵向卷积核;rand(k,1)表示矩阵中每个元素为[0,1]之间的随机数;IL为一个k×1阶矩阵,所有元素为1;t为当前迭代次数,为一个n×d阶矩阵,为第t代纵向卷积位置更新后的种群位置向量;比较/>和Xt中每个位置的适应度值的大小,择优替换掉Xt中个体的位置,如式(8),其中,/>为第t代种群的第p个个体位置;/>为第t代纵向卷积位置更新后的种群的第p个个体位置;
同理,式(16-18)为横向卷积的位置更新过程,式(19-21)为区域卷积的位置更新过程;
KT=2×rand(1,k)-IT (16)
KR=2×rand(k,k)-IR (19)
在综合位置更新阶段,将第t代纵向卷积更新后的种群的位置向量第t代横向卷积更新后的种群的位置向量/>和第t代区域卷积更新后的种群的位置向量/>采用随机权重或等比例权重相加合并为/>即
特别地,令r1=r2=r3,以便进行等比例权重相加;比较和Xt中每个个体位置的适应度值的大小,择优替换掉Xt中个体位置,则有
式中,为第t代综合位置更新后的种群的第p个个体位置;最后,计算Xt中所有个体位置的适应度值,并根据适应度值的大小进行排序,选出最优解/>
然后通过公式(27)-(28)对每个子种群使用精英反向学习策略并更新个体信息,接着更新最优个体的位置信息和适应度值;选取普通个体对应的极值点作为携带更多有效信息的精英个体,然后根据式(27)求出精英个体的反向解并在精英反向解及当前种群中选出优秀个体:
式(27)中,δ是区间[0,1]内的随机值,其中lbk和ubk分别为动态边界的下界与上界;当/>越界时,则利用式(28)将其重置;
接下来通过种群协同机制的协同进化策略在各子种群之间引入了信息交流,如公式(29)-(30);首先定义了一个参数α,表示协同机制的强度,在每次迭代时,对于当前种群中的每个个体,计算它和其他种群中各个个体的适应度差异,并根据α的值对其位置进行更新。对于某个种群中的某个个体i,计算其与其他种群中所有个体j的适应度差异,计算公式如下:
β=abs(fitness[i]-fitness[j]) (29)
式中,fitness[i]和fitness[j]分别表示个体i和个体j的适应度值;然后,根据计算出的β值和α参数,计算新的个体位置,计算公式为:
Xi=Xi+α*(Xj-Xi)/β (30)
式中,Xi和Xj分别表示个体i和个体j的位置;
然后将子种群合并为一个种群;接着通过公式(24)使用高斯随机扰动策略来对全局最优进行扰动,使其跳出局部最优解,提高寻优精度;解质量增强机制是对最优解的d维搜索空间逐维进行带非惯性权重的高斯变异,对最优解/>进行扰动,从而提高算法的局部搜索能力;
式中,为一个n×1阶矩阵,为最优解/>中d维搜索空间中的第q(q=1,2,…,d)维的位置;ω=1-(t/itermax)2,其中itermax为最大迭代次数;randn为一个满足均值为0,方差为1的标准正态分布的随机数;/>为一个n×1阶矩阵,表示对最优解/>的第q维进行带非惯性权重高斯变异后的第q维位置;
然后通过公式(25)更新全局最优解;令对第q维进行带非惯性权重高斯变异后的个体位置为比较/>和/>的适应度值的大小,择优替换掉/>的个体位置,则有
当迭代次数小于最大迭代次数时,重复以上对子种群进行的操作,直至达到最大迭代次数后结束循环;此时就得到了使得检测模型精度最高的最优超参数组件的值;
(2)HCOA进化模型超参数
将经过上述机制改良的HCOA优化策略用于进化检测模型中的29个关键超参数,其中包括初始学习率lr0、循环学习率lrf、学习率动量momentum、权重衰减系数weight_decay、预热学习轮次warmup_epochs、预热学习动量warmup_momentum、预热初始学习率warmup_bias_lr、IOU损失系数box、分类损失系数cls、分类BCELoss正样本权重cls_pw、有无物体系数obj、有无物体BCELoss正样本权重obj_pw、训练时的IOU阈值iou_t、anchor的长宽比(nchor_t、每个输出层的anchors数量anchors以及14个数据增强系数;通过在网络训练过程中自适应地调整模型超参数,并给出使得适应度函数值最大的最佳超参数组件;
fitness=0.1mAP@0.5+0.9mAP@0.5:0.95 (31)
式(31)为模型适应度函数的计算公式,求取出的fitness值作为HCOA的适应度值来进行种群更新,最优个体信息会被用来建立最终模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311562432.7A CN117557534A (zh) | 2023-11-21 | 2023-11-21 | 基于模型自优化的x射线焊缝缺陷智能评测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311562432.7A CN117557534A (zh) | 2023-11-21 | 2023-11-21 | 基于模型自优化的x射线焊缝缺陷智能评测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117557534A true CN117557534A (zh) | 2024-02-13 |
Family
ID=89810551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311562432.7A Pending CN117557534A (zh) | 2023-11-21 | 2023-11-21 | 基于模型自优化的x射线焊缝缺陷智能评测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117557534A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975372A (zh) * | 2024-03-29 | 2024-05-03 | 山东浪潮科学研究院有限公司 | 一种基于YOLOv8和Transformer编码器相结合的工地安全检测系统及方法 |
CN117992803A (zh) * | 2024-04-03 | 2024-05-07 | 江西千策信息工程有限公司 | 一种基于钢结构健康的多尺度结合监测方法及系统 |
CN117992803B (zh) * | 2024-04-03 | 2024-06-11 | 江西千策信息工程有限公司 | 一种基于钢结构健康的多尺度结合监测方法及系统 |
-
2023
- 2023-11-21 CN CN202311562432.7A patent/CN117557534A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975372A (zh) * | 2024-03-29 | 2024-05-03 | 山东浪潮科学研究院有限公司 | 一种基于YOLOv8和Transformer编码器相结合的工地安全检测系统及方法 |
CN117992803A (zh) * | 2024-04-03 | 2024-05-07 | 江西千策信息工程有限公司 | 一种基于钢结构健康的多尺度结合监测方法及系统 |
CN117992803B (zh) * | 2024-04-03 | 2024-06-11 | 江西千策信息工程有限公司 | 一种基于钢结构健康的多尺度结合监测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Using popular object detection methods for real time forest fire detection | |
Li et al. | Building-a-nets: Robust building extraction from high-resolution remote sensing images with adversarial networks | |
CN110532920B (zh) | 基于FaceNet方法的小数量数据集人脸识别方法 | |
CN110096933A (zh) | 目标检测的方法、装置及系统 | |
CN112784736B (zh) | 一种多模态特征融合的人物交互行为识别方法 | |
CN108416266A (zh) | 一种利用光流提取运动目标的视频行为快速识别方法 | |
CN105678278A (zh) | 一种基于单隐层神经网络的场景识别方法 | |
CN108764244B (zh) | 基于卷积神经网络和条件随机场的潜在目标区域检测方法 | |
CN114092697B (zh) | 注意力融合全局和局部深度特征的建筑立面语义分割方法 | |
CN112966659B (zh) | 一种基于深度学习的视频图像小目标检测方法 | |
CN113326735B (zh) | 一种基于YOLOv5的多模态小目标检测方法 | |
CN117557534A (zh) | 基于模型自优化的x射线焊缝缺陷智能评测方法 | |
CN114463759A (zh) | 一种基于无锚框算法的轻量化文字检测方法及装置 | |
CN109919059A (zh) | 基于深度网络层次化与多任务训练的显著性物体检测方法 | |
Cao et al. | Real-time gesture recognition based on feature recalibration network with multi-scale information | |
Xu et al. | BANet: A balanced atrous net improved from SSD for autonomous driving in smart transportation | |
Peng et al. | RSBNet: One-shot neural architecture search for a backbone network in remote sensing image recognition | |
Devisurya et al. | Early detection of major diseases in turmeric plant using improved deep learning algorithm | |
CN117635418A (zh) | 生成对抗网络的训练方法、双向图像风格转换方法和装置 | |
CN117423134A (zh) | 一种人体目标检测和解析的多任务协同网络及其训练方法 | |
Heinrich et al. | Is bigger always better? Lessons learnt from the evolution of deep learning architectures for image classification | |
CN117079098A (zh) | 一种基于位置编码的空间小目标检测方法 | |
Ke et al. | SRN: Side-output residual network for object reflection symmetry detection and beyond | |
CN117115911A (zh) | 一种基于注意力机制的超图学习动作识别系统 | |
Chiu et al. | Real-time monocular depth estimation with extremely light-weight neural network |
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 |