基于BP_Adaboost神经网络的船舶桨叶故障预警模型*
2017-10-12吴劲松徐志京
吴劲松,徐志京
(上海海事大学 信息工程学院,上海 201306)
基于BP_Adaboost神经网络的船舶桨叶故障预警模型*
吴劲松,徐志京
(上海海事大学 信息工程学院,上海 201306)
为了提高船舶桨叶故障识别率,构建了一种基于BP_Adaboost神经网络的船舶桨叶故障预警模型。该模型首先采用数字水听器采集二进制船舶桨叶静水噪声信号,并利用MATLAB编程将二进制信号转换成WAV音频信号,通过梅尔频率倒谱系数法(Mel-Frequency Cepstral Coefficient, MFCC)提取特征值,得到36维桨叶静水噪声信号,最后运用BP_Adaboost神经网络进行分类识别预警。实验结果表明,基于BP_Adaboost神经网络的船舶桨叶故障预警模型能够高效分类预警船舶桨叶故障,与BP神经网络识别率对比,分类识别预警率高达96%。
船舶桨叶故障预警模型;数字水听器;MFCC;BP_Adaboost
Abstract: In order to improve the fault recognition rate of ship blades, a fault prediction model based on BP_Adaboost neural network is proposed in this paper. The model uses digital hydrophone acquisition to collect binary data of ship hydrostatic blade noise, and uses MATLAB to convert binary signal into WAV audio format. Then the model uses Mel-Frequency Cepstral Coefficient (MFCC) feature extraction method to extract features and gets the water noise signal in the 36 dimension, and finally uses BP_Adaboost neural network to classify and warn the fault of ship blades. The experimental result shows that the fault prediction model based on BP_Adaboost neural network can effectively classify and predict the failure of the ship blades compared with the BP neural network. The classification and recognition warning rate is as high as 96%.
Key words:ship blades faults warning model; digital hydrophone acquisition ;MFCC;BP_Adaboost
0 引言
船舶是重要的水上交通工具,螺旋桨是船舶将发动机力矩转换成动能的主要装置[1],主机输出转矩通过轴系带动螺旋桨旋转,螺旋桨产生的推力推动船舶航行。由于各种不同原因造成螺旋桨折断、缺损,桨叶故障会导致主机故障,严重影响了船舶的航行安全[2],因此研究船舶桨叶故障具有理论与现实意义。传统的船舶故障诊断法有四种:直接测量法、数字测量法、故障树分析法、专家诊断法[3]。近年来神经网络算法的兴起,为船舶桨叶故障预警提供了新的思路。相对于传统的船舶桨叶故障诊断法,神经网络能够及早分类识别预警船舶桨叶故障,为船舶故障诊断排除提供了可靠依据,对于船舶运输以及国防科研具有重要意义。本文提出了基于BP_Adaboost神经网络的船舶桨叶故障预警模型,采用数字水听器采集桨叶静水噪声,利用MFCC特征提取方法提取特征值,最后通过神经网络判断船舶桨叶的状态,具有良好的识别判断效果。
1 数据采集及转换部分
1.1 DHP8501数字水听器简介
该模型采用的是DHP8501数字水听器采集数据,DHP8501数字水听器是由中国科学院声学研究所研发的产品,可以采集、存储、传输水声信号,它具有放大调理电路,不需要前置放大器、滤波器和采集器,使用起来更加简单,具有出色的稳定性和抗干扰能力,而且具有本底噪声低、动态浮动范围大、采集数据精度高、提供绝对声压值和相对声压级等特点。其基本参数如表1表示。
表1 DHP8501数字水听器技术指标
1.2信号采集转换
DHP8501数字水听器采集的桨叶噪声信号以二进制的格式储存,由于二进制信号不利于进行滤波与特征提取,因此将二进制的信号转换为WAV格式信号。该模型采用MATLAB编程将二进制数信号换成WAV格式的信号,在编程方面调用wavwrite(y,Fs,filename)函数,其中y为噪声信号存储向量,Fs为存储信号的频率,filename为噪声信号文件名。
在该模型中共采集了3组桨叶噪声信号,噪声信号来源于船舶模型,该模型是双桨电力驱动船。采集噪声分为三类:双桨桨叶一组损坏,双桨桨叶完好,双桨桨叶全部损坏。为了采集数据需要,对部分螺旋桨叶进行人为损坏。
所有噪声信号均在静水池中采集,每组噪声信号持续50 s,噪声信号采集转换之后幅值图如图1~3所示,其中图1为双桨桨叶一组损坏噪声信号,图2双桨桨叶完好噪声信号,图3为双桨桨叶全部损坏噪声信号。
图1 双桨桨叶一组损坏信号
图2 双桨桨叶完好信号
图3 双桨桨叶全部损坏信号
2 MFCC特征值提取部分
2.1 MFCC
梅尔倒谱系数(Mel-Frequency Cepstral Coefficient,MFCC)模拟了人耳对语音的处理机制,应用了人耳听觉感知方面的研究成果,在有信道噪声和频谱失真的情况下具有较好的稳定性[4]。MFCC特征参数提取步骤如下:
(1)数据预处理。预处理有三步:预加重、分帧、加窗函数。为了补偿高频分量的损失进行预加重。预加重滤波器设为:
H(z)=1-az-1
(1)
其中a为常数,分帧是把一段信号分成更小段的稳态信号。为了减少频域中的泄露,对每一帧信号乘以一个汉明窗。x(n)经预处理之后成为xi(m),i为处理后的第i帧。
(2)快速傅里叶变换。对每一帧短时信号进行FFT变换,信号从时域变为频域:
X(i,k)=FFT(xi(m))
(2)
(3)计算谱线能量。对每一帧FFT后的信号计算谱线的能量:
E(i,k)=[Xi(k)]2
(3)
(4)计算梅尔滤波器的能量。把每一帧的能量谱E(i,k)(其中i表示第i帧,k表示第k条谱线)与梅尔滤波器的频域响应Hm(k)相乘并求和:
(4)
(5)
(6)
式中,S(i,m)是由公式(4)求出的梅尔滤波器能量,m是指第m个梅尔滤波器,i是指第i帧,n是DCT后的谱线。
2.2对桨叶噪声进行特征值提取
在该模型中,使用MFCC对三类噪声信号进行特征值提取,总共得到1 500组噪声信号特征值,每组信号500帧36维。第一类为双桨桨叶一组损坏信号,如图4所示;第二类为双桨桨叶完好信号,如图5所示;第三类为双桨桨叶全部损坏信号,如图6所示。从1 500组信号中随机选取1 200组作为训练数据,其余300组作为测试数据。
图4 双桨桨叶一组损坏信号
图5 双桨桨叶完好信号
图6 双桨桨叶全部损坏信号
3 船舶桨叶故障分类识别预警部分
3.1 BP_Adaboost模型原理
BP_Adaboost算法核心是:以一个弱分类器为基础,在此基础上叠加多个弱分类器成为一个强分类器,进而产生一个强有效分类[5]。主要步骤有三步:
(1)选定一种神经网络,把它作为弱分类器,并准备样本空间(x,y),在样本空间随机选取n组作为训练样本,每组权值为1/n。
(2)用弱分类器神经网络迭代T次,将完整迭代后的权值作为新的权值,在样本训练失败后,该样本将赋予更大的权值,反复迭代之后,得到一个分类函数序列f1,f2,…,fT。另外,在分类函数序列完成之后,都会有一个匹配的权重,大的权重将一直赋予分类结果好的分类函数。
(3)迭代T次之后,弱分类器加权产生一个强分类函数F。在本文中运用36个BP神经网络构成一个强分类网络即BP_Adaboost模型,将BP组反复训练,并预测其输出,在这过程中确定其权值阈值。
3.2船舶故障预警系统模型
基于BP_Adaboost神经网络的船舶桨叶故障预警模型流程图如图7所示。
图7 预警模型流程图
BP_Adaboost神经网络算法步骤如下[6]:
(1)数据选择和网络初始化。初始化测试数据的分布权值取决于选定样本的个数,假如选定样本数目为m,分布权值为Dt(i)=1/m,神经网络结构由样本的输入特征值的维数以及输出维数确定。
(2)弱分类器预测。对弱分类器进行循环训练,假如循环t次,将每一次的误差求和,得到预测训练序列g(t)的预测误差和et:
(7)
其中g(t)为分类预测结果,y为期望分类结果。
(3)计算预测序列权重。根据步骤(2)的误差和来计算序列权重。计算公式为:
(8)
(4)调整测试数据权重。将步骤(3)中的at代入到公式(9)中求得测试数据权重,Bt为归一化因子,公式为:
(9)
(5)强分类函数。强分类函数主函数为sign(x)函数,将循环T次计算得到的序列权重at和弱分类器函数f(gt,at)相乘并加权求和,代入sign(x)函数就得到强分类器函数h(x)。
(10)
对于该预警模型,有1 500组船舶桨叶静水噪声数据,每组输入为36维,输出为一维,代表船舶状况,输出数据中小于0时赋值为-1,表示船舶桨叶故障;大于0时赋值为1,表示船舶桨叶状况良好。根据输入输出状况,BP神经网络的结构为36-37-1,用BP神经网络作为弱分类器,将36个弱分类器通过加权得到一个强分类输出对船舶桨叶状况进行分类判别。
4 模型预测结果及分析
在该模型中,BP神经网络构成的弱分类器,经随机选取的1 200组训练样本训练后,调整训练样本权重值,得出一系列弱分类器及权重,并用训练好的弱分类器构成强分类器。为了消除BP神经网络初始化权值阈值的随机性,连续做了50次实验,结果如图8所示。可以看出强分类器误差率低于弱分类器,分类效果好,强分类器的分类误差率普遍分布在4%左右,弱分类器的分类误差率在6%左右。从实验中可以得出运行次数对分类器的误差率影响不大,体现了该模型的稳定性。
图8 试验次数对两种分类器误差率影响
在强分类器中有两种分类误差,把船舶指标正常的样本判断为不合格的错误叫第一类分类错误;把船舶指标不合格的样本判断为正常的错误叫第二类分类错误。图9为强分类器两类样本的分类情况,可以看出测试样本中强分类器的两类误差分布,第一类分类误差显然少于第二类分类误差,第一类分类错误数目为0,第二类分类错误数目为13。
图9 强分类器两类样本分类情况
5 结论
本文构建了一个船舶桨叶故障分类预警模型,首先,在数据采集与转换中,运用DHP8501数字水听器采集了3类船舶桨叶二进制噪声,通过数据转换,将二进制数据信号转换成较容易处理的WAV格式信号,克服了桨叶噪声处理的难题。然后,充分利用MFCC在提取特征值时识别和抗噪能力强的特征,对船舶桨叶故障噪声进行特征值提取,得到36维1 500组桨叶噪声信号,满足了神经网络训练分类的要求。最后,该模型充分利用了Adaboost神经网络的聚焦难分类样本和训练效果越好权重越大两个优点,在1 200组数据训练之后该模型将训练后的神经网络加权得到一个强分类器,经300组测试数据测试之后,取得了约96%的正确分类预警率。基于BP_Adaboost神经网络的船舶桨叶故障分类识别预警模型为船舶桨叶故障预警提供了新的思路与方法,具有较大的推广意义。
[1] 陈顺阳. 船舶螺旋桨故障原因的分析与探讨[J]. 山东工业技术,2015(8):251.
[2] 欧礼坚. 船舶螺旋桨及推进装置故障诊断关键技术研究与应用[D].广州:华南理工大学,2010.
[3] 姜莹, 任光, 贾宝柱. 船舶故障诊断的新发展[J]. 航海技术, 2004(1):40-42.
[4] 宫晓梅,王怀阳. 噪声环境下MFCC特征提取[J]. 微计算机信息,2007,23(22):247-249.
[5] 许剑,张洪伟. Adaboost算法分类器设计及其应用[J]. 四川理工学院学报(自然科学版),2014,27(1):28-31.
[6] 陆正华,周航.基于BP_Adaboost算法的上市公司财务预警研究[J].财会通讯,2013(23): 117-119.
Early ship fault warning model based on BP_Adaboost neural network
Wu Jinsong, Xu Zhijing
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
TP391.5
A
10.19358/j.issn.1674- 7720.2017.18.016
吴劲松,徐志京.基于BP_Adaboost神经网络的船舶桨叶故障预警模型[J].微型机与应用,2017,36(18):52-54,58.
国家自然科学基金(61404083)
2017-02-28)
吴劲松(1987-),男,硕士研究生,主要研究方向:港口无线通信与计算机测控,深度学习。
徐志京(1972-),男,工学博士,副教授,主要研究方向:无线通信,人工智能,深度学习。