APP下载

基于新型深度神经网络的民机表面缺陷识别

2020-04-09张德银陈从翰黄选红徐志强

计算技术与自动化 2020年1期
关键词:残差

张德银 陈从翰 黄选红 徐志强

摘   要:为解决机务人员依靠经验来对民航飞机的表面缺陷进行识别时易发生误判的问题,开发了一种用于民机表面的缺陷识别的结合Inception-net和残差模块的新型深度神经网络。首先,通过对各机场的在修飞机表面缺陷进行采样建立数据集,手段包括使用图像处理修复不合格图像、使用数据增强缓解数据类别不平衡、使用立方卷积插值法降采样保留图像特征等图像预处理操作。然后在自建的数据集上对新型深度神经网络与其他神经网络进行对比测试。实验结果表明,新型神经网络在较少的参数下能够达到最深的网络深度,且在自建数据集的测试集上的识别率和查全率分别为74.23%和62.29%,优于进行对比的其他网络。说明在一定程度上该网络能够有效用于民机表面缺陷识别工作中。

关键词:民航飞机;表面缺陷识别;残差;Inception-net;深度神经网络

中图分类号:TP391.4                                             文献标识码:A

Investigation of Civil Aviation Aircraft Surface Defects Recognition Based

on Novel Designed Deep Neural Network

ZHANG De-yin,CHEN Cong-han?覮,HUANG Xuan-hong,XU Zhi-qiang

(Aviation Engineering Institute,Civil Aviation Flight University of China,Guanghan,Sichuan 618307,China)

Abstract:A novel designed neural network combining the Inception-net and the residual module is employed to identify surface defects of civil aviation aircraft,in order to solve the problems of that the maintenance crew easy to misjudge surface defects of civil aviation aircraft. Firstly,the data set has been established by sampling surface defects of aircraft from various airlines and overhaul factory. Including the use of image processing methods to repair unqualified images;the use of data enhancement to alleviate the problem of data category imbalance;the use of cubic convolution interpolation to down sample and preserve image features and other operations to image preprocessing data. Secondly,the new designed neural network is compared with other neural networks on self-built data sets. The experimental results show that the new neural network has the deepest network depth with fewer parameters in all tested networks. And the recognition rate and recall rate on the test set are 74.23% and 62.29%,respectively,which is better than other neural networks.It shows that the network can be effectively used for civil aircraft surface defect identification to some extent.

Key words:civil aviation aircraft;surface defect recognition;residual;Inception-net;deep neural network

民航飛机结构由于受到疲劳载荷和腐蚀环境等因素的作用,因而会产生疲劳、腐蚀等损伤缺陷。对于老龄民航飞机而言,这是一个随着服役时间增加而不断发展和累积的不可逆损伤过程[1]。刚刚服役的民航飞机表面缺陷并不严重,但随着服役时间的增加以及在运期间所处环境恶劣,飞机受疲劳载荷和腐蚀等因素的影响会越来越严重[2]。在飞机服役的中后期,其缺陷损伤会逐渐演化为制约老龄飞机服役的重要因素之一。目前我国对飞机表面缺陷的检查一直是机务人员靠肉眼定期检查和航前、过站及航后检查相结合的方式[3]。定期检查即按照手册中的疲劳寿命(包括飞行小时、起落数)和日历寿命两项指标,以先到者为准[4]。由于我国对于飞机寿命指标与缺陷防护方面的研究起步较晚,技术基础比较薄弱,导致相当一部分飞机的检修时间全凭机务维修人员经验得出。而航前、过站及航后检查对于一些明显的缺陷可以迅速发现,但对于一些不太明显的缺陷容易遗漏[5]。随着时间的推移,国内大批的在役飞机已经过半或者是接近服役年限,每年针对这类飞机表面缺陷识别与维护工作耗费了大量的资金与人力[6],需要寻找更加方便快捷的新型飞机表面缺陷识别技术应对此项挑战。与基于特征的传统图像识别技术相比,基于深度神经网络的图像识别技术,跳出了对图像单一特征进行提取的固有思维,转而对图像的整体特征进行提取,在识别精度和可靠性方面优于传统图像识别技术,因此,基于深度神经网络的图像识别技术可考虑用于飞机表面缺陷图像识别。研究设计了一个结合Inception-net和残差模块的新型深度神经网络,命名为New_dnn,用于民航飞机表面缺陷识别。

1   飞机表面缺陷分类及预处理

通过对国内民用航空公司在役飞机和飛机大修厂里的在修飞机表面缺陷调研、收集了大量民机表面缺陷图像样本,并对其进行汇总、分类,选取其中具代表性的缺陷图片作为样本集,且最终依据样本缺陷出现频繁程度不同,将飞机表面缺陷分为(1)蒙皮掉漆、(2)蒙皮裂纹、(3)螺纹锈蚀、(4)蒙皮变形、(5)蒙皮撕裂等5种缺陷,如图1所示。图1中前三种缺陷,包括蒙皮掉漆、蒙皮裂纹、螺纹锈蚀,多由飞行过程中恶劣的工作及自然条件和地面维护不到位等多种因素共同作用引起的;图1中后两种缺陷,包括蒙皮变形、蒙皮撕裂,则多由冰雹、鸟击、飞行员驾驶失误等因素造成[7]。

(1)蒙皮掉漆                (2)蒙皮裂纹               (3)螺纹锈蚀

(4)蒙皮变形                    (5)蒙皮撕裂

图1   民航飞机表面缺陷分类

在标注样本的过程中发现由于采集数据时间跨度长、采集人员和采集标准不一致,导致样本质量参差不齐,不合格样本数量较多,且样本种类分布不平均。而由于民航飞机缺陷样本数量较少且获取困难,因此对于此问题采用了传统图像处理算法对不合格的图像样本进行了修复,随后采用数据增强解决样本分布不均的问题,最后对所有样本图像进行降采样。其预处理框架如图2所示。

图2   预处理图

对于在标注的过程中发现的缺陷样本,经整理分析后发现绝大部分过的样本是由图像纯净度、光照强度和拍摄时失焦造成的采样模糊。因此对于图像纯净度问题使用高斯双边模糊在保留其边缘特征的情况下对细微缺陷进行模糊,对于光照问题引起的对比度过低问题使用白平衡算法对图片进行补偿,对于失焦造成的采样模糊使用拉普拉斯锐化来平滑图像样本边缘[8]。最后将处理后合格的图像样本加入到完好的样本集中并进行数据增强,即通过随机裁剪、水平翻转、镜像等方式,增大数据集中样本数量较少的分类,使整个样本集分布保持均衡。最后通过立方卷积插值法进行降采样,将6000*4000*3的图片批量resize到299*299*3,其公式如下

F(i + v,j + u) = ■■f(i + row,j + col)

S(row - v)S(col - u)        (1)

S(x) = 1-(a+3)x2+(a+2)x3    0≤x≤1■-4a+8ax-5ax2+ax3   1≤x≤2

(2)

立方卷积插值法涉及到目标点周围4行4列共16个像素点的计算,其式(1)中,v、u代表的行数偏差和列数偏差,i、j代表的是原图与插值后的图最接近的映射点,F(i+v,j+u)代表的插值后对应的坐标点,公式(2)中的S(x)为差值公式,差值公式的变化会改变插值效果,图3为使用不同插值方式的波音737充氧口的降采样图片。

(1)最邻近插值             (2)双线性插值        (3)立方卷积插值

图3不同插值方式的降采样图片

在图3中,通过对同一张图片使用(1)最邻近插值法、(2)双线性插值法、(3)立方卷积插值法得到的不同降采样图像在这里可以明显看出相比于最邻近插值法和线性插值法,使用立方卷积插值法得到的图像保留了更多细节和纹理信息,故选择立方卷积插值法对图像进行降采样,以此降低降采样造成的图像精度损失,而且降采样极大的缩减了深度神经网络的计算量,并且增大了卷积核的感受野,让同样大小的卷积核能够在更大的图像范围上进行特征提取,降低网络欠拟合风险。

2   新型深度神经网络结构设计

2.1   新型深度神经网络的网络结构

Inception Net网络是由Google brain团队设计的一个经典的网络结构,首次出现是在2014年的LSVRC(ImageNet Large Scale Visual Recognition Challenge)比赛中 [9]。而残差网络是由微软亚洲研究院于2015年发布深度卷积神经网络,其优势在于残差模块的引入能够很好解决网络由于深度过深而带来的梯度退化问题[10]。因此本文研究设计了在Inception Net的基础上,引入残差思想的一个新型深度神行网络。网络结构如图4所示。图4中,New_dnn由47层组成,主要包括7个卷积层、2个池化层、10个Inception Module、1个全局平均池化层、1个Dropout层以及一个softmax层。

图4   New_dnn网络结构图

具体设计流程如下,首先通过7个卷积和池化层将输入的飞机缺陷图片缩小到35*35*192,其目的为降低空间,提高样本的深度。接下来通过10个Inception Module将35*35*192的图像压缩成一个8*8*2048的tensor,随后又经过两个卷积层卷积后通过一个size为8*8*1024的池化层,输出一个1*1*1024的tensor。最终通过一个softmax完成对输入目标的分类。同时由于New_dnn网络深度过深,为了改善网络的性能、防止网络过拟合在网络结构中添加残差模块和dropout失活单元。

2.2   Inception模块

Inception Module来自于Google的Inception Net,其思想来源于Network In Network即在大的网络中依然存在小的网络结构[11],以图5block1 Model1为例。

图5   block1 model1内部结构图

图5中block1 Model1结构有4条分支,从右到左开始,第一分支为通道数64,size为1*1卷积核的卷积层;第二分支为size为3*3的平均池化层,再连接一个size为1*1,输出通道为32的卷积层;第三分支为64通道size为1*1的卷积层,其后连接一个96通道的size为3*3的卷积层;第四分支为48通道的1*1卷积再接上一个64通道的5*5卷积。最后将4个分支输出在深度上合并,其深度之和为64+64+96+32=256,即block1 Model1的最终tensor输出为35*35*256。其余的Inception Module在结构上大同小异,其目的都是在压缩输入图像的同时进一步的提高网络深度。

2.3   残差模块

残差模块最早出现于2015年提出的殘差深度神经网络,其核心思想是将前层的信息越过中间层而直接映射到后层,以解决网络深度过深导致的梯度退化的问题。其具体结构如图6所示。

图6   残差模块结构图

在图6中网络上一层的输出X经过两层卷积后输出为F(X),然后将X直接与卷积后的输出相加得到了F(X)+X作为下一层的输入[12]。理论上过来说,网络层数越高训练效果越好,但是当网络层数过深的时候,多次的卷积操作会导致梯退化问题,使得训练结果反而不如浅层神经网络。在新设计的深度神经网络中由于深度达到了47层,梯度退化问题不可避免,而通过多个残差模块的添加,可以很好的解决由于网络深度过高而导致的梯度退化问题。

2.4   Dropout失活单元和全局平均池化

Dropout失活单元是一种简单却相当有效的防止神经网络过拟合的手段,通常会被放置在网络的后部[13]。其原理为通过对部分神经元的随机失活,达到降低网络过拟合,增强网络鲁棒性的目的。

全局平均池化层也是一种简单却相当有效的降低网络参数量的手段[14]。即是使用size为前层长*同样宽*前层深的池化层对前层的输出进行池化,最终得到一个1*1*前层深度的输出,已达到代替全连接层,降低网络参数量的目的。

3   New_dnn网络训练步骤

深度神经网络训练过程的本质就是利用模型和输入数据来求出推理值,利用损失函数对推理值与损失值之间的差距进行描述,然后通过优化器来最小化损失函数,而损失函数的更新反过来也对模型中的参数进行了更新,直到其满足精度要求或达到设定的迭代次数。图7为New_dnn网络的训练流图。

图7   New_dnn的训练流图

由图7可知,输入的数据采用的是batch批量的形式,首先把数据集中的标签部分分别送入softmax_cross主分类和aux_loss辅助分类当中。再把数据集中的图像部分送到New_dnn中,通过卷积运算来得到预测值和辅助预测值。其中预测值来自新设计的神经网络的最后一个平均池化层,辅助预测值来自block2 model4四条支路的深度结合。随后调用Softmax[15]回归将预测值处理为一个概率分布,其公式如下。

hθ(xi) = p(yi = 1)|xi;θp(yi = 2)|xi;θp(yi = k)|xi;θ =

■exp(θ1Txi)exp(θ2Txi)exp(θkTxi)        (3)

在式(3)中P(yi = 1)到P(yi = k)代表的是样本图像从1类到k类的概率,θ代表的是模型参数,并通过每一类的概率除以所有概率之和的方式,来对输出做归一化。由此可以看出softmax回归输出的是一个包含所有类概率且概率之和为1的列矩阵,这个矩阵即为预测值。

得到网络的预测值之后,利用损失函数来计算标签与预测值之间的距离差,即损失值[16]。在新New_ dnn网络选择的是交叉熵损失函数,其公式如下。

H(P,Q) = -■P(x)logQ(x)        (4)

P(X)代表的是标签,Q(X)代表的是预测值,H(P,Q)代表的是标签与预测值之间的概率分布距离,H(P,Q)越小,即代表标签与预测值概率分布越接近,说明二者一致的可能性越高。

随后调用的RMSprop[17]单步优化器来对损失值进行了优化。其公式如下:

g(n) = ρg(n - 1) + (1 - ρ)(■)        (5)

x(n + 1) = x(n) - ■■        (6)

式(5)中ρ为超参数,式(6)中ε为超参数,用来控制每次迭代学习率的大小。而ε是为了防止步长为0导致的迭代停滞,ρ是一个趋近于1的值一般设置为0.9,ε为一个极度小的值一般设置为10e-10,学习率为η,该值一般根据训练结果调整。通过调用RMSprop单步优化器在每一次迭代中对参数进行更新,更新的步长由η、ε和式(6)中的g(n)所控制。

以上即为New_dnn迭代一轮的所有流程。而迭代总次数和模型参数的更新则由图4中的global_step和train_op分别控制来完成。当迭代总次数达到设定值时,模型停止迭代,整个网络的训练完成。

4   网络训练与验证

4.1   实验平台与数据集

为了实现New_dnn对民航飞机的表面缺陷识别而搭建的试验平台配置为:影驰的RTX2070显卡,8GB版本;系统平台为Ubuntu18.04;训练平台为TensorFlow1.12。

关于数据集,至今为止,市面上并没有任何公开的关于飞机表面缺陷的数据集,可供网络训练与验证。因此决定采用自建数据集对不同网络进行训练的方式,并以训练结果作为网络优劣的评价标准。自建数据集的样本分布如表1所示。

表1   不同样本类别在数据集中的分布情况表

由表1可知样本集划分为训练集、验证集和测试集,并且在预处理时将其相互独立开来,确保样本不会互相影响。其中用训练集对神经网络进了训练,用验证集来验证网络在的性能,用测试集测试网络的泛化能力。

4.2   网络训练过程

使用自建的数据集对New_dnn进行训练,网络以0.0005的学习率训练75个epoch(将数据集完整训练一轮为1个epoch),并在10小时45分钟后停止迭代,训练结果如图9所示。

(1) New_dnn的损失函数               (2) New_dnn的识别率

图9   New_dnn网络的损失函数与识别率

图9是使用matplotlibAPI通过调用训练日志文件来记录和生成的损失函数和准确率图。由此生成了图9(1)的New_dnn的损失函数图,和图9(2)的New_dnn的模型准确率图。其中图9(1)的纵坐标为模型训练的损失值,图9(2)的纵坐标为模型训练的精度,两图的橫坐标都为模型的迭代次数,“——”曲线指的是训练集的损失和准确率,“—”曲线代表验证集的损失和准确率。由此可以观察到,训练集的损失函数从12开始,随着迭代次数的增加而不断降低,验证集的损失函数从2.1开始,随着迭代次数的增加而不断下降,当模型迭代到75个epoch后,训练集的损失函数在0.17左右震荡,验证集的损失函数在1.2左右震荡,与之相对应的是训练集的准确率从30%上升到了95%,验证集的准确率从23%上升到了76%。

4.3   评价标准

为了更加全面的评价模型的综合性能,除了采用识别准确率和参数量外,还引入了机器学习中查全率这一评价标准[18]。引入参数量,可以直观的比较各个网络的计算规模,和计算时间。参数量越大的网络对设备要求越高,计算时间越长。而查全率指的是,被正确分类的样本数占因当被正确分类的样本数之比,其公式如下。

R = ■        (7)

在公式(7)中,TP指的是真正例,即分类为正例,实际也是正例的样本数量,FN为假反例,即本来为正例,却被分为反例得的样本数。当准确率和查全率都比较高的时候,则认为该网络具有较好的识别性能。

5.4   不同网络的结构与识别结果对比

为保证实验结果真实可靠,所有网络都使用自建样本集进行试验;其试验过程如下,利用训练集训练网络,利用验证集来调节参数、优化模型,过多次验证后,选取验证集上性能最好的模型用于测试集预测。模型结构与测试集结果对比如表2所示。

表2   不同模型结构与测试集结果对比表

由表2可以清楚地看出New_dnn除了在查全率上低于RES_net的65.33%外,准确率和查全率指标都高于其他网。而New_dnn的网络深度达到了47层,但没有出现梯度消失的现象,正确率反而有所上升,说明网络在残差模块的帮助下确实起到了解决梯度退化、消除过拟合的作用。在训练参数上面New_dnn的网络深度最深,但参数量却只有4000万远远少于VGG_net的1.4亿个,只是ALEX_net的6000万参数量的三分之二,说明了Inception_Module的加入,确实能够在加深网络深度的情况下,极大地减少参数量。

6   结   论

针对飞机表面缺陷检测问题,提出了使用深度神经网络来对飞机表面缺陷进行识别的方法来取代人工绕机检查。设计了一个47层的新型深度神经网络命名为New_dnn,用于飞机表面缺陷图像识别。该网络通过引入Inception Module、全局平均池化等手段,有效降低了网络中的参数量;通过引入了残差模块、和Dropout失活单元,解决由于网络深度过深而导致的梯度消失问题,防止网络过拟合。最终得到了一个性能较为优异的新型深度神经网络用于民航飞机表面缺陷识别。为了解决民航飞机表面缺陷样本获取困难、没有公开数据集的问题,通过对各地区机场走访、调研,收集缺陷样本图片制作数据集,并通过一些传统的图像处理手段,对样本进行预处理,改善训练集样本分布。并最终将该样本集用于新型深度神经网络的训练。通过对比多种神经网络在自建的数据集进行训练的结果,验证了New_dnn与在自建数据集的可靠性。实验结果显示New_dnn在自建数据集的测试集上的识别率和查全率分别为74.23%和62.29%,证明网络具有较高的识别率和泛化能力,在一定程度上能够满足机务工作中对民航飞机表面缺陷的识别。

参 考 文 献

[1]    张祺. 预腐蚀航空铝合金疲劳失效及寿命预测研究[D]. 天津:中国民航大学,2018.

[2]    张天宇,何宇廷,李昌范,等. 盐雾加速腐蚀与沿海大气环境的腐蚀等效关系研究[J].机械强度, 2018,40 (03):596—601.

[3]    張中波. 民机机体蒙皮划痕的应力分析及处理方法研究[J]. 西安航空学院学报,2018,36 (05):3—7.

[4]    李念宗.浅析飞机结构的一些疲劳破坏问题[J]. 中国设备工程,2019(02):29—30.

[5]    李忠良,魏麟,刘晔璐.飞机外表面地检设备图像处理技术初探[J]. 航空维修与工程,2018(05) :56—58.

[6]    卢翔,陈卓,黄江博,等. 虚拟环境下民机绕机目视检查优化设计[J]. 飞机设计,2017,37(06):69—74.

[7]    李忠良.大型运输机外表面缺陷图像处理技术应用研究[D].广汉:中国民用航空飞行学院,2018.

[8]    胡江涛. 基于机器视觉的飞机铆钉尺寸测量和缺陷检测系统的研究[D].西安:陕西科技大学,2017.

[9]    REHMAN A,NAZ S,RAZZAK M I,et al. Automatic visual features for writer identification:a deep learning approach[J]. IEEE Access,2019,13(99):1—1.

[10]  JIANG W,ZHANG L. Geospatial data to images:a deep-learning framework for traffic forecasting[J]. 清华大学学报:自然科学版:英文版,2019,24(1):52—64.

[11]  LIN M,CHEN Q,YAN S. Network in network[J]. arXiv preprint arXiv:1312.4400,2013:13—26.

[12] MARIF W,FAROOQ A B,SADUF A,et al. Supervised Deep Learning in Face Recognition[J]. Advances in Deep Learning. 2020,21(31):19—24.

[13]  SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al. Dropout:a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research,2014,15(1):1929—1958.

[14]  HAO F,SAURABH G,FORREST I. From captions to visual concepts and back[J]. Proc of CVPR,2015,475(2354):3126.

[15]  LECUN Y,BENGIO Y,HINTON G. Deep learning[J]. Nature,2015,521(7553):436.

[16]  YANG W,WANG W,ZHANG X,et al. Light weight feature fusion network for single image super-resolution[J]. IEEE Signal Processing Letters,2019,26(4):538—542.

[17]  BENGIO Y,SIMARD P,FRASCONI P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Trans Neural Netw,2002,5(2):157—166.

[18]  HUANG Y,ZHAO L. Review on landslide susceptibility mapping using support vector machines[J]. CATENA,2018,165(12):520—529.

猜你喜欢

残差
智能属性融合算法在教学系统当中的应用
关于运动软件的使用对大学生运动量影响计量分析
基于二阶自相关过程残差控制图的改进
基于MVU降维的捕捉数据自动分割
测量数据的残差分析法
连续型过程的二元残差T2控制图