舰船科学技术  2019, Vol. 41 Issue (9): 121-124   PDF    
基于隐马尔可夫模型的舰船水下噪声评估方法
吴毅斌, 翟春平, 张宇, 田作喜     
大连测控技术研究所,辽宁 大连 116013
摘要: 为通过舰船水下噪声评估及时发现舰船存在的异常,采用基于隐马尔可夫模型的评估方法。分别选取舰船正常状态下和异常状态下的水下噪声数据作为两类训练样本,送进隐马尔可夫模型进行训练,得到对应的模型参数;把待评估样本送进经过训练的两类隐马尔可夫模型进行概率估计,概率明显大的模型对应的状态,即为评估判断结果。选取202个数据样本进行试验,测试结果正确率超过95%,表明隐马尔可夫模型有较好的分类判断能力,可用于舰船水下噪声评估。
关键词: 水声工程     噪声评估     隐马尔可夫模型     梅尔频率倒谱系数    
Evaluation method of ship′s underwater noise based on HMM
WU Yi-bin, ZHAI Chun-ping, ZHANG Yu, TIAN Zuo-xi     
Dalian Scientific Test and Control Technology Institute, Dalian 116013, China
Abstract: In order to detect the abnormality of the ship in time by underwater noise assessment, the evaluation method based on Hidden Markov model (HMM) was adopted. The data of underwater noise under normal and abnormal conditions were selected as two kinds of training samples, which were sent to the hidden Markov model for training, and the corresponding model parameters were obtained. Those were the results to evaluate. A total of 202 samples of underwater noise data ship working conditions were tested. The results show that the HMM has a good ability of classification and judgment of underwater noise, and can be used to estimate the underwater noise of ships.
Key words: underwater acoustic engineering     evaluation of noise     hidden markov models     mel-frequency cepstral coefficients    
0 引 言

对舰船的水下噪声进行监测和评估,可及时发现异常状况,有针对性地指导舰船进行必要的检修和维护[1]。为方便对舰船的水下噪声进行监测和评估,通常在舰船进出港的航道上沉底布放测量传感器(水听器),将测量数据传输给岸上设备,对是否存在异常进行评估。关于异常,Hawkins给出了本质性定义[2]:异常是在数据集中与众不同的数据,使人怀疑这些数据并非随机偏差,而是产生于完全不同的机制。判断数据是正常还是异常,属于数据分类问题。本文采用基于隐马尔可夫模型的模式识别方法,对舰船水下噪声进行评估判断。

1 隐马尔可夫模型

隐马尔可夫模型在语音识别领域有着广泛的应用,在水声领域也有相应的应用,如管景崇等在文章中验证了隐马尔可夫模型在线谱跟踪技术中的有效性和稳定性[3]

1.1 基本特性

隐马尔可夫模型(HMM)是一种描述随机过程统计特性的概率模型,是由马尔可夫(Markov)链演变发展而来。与Markov链不同的是,HMM是一个双重随机过程,其中一个随机过程是具有有限状态的Markov链,描述状态的转移;另一个随机过程描述每个状态和观察值之间的统计对应关系(隐含参数)。观察者只能看到观察值,不能直接看到状态,而是通过一个随机过程去感知状态的存在及其特性。HMM根据观测信号的性质分为两类:连续隐马尔可夫模型和离散隐马尔可夫模型[4]

1.2 模型描述

HMM描述如下:

1)状态变量{q1q2,…,qn},其中qi表示第i个时刻的系统变量。状态变量通常是隐藏的,不可被观测的,也称为隐变量。设每个时刻有N种状态,则取值范围为{S1S2,…,SN};

2)观测变量{x1x2,…,xn},其中xi表示第i个时刻的观测值。观测值可以取连续值,也可以取离散值。每个时刻的观测值可能有M种情况,取值范围为{O1O2,…,OM};

3)HMM的结构,在任意t时刻,观测变量xt的取值仅依赖于状态变量qt,而qt仅依赖于t-1时刻的状态qt-1(马尔可夫性),基于这种依赖关系,所有变量的联合概率如下式:

$ P({x_1},{q_1},...,{x_n},{q_n}) = \prod\limits_{t = 1}^n {P({q_t})P({x_t}|{q_t})} \text{。} $ (1)

4)描述HMM的3组参数:

① 状态转移概率AA={aij}N×N,其中aij=Pqi+1=Sj|qi=Si),1≤ijN,即任意时刻t,若状态为Si,则下一状态为Sj的概率;

② 输出观测值概率BB={bjk}N×M,其中bjk=Pxi=Ok|qi=Sj),1≤iN,1≤kM,即任意时刻t,若状态为Sj,则观测值为Ok的概率;

③ 初始状态概率ππ=(π1π2,…,πi,…,πN),其中πi=Pq1=Si),1≤iN,即t=1时刻,状态取值的概率分布。

因此,一个HMM可简记为:λ=(πAB)。

1.3 主要应用

HMM主要解决三类基本问题:

1)评估问题:计算给定模型λ产生观测序列O的概率p{O|λ};

2)解码问题:对给定模型λ和观测序列O,求可能性最大的状态序列S

3)学习问题:对给定观测序列O,在最大似然度下学习得到模型λ=(πAB):max p{O|λ}。

一般实际应用问题可以归纳为以上三类基本问题之一或者问题的组合。HMM可实现对舰船的运行趋势进行预测,并且可以通过反映当前舰船状态信息的特征矢量代入训练好的HMM,经过模式匹配识别出舰船当前健康状态或者故障模式。

HMM作为一种信号动态时间序列统计模型,非常适合处理连续动态信号,具有坚实的理论基础,还具有学习功能和自适应能力,能够通过训练获取知识来监测系统的状态。但是HMM也有不足的地方:一是,HMM为一种模式识别方法,强调的是其分类能力,但缺乏对故障本身的描述信息,对模型的学习参数不能够完全恰当的解释;二是,HMM初始模型的选取仍是一个悬而未决的问题,仅是凭经验选取;三是,HMM对于隐藏状态的物理意义不能给出恰如其分的解释。

2 信号特征参数提取

舰船水下噪声信号是时域信号,其数据不能直接送进HMM进行处理,需要先对噪声数据进行分帧并提取特征参数,再进行VQ矢量量化,得到一串观察序列后再送进HMM进行处理。本文选取梅尔倒谱系数(Mel Frequency Cepstrum Coefficients,MFCC)作为特征参数,MFCC是受人的听觉系统研究成果推动而导出的声学特征,在一定程度上模拟了人耳对语音的处理特点,因此表现相对比较稳健,是语音识别中常用的特征参数[5],陆振波也证明了MFCC特征参数对于目标识别性能要好于AR特征参数[6]

MFCC本质是提取功率谱中低频部分的包络特征,其提取流程如图1所示[7]

图 1 MFCC特征参数提取 Fig. 1 MFCC feature parameter extraction
3 训练和评估

利用HMM进行训练和评估时,必须输入一串可观测序列,以下称特征序列。需要先对舰船水下噪声信号数据进行一系列的变换,其步骤如下:

分帧:将一段时长的舰船水下噪声信号数据分成若干帧,分帧主要是为了后面构造一串特征序列,所分的帧数越多,对应的特征序列越长,原始信号如图2所示。

图 2 原始信号 Fig. 2 Original signal

提取MFCC:对每帧信号数据提取一个24维的MFCC特征向量,其中某一帧的MFCC如图3所示。

图 3 某一帧的MFCC Fig. 3 MFCC of a frame

VQ矢量量化:把一个多维特征向量看成是多维特征空间里的一个点,将特征空间分成若干块相互独立的子空间,给每块子空间定义一个字符,用这个字符来代表这个特征向量,所有帧的字符构成了一串特征序列,如下式:

$\begin{split} \;\;\;{seq}=5344222255222452555554425\\ 55245446652553352225422\text{。} \end{split}$ (2)

训练时,将舰船正常状态数据样本对应的特征序列送进HMM进行学习,得到正常状态对应的模型参数(A1B1);将舰船异常状态数据样本对应的特征序列送进HMM进行学习,得到异常状态对应的模型参数(A2B2)。训练完毕后,将得到的正常状态和异常状态对应的模型作为评估模型,对待评估的舰船水下噪声信号数据进行评估,训练流程如图4所示。

图 4 HMM训练 Fig. 4 HMM training

评估时,先将待评估的数据样本变换成一串特征序列,再分别用正常状态和异常状态对应的模型来评估2种状态发生的概率,概率明显大的,说明数据样本更符合这个模型对应的状态,该状态即为评估判断结果,评估流程如图5所示。

图 5 HMM估计 Fig. 5 HMM estimation
4 算法实现中遇到的问题及解决方法 4.1 参数模型的初始化问题

训练模型λ=(πAB)时,需要初始条件,包括初始隐含状态的概率矩阵π、初始隐含状态的转移概率矩阵A、输出概率矩阵B。一般取6个隐含状态就满足分类识别需求,研究表明HMM状态数并非越多越好,随着状态数的增加,附加熵逐渐趋于零,从而导致HMM的信息熵逐渐趋于固有值[8]。由于训练需要多次迭代,AB每次都会更新,故而AB的初始条件对结果影响不太大,但合适的初始条件有利于在训练AB时更快地收敛,另外AB的初始条件要符合概率性质,即是概率矩阵每行元素的概率之和必须为1。

4.2 样本数量偏少问题

HMM参数的训练取决于样本数量,样本数量越多,训练得到的结果越准确,但计算量也随之增加。由于实际应用时,有时样本获取存在困难,故而当样本数量过少时,会出现训练得出的输出概率矩阵B的某个元素为0,这非常不利于机器运算,因为算法中会出现“0×lg(0)”的情况,由于这个值不收敛,所以机器计算某序列的概率时会返回“NaN”的结果,这不利于概率比较并输出识别判断结果。为了解决这个问题,在符合概率性质的前提下,可以赋予B中那些为0的元素一个极小值,例如0.000 1,这样可以避免结果出现“NaN”的情况,从而避免识别判断失败。

5 试验结果 5.1 试验方案

试验需要舰船水下噪声正常状态数据样本和异常状态数据样本,正常状态数据样本比较容易获取,而异常状态数据样本则极难获取。本试验选择舰船2种不同工况下获取的水下噪声数据样本分别代表正常状态数据样本和异常状态数据样本,先从中选取训练样本对HMM参数进行训练,然后再从中选取测试样本进行分类测试,以验证该算法是否适用于舰船水下噪声状况评估(分类)。针对2种工况中的每种工况,选取101个数据样本,其中1个样本作为训练样本(时长10 s),另外100个样本作为测试样本(时长2 s)。

5.2 训练

首先对训练数据样本进行预处理,包括端点自动识别、归一化和滤波等,处理后得到的仍然是10 s的时域噪声数据。然后对数据样本进行分帧,每帧长为60 ms,帧间重叠30 ms,则10 s的数据可拆分为332帧数据。对每一帧数据提取MFCC特征,得到一个24维的特征向量,总共得到332个24维的特征向量。对这332个特征向量进行矢量量化,把其看成是24维特征空间里的332个点,按照最邻近法对特征空间进行子空间划分,每个子空间用一个字符来表示,这样每个特征向量就用对应的字符来表示,得到332个字符的特征序列。该序列送入HMM进行训练,得到对应的模型参数。利用2种工况的训练数据样本分别对HMM进行训练,得到2种工况对应的模型参数。

5.3 评估及结果

将测试数据样本按照与训练数据样本相同的方法进行预处理、分帧、MFCC特征提取和矢量量化,得到一串特征序列,利用已训练好的2种工况对应的HMM参数来对待测试的特征序列进行最大似然评估,得到概率值,大概率对应的HMM为最佳匹配模型,其对应的工况即为评估判断结果。利用2种工况的测试数据样本各100个,分别送进2种工况对应的HMM进行评估判断,每种工况对100个测试样本的判断正确率均超过95%,结果如表1图6所示。

表 1 两种工况的识别结果 Tab.1 The recognition results under two conditions

图 6 两种工况的识别结果 Fig. 6 The recognition results under two conditions
6 结 语

本文将基于隐马尔可夫模型的模式识别方法应用于对舰船水下噪声进行评估判断。利用舰船在2种不同工况下获取的水下噪声数据样本进行试验,结果表明,舰船水下噪声提取MFCC特征后对HMM进行训练,再利用HMM进行评估判断效果很好。进一步增加训练样本的数量和测试样本的时间长度,可以在一定程度上提高判断的正确率,但对应的计算量也随之加大。MFCC和HMM相结合的分类方法,在语音识别领域有着非常广泛的应用,本文研究结果表明该方法也可以应用于舰船水下噪声状况评估。近年来发展起来的深度学习算法,在噪声处理和特征提取方面有着更优越的性能,已应用于水中目标识别、去噪和去混响等[911],该算法也适用于舰船水下噪声状况评估,正在进行相关研究。

参考文献
[1]
汤晓迪, 程一超. 外军舰船声磁监测主要做法及启示[J]. 船舶电子工程, 2016, 267(9): 14-17.
[2]
HAWKINS D. Identification of Outliers[M]. Chapman and Hall, London, 1980.
[3]
管景崇, 胡金华. 基于隐马尔可夫模型的线谱跟踪技术[J]. 舰船科学技术, 2014, 36(5): 110-115.
GUAN Jing-chong, HU Jin-hua. Line spectrum tracking technology based on Hidden Markov model[J]. Ship Science and Technology, 2014, 36(5): 110-115. DOI:10.3404/j.issn.1672-7649.2014.05.023
[4]
上海航空测控技术研究所. 航空故障诊断与健康管理技术[M]. 北京: 航空工业出版社, 2013: 239-240.
[5]
许丽红, 余小清, 万旺根. 基于HMM算法的语音识别系统设计及其混合编程实现[J]. 计算机工程, 2002, 28(5): 139.
XU Li-hong, YU Xiao-qing, WAN Wang-gen. Speech recognitionstudy based on MFCC and CDHMM and its realization using a mixed program method[J]. Computer Engineering, 2002, 28(5): 139. DOI:10.3321/j.issn:1002-8331.2002.05.049
[6]
陆振波, 章新华, 朱进. 基于MFCC的舰船辐射噪声特征提取[J]. 舰船科学技术, 2004(2): 51-54.
LU Zhen-bo, ZHANG Xin-hua, ZHU Jin. Feature extraction of ship radiated noise based on MFCC[J]. Ship Science and Technolog, 2004(2): 51-54.
[7]
张帅林. 基于HMM的关键词语音识别技术在智能家居中的应用研究[D]. 兰州, 兰州大学, 2017.
[8]
张杰, 黄志同, 王晓兰. 语音识别中隐马尔可夫模型状态数的选取原则及研究[J]. 计算机工程与应用, 2000(1): 67-69, 133. DOI:10.3321/j.issn:1002-8331.2000.01.023
[9]
王强. 深度学习方法及其在水下目标识别中的应用[A]. 中国声学学会水声学分会. 中国声学学会水声学分会2015年学术会议论文集[C]//中国声学学会, 2015: 3.
WANG Qiang. Deep Learning Method and its application in underwater target recognition[A]. Underwater acoustic branch of Chinese acoustic society. Proceeding of the 2015 Symposium of the Underwater Acoustic Branch of Chinese Acoustic Society[C]//Acoustic Society of China, 2015: 3.
[10]
CHEN J, WANG Y, WANG DL. A feature study for classification-based speech separation at low signal-to-noise ratios[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2014, 22(12): 1993-2002. DOI:10.1109/TASLP.2014.2359159
[11]
JIANG Y, WANG DL, LIU RS, et al. Binaural classification for reverberant speech segregation using deep neural networks[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2014, 22(12): 2112-2121. DOI:10.1109/TASLP.2014.2361023