孙国栋,杨 雄,黄得龙,高 媛
(1.湖北工业大学机械工程学院,武汉 430068;2.湖北省包装装备工程技术研究中心,武汉 430068)
在现代工业中,先进的状态监测和故障诊断技术,能及早发现设备的故障,避免事故的发生。由于旋转机械应用广泛,因此研究其先进的故障诊断算法非常有必要。近年来,数据驱动的故障诊断方法不断发展,需要大量的历史数据来建立诊断系统的故障模型。虽然传感技术的发展和普及使人们从故障的零部件中获得海量数据[1]不再是一项挑战,但直接看这些数据很难区分同一机械部件的故障类型。因此,如何从海量数据中有效提取特征,准确识别故障类型和故障严重程度是一个棘手的问题。
由于振动信号含有丰富的信息,因此他们在故障诊断中得到了广泛的应用。为了从振动信号中提取有用的特征并识别故障类型,人们进行了广泛而多样的尝试,主要分为三大类:时域分析、频域分析和时频分析[2]。许多研究者通过以上三种方法获取样本的统计特征,然后利用专业知识和相关经验[3-4]来识别故障类型。然而,这些诊断结果在很大程度上依赖于专家的先验知识,这就使得诊断结果夹杂了过多人为因素。
随着CNN 的高速发展,研究人员在LeNet-5 网络的基础上提出了一些新的CNN 结构,如AlexNet将第二层中的卷积窗口形状减小到5×5,此外,第一、第二和第五个卷积层之后都使用了窗口形状为3×3、步幅为2的最大池化层,而且AlexNet使用的卷积通道数也是LeNet 中的卷积通道的数十倍,这增加了很大的计算量。VGGNet[5]使用多个较小卷积核(3×3)的卷积层代替一个卷积核较大的卷积层,一方面可以减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力。ⅠnceptionV1~V4 系列[6-9]借鉴了NⅠN 的设计思路,用于增加网络的深度和宽度,提高神经网络性能。ResNetV1~V2 系列[10-11]将Ⅰnception 架构和残差连接(Residual)结合起来。并通过实验证实了,结合残差连接可以显著加速Ⅰnception 的训练。MobileNetV1~V3 系列[12-14]的深度分离卷积方法可以大大提升运算速度,减少计算量和参数量。同时,由于卷积核尺寸对提升模型精度与效率也有很大影响,因此,在提取特征时,仅采用单尺度卷积核提取特征存在着局限性。CNN 模型不仅需要大尺寸的卷积核捕获高分辨率特征图,同时还需要小尺寸的卷积核捕获低分辨率的特征图,以获得更高的精度和效率。为了从原始信号中挖掘隐藏的故障特征,结合上述两个想法,设计一种浅层Ⅰnception-MobileNet 模型,在前期采用Ⅰnception 模块,提取输入层中不同分辨率的特征图,然后将其串联起来,再进行深度可分离卷积,实现特征学习与分类。
对于振动信号的故障诊断,大多数学者起初是借助信号处理技术对原始振动信号进行预处理,以提取原始信号中隐含的可以区分不同类别之间细微差异的故障特征。然而,这一操作一方面需要一定的理论基础。另一方面引入了过多的人为因素。因此,为了避免人工经验对故障诊断的影响,随后出现了一些利用卷积神经网络对原始数据进行特征提取及识别的方法。一般有两种方法,第一种方法是利用一维卷积神经网络对原始数据进行特征学习及分类[15],但所设计的一般是深度卷积神经网络,模型比较复杂;第二种方法是将原始数据拼接成二维矩阵[16],并将二维矩阵转换为图像,该方法比较简单,且结合的卷积神经网络比较容易实现。
将原始数据转化为图像的具体方法为:假设获取的振动信号数据为序列S,拼接矩阵M的大小为m×m,那么每次从序列S中截取的样本信号长度为m2,其中m2大于等于振动信号周期长度。然后将样本信号按照顺序填充的方式组成拼接矩阵M,具体操作如图1所示。
为了将拼接矩阵转换为图像,对拼接矩阵M标准化到0~255之间,标准化公式如下:
Ⅰnception模块提出的目的是解决如何在有限的计算资源内,进一步提升网络的性能。一般地,提升网络性能最直接的方法是增加网络的深度和宽度,即网络的层数和每层的通道数。但是,当深度和宽度不断增加的同时,需要学习到的参数也在不断增加,容易发生过拟合。其次是均匀地增加网络的大小,会导致计算量的加大。
因此,为解决以上问题,提出了Ⅰnception 结构,如图2所示,既能保持滤波器级别的稀疏特性,又能充分密集矩阵的高计算性能。Ⅰnception模块的核心思想就是将不同的卷积层通过并联的方式结合在一起,经过不同卷积层处理的结果矩阵在深度这个维度拼接起来,形成一个更深的矩阵。Ⅰnception 模块可以反复叠堆形成更大的网络,它可以对网络的深度和宽度进行高效地扩充,在提升深度学习网络准确率的同时防止过拟合现象的发生。Ⅰnception模块的优点是可以对尺寸较大的矩阵先进行降维处理的同时,在不同尺寸上对视觉信息进行聚合,方便从不同尺度对特征进行提取。
图2 Ⅰnception模块A
Ⅰnception模块A使用不同尺度的卷积核提取上一层的特征,这些卷积核的数量也不相同,经过卷积操作后,得到了一些“簇”,之后将卷积操作得到的特征图在深度方向进行串联拼接,构建出高效的稀疏结构。由于堆叠了多次Ⅰnception 模块后,会因为大量5×5 卷积的存在而导致计算量的增加,所以在进行5×5卷积,甚至3×3卷积前,必须先进行降维,降维使用的核大小是1×1 的卷积,从而得到了Ⅰnception模块B,如图3所示。
图3 Ⅰnception模块B
从图3可以看出,Ⅰnception模块B同样具有四个分支。第一分支对输入进行1×1 的卷积,用于跨通道组织信息以及对输入通道进行降维,提高网络的表达能力。第二分支先使用1×1卷积,然后连接3×3卷积,相当于进行了两次特征变换。第三分支先进行1×1的卷积,然后连接5×5卷积。最后一个分支则是3×3最大池化后,再直接使用1×1卷积。最后,所有的分支通过一个串联操作进行合并。
MobileNet是一种适合移动端运行的网络结构,其在图像分类、目标检测及图像分割等领域有着巨大的优势。对于卷积核大于1 的卷积计算,MobileNet采用深度可分离卷积,把卷积核为k×k的卷积拆分为两步。第一步采用逐通道卷积(Depthwise Convolution),按通道维度执行卷积核为k×k的卷积计算,如图4所示。第二步采用逐点卷积(Pointwise Convolution),如图5所示。MobileNet使用深度可分离卷积替换普通卷积,与传统算法相比,具有显著优势。对于大卷积核计算卷积部分,其通道维数不变,使得计算量和参数数量大大压缩;对于通道变换部分,其使用小卷积核计算卷积,将计算量和参数数量压缩到极致。
图4 逐通道卷积
图5 逐点卷积
假设输入特征图的大小为Din×Din×M,Din是输入特征图的宽度和高度,这里假定两者相同,M是指输入特征图的通道数;而输出特征图的大小是Dout×Dout×N,Dout是输出特征图的宽度和高度,N是指输出特征图的通道数。若卷积核大小为DK×DK,则通过普通卷积后,其计算如式(2)所示:
而对于逐通道卷积,其计算如式(3)所示:
对于逐点卷积,其计算如式(4)所示:
因此,深度可分离卷积的总计算如式(5)所示:
由此,深度可分离卷积的计算量和普通卷积计算量之比为:
如式(6)所示,若采用3×3 的卷积核,则深度可分离卷积的计算量比普通卷积的计算量至少小8~9倍。
为了排除人工经验对特征提取的干扰,提高卷积神经网络的特征学习能力,实现端到端的滚动轴承故障诊断,本文提出一种浅层Ⅰnception-MobileNet网络模型。在提出该模型之前,首先设计一种浅层MobileNet 网络模型。由于获取的不同机械部件的振动信号周期不一样,所以对于网络的输入尺寸进行规定,大小为32×32。对于模型中的深度可分离卷积核大小及深度,参考MobileNet-V1,因此取名为浅层MobileNet,其网络结构如图6 所示。其中,conv2d_0 为普通卷积操作,conv2d_1~conv2d_6 为深度可分离卷积操作,其卷积核大小、池化大小及深度如图6所示。
图6 浅层MobileNet网络模型
然而,深度可分离卷积结构中的卷积核尺寸比较单一。为了增强网络的特征提取能力,设计一种能够提取全面特征的网络模型,将Ⅰnception 模块加入到了浅层MobileNet网络中,利用多尺度卷积核提取特征,以提高模型的准确性和效率。为了方便与浅层MobileNet网络做比较,我们用Ⅰnception模块替换浅层MobileNet网络中的深度可分离卷积层,取名为浅层Ⅰnception-MobileNet。本文主要讨论两种结构的浅层Ⅰnception-MobileNet,一种是只使用一个Ⅰnception 模块替换一层深度可分离卷积层,取名为浅层Ⅰnception-MobileNet-A,其中conv2d_0 为普通卷积层,conv2d_1~conv2d_5为深度可分离卷积层,其网络结构如图7 所示;另一种是使用两个Ⅰnception模块分别替换一层普通卷积和一层深度可分离卷积层,取名为浅层Ⅰnception-MobileNet-B,其中conv2d_0~conv2d_5 为深度可分离卷积层,其网络结构如图8 所示。为选取合适的网络结构,将在第3.3节对这三种网络进行讨论。
图7 浅层Ⅰnception-MobileNet-A网络模型
图8 浅层Ⅰnception-MobileNet-B网络结构
为验证所提方法的可行性和有效性,分别在两个滚动轴承数据集上进行了故障诊断实验。首先,对数据集进行信号采样,并通过拼接法获取相同大小的二维图像。然后,通过CWRU数据集测试所设计的浅层Ⅰnception-MobileNet 网络模型,找出最优模型以实现无手工特征影响的滚动轴承的故障诊断,并与其他卷积神经网络的测试结果进行比较。最后,通过MFPT 数据集验证该模型的优越性和鲁棒性。所有实验均在Windows7、Ⅰntel Xeon E5-2640@2.40 GHz CPU、64 GB RAM、Python 3.5 和Tensorflow条件下进行。
本文使用两个数据集对所提的方法进行验证。CWRU 数据集来自凯斯西储大学轴承数据中心(CWRU)[17],实验中使用一台2马力的电机来采集驱动端和风扇端轴承上的加速度计数据。测试轴承由电火花加工而成,型号为6205-2RS JEM SKF。将加速度计放置在驱动端附近,设置采样频率为12 kHz,轴承在四种不同电机载荷(0、1、2、3)HP、四种不同故障位置(正常工况、内圈故障、滚动体故障和外圈故障)、三种不同故障程度(0.007、0.014、0.021)inch分别表示故障程度为轻度、中度、重度下进行测试,类别划分见表1。
表1 CWRU数据集
MFPT 数据集由机械故障预防技术协会(MFPT)提供[18],试验台装有NⅠCE轴承,总共追踪了三个基线条件、七组外圈故障条件和七组内圈故障条件。其中,三组基线数据是在采样频率为97 656 Hz 和负载为2 70l lbs 的条件下采集的;七组外圈故障是在采样频率为48 828 Hz,负载分别为25 lbs、50 lbs、100 lbs、150 lbs、200 lbs、250 lbs、3 00l lbs的条件下采集的;七组内圈故障是在频率为48 828 Hz,负载分别为0、50 lbs、100 lbs、150 lbs、200 lbs、250 lbs、3 00l lbs的条件下采集的。类别划分见表2所示。
表2 MFPT数据集
对于CWRU数据集,其样本信号的采样过程如图9 所示。其中,采样长度为1 024,位移量为500,每类故障类型的每种工况条件下采取了240个样本信号,每类故障类型包含四种工况,故每类故障类型的样本信号有960 个,有十种故障类型,因此,CWRU 数据集总共有9 600 个样本信号。其中用于训练模型的样本信号有6 000 个,剩下的3 600 个样本信号用于测试。为测试该模型的稳定性,将测试集划分为三个等级:等级Ⅰ包含1 200个测试样本;等级Ⅱ包含2 400个测试样本;等级Ⅲ包含3 600个测试样本。等级越高,说明测试集的样本数越多。十种故障类型的拼接图如图10所示。
图9 重叠采样过程图
图10 CWRU 中滚动轴承十种状态的拼接图
对于MFPT 数据集,其样本信号的采样过程与CWRU 数据集相同。其中,采样长度为5 120,位移量为2 000,每类故障类型有495个样本,有三种故障类型,因此,MFPT数据集总共有1 485个样本信号。为避免特殊性和偶然性,从每个类型中随机抽取345个样本进行训练,剩下的150 个样本进行测试。三种故障类型的拼接图如图11所示。
图11 MFPT中滚动轴承三种状态的拼接图
为寻找合适的浅层Ⅰnception-MobileNet 网络,本节将用浅层MobileNet 网络、浅层Ⅰnception-MobileNet-A 网络及浅层Ⅰnception-MobileNet-B 网络分别对CWRU数据集进行训练及测试,在进行三种不同网络的实验过程中,除了输入训练的网络结构更换之外,其他参数均相同。另外,为体现出所设计的浅层混合深度可分离卷积神经网络结构的优越性及有效性,通过控制变量法,将CWRU 数据集分别在LeNet-5及ResNet-110网络上进行训练及测试,并将最后测试结果与所设计的网络进行比较。
表3显示了不同网络结构在CWRU数据集的不同等级测试集上的分类精度。可见,LeNet-5 与ResNet-110网络结构在CWRU数据集的不同等级测试集上的分类结果均低于浅层Ⅰnception-MobileNet网络系列。针对输入数据为原始信号时,所设计的浅层Ⅰnception-MobileNet 网络系列具有较强的特征提取能力,比其他网络结构更全面地提取出不同故障类别之间的敏感特征,使得分类更加容易。
如表3所示,浅层Ⅰnception-MobileNet-A在每个测试等级上的分类精度都高于浅层MobileNet,说明Ⅰnception模块的加入有利于提高网络的特征提取能力。浅层Ⅰnception-MobileNet-A 在每个测试等级上的分类精度都高于浅层Ⅰnception-MobileNet-B,说明用Ⅰnception模块替换普通卷积实现特征提取效果不明显,反而使得网络结构比较复杂。综上所述,浅层Ⅰnception-MobileNet-A网络结构的分类效果最好。
表3 不同网络结构在CWRU数据集上不同等级的测试结果
除了网络之间的比较外,还需要对网络本身的参数进行调整及优化,其中,主要讨论的参数是在训练时输入模型中的样本批量大小。由于上节已确定了合适的网络结构,因此,用该网络结构在MFPT数据集和数据集上进行实验。
在网络训练过程中,采用的是随机批量训练方法。为了寻找出合适的批量大小,控制其他参数不变,均匀地设置不同的批量参数进行网络训练,并用CWRU数据集中不同等级的测试集对训练好的网络进行测试,以分类精度为衡量标准,测试结果如表4所示。可见,每次训练样本为100 时,测试效果最好。并且该模型在不同等级下的分类精度相近,说明小样本能够代替大样本,该模型很稳定。
表4 不同批量输入在CWRU数据集上不同等级的测试结果
同样地,将浅层Ⅰnception-MobileNet 应用到MFPT 数据集上,通过设置不同批量大小对模型进行训练与学习,实验结果表明,当每次输入到模型的样本为50 个时,可获得最好的诊断结果,诊断精度为95.78%。
目前,现有故障诊断算法主要有基于端到端和基于人工经验进行特征提取的故障诊断算法,基于端到端的典型模型包括拼接图+CNN[19]、一维信号+TⅠCNN[20]、拼接图+LeNet-5 和拼接图+ResNet-110等;基于手工特征提取的模型主要有CVSFF[21]和8WPE-MF+SVM[22]等。
本文提出的故障诊断算法是基于端到端的卷积神经网络,为验证所提出故障诊断算法的优越性及有效性,在CWRU 数据集上,不仅与现有端到端故障诊断算法进行了比较,还对比了现有的基于手工特征提取的故障诊断算法,相关数据如表5所示。
表5 与现有故障诊断算法的比较
通过比较可得,本文提出的故障诊断方案不但能解决四种混合负载下的十种故障状态的诊断问题,而且能实现高精度分类,分类精度为99.5%。比现有的故障诊断算法精度高、效果好。
本文提出了一种端到端的旋转机械故障诊断算法,利用拼接法将一维原始振动信号转换为二维拼接图,并设计了一种混合深度可分离卷积神经网络,即浅层Ⅰnception-MobileNet 网络。为寻找出合适的浅层Ⅰnception-MobileNet 网络结构,设计了浅层MobileNet、浅层Ⅰnception-MobileNet-A 及浅层Ⅰnception-MobileNet-B。并与LeNet-5及ResNet-110网络在相同数据集上进行比较,实验结果表明,浅层Ⅰnception-MobileNet 可识别的故障类型多达10 类,能够实现99.5%的分类精度。混合多尺度卷积核的特征提取能力优于单一卷积核,且在深度可分离卷积层的作用下减少了大量的参数数量。因此,所提出的基于浅层Ⅰnception-MobileNet 的旋转机械故障诊断算法具有一定的优越性。