Computer Science and Application
Vol. 11  No. 05 ( 2021 ), Article ID: 42227 , 8 pages
10.12677/CSA.2021.115127

基于ResNet的航空发动机制件表面缺陷 分类研究

闫雪1,张瑜2,李光耀2*,田春岐2

1中国航发上海商用航空发动机制造有限责任公司,上海

2同济大学电子与信息工程学院,上海

收稿日期:2021年4月10日;录用日期:2021年5月5日;发布日期:2021年5月12日

摘要

针对现有航空发动机制件缺陷分类所存在的检测效率低、适用范围有限等缺陷,提出了一种基于ResNet-18算法的缺陷分类方法。该算法使用深度残差网络提取缺陷特征,并通过修改网络结构适应于不同的缺陷种类。在实验过程中,首先对原始的钢带表面图像进行预处理,使用裁剪、旋转角度等方法扩增数据集。然后使用PyTorch深度学习框架搭建卷积神经网络模型,并将增强后的图片数据输入到模型中进行训练,实现对缺陷的分类。最后,使用东北大学钢带表面缺陷公共数据集进行训练与评估。本文算法在东北大学钢带表面缺陷公共训练集上的分类准确率为97.33%,在测试集上的准确率达到95.36%,为真实工业场景下缺陷的分类提供了可能。

关键词

缺陷分类,ResNet,钢材表面

Research on Surface Defects Classification of Aeroengine Parts Based on ResNet

Xue Yan1, Yu Zhang2, Guangyao Li2*, Chunqi Tian2

1China Shanghai Commercial Aircraft Engine Manufacturing Co. Ltd. (AECC CAEM), Shanghai

2College of Electronics and Information Engineering, Tongji University, Shanghai

Received: Apr. 10th, 2021; accepted: May 5th, 2021; published: May 12th, 2021

ABSTRACT

A defect classification method based on the ResNet-18 algorithm is proposed to address the defects of the existing defect classification for aero-engine parts with low detection efficiency and limited applicability. The algorithm uses a deep residual network to extract defect features and adapts to different defect types by modifying the network structure. In the experimental process, the original steel strip surface images are first preprocessed and the dataset is augmented using cropping and rotation angles. Then a convolutional neural network model was built using the PyTorch deep learning framework, and the enhanced image data were input into the model for training to achieve classification of defects. Finally, a public dataset of steel strip surface defects at Tohoku University is used for training and evaluation. The classification accuracy of the algorithm in this paper is 97.33% on the Northeastern University public training set of steel strip surface defects and 95.36% on the test set, which provides the possibility of classifying defects in real industrial scenarios.

Keywords:Defect Classification, ResNet, Steel Surface

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

航空发动机(aero-engine),是一种高度复杂和精密的热力机械,为航空器提供飞行所需动力的发动机。作为飞机的心脏,被誉为“工业之花”,它直接影响飞机的性能、可靠性及经济性,是一个国家科技、工业和国防实力的重要体现。而航空发动机的好坏,直接影响到飞机的性能和安全。但是航空发动机在制造过程中,难免由于工艺、技术、人为等因素的影响,导致零部件产生缺陷或者损伤。而不同类型的缺陷,后续的处理方法往往不同。因此,在零部件制造中对其发动机类零部件进行缺陷分类,将不同类型的缺陷类型区分开来,以保证零部件的高质量具有重要意义。

传统的缺陷分类方法分为人工检测和传统机器检测,人工检测效果易受检测人员的经验、疲劳程度等因素影响,且检测效率低。传统机器检测需要根据检测目标的特性设计相应的检测方案,研发周期长,且方案难以迁移,泛化能力较差。基于传感器的检测方法有基于超声波的检测,如基于超声波的混凝土缺陷检测,基于超声波的管道防腐层缺陷检测等。然而,基于传感器设备的缺陷分类方法,会受到光照、零件位置和传感器精度等因素的影响。

常见的缺陷分类方法有基于随机森林 [1],有基于支持向量机的 [2],有基于BP神经网络的 [3] [4],有基于粗糙集理论的 [5]。但这些方法的准确率和鲁棒性不佳。

当今已进入人工智能和大数据的时代,卷积神经网络和深度学习算法在图像分类领域取得了飞速的发展,为实现高准确性、高效率的零件表面分类提供了新的解决方案,许多学者提出了“深度学习 + 缺陷分类”方法,该方法已应用于制件表面缺陷的分类,取得了令人满意的结果。王孟嬉研究了图像分类中取得很好效果的卷积神经网络,并把它应用到冷轧薄板表面缺陷分类上,取得了比较好的效果 [6]。张君扬等人结合了深度学习和分段线性插值方法用于短切毡缺陷分类 [7]。针对不锈钢焊缝缺陷特征提取存在主观单一性和客观不充分性等问题,陈立潮等人提出一种融合迁移学习的AlexNet卷积神经网络模型,用于不锈钢焊缝缺陷的自动分类 [8]。史杨潇等人提出了一种新型的混合卷积(MixConv)轻量型网络用于钢铁表面缺陷分类。在模型参数、大小上都有所减少 [9]。然而,针对发动机零部件的缺陷分类研究相对较少。这也是本研究的意义所在。

在本次研究中,由于实际生产数据未脱敏,同时也为了更好地和其他模型进行比较,因此我们选取和实际制件数据较为接近的东北大学钢带表面缺陷公共数据集NEU-DET作为研究对象 [10],通过对原始的ResNet-18模型进行修改,将ResNet-18模型用于含有6种不同类型缺陷的分类任务上(如图3所示)。最终我们的模型在东北大学钢带表面缺陷数据集上分类准确率为97.33%。

2. 分类模型

自从LeNet被提出并成功应用于银行的手写数字体识别以后,许多神经网络的内容和结构都借鉴和参考了LeNet。在LeNet网络中,使用了卷积层、池化层、全连接层来实现对图片的特征提取,并用于图片的识别和分类。在ResNet-18结构中,也使用了这些模块和结构。

2.1. 模型组成

ResNet-18模型主要由卷积层、池化层、全连接层以及激活函数组成。

卷积层的主要作用是通过小的卷积核(3 × 3或5 × 5)对原始的图片进行卷积操作,从而提取出原始图片的一些特征和属性。卷积层的计算公式如下所示。

Z = W X + b (1)

其中, Z 是卷积层的输出。 W 是卷积核的参数。 X 是原始的图片像素值, b 是卷积核的偏置项。

池化层的主要作用是对卷积层的结果进行操作,按照操作的不同,分为最大池化和平均池化,最大池化是对一定区域(2 × 2)的内容,保留最大的那个数值。而平均池化是对一定区域(2 × 2)的内容,计算出平均数后,保留计算后的结果。池化层在减少参数量的同时,也保证了模型对于图片偏移、旋转后的识别鲁棒性。

全连接层的主要作用是将前面一层的输出维度,映射到所需要维度的数值上。全连接层一般放在卷积神经网络的最后,起到改变张量维度的作用。全连接层的计算公式如下所示。

Z = W X + b (2)

其中, Z 是全连接层的输出。 W 是全连接层中权重的参数,可以通过误差反向传播进行更新。 X 是全连接层的输入, b 是全连接层的偏置项。

激活函数最初是用来模拟神经元的激活过程,当神经元受到一定的刺激以后,若这个数值大于阈值,则能够激活神经元,反之则无法激活神经元。激活函数是将某一层的输出值,进行非线性变换,从而得到一个新的值。激活函数的存在,能够使得神经网络具有良好的非线性表达能力和拟合能力。如果没有了激活函数,那么多层的神经网络只具有线性表达能力,无法拟合任意的函数。常用的激活函数有sigmoid、tanh、ReLU、leakyReLU等。

2.2. 残差模块

在ResNet之前的网络,比如LeNet [11],AlexNet [12],VGG-16 [13] 等,由于没有残差模块,当网络层数变大时,会出现梯度消失或者梯度爆炸的情况,从而导致网络难以训练成功。而ResNet [14] 网络创造性地使用了跳跃连接,通过跳跃连接能够将网络前面的信息和特征传递到后面,从而在计算导数的时候,保留相关的数值,使得梯度不至于消失。残差模块的结构如图1所示。增加了残差模块后,网络的输出也发生了相应的改变。新的输出值如公式(3)所示。在增加了残差模块后,原来的卷积神经网络的层数可以变得很大,出现了像ResNet-34,ResNet-50、ResNet-101,ResNet-152的网络结构。

Figure 1. Schematic diagram of the residual module structure

图1. 残差模块结构示意图

Z = f ( x ) + x (3)

因此,当对公式(3)进行求导后,最后会有个常数1,保证了梯度法向传播的时候,梯度不会因此而消失。

在实际的实验中,我们去掉了最后的平均池化层,并将ResNet-18原始最后一层的fc-1000转换为了fc-6,即将原始的1000个类别分类的网络,转化为了一个6个类别分类的网络,从而将原始输出的大小为1000的张量转换为了大小为6的张量,并通过softmax归一化到[0,1]。最后取该6维张量中最大值所在的数值下标作为分类的结果下标。在损失函数的选取上,我们选取了常规的交叉熵损失函数作为目标函数。交叉熵函数的计算公式如公式(4)所示。

L o s s = 1 N i = 1 N k = 1 K y t r u e i , k log ( p p r e i , k ) (4)

其中,N表示总的样本个数,K表示总的类别数。 y t r u e i , k 表示第i个样本属于第k类的概率(属于为1,不属于为0)。 p p r e i , k 表示模型预测的第i个样本属于第k类的概率。

2.3. 模型结构图

ResNet-18模型的整体结构如图2所示。其中,输入可以是3通道的图片,也可以是单通道的图片。整个网络以两个卷积层作为一个Block结构(残差块)进行堆叠组成,图2中含有1个橙色的卷积层,1个最大池化层,2个蓝色的残差块,2个黄色的残差块,2个绿色的残差块,2个红色的残差块以及最后的平均池化层,每一个卷积块旁边的字母和数字表示输出图片的尺寸以及卷积的相关参数。如第一个橙色卷积旁边的64 × 256 × 256 k = 7 s = 5 p = 3,表示原始通道数为3,长和宽分别为512大小的图片(3 × 512 × 512),经过7 × 7,步长为5,padding = 3的卷积后,得到64 × 256 × 256尺寸大小的特征图。

根据上面提到的原理,我们设计了相关的缺陷分类模型,缺陷分类任务的整体框架结构示意图如图3所示。其中输入的是单通道的钢材表面缺陷图片,经过ResNet-18网络提取特征,输出512 × 1 × 1的张量,然后利用Flatten操作将张量展平为一个长度为512的向量,由于缺陷的种类数量为6,因此,通过一个全连接层,转化为一个长度为6的向量,再经过一个softmax操作以后,将该向量归一化为[0,1]范围内的数值,取其中数值最大的位置,作为最后分类的类别。其中的损失函数,为常规的分类损失函数,计算方法如公式(4)所示。

Figure 2. Schematic diagram of the overall structure of the ResNet-18 model

图2. ResNet-18模型整体结构示意图

Figure 3. Defect classification overall framework diagram

图3. 缺陷分类整体框架示意图

3. 实验及分析

为了验证本模型的可行性和优势,我们使用东北大学的NEU-DET数据集进行实验。

3.1. NEU-DET数据集

NEU-DET数据集是东北大学宋克臣团队制作的钢带表面缺陷数据集,包含6种缺陷类别,分别为裂纹(Crazing),夹杂(Inclusion),斑块(Patch),点蚀表面(Pitted Surface),轧制氧化皮(Rolled-in Scale),划痕(Scratch),每种缺陷含有300张分辨率为200 × 200的灰度图片,总样本数为1800。数据集同时提供每张图片所对应的缺陷标注信息的XML文件,标注信息包括缺陷所属类别与边界框的信息(矩形框左上角和右下角的坐标信息),共计4189个边界框。图4为NEU-DET数据集中6种表面缺陷图像的示例样本。

为了保证模型对每类缺陷都经过充分训练和测试结果客观性,我们选择对每类缺陷随机抽取70%作为训练集,20%作为验证集,10%作为测试集,并且分别对训练集、验证集、测试集进行旋转和翻转扩充,通过先抽取再扩充的方法既可以保证模型训练充分,又可以在确保训练集、验证集、测试集互相独立且不改变样本分布的情况下增加测试样本数以更好地评估模型表现。

Figure 4. Samples in NEU-DET dataset

图4. NEU-DET数据集缺陷样本示例

3.2. 评价指标

由于是分类任务,选择分类准确率作为模型的评价指标,其计算公式如下:

A c c u a r y = t N (5)

式中, t 表示一个预测类别跟实际类别相一致的所有样本个数,N表示所有样本总数。

3.3. 实验结果

实验采用的硬件配置为GTX1080Ti显卡,软件环境为CUDA10.1,Cudnn7.6.4.每个批次使用32张图片进行训练,使用含动量的随机梯度下降优化参数,学习率为0.2,动量为0.9,权重衰减速率为0.0001,每个模型共训练100轮。训练过程中loss及正确率的变化情况如图5所示。在测试集上的分类准确率如图6所示。最后的预测准确率如表1所示。

Figure 5. Schematic diagram of the change of training loss and classification accuracy during training (the blue line is the accuracy, the red line is the loss, and the accuracy rate is calculated based on the training set)

图5. 训练过程中的训练损失和分类正确率的变化示意图(蓝线为正确率,红线为损失值,正确率是基于训练集计算得到的)

Figure 6. Schematic diagram of classification accuracy on test set during training

图6. 训练过程中在测试集上的分类正确率变化示意图

Table 1. Comparison of experimental results

表1. 实验结果对比

图5中可以看出,当epoch = 90时,训练误差就开始收敛。从图6中可以看出,随着训练次数的增加,模型在测试集上的分类准确率逐渐提高,当epoch = 95时,分类准确率开始收敛,最后到达97.33%,该准确率可以满足比较高要求的缺陷分类场景,具有良好的效果。表1展示的是模型在不同类型缺陷图片上的分类准确率以及整体准确率情况。其中,Cr表示缺陷类型是裂纹(Crazing),In表示缺陷类型是夹杂(Inclusion),Pa表示缺陷类型是斑块(Patch),PS表示缺陷类型是点蚀表面(Pitted Surface),RS表示缺陷类型是轧制氧化皮(Rolled-in Scale),Sc表示缺陷类型是划痕(Scratch)。从表1可以看出我们的模型在使用数据增强后,整体的准确率以及单个类别的分类准确率都有所提升,这也证明了使用数据增强后,能够提升模型的分类准确性。

4. 总结

本文从图片分类出发,总结了目前缺陷图片的分类方法,并根据航空制件表面缺陷分类问题,基于ResNet-18结构进行分类处理,最终在NEU-DET数据集上的分类准确率为97.33%,基本满足航空制件对缺陷分类效果的要求。

基金项目

上海市工业互联网资助项目(2018-GYHLW-02043);国家自然科学基金资助项目(61771346, 61772372)。

文章引用

闫 雪,张 瑜,李光耀,田春岐. 基于ResNet的航空发动机制件表面缺陷分类研究
Research on Surface Defects Classification of Aeroengine Parts Based on ResNet[J]. 计算机科学与应用, 2021, 11(05): 1256-1263. https://doi.org/10.12677/CSA.2021.115127

参考文献

  1. 1. 胡峻峰, 曹军, 赵亚凤. 随机森林在板材表面缺陷分类中的应用[J]. 东北林业大学学报, 2015, 43(8): 86-90.

  2. 2. 李小娟, 许春雷. 基于支持向量机的TFT-LCD面板缺陷分类[J]. 信息与电脑(理论版), 2015(7): 22+25.

  3. 3. 苟文韬. 基于BP神经网络的弹壳表面缺陷分类方法[J]. 兵工自动化, 2015, 34(4): 90-91+96.

  4. 4. 翟千雅. 基于计算机视觉技术的铁路轨道表面缺陷分类检测研究[D]: [硕士学位论文]. 兰州: 兰州交通大学, 2017.

  5. 5. 王胜春, 戴鹏, 袁伟民, 杜馨瑜, 王昊. 粗糙集理论在钢轨表面缺陷分类中的应用[J]. 铁道建筑, 2018, 58(9): 109-113.

  6. 6. 王孟嬉. 基于卷积神经网络的冷轧薄板表面缺陷分类算法研究[D]: [硕士学位论文]. 武汉: 华中科技大学, 2017.

  7. 7. 张君扬, 景军锋. 基于深度学习和分段线性插值的短切毡缺陷分类[J]. 西安工程大学学报, 2018, 32(5): 553-559.

  8. 8. 陈立潮, 闫耀东, 张睿, 傅留虎, 曹建芳. 融合迁移学习的AlexNet神经网络不锈钢焊缝缺陷分类[J/OL]. 智能系统学报, 2020: 1-7. https://kns.cnki.net/kcms/detail/23.1538.TP.20201125.1015.002.html, 2020-11-25.

  9. 9. 史杨潇, 章军, 陈鹏, 王兵. 基于轻量级网络的钢铁表面缺陷分类[J/OL]. 计算机应用, 2020: 1-7. https://kns.cnki.net/kcms/detail/51.1307.TP.20201210.1728.010.html, 2020-12-18.

  10. 10. Song, K. and Yan, Y. (2013) A Noise Robust Method Based on Completed Local Binary Patterns for Hot-Rolled Steel Strip Surface Defects. Applied Surface Science, 285, 858-864. https://doi.org/10.1016/j.apsusc.2013.09.002

  11. 11. LeCun, Y., Bottou, L., Bengio, Y., et al. (1998) Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, 86, 2278-2324. https://doi.org/10.1109/5.726791

  12. 12. Krizhevsky, A., Sutskever, I. and Hinton, G.E. (2017) Imagenet Classification with Deep Convolutional Neural Networks. Communications of the ACM, 60, 84-90. https://doi.org/10.1145/3065386

  13. 13. Simonyan, K. and Zisserman, A. (2014) Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv:1409.1556 [cs.CV]

  14. 14. He, K., Zhang, X., Ren, S., et al. (2016) Deep Residual Learning for Image Recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, 27-30 June 2016, 770-778. https://doi.org/10.1109/CVPR.2016.90

  15. NOTES

    *通讯作者。

期刊菜单