侯媛媛,李江红,薛军印
(1.西安航空学院 计算机学院,西安 710077; 2.西北工业大学 动力与能源学院,西安 710072;3.杭州海康威视数字技术股份有限公司 智能算法部,杭州 310051)
航空润滑油主要完成航空发动机轴承和齿轮的润滑,保障航空发动机的正常运转。如果轴承得不到充足的润滑,机械间的摩擦会加大,温度升高,摩擦热量会使摩擦面上出现变形和摩擦显微焊合、乃至局部融化等状况,这些焊点随之又会在旋转作用下被撕裂。轴承部件之间粘着—撕裂—粘着的状态持续到最后,会导致轴承丧失旋转能力,最终卡死抱轴,发动机停车[1]。
目前,航空发动机滑油磨粒检测方法主要分为离线和在线检测。离线检测的过程为先采集样本,然后对其分类,最后用一些传统的方法如扫描电镜[2]、铁谱分析[3]对样本进行分析。这种方式检测精度高,但耗时长,只能对发动机当前状态进行评估,不能及时对故障进行排查和预防。
在线检测方法较多,国外主要集中在声、光、电、能量等方面。相对于国外国内起步较晚,主要是一些方法的创新和加工工艺的研究。近年来随着深度学习在模式识别领域的应用与发展,相关人员也逐渐对神经网络在滑油磨粒检测过程中的应用进行探索和研究。申江江等人[4]利用 RBF 神经网络,提取滑油磨粒光谱检测数据的状态特征,根据滑油中各金属元素浓度的变化趋势,分析发动机的磨损状态,实现了发动机磨损故障及故障部位的诊断分类。鲜倪军等人[5]提出了一种基于 ABC-BP 神经网络的发动机磨损故障诊断模型,提取滑油磨屑特征参数和铁谱数据的状态特征,该模型收敛速度快,诊断精度高,可有效识别发动机磨损类别。陈庆贵等人[6]将BP 神经网络和 RBF 神经网络应用于发动机滑油金属元素含量的预测中,取得了较好的预测效果。刘加卫等人[7]将极限学习机应用于滑油铁谱磨粒图像的分类识别中,识别5种磨粒的彩色图像特征,诊断准确率高达 96%。王涛等人[8]提出基于深度学习的ECT滑油检测技术,其设计的滑油状态诊断模型可自动提取滑油检测数据的状态特征。在线检测方式速度较快[9],但检测设备相对复杂,存在由设备导致检测精度偏低的现象[10], 且局限性强,对一些非铁磁性磨粒无法检测。
本文通过计算机视觉进行图像采集和深度学习的方法对磨粒进行测试,属于在线检测的一种。检测设备和检测方法上均有所突破,整个设备小巧便携,通过图像采集能够对大部分磨粒进行检测。采用YOLOv3[11]模型对磨粒进行测试加快了测试速度,使用图像增强和消融试验优化方法提升了其测试精度。最后针对模型误检率偏高的问题,设计SER算法来优化模型的推理置信度阈值,提升了磨粒检测的召回率和精准度。
相对于传统计算机视觉算法,深度学习模型在数据量充分且标记精确的数据集下,模型具有更高的精度和泛化性。因此基于航空发动机磨损机理[12],从发动机工时和飞机批次两个角度对滑油样品联合采样;针对传统检测方法检测尺度小、无法对非铁磁性磨粒检测等缺点,对油料加注组件和成像元件选型,通过对流动速度和压力分布云图仿真[13],提出连续流微流控芯片滑油图像采样方法,搭建滑油图像采集系统;采取分层采样方法抽取2 000张4 608×3 288像素滑油图像,最后基于数据初次标注和数据回滚标注,构造滑油磨粒数据集。
航空发动机不同工作时间下,滑油磨粒数量和形状均不同。本实验采集的滑油样品来自XX发动机。前50小时即前期磨损阶段,磨损率较高,发动机工作50小时后,旧滑油被新滑油替代,发动机工作50~500小时期间,发动机磨损进入平稳期,磨损率处于较低水平,随着时间推移磨损率逐渐升高。对于相同型号的发动机,即使在相同时间段,因服役的飞机型号、飞行方式以及地点等一些因素的影响,滑油磨粒的浓度、尺寸和形态均存在差异[14]。为了保证采样的滑油样品具有泛化性和代表性,从发动机运行工时和飞机批次两个角度对XX发动机滑油联合采样。
同一批次飞机发动机运行工时通常分布在某一时间段,因此对于多个批次的飞机进行采样能够满足发动机不同运行工时的要求。本实验共收集了6种飞机批次的滑油样品,分别记作为60、61、62、63、64和65,采样的滑油样品在不同工时段和不同批次的瓶数分布如表1所示。
表1 联合采样收集到的滑油样本分布
滑油磨粒图像采样系统主要包括油料加注组件、成像元件、连续流微流控芯片3个部分,如图1所示。连续流微流控芯片主要保证滑油采样区域的流动稳定性和连续性。滑油图像采样系统采用的相机为维数数字图像技术有限公司的MV-EM1400C相机,为小尺寸以太网的1 400万像素工业相机镜头,相机采集到4 608×3 288像素滑油图像,高分辨率的滑油图像保证了采集到的滑油图像有更多的磨粒信息,同时1.4 μm的像元保证了实际物理距离够小,小尺度磨粒有更多的像素面积。相机7FPS的采样帧率,保证了较快的成像,磨粒的流动阴影较少,且能在短时间内采集到较多的滑油图像。相机采用大型数据包传输和更加稳定和通用的千兆以太网络进行传输,减少对中断的处理,保证了稳定的数据传输,加快了传输速度,满足峰值传输速度315 MB/s。相机和镜头提供足够大的放大倍数和更少的光畸变,保证能够清晰分辨5 μm以上的磨粒。
图1 滑油图像采样系统
基于以上采样方法,搭建滑油图像采集系统。图2为采集系统采到的滑油样例局部放大图,其中图(a)-(d)分别为较充足的光照下,对不同滑油样品采集后的滑油图像样例局部图。由图可知基于工时以及飞机批次联合采样的滑油样品,通过本系统的采集,滑油图像光照、背景、磨粒尺寸和形态信息均比较充分,能够反映滑油油液的微观表现,搭建的采样系统解决了5 μm以上的磨粒采集问题。
图2 未标记滑油图像数据库样例
基于滑油图像数据采集系统,对滑油样品进行采样,每瓶样本采样30~40张图像,一共收集5 358张未标记的滑油图像。在深度学习目标检测领域,PASCAL VOC数据集和MS-COCO数据集为最常用的两个数据集,标注格式分别为VOC和COCO。
VOC格式生成XML文件,文件采用树状结构记录数据,占用空间较多,结构复杂,但可扩展性强且方便查看。COCO格式生成JSON文件,文件存储了标注数据结构,占用空间少,相同信息能够复用,方便机器识别和读取,同时数据结构简明,记录方式简单。因此在滑油图像标注阶段,数据集标注采用VOC格式,标注完后,转为COCO格式进行训练。
针对于滑油磨粒数据集,统计磨粒的标注信息,数据集共有23.8万个磨粒目标框,平均每张滑油图像存在119个标注。随机选择标定后的2 000张图像作为滑油磨粒数据集,采用8∶2比例从滑油磨粒数据集中抽取1 600张图像作为滑油磨粒训练集,剩余400张作为滑油磨粒测试集。
由于一阶段网络和二阶段网络特征提取方法不同,为了在滑油磨粒数据集上表现出优异的卷积神经网络模型,选则一阶段YOLOv3模型[15]和二阶段Faster RCNN模型[16]作为滑油磨粒检测基准模型。分别对一阶段YOLOv3模型和二阶段Faster RCNN模型进行训练研究。
通过BP算法[17]对网络参数进行优化,使模型在滑油磨粒训练集上具有滑油磨粒检测能力。对于定义好的网络结构f(θ),损失函数L,学习率lr,滑油磨粒训练数据集X{x1,x2,...,xn}及其对应的滑油磨粒标记Y{y1,y2,...,yn}进行训练,流程如图3所示。主要包括5个步骤:
图3 滑油磨粒检测任务的训练过程
1)随机不重复从滑油磨粒训练集X中选取一个训练批次X1{xa,...,xb}以及对应标记Y1{ya,...,yb}。
2)对训练批次X1{xa,...,xb}和对应标记Y1{ya,...,yb}进行归一化预处理操作。
为了使模型的寻优过程平缓,更容易收敛到最优解空间,需要对训练批次进行归一化[18]。对于训练批次每张滑油图像的每个RBG像素值进行如式(1)的归一化操作:
(1)
式中,μr、μg、μb为设定的归一化RGB均值;σr、σg、σb为设定的归一化RGB方差;r、g、b为未归一化前的RGB像素值;r′、g′、b′为归一化后的RGB像素值。
(2)
(3)
YOLOv3模型的损失函数如式(4)所示:
(4)
Faster RCNN模型的损失函数如式(5)所示:
(5)
(6)
式中,x、y、w、h分别为真实磨粒框的中心横纵坐标、宽度、高度;xa、ya、wa、ha分别为锚点的中心横纵坐标、宽度、高度;
(7)
式中,x′、y′、w′、h′分别为预测磨粒框的中心横纵坐标、宽度、高度。
4)依据l1进行网络的反向传播,更新卷积神经网络参数θ,如式(8)所示:
θ′=θ-lr×▽g(l1)
(8)
5)判断滑油磨粒训练集是否遍历结束,若训练集未遍历结束,重复前3步,若训练集遍历结束,则判断训练轮数是否达到设定值。
6)训练轮数若未达到设定值,开始新的一轮训练,重复前4步,若达到设定值,则保存模型以及参数,结束模型训练。
基于以上训练流程,兼顾测试精度和测试速度性能指标,搭建滑油磨粒训练环境。测试中使用4张11 GB内存的2080Ti显卡和AMD 3960X CPU,多GPU高内存吞吐和多核性能保证模型的训练时间。64 GB的内存保证图像数据预处理阶段有足够的空间缓存中间结果,不会因为空间不足导致线程堵塞。
软件环境如表2所示。模型训练的软件环境为Ubuntu、Python、Pytroch、MMdetection等。MMdetection作为Python编译器和Pytorch库目标检测模型训练框架,集成了很多目标检测模型,提供丰富API接口,方便对模型进行改进训练。因此选用MMdtection作为YOLOv3模型和Faster RCNN模型的训练框架,根据API接口完成骨干网络、输入数据格式、训练参数设置和数据增强方法的调试和代码编写。
表2 模型训练软件环境
Faster RCNN、YOLOv3模型训练相关参数如表3所示。为了保证Faster RCNN和YOLOv3模型的精度和速度,骨干网络分别采用了ResNet50和DarkNet53。为加速模型的收敛速度且保证模型不陷入局部最优解,两个基准模型的优化器均选用SGDM。为了使初始训练梯度保持稳定且网络更容易收敛,两模型均采用带学习率预热的阶梯学习率策略,预热后初始学习率分别为0.002和0.02。由于一阶段的卷积神经网络需要更多轮数的训练,所以YOLOv3模型的训练轮数设置为300轮,Faster RCNN模型的训练轮数为20轮。
表3 模型训练相关参数
训练结束后,分别对Faster RCNN和YOLOv3模型进行损失分析。图4为两种模型的损失随迭代次数的变化关系。随着迭代次数的递增,两个模型的损失呈下降趋势,且在学习率下调的时候,损失下降最大。在训练迭代次数最后,损失在横向振荡,证明两个模型均已训练完成。
图4 模型损失随迭代次数变化趋势图
经过模型训练得到优化卷积神经网络模型,需要对卷积神经网络进行测试以验证模型效果,使用的评价指标有:交并比(IOU, intersection over union)、召回率(recall)和精确率(precision)、均值平均精度(mAP,mean average precision,)和每秒帧数(FPS, frames per second)。
对于以上指标,若模型均达标,则模型训练验证完成,若未达到预计的性能,则对卷积神经网络模型结构及参数进行调整,重新进行训练。滑油磨粒检测任务的测试流程如图5所示。
图5 滑油磨粒检测任务的测试流程
具体步骤如下:
1)加载训练后的卷积神经网络模型及参数。
2)从滑油磨粒测试集T中不重复选取滑油图像,进行归一化预处理操作。
3)预处理结束的滑油图像数据送入到训练后的卷积神经网络中,得到初步预测结果。
4)为去掉大量的误检磨粒框,采用0.05的置信度进行过滤。对于过滤后的预测结果采用NMS方法去除同一磨粒的低置信度磨粒框,得到NMS之后的处理结果,即为最终的预测结果。
5)判断测试集是否测试结束,若未结束,重复步骤2)~4),若结束,统计测试集的结果,并计算相关指标。
Faster RCNN、YOLOv3基准模型在滑油磨粒测试集上的结果如表所示。Faster RCNN、YOLOv3测试集上表现较佳,两者mAP相差不大,均在大滑油磨粒的检测上较为优秀,其中大滑油磨粒的平均精度用APL表示,分别达到了90.5%和89.9%;在小滑油磨粒的检测上有改进空间,小滑油磨粒的平均精度用APS表示,分别为72.1%和69.3%;中等大小物体检测相对较好,中等滑油磨粒的平均精度用APM表示,分别为85.2%和83.5%。在IOU判定阈值为0.75,YOLOv3模型的AP75(表示判定阈值为0.75的平均精度)比Faster RCNN模型差1.2%;在IOU判定阈值为0.5时,YOLOv3较Faster RCNN模型的AP50表现差距较小,相差0.9%,试验结果表明在基准模型测试中,两模型都达到了较好的效果,Faster RCNN模型的精度高于YOLOv3模型。但YOLOv3的推理速度比Faster RCNN的推理速度高5.9 FPS。在测试速度上,YOLOv3模型占绝对优势。因此,下文重点采用一些优化算法来保证测试速度的基础上提升模型的测试精度。
表4 基准模型测试结果
在滑油磨粒检测基准模型训练阶段,两模型均使用了基础数据增强方法,即翻转和多尺度。为了提升模型整体性能,对于滑油磨粒数据集,除了翻转和多尺度外,还可采用旋转、Mixup、CutMix和Mosaic方法进行测试。
旋转:转动滑油图像,进行数据扩增。本实验数据集不包含掩码标记,只存在目标框,所以不可能实现任意角度的旋转,因此旋转角度为有限角度,分别为0°、90°、180°和270°。
从图6中可以看出仅通过简单的旋转,一个原始滑油图像可以生成3个新的滑油图像。
图6 旋转增强后图片
Mixup[19]:使用线性插值方法得到新样本,从滑油磨粒训练集中随机抽取两个样本进行简单随机加权求和,同时滑油磨粒标签也对应加权求和,然后预测结果与加权求和之后的标签求损失,再反向求导更新网络参数。该方法可以降低模型对已损坏标签的记忆,增强模型对抗样本的鲁棒性和训练生成对抗网络的稳定性。
CutMix[20]:随机选取两个滑油图像,如图7(a)与图7(b),对于图(a)随机生成一个裁剪框,裁剪图(a)相应位置,然后用图(b)片相应大小区域放到图(a)中被裁剪的区域构成新的滑油图像,计算损失,同样采用加权求和的方式进行求解。
图7 Mixup操作生成的新图片
图8为图7中(a)与(b)经过CutMix操作生成的新图片。图8中(a)图的一部分区域被裁剪,使用图(b)的对应区域进行填充。由于两个图片背景信息不同,导致CutMix在融合之后,会出现局部背景突变情况。不同背景磨粒在扩充数据集的基础上,可以使深度学习模型学到更多组合信息,改善模型的泛化性能。
图8 CutMix操作生成的新图片
Mosaic:融合4张不同滑油训练图像数据。Mosaic增强方法使得检测模型可以检测到上下文之外的对象,同时BN计算了4个不同滑油图像激活之后的统计量,缓解了小批次下BN对检测精度的影响。
图9为4张滑油图像进行Mosaic增强操作生成的新图片,新图保留原始图片的局部信息。相较于Mixup与CutMix,Mosaic增强操作生成的滑油图像更加多样化,拥有更复杂的样本组合,同时减少了BN归一化计算的偏差。Mosaic方法使得深度学习模型能够学到更多的样本信息,提高模型了的泛化能力。
图9 Mosaic操作生成的图片
通过组合以上4种方法,得到7种不同方案,分别为旋转、Mixup、CutMix、Mosaic、旋转+Mixup+Mosaic、旋转+CutMix+Mosaic旋转+Mixup+CutMix+Mosaic。前4种为单图像数据增强方案,后3种为多图像数据增强融合方案。
单图像数据增强方案具体步骤如下:
1)从滑油磨粒训练集中加载滑油图像。
2)依据0~1区间分布随机概率值P。
3)判断P是否大于0.5,若P>0.5,则进行单数据增强操作。若为第1种方案,则以0°、90°、180°、270°等概率随机旋转滑油图像;若为第2种方案,则进行Mixup操作;若为第3种方案,则进行CutMix操作,若为第4种方案,则进行Mosaic操作。
4)若P小于等于0.5或完成单数据增强操作,直接输出结果。
第5种(第6、7种方法一致)数据增强融合方案具体步骤如下:
1)从滑油磨粒训练集中加载滑油图像。
2)依据0~1区间分布随机概率值P1。判断P1是否大于0.5,若P1>0.5,则以0°、90°、180°、270°等概率随机旋转滑油图像。
3)若P1≤0.5或旋转增强结束,依据0~1区间分布随机概率值P2。判断P2是否大于0.5,若P2>0.5,则对滑油图像进行Mixup操作。
(4)若P2≤0.5或Mixup增强结束,依据0~1区间分布随机概率值P3。判断P3是否大于0.5,若P3>0.5,则对滑油图像进行Mosaic操作。
5)若P3≤0.5或Mosaic增强结束,输出增强后的滑油图像。
对于上述两个基准模型,分别进行了7个滑油图像数据增强消融试验。从mAP损失、召回率及精确率3个方面,对比滑油图像数据增强试验前后的差异。
表5 Faster RCNN数据增强消融试验
表6 YOLOv3数据增强消融试验
相较于Faster RCNN基准模型测试结果,对于单个数据增强方法,旋转和Mosaic提升最大,mAP提升了0.7%;Mixup提升次之;CutMix没有提升;对于图像数据增强组合方案,第5、7种组合方案提升最大,mAP达到了84.3%,提升1.0%;第6种组合方案较第5种、第7种提升较少。因此对于Faster RCNN模型,最佳的数据增强方案为第5种,即旋转+Mixup+Mosaic组合方案。
相较于YOLOv3基准模型的测试结果,单个图像数据增强方法均取得了正向收益,其中Mosaic提升最大,mAP提升1.4%,旋转、Mixup、CutMix增强方法提升依次降低,分别是0.7%、0.6%和0.3%。对于图像数据增强组合方案,第5种、第6种组合方案提升几乎一致,mAP指标分别提升2.5%和2.4%;第7套方案提升最高,mAP提升2.9%。因此对于YOLOv3模型,旋转+Mixup+CutMix+Mosaic图像数据增强方案提升最高。
相较于一阶段YOLOv3模型,因为二阶段Faster RCNN模型存在RPN层以及采样机制,Faster RCNN基准模型已经取得了较好的泛化效果。因此二阶段模型Faster RCNN模型在最佳图像数据组合方案上仅获得1.0%的mAP提升,而一阶段YOLOv3在最佳图像数据组合方案可获得2.9%的mAP的提升。
结果表明通过上述7种滑油图像增强组合方案,有效地扩增了滑油磨粒数据集,提高了模型的泛化能力,扩大模型的表征能力,使其能够识别更多不同状况下的滑油磨粒;且经过最佳图像数据组合方案后的YOLOv3模型精度高于Faster RCNN模型。
数据增强前后两模型随迭代次数模型损失对比图如图10所示。由图可知,最佳图像数据增强后的两个模型损失均比基准模型的损失低,且收敛于更低的损失值,收敛性能佳。
图10 数据增强前后模型损失对比图
通过滑油磨粒测试集计算得到两个模型在不同IOU判定阈值下的召回率(Recall)以及精确率(Precision),如表7所示。
表7 两模型数据增强后的召回率及精确率
无论IOU阈值为0.3或0.5,YOLOv3模型的召回率均高于Faster RCNN模型,但Faster RCNN模型的精确率高于YOLOv3模型。在IOU阈值为0.3时,YOLOv3模型的召回率和精确率明显提高,分别达到96.5%和64.8%。YOLOv3的召回率已经满足工程上的标准,对于较大部分的磨粒框已经可以正确检测。但是两模型的精确率均较低,分别为70.1%和64.8%,均产生了过多的误检磨粒框,因此需要进一步对误检磨粒框进行筛除,才能达到工程实用的标准。
通过以上实验可知,最佳图像数据组合方案后的YOLOv3模型精度和速度都优于Faster RCNN模型。但数据增强后的YOLOv3模型,在0.05置信度阈值下,模型的召回率和精确率分别为96.5%和64.8%。64.8%的精确率过低,不能满足工程应用,存在大量的误检磨粒框。基于此本文提出用综合错误比例(SER,synthesize error ratio)算法来优化YOLOv3模型的推理置信度,目的是保留较多正确磨粒框的同时滤掉更多的误检磨粒框。
图11为滑油图像在0.05置信度阈值情况下预测样例图,由图可知存在磨粒误检现象。因此要优化滑油磨粒检测模型召回率和精确率,保证在模型推理阶段,降低滑油磨粒检测模型误检的同时保留更多正确的磨粒目标框。
图11 置信度阈值为0.05时的滑油图像预测样例
不同置信度下YOLOv3模型的召回率与精确率关系变化如图12所示。由图12可知,随着置信度的降低,召回率升高,精确率降低,反之亦然。滑油磨粒检测模型的置信度降低,引入了较多的误检磨粒目标框,使得精确率降低,但同时扩大了预测框的置信度范围,较低置信度下预测正确的磨粒目标框被计入,提高了召回率。因此在滑油磨粒检测任务阶段,需要寻找一个合理的置信度阈值,以优化召回率和精确率,得到一个权衡的数值用于推理。
图12 YOLOv3模型不同置信度下的召回率和精确率
表8 SER算法
对于滑油磨粒测试集,采用SER算法,寻找各个置信度下的SER值,最小SER值对应置信度即为经模型召回率和精确率优化后的最佳的置信度阈值。
(9)
(10)
(11)
统计YOLOv3模型在滑油磨粒测试集上的预测结果,基于SER算法计算不同置信度下SER的数值,且求出最小值。YOLOv3模型在不同置信度下的SER值如图13所示,横坐标1-conf为1-置信度,纵坐标为SER值。随着置信度降低,SER值先降低后升高,点(0.644 5,0.086 8)为最佳的SER点,置信度为0.355 5。
图13 YOLOv3模型在不同置信度下SER值
当YOLOv3模型在置信度为0.355 5时,取得最小的SER值0.086 8,求得当前置信度下的召回率为94.2%,精确度为95.9%,误检和漏检的磨粒目标框占真实磨粒目标框的比率为8.68%。
对滑油磨粒测试集随机抽取局部图像,进行SER算法校验。图14为待预测的滑油图像和不同置信度阈值下预测的滑油磨粒图像,其中(a)图为从滑油磨粒测试集抽取的待预测局部滑油图像,(b)图为置信度为0.001时的磨粒预测图像,(c)图为置信度为0.05时的磨粒预测图像,(d)图为使用SER算法的0.355 5的置信度的磨粒预测图像。从图中可以看出使用SER算法求得置信度之后,YOLOv3模型有效地去除了低置信度的误检磨粒目标框,防止采用过高的置信度滤掉预测正确的磨粒目标框。可见SER算法有效地优化了YOLOv3模型的召回率和精确率。
图14 待预测滑油图像和不同置信度阈值下的预测磨粒图像
论文提出了基于深度学习的航空发动机滑油磨粒检测方法,构造了泛化性能优秀的高质量滑油磨粒数据集,通过对滑油磨粒基准训练和测试训练,研究了滑油磨粒检测算法,基于此算法提出图像增强方法,进行消融实验,设计SER优化算法有效地保证了YOLOv3模型在合理的置信度阈值下,具有较高的召回率和精确率。本文进行的滑油磨粒在线检测实验局限于实验室环境中,未能进行现场测试,今后研究工作的重点是在实际应用环境下测试本文工作的有效性以提高其实用性。此外本实验是通过在GPU上部署YOLOv3模型对磨粒进行测试的,由于滑油磨粒在线检测系统需要小功率、小体积的检测设备,后续可以考虑将模型移植到AI芯片上。