深度学习在水声目标识别中的应用研究
2020-04-20王培兵
王培兵,彭 圆
(水下测控技术重点实验室,辽宁 大连 116013)
0 引言
水声目标识别技术在反潜、鱼雷防御、海底地形勘探等领域应用广泛。但随着潜艇降噪技术的进步、水下无人航行器的迅速发展、鱼雷等水下武器的多样化以及不断恶劣的水下复杂环境都使人们对目标识别精度有了更高的要求,所以研究更加自主、智能、高效的水声目标识别技术刻不容缓。深度学习是由Hinton等人[1]于2006年提出来的具有多层结构的深度神经网络算法,因采用多个隐藏层相互叠加的结构特点,使其具有强大的数据特征自学能力,并可以从数据中挖出其内在的变化规律[2]。
本文就近年来深度学习在水声目标识别中的应用进行了较为系统的研究,总结了深度学习在处理水声声信号和图像信号应用中的优越性。相比于传统的识别算法,其更能提高目标识别的效率。同时,也指出了深度学习在水声目标识别应用中的不足之处,为后续改进提供参考。
1 水声目标识别技术的研究现状及面临的挑战
1.1 水声目标识别技术研究现状
水声目标识别主要依据目标的特征信息。目标特征信息是目标原始数据中包含或者可提取的一种能精确和简化表明目标状态和身份的信息[3]。水声目标主要包括噪声、运动、尾流、几何结构等特征信息[4]。
随着水声目标识别越来越受到人们的重视,国内外众多学者也开展了很多的研究工作。例如Rajgopal等[5]在研制的水声目标识别专家系统中所使用的特征包括:螺旋桨桨叶数、螺旋桨转速、推进器类型、目标壳体辐射低频噪声、活塞松动产生的谐音基频喷嘴噪声、注水器噪声、最大速度、槽极噪声、传动装置类型等。Lourens[6]在识别特征分析中重点强调了螺旋桨转速、主机类型、齿轮噪声线谱等特征。Arnab等[7]在分类识别特征分析中归纳了谱中心、谱形、谱起伏、窄带与宽带谱特征、倒谱特征、MeI倒谱参数、音调频率参数等统计时频域特征。AR模型系数、非线性融合特征等也常被作为水声目标辐射噪声识别的特征量[8-12]。国内学者对船舶辐射噪声的调制谱、功率谱、低频线谱以及高阶谱、小波变换、混沌分形、听觉感知等特征和特性的分析也开展了很多研究工作[13-20],例如励荣峰等人研究了各类水声目标的功率谱分析,提取了目标的视频特征,并通过实际数据分析进行了可分性验证。彭圆等人研究了基于双谱的方法对水中目标辐射噪声进行特征提取与分类,同样也取得了很好的效果。
1.2 新技术为水声目标识别技术带来的挑战
随着水声探测技术的发展和降噪水平的提高,传统识别技术的性能正在逐渐下降,这为水声目标识别技术带来了新的挑战[21]。
1.2.1 声呐信号带宽对识别能力的影响
目标特征量的提取都是基于一定带宽的声呐传感器得到的。根据香农公式,对于1个带宽为BHz的信道,信道的最大信息传送速率为
式中:S为信号功率,W;N为噪声功率,W。
也就是说,等功率强度的信号带宽和信道的信息容量成正比,宽带信号可以比窄带信号携带更多的信息。
1.2.2 低频探测对线谱识别性能的影响
为了达到提高探测距离的目标,低频探测成为当下主流的趋势,带来的问题是波束宽度的增加。对于作用距离为100 km的声呐来说,波束宽度内目标很可能不是单个目标。因此,对于利用低频探测来进行线谱识别,检测到的低频线谱是否就是关注的水声目标的低频线谱特征有着很大的不确定性。
1.2.3 减震降噪对识别性能的影响
对于水中目标来说,减震降噪是永恒不变的主题和最终的目标。减震降噪使得低频线谱特征显著降低,而线谱特征都可以通过结构设计、工艺设计、使用减震装置等不断降低。最终这些线谱特征都有可能被消除或者减得很弱,那么基于线谱探测的识别技术将失去意义。
2 水声目标识别中深度学习的研究及应用
2.1 深度学习常用的开发工具
深度学习常用的开发工具主要有TensorFlow、Torch、Caffe、Theano,以下详细探讨这4种。除此之外,Deeplearing4j、MXNet等开发工具也都有着广泛的应用。
1)TensorFlow开发工具。
优势:①机动性:并不是一个规则的 neural network,定义新的操作只需要写1个Python函数;②可使用性强:可以应用在不同的设备上,如cpus、gpu移动设备、平台等;③自动差分:TensorFlow的自动差分能力对很多基于Graph的机器学习算法有益;④多种编程语言可选:有Python接口和C++接口,其他语言可以使用SWIG工具使用接口;⑤最优化表现:充分利用硬件资源,TensorFlow可以将Graph的不同计算单元分配到不同的设备执行。
特点:TensorFlow灵活的架构可以部署在1个或者多个 CPU、GPU的台式以及服务器中,或者使用单一的API应用在移动设备中,开源之后几乎可以适用各个领域。
2)Torch开发工具。
优势:构建模型简单,高度模块化,GPU快速高效。具有丰富的索引、切片和transposing的例程,支持LuaJIT接入C数值优化程序等,可移植嵌入到iOS、Android和FPGA后端的接口。
特点:Torch拥有Facebook为其开源的大量深度学习模块和扩展,并采用了编程语言Lua。
3)Caffe开发工具。
优势:①上手快:模型与相应优化都是以文本形式而非代码形式给出;②速度快:能够运行最好的模型与海量的数据;③模块化:方便扩展到新的任务和设置上;④开放性:公开的代码和参考模型用于再现;⑤社区好:可以通过 BSD-2参与开发与讨论。
特点:Caffe是开源的,核心语言是C++,支持命令行、Python、MATLAB,既可以在 CPU上运行也可以在GPU上运行。
4)Theano开发工具。
优势:①集成NumPy的基于Python实现的科学计算包,可以与稀疏矩阵运算包SeiPy配合使用,全面兼容NumPy库函数;②易于使用GPU进行加速,具有比CPU实现相对较大的加速比;③具有优异的可靠性和速度优势;④可支持动态 C程序生成;⑤拥有测试和自检单元,可方便检测和诊断多类型错误。
特点:Theano派生出大量的深度学习 Python软件包,最著名的有Blocks和Keras,其核心是1个数学表达式的编译器。
2.2 深度学习几种典型的网络结构原理及改进
2.2.1 深度置信网络DBN原理及改进
DBN[22](Deep Belief Network)由多个受限玻尔兹曼机RBM和1层反向传播网络BP堆叠而成。其网络结构如图1所示,图1中:h为隐藏层数;v为可视层数;W为连接权值矩阵。
图1 深度置信网络结构图Fig.1 Block diagram of DBN
DBN的训练过程为2部分:预训练和微调整训练。预训练就是对每层的每个RBM进行训练,而在微调整阶段则采用反向传播算法将训练误差逐层向后传播。其改进型网络有CRBM-DBN[23],即首先使用有高斯分布的连续受限玻尔兹曼机(CRBM)的DBN模型对数据的输入量进行特征学习,然后利用对比散度算法进行抽样以获取高层次的特征。此外还有稀疏受限玻尔兹曼机(SRBM)[24]、稀疏组受限玻尔兹曼机(SGRBM)[25]等改进型深度置信网络。
2.2.2 卷积神经网络CNN原理及改进
CNN[26](Convolutional Neural Network)通过结合局部感知区域、共享权重、空间或时间上的池化降采样 3大特点来充分利用数据本身包含的局部性等特征,优化网络结构,并且保证一定程度上的位移不变性[27]。其网络结构如图2所示。
图2 卷积神经网络结构图Fig.2 Block diagram of CNN
随着CNN网络的不断发展,也出现了一些新的深层卷积网络。其改进的过程实质就是用深度学习模型来替代浅层机器学习模型的过程,实现端到端的训练,速度也越来越快。例如R-CNN[28]:物体检测目标是将图片中所有物体用方框框出来。首先是生成方框将物体框出来,然后对框出来的物体进行分类判断。Fast R-CNN[29]将R-CNN中CNN提取特征、SVM分类、回归这3个过程放在一起,形成端到端整体的模型,速度和准确率都得到提升。再如 Faster R-CNN[30]:Faster R-CNN首先用卷积层、池化层处理整张图片得到特征图,在此特征图上用region proposal network来生成方框,其余的操作跟 Fast R-CNN如出一辙。即Faster R-CNN将生成方框的方法也换成了深度学习模型,并由原来在整张图上生成改成在更小的特征图上生成,使得模型训练速度进一步加快。此外比较常用的还有 Mask R-CNN[31]等改进型卷积神经网络。
2.2.3 循环神经网络RNN原理及改进
RNN(Recursive Neural Network)亦称递归神经网络,其最大特点在于神经网络各隐层之间的节点是具有连接的。其网络结构如图3所示,图中:X为输入层;H为隐藏层;O为输出层;Y为神经网络的主体结构。
图3 循环神经网络结构图Fig.3 Block diagram of RNN
RNN的优点是可以处理序列数据,缺点则是容易随迭代的进行,历史输入对隐含层作用会逐渐减小乃至消失,即出现梯度消失问题。针对这个问题,研究者相继提出了一些RNN的变种,其中最著名的包括 Hochreiter等人[32]提出的长短时记忆网络(Long Short-Term Memory,LSTM)和Cho等人[33]提出的门限循环单元(Gated Recurrent Unit,GRU)。长短时记忆网络用LSTM单元替代RNN中的神经元,在输入、输出、忘记过去信息上分别加了输入门、输出门、遗忘门来控制允许多少信息过。LSTM有单元状态(cell state)和隐藏状态(hidden state)2个传输状态。GRU是LSTM的轻量级变体,只有2个门——更新门和重置门。更新门决定保留过去多少信息,以及从输入层输入多少信息;重置门与LSTM里的遗忘门类似。GRU没有输出门,所以总是输出完整状态。除此之外,还有分层RNN、双向RNN、多维RNN、神经图灵机等改进型循环神经网络,在处理实际任务时都表现出了很好的效果。
实际的使用中,常采用多个模型相结合的方式,用于规避各模型缺点,充分发挥模型优势,以达到目标识别、现象预测等研究目的。
2.3 深度学习在水声目标识别中的应用
2.3.1 深度学习在水声图像识别中的应用
传统的水声图像目标识别方法大多数是基于局部特征的识别。但是,这种特征匹配在局部特征匹配中仅作为低级表示,对复杂背景进行特征提取时鲁棒性不足,没有足够的特征来防止假匹配,使得图像识别率也较低。这主要是由于传统目标识别算法语义分割鲁棒性较差。
卷积神经网络是深度学习在处理图像时的主要工具,可以帮助提取图像的特征。主要方式是通过使用若干个卷积核对图形进行滤波,得到原图像的多幅特征图,从各个角度提取图像的特征。利用权值共享使得只需要训练较少的卷积参数,就可以提取图像的多个特征。例如:Perez等人[34]提出了一种基于深度学习的水声图像增强方法,其基本原理就是利用卷积神经网络对采集到的水声图像进行处理。Kim 等人[35]提出以水声声视觉图像中的阴影作为识别特征,基于卷积神经网络的方法对水声声视觉图像进行目标识别与分类。该方法成功地对4类水声目标的声视觉图像进行了准确分类。2015年,Orenstein等人[36]采用卷积神经网络对340万个浮游生物图像进行了训练和分类,结果表明:该方法在时间和精度方面都优于传统人工分类筛选方法,对大量浮游生物图像的分类效果较好。胡炎等[37]在Faster R-CNN框架下构建了1个仅3层的卷积神经网络,并对4种不同海洋杂波环境的宽幅SAR图像进行测试,取得了较好的检测结果。林明旺[38]设计了一种基于卷积神经网络的鱼类图像分类系统,对鱼类图像的识别准确率达到96%,实现了预期效果。赵亮等[39]结合CNN提取的特征、HOG算法提取的边缘特征和HSV算法得到的颜色特征,较好地实现了船舶目标识别。张清博等人[40]提出利用基于卷积神经网络的深度学习方法对水下光电图像进行优化图像质量的研究。王博[41]通过选通式水下激光成像系统在不同的光照、水质、距离、成像参数条件下采集水下目标的光学图像,分别用在线Adaboost方法、BFSPM方法、DCNN方法对样本图像进行水下目标识别性能的比较和分析。王念滨等人[42]在卷积神经网的基础上引入特征图多维加权层,构造了一个集特征提取和分类器训练于一体的端到端网络,有效地提高了目标的识别精度。
2.3.2 深度学习在水声声信号识别中的应用
由于深度学习在语音识别上取得的突破性进展和自主学习的能力,使得学者们在处理水声声信号的时候又有了新的思路:利用计算机自动分析复杂的水声声音信息,通过合理的深层神经网络结构的训练得到信号的特征信息,再配合高效率的分类器,完成分类任务,以提高识别的准确度。例如:英国科学家Sheppard和Gent利用神经网络技术开发的被动声呐分类系统,不仅采用窄带分析,还采用宽带分析、DEMON分析和瞬态分析方法。由于采用神经网络方法提高了系统的容错能力,使训练不平衡系统有较好的性能,从而能更好地完成对声音的分类与识别。王强等人[43]从实测水声数据库中提取梅尔倒谱特征以及傅里叶变换特征,用 10个声音片段作为训练样本,5个声音片段作为测试样本,比较了DBN、CNN、SVM(支持向量机Support Vector Machines,SVM)的识别率,结果 DBN和 CNN的识别率均好于SVM。Xu CAO等人[44]使用21 850个水声声音片段作为训练样本,用 8 550个声音片段作为测试样本,使用自动编码器与SVM和概率神经网络作比较,识别3种类别的结果均是自动编码器较好,而且都达到了92%以上。严韶光[45]等人对3类目标在不同工况和水文气象条件下采集的 5段长度为32 768 s的实录辐射噪声作为原始信号,提出了一种基于卷积神经网络的舰船噪声分类器。通过数据仿真实验表明,CNN的分类效果要好于BP神经网络的分类效果。赵安邦等人[46]将高阶累积量用于希尔伯特变换特征提取中,通过对舰船目标辐射噪声信号进行采集,得到舰船目标噪声信号,进而提取目标辐射信号各阶模态的相邻平均瞬时频率比、相对标准差、中心频率、平均强度、高阶矩和高阶累积量等作为特征,最终利用神经网络来实现对 2类舰船目标的分类识别。程锦盛等人[47]从被动声呐目标识别出发,用4种监督学习模型对A和B类水声目标、不同次海试、不同信噪比数据中提取的MFCC特征样本进行了识别研究,其中CNN和DBN模型的识别率最高。
3 深度学习在水声目标识别应用中的研究展望
1)数据库构建。
对于以数据为驱动的深度学习,获取好的水声数据信息显得尤为重要。但就目前水声目标识别的研究现状来看,由于水声环境的复杂性,对于水声声信号的识别,研究人员仍会更多地参照深度学习对空气中声音的识别方法。而对水声图像的识别,则会采用以往的图像处理算法和相关的深度学习理论。所以,应建立完备的数据库,从水声声信号与水声图像信号中提取预识别的水声目标的有效特征并发现其变化规律,训练水声目标识别模型或分类器,进而提高水声目标识别模型的准确性、信噪比鲁棒性和泛化性。
2)数据预处理方法。
复杂的海洋环境,需要花费大量的时间为深度学习模型提取理想的样本,并按照模型要求的图像大小构造训练数据。由于处理大数据的规模所带来的大样本,使得数据呈现高维属性和多样性,故而数据预处理方法的优劣对模型的构建有重要的影响。深度学习在未来的数据处理方面应面向多种数据格式,以期减少数据预处理所耗费的大量时间,从而提高深度学习整体模型建立效率。
3)模型构建。
深度学习模型算法众多,但当面对具体的水声目标识别问题时,没能及时给出最优的模型算法。其大都是对现有的模型进行改造或者多模型相结合,在模型的构建过程中通过大量实验对比才能建立更加准确的模型。同时,面对这些问题还需要构建新的学习模型,提高模型在面对不同种类的水声目标信号时的通用性,从而提升模型的适用范围。
4 结束语
本文首先对水声目标识别技术的研究现状及面临的挑战进行了描述。同时,介绍了深度学习的典型网络结构、改进型网络以及常用的几种开发工具,并对深度学习在水声目标识别中的实际应用情况进行了阐述。肯定了深度学习在水声目标识别应用中的优势,也指出了其中的不足之处,并给出了相应的解决思路。可以预见,未来水声目标识别技术发展方向主要是非声探测、多传感器信息融合、智能目标识别等。人工智能技术与水声目标识别技术有机结合将是今后水声目标识别研究的重要方向。