APP下载

基于改进Mask‐RCNN 的飞行器结构裂纹自动检测方法∗

2021-06-26吕帅帅王彬文裴连杰

振动、测试与诊断 2021年3期
关键词:铆钉裂纹图像

吕帅帅,杨 宇,王彬文,裴连杰

(中国飞机强度研究所 西安,710065)

引言

金属裂纹是航空结构的常见损伤形式,在航空结构疲劳试验过程中及时发现并预警损伤,能够暴露航空结构设计的薄弱环节,支撑结构强度和完整性评估,同时也为航空结构维修手册编写提供依据[1‐4]。目前,在飞机全尺寸疲劳试验中裂纹的检测手段主要包括目视检查、涡流和超声等[5‐7],上述方法均对专家经验具有较强的依赖性,并且由于试验环境复杂、试验加载过程中检测风险大和有限空间操作困难等问题,裂纹检测存在人工成本高、耗时长及检测可靠性偏低等问题。因此,实现航空结构裂纹自动化、智能化的高可靠性检测是飞机全尺寸疲劳试验亟需解决的问题。

随着机器人技术和人工智能技术的深入发展及其在民用领域的应用,机器视觉为飞机疲劳试验中的裂纹自动化检测提供了一条新的解决途径。通过高精度运动系统(如爬行机器人、机械臂)和工业摄像头获取监测部位的高清图像,再应用目标检测算法进行裂纹自动识别并执行损伤预警,可以大幅度降低人工在成本、实时性和危险性等方面的不利影响。由于飞机疲劳试验环境的复杂性(如结构构型多样、结构不规则振动及裂纹图像背景复杂等),要实现高准确率的裂纹损伤识别,给智能目标检测算法提出了较高的要求[8‐10]。

国内外学者开展了一系列基于深度学习的裂纹检测算法研究。Li 等[11]以桥梁混凝土结构为研究对象,利用真实图像进行裂缝识别,基于深度学习经典网络残差网络(residual network,简称ResNet),结合图像二值化处理方法,设计了一种简单、高分类的图像后期处理模型,在考虑阴影、斑点、质量和孔洞的情况下,可有效识别混凝土裂缝,并基于该模型开发了混凝土裂缝识别软件。Deng 等[12]使用单级目标检测算法(you only look once 2,简称YOLO2)进行了裂缝识别,模型的训练图像包括3 000 张真实的混凝土裂缝图片,试验结果表明,该模型能够成功区分真实裂缝和手写体直线、数字。此外,对YOLO2和更快的区域卷积神经网络(faster region‐based convolutional neural networks,简 称Faster RCNN)的裂缝检测效果进行了比较,结果表明,YOLO2 在速度和准确度方面均优于后者。Du 等[13]等同样使用YOLO 算法进行了路面破损的检测和分类,建立了包含45 788 张图片地面损伤数据集,基于YOLO算法建立了道路遇险位置和类别预测模型,综合精度达到73.64%,并对模型在不同光照条件下的适用性进行了探讨,研究结果表明,光照条件会对模型的检测准确率产生明显影响。Wang 等[14]开发了基于单目多盒探测器(single shot multibox detector,简称SSD)算法的金属疲劳裂纹起始点检测模型,其使用工业显微镜将裂纹扩大200 倍后,使用有限的裂纹图片训练出裂尖识别能力较好的深度学习模型,但是发现图像质量差、特征不清晰、训练数据不足等问题会严重影响模型检测准确性。

以上研究表明,相较于人工目视检测,基于深度学习的目标检测算法在裂纹识别方面具有较大的优势,但是目前的研究多集中于裂纹尺寸较大的混凝土结构,其识别难度较小;而裂纹检测方法对图像采集的设备及环境具有非常高的要求,更适合于良好的实验室环境,无法应用于大型结构的强度试验中。此外,以上研究均提出图像质量是影响目标检测结果的一个重要因素,但是并未在裂纹识别方法中针对该问题采取改善措施。因此,笔者结合强度试验的实际应用场景,提出一种可进行在线检测的裂纹识别算法,主要创新点体现为:①为降低强度试验中结构振动导致的图像模糊、亮度变化大和亮度分布不均等问题对目标识别准确率的影响,选取Mask‐RCNN[15]取代常用的目标检测算法[11‐14];②为避免划痕、污损等与裂纹相似度高的结构对检测准确率的影响,降低模型的误判报警率,提出了先识别铆钉、孔等存在应力集中的关键结构,再在关键结构附近检测裂纹的基本策略,并对Mask‐RCNN 算法进行了相应的改进。

1 面向飞机结构疲劳试验的裂纹检测方法

1.1 检测策略

在飞行器结构疲劳试验中,金属结构表面存在较多的纹理、打磨痕迹和划痕,若不对这些干扰因素进行预处理,裂纹识别将存在较高的误判率。如图1 所示,铆钉1 旁的裂纹和铆钉1,2 间的划痕相似度极高。

图1 飞机结构中的裂纹与划痕对比Fig.1 Comparison of cracks and scratches in aircraft structures

航空结构的裂纹通常产生于应力集中区域,例如铆钉孔、耳片孔和倒角等部位,因此提出基于关键结构定位的裂纹分级识别策略,即在监测区域内,先定位存在应力集中的关键结构,再在关键结构附近检测裂纹。该策略不仅能够有效减少干扰因素的数量,降低误判报警的次数,且适用于大部分飞行器结构。例如,铆钉、孔等语义特征明显的应力集中区域可直接作为该策略的一级检测对象,其他特征不明显的区域则可通过添加标识点的方法实现分级检测。笔者以铆钉孔边裂纹为例,开展分级检测模型设计。

在该策略中,高准确率的关键结构定位有助于裂纹的精确识别。目前常用的目标检测算法[11‐14]对图片亮度、清晰度等都有较高的要求,但是实际检测过程中,通常无法保障对关键结构的高质量拍摄。因此,裂纹分级识别策略的难点在于选取对图片质量要求相对较低的目标检测算法,以及针对检测策略进行相应的算法改进。

1.2 基于Mask‐RCNN 的目标检测模型

Mask‐RCNN 是一种基于深度学习的目标分割算法,兼具目标检测功能,具有架构灵活的特点。与目前广泛应用 的YOLO,SSD 和Faster‐RCNN 相比,Mask‐RCNN 虽然检测速度慢,但具有更高的准确率,更加符合强度试验的需求。

1.2.1 Mask‐RCNN 的基本架构

Mask‐RCNN 的基本架构如图2 所示,主要分为基础网络、区域选取(region proposal network,简称RPN)网络、分类网络和掩码网络等部分。其中:基础网络(黑色虚线框)由残差网络去除全连接层后形成,主要作用是提取检测图片的特征图;RPN 网络(红色虚线框)负责在按既定规则生成的预选框内,通过训练好的参数,为分类网络提供图像中的感兴趣区域(region of interesting,简称ROI),即在检测图像中的哪个区域会存在裂纹、铆钉等检测对象;分类网络(蓝色虚线框)的作用是判定ROI 内目标的类型,同时对ROI 的位置进行精细调整,使其更加贴近图像中的物体;掩码网络(棕色虚线框)的作用是根据分类网络输出的ROI 的位置和分类结果,对图像中每个像素进行分类,决定每一个像素属于铆钉、裂纹或者背景等。

图2 Mask‐RCNN 的基本架构Fig.2 The basic architecture of Mask‐RCNN

针对一个基于Mask‐RCNN 的铆钉和裂纹检测模型,输入图3(a)中的待检图片,RPN 网络按预定规则生成的部分预选框如图3(b)所示,RPN 网络对预选框进行筛选、位置调整后的最终输出结果(即ROI)如图3(c)所示。从ROI 的分布可以看出,模型认为图片中的位置1,2 可能存在检测目标。RPN 网络对预选框的位置调整示例如图3(d)所示,其中虚线、实线分为别调整前、后的预测框。分类网络对RPN 网络输出的ROI 进行分类、筛选和精细位置调整的结果如图3(e)所示,由图可知,位置1 内的目标被分类为铆钉,而位置2 最终被诊断为背景,这是由于位置2 内的划痕与裂纹的特征相似度较高,因而能够进入第1 层筛选成为ROI,却最终由于不符合裂纹的细节特征而被模型舍弃。掩码网络输出的铆钉分割结果如图3(f)所示。

图3 Mask-RCNN 的目标检测过程示例Fig.3 An example of target detection procedure for Mask-RCNN

1.2.2 Mask‐RCNN 的损失函数与图像标注

基于Mask‐RCNN 的裂纹检测模型的设计分为数据预处理、模型训练和模型预测3 个阶段。数据预处理是使用图像标注软件,在训练图片中人为标识出检测对象的真实类别、真实框位置和真实掩码信息,图像标注如图4 所示。训练阶段是通过对已标注图片的学习,优化深度学习网络的参数,使其能够拟合检测目标的特征分布。预测阶段则是使用训练好的模型对待检测图片进行识别,输出图片中是否存在检测目标及其在图片中的位置。训练过程中的优化函数即为深度学习模型的损失函数,Mask‐RCNN 的损失函数为

图4 Mask-RCNN 与其他算法的标注方法对比Fig.4 Contrast the annotation methods of mask-RCNN with other algorithms

其中:Lcls_rpn为RPN 层中模型对预测框中是否存在检测目标的预测误差;Lreg_rpn为RPN 层中预测框与真实框(目标真实位置)的位置误差;Lcls_frcnn为分类网络对ROI 中目标类别(是铆钉、裂纹还是背景)的预测误差;Lreg_frcnn为分类网络的预测框与真实框的位置误差。Lmask为掩码网络的误差函数,体现了Mask‐RCNN 与一般目标检测算法的差异,其具体表示为

其中:m为ROI 经过尺寸匹配层处理后的图像长度和宽度;k为检测目标的种类编号;K为模型检测的目标总数;为第k个检测目标的真实掩码图像中第i个像素的值,若该像素属于第k类检测目标,其值为1,否则为0;pki为第k个检测目标的预测掩码图像中第i个像素的值,若模型认为该像素属于第k类检测目标,其值为1,否则为0。

由式(1)~(2)可知,Mask‐RCNN 将检测图像的像素信息引入了损失函数,在训练过程中将检测结果与图像标注逐像素对比,完成对检测目标语义特征的针对性学习,这是Mask‐RCNN 的检测精度优于一般目标检测算法的根本原因。

1.2.3 面向裂纹检测的Mask‐RCNN 改进

在原Mask‐RCNN 中,当检测对象为多个目标时,模型对其进行同步检测,各目标的检测结果相互独立。而针对结构疲劳试验中的裂纹检测,默认检测对象“裂纹”一定位于“铆钉”附近,即RPN 网络在为分类网络和掩码网络推荐“裂纹”的ROI 时,需以“铆钉”的检测结果为依据。

针对模型改进,笔者提出一种基于位置反馈机制的模型架构。改进后的模型架构如图5 所示,主要分为两部分:①共享网络,包括基础网络及RPN中非极大值抑制(non‐maximum suppression,简称NMS)模块前的网络;②定制化网络,包括RPN 的NMS 模块、分类网络和掩码网络。

图5 裂纹检测模型的整体架构Fig.5 The overall structure of crack detection model

待检测图片进入模型后,先在共享网络中完成特征图提取、预选框有无检测目标的分类等程序,然后进入铆钉的定制化网络进行铆钉检测,并将铆钉位置反馈至裂纹定制化网络的起点,开始裂纹检测。按照本研究策略,铆钉和裂纹必须分批次检测,而“基础网络共享、分类网络定制”的架构不仅符合分批次检测的要求,还保证了模型较高的精测精度和较快的检测速度。

除架构外,该模型在原RPN 网络中增加了一种针对裂纹的ROI 筛选方法(professional NMS,简称PNMS),使裂纹ROI 始终位于铆钉附近。NMS 是一种ROI 筛选方法,具体流程为:首先,以网络输入到NMS 中的所有预选框的坐标和框内存在检测对象的概率(即置信度,由NMS的前端网络自动计算、输出,取值范围为[0,1])为输入,选出置信度最大的预选框anchor_max,并计算anchor_max与其他所有预选框的交并比;其次,将与anchor_max交并比大于阈值(本研究为0.5)的预选框删除,然后固定anchor_max为第1个ROI;最后,在未被删除和固定的预选框中重复以上操作,直至所有预选框被删除或固定。

笔者提出的PNMS 在NMS 中增加了铆钉坐标信息对ROI 筛选的限制,具体步骤为:①设定L=,其中:W,H为铆钉预测框的长和宽;②规定铆钉预测框内区域为R1,以铆钉预测框的中心为圆心、L为半径的圆内区域为R3,R2=R3-R1;③针对网络输入到PNMS 中的所有N个预选框anchori(i=1,2,···,N),若anchori与R2的交并比等于0,则删除该预选框;若anchori与R1的交并大于0,则将该预选框的置信度加a(a为超参数,本研究中为0.15);④针对执行完步骤1~3 后未被删除的预选框,按照新的置信度执行原NMS。

图6 所示的铆钉,黑色框内为R1,蓝色框内、黑色框外为R2。若按原NMS 方法,预选框anchor1(裂纹)和anchor2(划痕)均会被筛选为ROI,进而被诊断为裂纹;而按照PNMS,anchor2在ROI 筛选阶段会被删除。

图6 PNMS 筛 选ROI 示 例Fig.6 Examples of PNMS filters ROI

2 试验测试与结果分析

2.1 试验测试

本研究的检测对象为铆接7050 系列铝合金板试验件,厚度为2 mm,共6 件,其结构如图7(a)所示。在试验件中随机选择2 颗铆钉,在其孔边预制长度为2 mm 的裂纹。将试验件两端对称加持于疲劳试验机,并施加正弦载荷直至裂纹萌生、扩展及试验件断裂,如图7(b)所示。试验过程中使用工业显微镜记录裂纹扩展过程。

图7 图像采集示意图Fig.7 Schematic diagram of image acquisition

此外,为丰富样本形式,提高模型对图像质量的适应性,在图像采集过程中不断地人为调节图像视场大小、拍摄角度和光照强度,其中视场调节范围为10 mm×18 mm~40 mm×72 mm,角度调整范围为-10°~10°(规定与试验件垂直的拍摄角度为0°),光照强度则是在可看清铆钉和裂纹的前提下随机调节。通过6 个试验件的疲劳试验共采集45 张带裂纹、40 张无裂纹的铆钉和预制裂纹图片。

模型的检测对象包括铆钉、预制裂纹和裂纹。按照图5 的模型架构,笔者使用Mask‐RCNN 训练了2 个模型,模型1 用于检测铆钉和预制裂纹,模型2 用于检测裂纹。

从45 张带裂纹图片和40 张铆钉图片中分别随机选取35 张和30 张作为训练数据集,其余作为测试集。使用LabelMe 软件对图片进行标注。模型的训练流程为:①使用ImageNet 数据集的训练参数作为基础网络(VGG16)的初始参数,首先以铆钉、预制裂纹和裂纹为检测目标,使用训练集的65 张图片训练Mask‐RCNN 至模型收敛,并将其记为模型3;②固定模型3 中基础网络和RPN 网络的参数,以铆钉和预制裂纹为检测目标,重新训练模型至收敛,得到模型1;③再以裂纹为检测目标,重复步骤2,得到模型2。为提高裂纹的检测精度,模型2 的训练数据除了原训练集中的35 张裂纹图片外,还包含50 张不带铆钉的裂纹图片,该50 张图片来自于其他元件级疲劳试验中的8 个试验件。

训练过程中设置模型每学习一张图片更新一次网络参数,所有图片训练完毕为一个循环,模型3、模 型1 和模型2 分别经过106,25 和32 个循环后收敛。

2.2 结果分析

2.2.1 铆钉检测结果

为说明Mask‐RCNN 在目标检测精度上的优势,使用相同的数据集,分别训练了基于Faster‐RCNN[16‐17]和Mask‐RCNN 的铆钉和预制裂纹检测模型,其中基于Mask‐RCNN 的检测模型即为模型1。针对20 张测试图片中的22 个铆钉,两个模型的检测结果对比如表1 所示。其中“未检出”和“误判”分别指图片中有铆钉而未识别出来和铆钉检测个数多于实际个数的情况,准确率P为铆钉的正确检出个数与实际个数、误判个数之和的比值。

表1 Mask‐RCNN和Faster‐RCNN的铆钉检测结果对比Tab.1 Comparison of rivet detection results be‐tween Mask‐RCNN and Faster-RCNN

通过对检测结果的分析可知,在考虑图像虚化、目标变形等因素时,Mask‐RCNN 的检测结果具有更高的可靠性。图8 为测试集中部分图片的检测结果,图中虚线粗框是人为标注的说明框,实线细框是算法自动输出的检测结果。图8(b,e)分别为铆钉虚化和边缘变形导致的Faster‐RCNN 的未检出或检测区域不完整的情况;图8(h)为铆钉内部变形导致的Faster‐RCNN 的误判情况(将1 颗铆钉误认为是2 颗)。针对以上3 张图片,Mask‐RCNN 不仅检测正确,且准确地分割了铆钉的边界,如图8(c,f,i)所示。

图8 Faster-RCNN 与Mask‐RCNN 的检测结果对比Fig.8 Comparison of detection results between CASTER-RCNN and Mask‐RCNN

2.2.2 裂纹检测结果

为说明笔者提出的预测模型可有效提高裂纹的检测准确率,分别使用模型3 和所提模型对20 张测试图片进行检测,检测结果如表2 所示。

表2 改进Mask‐RCNN和Mask‐RCNN裂纹检测结果对比Tab.2 The comparison of crack detection results between Mask ‐ RCNN and the improved Mask‐RCNN

鉴于Mask‐RCNN 的高检测准确率,两种方法均能正确识别图片中的14 条裂纹,其区别主要体现于误判次数,即将划痕识别为裂纹的次数。以上两种方法的误判次数分别为12 次和2 次,准确率分别为53.8%和87.5%。针对测试集中一张有铆钉、预制裂纹和裂纹的图片,两模型的检测结果分别如图9(a,b)所示,可以看出在图9(b)中,划痕被准确地排除,降低了裂纹误判率。

图9 Mask-RCNN 与本研究提出模型的裂纹检测结果对比Fig.9 Contrast between the crack detection results of Mask-RCNN and the model presented in this pa‐per

图10 所示为测试集中本研究提出模型的裂纹误判情况,经分析认为造成该误判的原因是划痕1与铆钉1 的距离较近,位于铆钉1 的R1范围内,算法按距离进行裂纹筛选时未能将其剔除。这说明笔者提出的方法虽然能剔除大部分划痕干扰因素,对算法的工程适用性具有实际意义,但无法从根本上区分裂纹和划痕,因此开展裂纹和划痕的特征区分模型设计是后续研究方向。

图10 本研究模型的裂纹误判情况示例Fig.10 An example of crack misjudgment of the model pre‐sented in this paper

3 结论

1)为解决划痕、污损等导致的裂纹检测误判率高的问题,提出基于关键结构定位的裂纹识别策略。为实现该策略,设计了基于改进Mask‐RCNN 的裂纹检测模型,有效提高了裂纹检测的准确率。

2)选取目标分割算法Mask‐RCNN 取代常用的目标检测试验结果表明,在考虑图像虚化、目标变形等问题时,Mask‐RCNN 的检测准确率具有明显优势。

3)本研究提出的裂纹自动检测算法误判率低,主要是因为高准确率的基础目标检测算法、面向实际问题的模型架构以及NMS 方法改进。

4)所提出的方法只能剔除大部分划痕干扰因素,进一步的改进方向是进行裂纹和划痕的特征区分模型设计。

猜你喜欢

铆钉裂纹图像
基于扩展有限元的疲劳裂纹扩展分析
改进的LapSRN遥感图像超分辨重建
黑色铆钉
一种基于微带天线的金属表面裂纹的检测
油密铆钉冷镦过程优化改进
有趣的图像诗
Epidermal growth factor receptor rs17337023 polymorphism in hypertensive gestational diabetic women: A pilot study
心生裂纹
铆钉切割器的研究与设计
遥感图像几何纠正中GCP选取