王超 刘乐祥 肖拾花 满月娥 陈勇 丁梓康
DOI:10.16660/j.cnki.1674-098x.2104-5640-7499
摘 要:本文针对航空发动机鼓风机机匣表面缺陷,设计了一种新型深度卷积神经网络及优化算法缺陷检测。新型深度卷积神经网络(convolution neural network, CNN)由三部分组成:骨干卷积神经网络生成不同尺度的特征图;多尺度特征融合网络(multilevel-feature fusion network, MFN)将多个尺度特征进行融合,以便包含更多的定位细节;区域建议网络(region proposal network, RPN)生成感兴趣区域,每个感兴趣区域由一个分类器和一个锚框回归器组成的检测器产生最终的检测结果。然后分析了鼓风机机匣表面缺陷的特点,设计了新的检测损失函数。最后利用公司采集的包含两种典型缺陷(划痕和污秽)的数据集,利用单张GTX 1080ti显卡对网络进行训练和测试,测试结果表明两种典型缺陷检测平均可达到68.9%mAP、87.6%的精准率和35FPS的检测速度。
关键词:航空发动机 鼓风机机匣 缺陷检测 深度学习 特征融合 损失函数
中图分类号:V263.6 文献标识码:A文章编号:1674-098X(2021)05(a)-0001-07
Surface Defect Detection of Aero Engine Blower Casing
WANG Chao1 LIU Lexiang2 XIAO Shihua1 MAN Yue'e1 CHEN Yong2 DING Zikang2*
(1.AECC South Industry Co., Ltd., Zhuzhou, Hunan Province, 412002 China;
2.Hunan Qinhai Digital Co., Ltd.,Changsha, Hunan Province, 410000 China)
Abstract: A new deep convolutional neural network and its optimization algorithm are designed to detect the surface defects of the aero-engine blower casing. A new deep convolutional neural network consists of three parts: the backbone convolution neural network generates feature graphs of different scales; Multi-scale feature fusion network (MFN) fuses multiple scale features to include more localization details. Region Proposal Network (RPN) generates regions of interest (ROI), and each ROI is composed of a detector including a classifier and an anchor box regression to generate the final detection results. Then, the characteristics of the surface defected of the blower casing are analyzed, and a new detection loss function is designed. Finally, the data set collected by the company is used to train and test the network on a single GTX 1080TI graphics card, the deep learning model can detect the two typical surface defects (scratches and filth) of the blower casing with an average of 68.9% mAP, 87.6% Precision and 35 FPS detection speed.
Key Words: Aero-engine; Blower casing; Defect detection; Deep learning; Feature fusions; Loss function
航空发动机可以体现一个国家航空领域的技术水平,而鼓风机作为航空发动机的重要组成部分,机匣是整个鼓风机的基座,起到连接、包容和承力作用。机匣在生产、安装或使用的过程中会受到多种因素影响导致机匣表面缺陷的发生,最典型的如划伤、污秽等,这不仅会影响航空发动机外观,而且会降低其使用寿命,严重的甚至会影响发动机外场的正常使用。目前,在航空发动机生产或维修过程中,类似的航空发动机外观表面缺陷往往依靠人工目测方法进行检查,不仅检查手段粗放,而且评判标准难以统一,既降低了生产效率,还可能影响产品出厂合格率,亟需一种能够自动、快速、准确地检测出航空发动机外观缺陷的方法。现有的航空发动机鼓风机机匣的材料主要有复合材料、合金以及高强度不锈钢,本文以高强度不锈钢材质的航空发动机鼓风机机匣为研究对象,对采用了计算机视觉和深度学习对鼓风机机匣表面缺陷檢测进行阐释。
1 目标检测算法
目前,利用计算机视觉检测航空发动机内部零部件缺陷的研究取得了一定的研究成果,漆晨光[1]对航空发动机叶片截面点云灰度图像进行分割,再由缺陷点云数据中的每个点云数据坐标值,定位缺陷位置,最后依据非缺陷点云数据拟合平面,由缺陷点到该平面的距离,确定该叶片截面中缺陷的厚度;李龙浦[2]提出结合八链码与伪边缘去除等方法扫描出受损叶片的轮廓曲线,再用Hermite二阶插值方法拟合轮廓曲线,最后通过改进的YOLOv3和Faster-RCNN对收集到的发动机叶片孔探图像进行损伤识别定位;陈为、梁晨红[3]提出应首先通过聚类算法修改原始算法的默认框尺寸,再对原图进行滤波处理后用SSD目标检测算法对航空发动机内部凸台的缺陷进行检测。但对于发动机装配使用过程中外观缺陷检测的研究很少。近年来,深度学习在目标检测领域取得了很大进展,基于深度学习的目标检测算法分为两类:两阶段检测和一阶段检测。
二阶段检测器的检测流程是先将一张图片输入到骨干网络提取特征,典型的骨干网络有VGGNet[4]、ResNet[5]等一些经典的卷积神经网络结构,然后通过RPN[6]产生候选区域并完成区域的分类,即将图片分为背景和目标这样两种的不同的类别,而且也会对目标的位置进行初步的预测;接下来对候选区域中的位置进行精确定位和修正,使用ROI池化层,可以将此层理解为“抠图”的操作,接着将抠图所得到的候选目标对应到特征图上相应的特征区域,然后经过一个全连接层,并得到相应的特征向量,最后通过分类和回归这样两个分支,来实现对这个候选目标类别的判定和目标位置的确定,该流程简单、有效,已经成为了二阶段检测器的基本框架。二阶段检测器的主要代表有R-CNN[7]、Faster-RCNN[6]。向宽[8]等人在Faster-RCNN的基础上,在主干网络中加入特征金字塔结构以加强对小缺陷的特征提取能力,用感兴趣区域校准算法替代粗糙的感兴趣区域池化算法,并使用K-means算法对缺陷数据聚类以获得更合适的锚框,实现了对铝材料表面缺陷的检测。
一阶段检测器直接将图片放入网络进行分类和回归,完全取消了候选区域建议,显著加快了检测过程,主要代表有SSD[9]、YOLO等[10]。张磊等人[11]提出基于图像融合与YOLOv3的铝材表面缺陷检测算法,借鉴SLAM中特征提取与匹配的思想对原始图像进行特征提取和匹配,得到特征融合后的图像,最后利用YOLOv3进行缺陷检测。一阶段检测虽然加快了检测速度,但对小目标检测具有局限性,精度也稍逊于二阶段检测。另外,深度学习需要大量的数据集来训练模型,以便全面学习待检测目标的多层特征,本文所研究的鼓风机机匣表面缺陷存在没有现成的数据集,公司采集的样本较少,使用复杂的神经网络结构反而会使网络过拟合,降低算法的精度的问题。
针对上述问题,本文设计了一个新型深度卷积神经网络及优化算法对航空发动机鼓风机机匣表面缺陷进行检测,对大目标检测和小目标检测均能达到较好的检测效果。该新型深度卷积神经网络由生成不同尺度特征图的骨干网络、多尺度特征融合网络及区域建议网络组成。同时,考虑航空发动机鼓风机机匣高强度不锈钢表面两种典型缺陷的特点,设计了新的检测损失函数,以调整网络对小缺陷的敏感性。实验结果表明,本文设计的新型深度学习模型能够实现鼓风机机匣表面缺陷的准确检测。
2 缺陷检测网络设计
常用的二阶段检测器的检测流程如图1所示。
本文基于二阶段检测器设计的新型深度卷积神经网络结构如图2所示。CNN对任意尺寸的单尺度图像进行卷积操作,生成多尺度的卷积特征图,提取多个特征映射;然后使用轻量级MFN将其聚合到相同的维度,进行特征融合;接着,使用RPN[6]在MFN特征上生成区域建议[感兴趣的区域(ROI)],通过ROI池化[7]和全局平均池化(GAP)层,将每个ROI对应的MFN特征转换为固定长度的特征,该特性被送入两个完全连接(Fully Connected,FC)层,输出检测结果。
2.1 骨干卷积网络
随着网絡深度的不断增加,往往会出现即使长时间训练,网络也会存在收敛困难的现象,而且网络的性能还有可能下降。针对这个问题,何凯明等人[5]提出了ResNet。ResNet让堆叠的层拟合残差映射而不是拟合期望的底层映射,这样设置的好处在于残差学习比底层学习更加容易。传统的卷积层和全连接层在信息传递时会有信息丢失的问题,而ResNet直接将输入信息绕道传送到输出,提高了信息的完整性,可以改善信息丢失的问题。除此之外,ResNet还有以下优点:使用GAP来处理最终的卷积特征图,而不是叠加的全连接层,可在一定程度上保留图像中更全面的缺陷位置信息;具有模块化的卷积网络结构更容易集成。图3展示了一个基本的残差块结构。图3中右侧曲线即为“跳远连接”,指的是跳过一层或者多层的连接,将信息送往神经网络的更深层,通过“跳远连接”的方式使得残差块可以训练到更深层次的神经网络。
在本文中,选择较深层的ResNet101作为基线网络,可以以一定量的参数达到最好的精度,具有较小过拟合概率。网络的详细结构如表1所示,残差块记为Net1、Net2、Net3、Net4。
2.2 多特征融合网络(MFN)
以前的优秀网络(如R-CNN)只利用高级特征来提取区域建议。为了获得高质量区域建议,应该将单层特征扩展到多层特征,最简单的方法是从多层特征中组装特征图,随之产生的问题是哪些层应该合并。应遵从特征合并有两个基本条件:一是不相邻,因为相邻层有高度的局部相关性[12];二是覆盖,包括从低到高的特征。对ResNet来说最直观的方法是合并每个残差块的最后一层。
为了融合不同层次的特征,本文提出在预先训练的模型上应附加了所提出的网络MFN。MFN有4个分支,分别为Net1、Net2、Net3、Net4,每个分支都是一个小网络。B1、B2、B3和B4依次连接到Net1、Net2、Net3和Net4的最后一层。当一幅图像通过骨干网络时,Neti(i= 1,…,4)特征是有序产生的。Neti特征表示残差块Neti的最后一层输出的特征映射。同样,Bi(i=1,…,4)特征是分支Bi最后一层生成的特征图。然后,每个Neti特征被引导到MFN中相应的分支产生Bi特征。最后,将来自CNN不同阶段的B1、B2、B3和B4特征连接起来,得到多层特征。
本文设计的MFN算法计算效率高,泛化能力强,且可以通过修改1×1卷积核的数量来减少所需参数,在训练数据不足的情况下可防止过拟合。
2.3 提取区域建议
本文利用RPN将任意大小的图像作为输入和输出的锚框,每个锚框都带有一个分数,表示它是否是一个缺陷。RPN的创新在于“锚”设计,它使锚框具有多种尺度和宽高比,然后锚框分层映射到输入图像,产生多个尺度和高宽比的区域建议。考虑到缺陷的多种尺寸,本文设置3个长宽比为1∶1、1∶2、2∶1,4个尺度为642、1282、2562、5122,故RPN在每个滑动位置产生12个锚框。
区域建议网络总是以ROI池化层结束。本文采用max-pooling操作将每个ROI转换成一个有固定宽高(7×7)的特征向量。最后,基于这些小立方体,计算每个区域建议与邻近真实锚框(groundtruth)的偏差及是否存在缺陷的概率。
对于一张图片,RPN可以提取数千个区域建议。为了处理冗余信息,本文采用贪婪的非极大值抑制(Non-Maximum Suppression,NMS)来消除高重叠区域建议,并将NMS的交并比(intersection over union,IOU)阈值设置为0.7,这样可抛弃大部分区域建议。非极大值抑制的方法如下。先假设有6个矩形框,根据分类器的类别分类概率做排序,假设从小到大的概率分别为A、B、C、D、E、F。从最大概率矩形框F开始,分别判断A至E与F的IOU值是否大于设定的IOU阈值;假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个保留的矩形框F;从剩下的矩形框A、C、E中,選择概率最大的E,然后判断E与A、C的IOU值是否大于一定的阈值,如果都大于就扔掉;并标记E为第二个保留的矩形框。就这样一直重复,找到所有被保留下来的矩形框。图4展示了使用NMS前后的检测结果图像。
执行NMS之后,从剩余的区域建议中提取排名前k的区域建议,然后使用top-K(本文k=300)区域建议对设计的网络进行微调,减少k值可加快检测速度但可能会影响测试的准确性。
3 网络训练
3.1 损失函数
为了提高正样本的重要性并及弱化背景的影响,设计了一种基于Focal loss的置信度损失函数:
式中,代表网格的个数,B是每个网格产生的候选框数目,表示第i个网格的第j个候选框是否保留,将该候选框与对象真实框做IOU计算,然后与第i个网格中的其他候选框和真实框的IOU值比较,如果该IOU值最大,则保留该候选框,此时,否则舍弃该候选框,,表示第i个网格的第j个预测框属于类别c的概率,表示第i个网格中第j个真实框所属类别的真实值,如果属于第c类,则其大小等于1,否则为0。r是Focal loss中的集中参数,在此选择r=2。
网络的总损失函数表示为:
(2)
式中,、、分别为定位损失函数和分类损失函数以及置信度损失函数的权重系数。其中定位损失函数为:
式中,是标记框宽高以及中心点坐标,则是预测框的相对网格中心点的宽高和坐标。
分类损失函数为:
式中,表示参数置信度,表示第i个网格的第j个预测框是否保留,将该预测框与对象真实框做IOU计算,然后与第i个网格中的其他预测框和真实框的IOU值比较,如果该IOU值最大,则保留该预测框,此时,否则舍弃该预测框,。为第i个网格中第j个预测框内含有目标物体的概率。
3.2 模型训练算法
对于预先训练的骨干网络,MFN和RPN是新的层。因此,需要通过训练让骨干网络、MFN及RPN共享卷积特征。预先训练好的骨干网络本质上是一个分类网络,MFN生成的多层特征可以直接反馈到分类层。因此,可以将预先训练好的网络与MFN合并成一个网络,然后进行端到端训练。如果没有RPN, 设计网络的其余部分就是一个端对端的检测器网络。为了与RPN共享特征,采用了文献[6]中的四步交替训练策略,即训练RPN和训练该检测器网络交替进行。结合上面的训练策略,本文开发了一个可行的五步联合训练算法,如图5所示。
4 实验与分析
4.1 实验环境以及数据集
本文实验的硬件平台为联想工作站,RAM62.8GB,CPU为i7-6700,显卡为NVIDIA Geforce GTX 1080Ti,操作系统为Ubuntu 16.04 LTS,深度学习框架为Pytorch。
本文使用的鼓风机机匣表面缺陷图像是由公司采集得到,尺寸大小为200×200,共有缺陷数据175张,其中包含100张划痕缺陷和75张夹杂缺陷。
4.2 数据增扩与训练
深度神经网络的训练需要大量的数据,本文数据样本较少,为解决数据不足的问题采用数据增强方法,数据增强不改变目标的基本特征,如纹理特征、形状特征和空间关系特征,因此不会影响检测结果。
本文使用旋转、平移、随机去点、亮度调整这4种方式对原始图像样本进行数据增强,由原始175张增扩到4900张样本。选择使用的库函数是专门用于数据增强的python库imgaug,图像的旋转平移变换只是改变了图像的空间位置,不改变图像的特征分布;随机去点相当于对原图添加噪声,可以提升算法的抗干扰能力;亮度调整可以提升算法对光照不均匀的鲁棒性。图6是一张样本图像进行数据增强后的图像展示。
对增强后的数据集进行标注并保存为xml文件格式,并将数据集以9∶1的比例分为训练集和测试集,训练选择的输入图像尺寸416×416;优化器使用Adam,初始学习率的设定为0.01,学习率会随着训练过程自动衰减。图7为从原始样本集中取出的4张样本图。
4.3 实验结果分析
训练过程中Batch size设定为64,通过2800次训练得到了性能最优的检测模型,图8为检测结果展示图。对于图8(a)这类典型的划痕,检测的置信度极高且能完整的框住缺陷,而对于图8(b)中的倾斜划痕,检测的置信度较低且边框不能完全框住缺陷,图8(c)中对于在边界上露出一部分的污秽缺陷,检测的效果也比较优秀,图8(d)中所包含的不规则污秽也能完全识别出来,可以看出检测模型的泛化能力较好,尽管具体的面积提取有一定的误差,但是对检测机匣表面的缺陷依然十分有效。
表2展示了对实验结果进行分析得到的检测算法性能指标。本文使用的性能评价指标是深度学习中常用的精准率Precision、召回率Recall、mAP和F1。这些指标的定义如下:
(5)
(6)
(7)
式中,TP、FN、FP分别表示真阳性(ture positive)、假阴性(false negtive)和假阳性(false positive)样本。
5 结语
本文设计了一种新型深度卷积神经网络进行鼓风机机匣表面缺陷检测。该卷积神经网络由三部分组成:骨干网络、多尺度特征融合网络、区域建议网络,并设计了新的损失函数采用5步训练算法进行训练。用训练得到的最优模型对鼓风机机匣的两种典型表面缺陷(划痕和污秽)进行检测,平均检测精准率为87.6%,检测速度为35FPS,mAP可达到68.9%。本文为航空发动机鼓风机机匣表面缺陷检测提供了一种新的检测方法,在接下来的研究中,将重点进行以下两个方向的研究:(1)数据增强技术;(2)提高缺陷信息的精準度。
参考文献
[1] 漆晨光.航空发动机叶片点云数据缺陷检测方法研究[D].兰州:兰州理工大学,2017.
[2] 李龙浦.基于孔探数据的航空发动机叶片损伤识别研究[D].天津:中国民航大学,2020.
[3] 陈为,梁晨红,基于SSD算法的航空发动机内部凸台缺陷检测[J].电子测量技术,2020,43(9):29-34.
[4] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].2014:arXiv:1409.1556[cs.CV].https://arxiv.org/abs/14091556(VGG).
[5] He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual learning for image recognition[C].Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE,2016:770-77.
[6] S. Ren,K.He,R.B.Girshick,et al.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015,39(6):1137-1149.
[7] Girshick R,Donahue J,Darrel T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C].Proc of the IEEE conference on computer vision and pattern recognition,2014:580-587.
[8] 向宽,李松松,栾明慧,等.基于改进Faster RCNN的铝材表面缺陷检测方法[J].仪器仪表学报,2021,42(1):191-198.
[9] Liu W,Anguelov D,Erhan D,et al.Ssd:Single shot multibox detector[C].Proc of European conference on computer vision.2016:21-37.
[10] J. Redmon,S. Divvala,R. B. Girshick,et al. Farhadi.You Only Look Once: Unified, Real-Time Object Detection[C].Proc of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, Jun,2016:779-788.
[11] 张磊,郎贤礼,王乐.基于图像融合与YOLOv3的铝型材表面缺陷检测[J].计算机与现代化,2020(11):8-15.
[12] Y. LeCun,L. Bottou,Y. Bengio,et al. Gradient-based learning applied to document recognition[C].Proc of IEEE,1998,86(11):2278–2324.