基于yolov5在线可视铁谱图像磨粒多目标识别方法研究*
2023-05-25何铭亮王建国郭向阳
何铭亮 王建国 范 斌 张 超 郭向阳
(1.内蒙古科技大学机械工程学院 内蒙古包头 014010;2.内蒙古农业大学机电工程学院 内蒙古呼和浩特 010018)
润滑油被称为机械设备的“血液”[1],其携带大量磨损产生的磨损颗粒,磨损颗粒具有大量磨损信息,通过分析其尺寸、形态、数量、浓度等指标,可以判断设备的运行状态及故障原因。目前油液磨粒检测技术主要是离线送检和在线监测两大类[2]。传统离线送检的方法时效性不高,油样获取有限,分析周期长,加之磨粒分析需要依赖经验丰富的专家的主观判断,无法及时对设备早期异常磨损进行及时反馈。在线油液磨粒监测技术成为国内外研究的焦点。
在线图像可视铁谱技术(On-Line Visual Ferrography,OLVF)[3],是一种油液磨粒在线技术,该装置通过旁路方式与润滑系统直接连接,通过调节电磁铁的励磁磁势和沉积流量,可有效地捕获5~1 000 μm 的铁磁性颗粒,并由图像传感器实时获取捕获磨粒视觉特征,理论上基于图像处理技术可实现磨粒信息全面提取。在线图像可视铁谱技术可以实时监测磨损磨粒,避免了人工分析磨粒的主观判断。然而,OLVF的光学成像结构简单,放大倍率有限,其获取的磨粒谱片图像分辨率低;在电磁力的作用下沉积的磨粒彼此吸附,易出现磨粒聚集和成链现象;实际应用时润滑油中的气泡对OLVF沉积磨粒谱片的干扰严重,磨粒背景复杂,因此,传统图像处理方法提取磨粒视觉特征面临挑战。
随着计算机视觉技术和深度学习技术的不断发展,国内外学者为离线铁谱磨粒图像处理开辟了新的途径。陈果和左洪福[4]运用c-均值有效实现了8种磨粒的聚类,对少量磨粒图像进行了参数提取,但是颜色、尺寸大小、磨粒形状仍靠人工测量。贺石中等[5]利用Mask R-CNN卷积神经网络对离线铁谱图像中的磨粒进行识别和分割,但预测速度较慢,无法达到实时磨粒识别的需求。安超等人[6]也通过深度学习中的卷积神经网络实现了离线铁谱磨粒的智能识别,但是只对两种特定磨粒进行了识别,且在泛化能力上还有不足。何贝贝等[7]利用Faster-RCNN模型自动提取磨粒图像特征来识别异常磨粒,但速度无法达到实时监测的要求。
上述研究大多是关注离线铁谱图像中单一特征磨粒单目标智能识别。对于OLVF获得谱片图像而言,由于磨粒谱片图像分辨率低,且沉积的磨粒彼此吸附,易出现磨粒聚集和成链现象;同时实际应用时润滑油中气泡干扰严重,磨粒背景复杂;加之磨粒种类复杂多变,传统的人工提取磨粒特征的方法效率不高,且传统的磨粒分割与识别是两个阶段,并未完全实现智能化,因此当同一背景下出现多种磨粒时,系统无法识别多种磨粒。目前对于OLVF在线磨粒图像的多目标磨粒识别问题仍面临挑战。
随着深度学习技术的发展,在目标检测方面基于R-CNN算法的两阶段检测,如R-CNN[8]、Fast-RCNN[9]、Faster-RCNN[10]等发展迅速,这类算法准确度高,但检测时间长,无法达到实时检测。近年来,以yolo、SSD[11]等算法为代表的单阶段检测方法发展迅速,与两阶段检测算法相比,这类算法检测速度很快,可实现在线实时检测。
为了实现在线可视铁谱图像磨粒多目标实时检测与识别,本文作者提出基于yolov5在线可视铁谱图像磨粒多目标识别方法,实现了在复杂环境下多目标、多类型的磨粒识别,研究表明该方法的准确率基本满足油液在线监测需求。
1 yolo算法
yolo算法[12]首先会将一张图像分为S*S个网格单元,每个单元格负责检测目标,如果某个目标的中心落到网格中,那么这个网格单元就会对该目标进行预测。每个网格需要预测B个边界框,每个边界框又需要回归到其自身坐标和尺寸(x,y,w,h)以及预测一个置信度值,置信度的定义公式见式(1)。
(1)
这个置信度包含两个方面,一是边界框含有检测目标的置信度,二是边界框的准确度。若该边界框中不包含目标,则Pr(object)=0,若包含检测目标,则Pr(object)=1,另外,每个单元格还需要预测出C个类别概率值,这个类别概率值是指网格单元预测的边界框中的目标属于各个类别的概率,记为Pr(classi),各个边界框的类别置信度公式见式(2)。
(2)
最后得到S*S*(B*5+C)列的输出张量,对边界框进行阈值过滤,并对保留的边界框进行非极大值抑制(Non-Maximum Suppression,NMS)处理,去掉重叠的边界框,从而得到最终的目标检测结果。
yolov5网络由3个主要组件组成:
(1)Backbone:在不同图像细粒度上聚合并形成图像特征的卷积神经网络。
(2)Neck:一系列混合和组合图像特征的网络层,并将图像特征传递到预测层。
(3)Prediction:对图像特征进行预测,生成边界框并预测类别。yolov5算法结构示意图如图1所示。
图1 yolov5结构示意Fig.1 Schematic of yolov5 structure
1.1 跨阶段局部网络(CSPnet)
在yolov5中设计了两种CSPnet[13](Cross Stage Paritial Network)结构,一种用于Backbone主干网络,一种用于Neck网络中。CSP模块由局部密集块和局部过渡层组成。在局部密集块中,首先通过通道x0=[x′0,x″0]将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,将梯度变化集成到特征图中,然后输出xU。CSP模块的前馈传递和权重更新方程如公式(3)和公式(4)所示。
(3)
(4)
式中:*表示卷积算子;[x0,x1,…]表示将x0,x1,…连接,并且wi和xi为连接到第i个密集块的权重和输出,fi是第i个密集块权重更新的函数,而gi表示传播到第i个密集块的梯度。
CSPnet通过拆分合并的策略,增加了梯度路径的数量,而且平衡了各层的计算,大大减少了计算量,同时增强了网络的学习能力,保证了准确性。
1.2 空间金字塔池化模块
空间金字塔池化(Spatial Pyramid Pooling,SPP)是SPPNet[14]提出用来解决全连接层固定输出的问题。yolov5网络的backbone组件中添加SPP模块,采用滑窗方式对输入的特征图像进行处理,每个层级都具有不同大小的步长和池化层来实现,从而通过对不同尺度的磨粒特征使用多个卷积和进行最大池化,再将最大池化后的特征图进行扩充,最终得到统一大小的特征图,SPPNet模块计算如公式(5)所示。
(5)
式中:Kh表示卷积核的高度;Sh表示高度方向的步长;Ph表示高度方向的填充数量;ceil表示向上取整;floor表示向下取整;hnew表示最后得到新的特征向量的高度。
特征向量的宽度以同样方式进行计算。最终得到固定大小的特征图,输入全连接层,从而解决了磨粒尺寸等特征不一致的问题,从一定程度上缓解了目标多尺度的问题。SPP模块结构如图2所示。
图2 SPP结构示意Fig.2 Schematic of SPP structure
1.3 特征金字塔网络
在yolov5的neck部分中,FPN[15](Feature Pyramid Network)与PAN[16](Path Aggregation Network)是其重要组成部分,在FPN层的后面添加了一个自底向上的特征金字塔网络,其结构组成如图3所示。FPN层自顶向下传达语义特征,而特征金字塔自底向上传达强定位特征,从不同的主干层对不同的检测层进行参数聚合,进一步增强了特征融合与特征传递,这对多尺寸目标分割与识别具有重要意义。
图3 FPN+PAN结构示意Fig.3 Schematic of FPN+PAN structure
1.4 边界框预测
目标检测中想要将检测到的目标框出,就需要通过对预测边界框所在位置的数据进行预测,从而产生出交并比(IOU)这个目标检测中的重要概念,即为目标预测框与真实框交集与并集的比值。而GIOU中增加了一个能够同时框住真实框与预测框的最小的框,从而解决了无法衡量预测框与真实框两者距离的问题。yolov5中采用GIOU_Loss作为边界框预测的损失函数。损失函数计算公式见式(6)。
(6)
2 实验及数据采集
2.1 数据集采集
为了获取实验数据,开展了全寿命周期齿轮磨损加速实验。试验在自制的试验台开展,如图4所示。该平台由齿轮试验台、振动加速度传感器、便携式油液分析仪及数据采集软件构成。实验持续进行约240 h。利用在线油液分析仪采集油液磨粒信息数据,收集了齿轮从磨合期、正常磨损期,到异常磨损的全寿命过程中油液磨粒信息视频数据,共计5 460组。
图4 构建的采集系统Fig.4 The constructed acquisition system
将采集到的磨粒视频数据,按帧提取为磨粒图像数据,并选出500张磨粒图片,利用标注工具对磨粒图像进行标注,并整理成COCO数据集格式。根据磨粒的形态、纹理、大小等特征,将齿轮磨损磨粒分为以下6类:
(1)正常磨粒。正常磨粒尺寸较小,成薄片状。正常磨粒是齿轮箱正常滑动磨损产生的磨损颗粒,对齿轮箱几乎没有影响。
(2)切削磨粒。切削磨粒呈细长状,切削磨粒类似于车床加工的切屑,通常是齿轮摩擦表面或润滑油中存在硬质物质导致,此时需要对润滑油进行更换。
(3)球形磨粒。球形磨粒呈圆球状,通常是由于轴承滚动疲劳磨损导致,当出现球形磨粒时,需要重视齿轮箱的磨损情况。
(4)疲劳磨损磨粒。疲劳磨粒呈片状,尺寸较大,表面光滑,该磨粒大量出现表示齿轮已经出现故障,需要停机检修。
(5)滑动磨损磨粒。滑动磨粒尺寸较大,表面光亮且有划痕,该磨粒出现较多时,需要对齿轮箱进一步检查。
(6)氧化磨损磨粒。氧化物磨粒呈黑色颗粒,当出现大量该磨粒时,表明齿轮箱腐蚀严重,需要对润滑油进行补充或更换。
图5所示为6类磨粒代表性图像。
2.2 模型训练
yolov5具有4种不同深度的模型,分别为yolov5s、yolov5m、yolov5l、yolov5x,4种模型的网络深度依次加深,从而使得模型训练速度依次减慢,并且模型权重文件依次增大。为了保证训练速度不会过慢,同时模型权重文件也不会过大,文中选用yolov5l模型作为训练模型,与yolov3网络以及FasterR_CNN网络进行对比,测试3种目标检测算法的磨粒识别能力。
文中以Pytorch作为深度学习框架建立yolov5l模型,利用阿里云平台作为硬件基础进行训练,其中批样本数Batch size为32,周期epoch为250,学习率为0.000 1。制作好的磨粒图像数据集中,70%磨粒图像划分为训练集,30%磨粒图像划分为测试集,基于训练集和验证集齿轮箱磨损磨粒图像对深度神经网络yolov5l进行训练,选用随机梯度下降算法(SGD)作为优化器,用来更新优化模型参数,模型训练完成后,利用测试集来对模型进行评估。
yolov5l模型的Loss函数为
L=Lbox+Lcls+Lobj
(7)
将训练过程中的损失函数值的变化过程进行可视化,如图6所示,在进行250个epoch迭代之后,yolov5l模型损失值趋于稳定。
图6 训练损失函数值Fig.6 Training loss function value:(a)box; (b)objectness;(c)classification
2.3 模型结果及分析
在目标检测中,平均精度(AP)是目标检测模型中最重要的评价指标。平均精度(AP)为单个类别在不同召回率(Recall)下精确率(Precision)的平均值。AP值越高,表明模型对目标的识别精度与定位精度越好,误分率越低。文中采用IOU阈值为0.5的6种磨损磨粒的平均精度作为评价指标,并且为了对比模型的有效性,训练后采用测试集检验磨损磨粒的识别准确率,分别验证FasterR_CNN模型、yolov3模型和yolov5l模型,验证结果如表1所示。yolov5l模型对正常磨损磨粒和切削磨损磨粒等尺寸较小磨粒的识别效果相差不大,但对球形磨粒、滑动磨损磨粒及氧化磨损磨粒的识别平均精度值最高,具有很高的准确性。
表1 3种模型对6种磨粒平均识别精度比较Table 1 Comparison of average recognition accuracy of six kinds of wear particles by three models
为了将模型识别效果可视化,选取6张磨粒图像作为示例,将图像传入训练完成的FasterR_CNN模型、yolov3模型和yolov5l模型中进行了磨损磨粒识别。从预测速度方面来看,FasterR_CNN的预测速度只有40 fps(每秒传输帧数),无法满足实时磨粒识别;yolov3的预测速度为120 fps,满足实时磨粒识别的要求,但准确率较差;yolov5l模型的预测速度可达140 fps,其预测在满足实时磨粒识别的要求且准确率较高。深度神经网络模型yolov5l对6张磨粒图像的识别结果如图7所示。
图7 yolov5l模型识别结果Fig.7 The recognition results of yolov5l model
从表1给出的精确度及图7给出的识别结果可以看出:深度神经网络yolov5模型对尺寸较大或适中的疲劳磨损磨粒、滑动磨损磨粒及氧化磨损磨粒具有很好的分类和识别效果。但对尺寸较小的正常磨损磨粒识别平均精度较低,故而存在漏识别和错误识别,但正常磨粒对磨损评估影响不大。
文中使用的yolov5模型,可以通过网络改进和不断增加训练样本来进一步提高模型的准确率,也可以通过调整摄像头倍数,从而使更多的磨粒特征显现,从而有效地提高模型磨粒识别的可靠性。
3 结论
(1)基于yolov5网络模型对复杂油液环境下的异常磨损磨粒进行分割与识别,结果显示该模型可以在磨粒背景复杂情况下,实现多目标多尺度磨粒同时识别,且速度可达到实时识别的要求。
(2)yolov5算法模型对于异常磨损磨粒具有很高的准确率,测试集的平均精度能够达到77.6%,具有强鲁棒性和泛化能力,但对于小尺寸的磨损磨粒识别仍有很大提升空间。在今后的工作中,将通过增大磨粒图像数据集和进一步优化模型结构来解决这一问题。