武铄 王晓 张丹阳 周海波 陈家儒
摘 要:针对当前沉船侧扫声呐数据样本少、无法大量获取有标记的数据、小样本数据用于卷积神经网络模型正确识别率较低的问题,提出一种联合迁移学习和深度学习的沉船侧扫声呐图像识别方法。在不采用迁移学习的情况下,用沉船声呐样本数据集训练网络,将结果保存作为对照组。应用弱相关数据集,对网络进行训练,然后将网络参数迁移到新网络中,再使用沉船声呐样本数据集训练;应用强相关数据集重复上述步骤。在AlexNet网络结构上进行试验,试验结果表明:在未迁移的情况下,正确率为70.58%;应用弱相关数据集训练,正确率为74.51%;应用强相关数据集训练,正确率为80.39%。试验证明,迁移学习算法有利于提高小样本情况下卷积神经网络的正确率、泛化性。
关键词:侧扫声呐;深度学习;迁移学习;卷积神经网络
中图分类号:S126 文献标识码:A 文章编号:1003-5168(2021)36-0036-05
Side Scan Sonar Combined With Transfer Learning and Deep Learning Shipwreck Identification Method
WU Shuo WANG Xiao ZHANG Danyang ZHOU Haibo CHEN Jiaru
(Jiangsu Ocean University,School of Marine Technology and Geomatics,Lianyungang Jiangsu 222005)
Abstract: Aiming at the problem that the current sunken side scan sonar data samples are few and it is impossible to obtain a large amount of labeled data,the small sample data is used for the problem of low correct recognition rate of the convolutional neural network model,and a joint migration learning and deep learning sunken side scan sonar is proposed. In the case of not using migration learning,use the shipwreck sonar sample data set to train the network and save the result as a control group; use the weakly correlated data set to train the network,and then transfer the network parameters to the new network,and then use the shipwreck sonar Sample data set training; apply the strong correlation data set to repeat the above steps. Experiments on the AlexNet network structure show that the accuracy rate is 70.58% without migration; the accuracy rate is 74.51% for training with weakly correlated data sets; and 80.39% for training with strong correlated data sets. Experiments show that the transfer learning algorithm is beneficial to improve the accuracy and generalization of the convolutional neural network in the case of small samples.
Keyword: side scan sonar; deep learning; transfer learning; convolutional neural network
海洋测绘是一切水下活动的基础,是海底调查、海底矿物勘探、海洋经济发展的前提[1]。其中,侧扫声呐技术(Side Scan Sonar,SSS)作为一种高分辨率、多用途、低成本的海洋调查设备,广泛應用于海洋、港口、河流、湖泊等水域,主要应用于海道测量,水下工程选址,飞机残骸、沉船、鱼雷、水雷、集装箱、化学品桶、锚链、沉石、浮标等水下目标的探测,以及海底底质分类、海洋调查和海洋科学研究等。而目前市场上使用的数据处理软件中,水下目标探测和识别均依靠人工判读,效率低下且精度难以保证。传统的侧扫声呐图像目标识别探测方法主要通过建模来识别沉船,这类方法的一般流程为:特征提取、模型构建和模型应用。受制于复杂海洋环境及侧扫声呐图像存在大量噪声的影响,在一个海区构建的模型可能在另一个海区并不适用;且由于特征难以获取、典型特征不易区分,导致识别效率低,无法快速推广。
卷积神经网络[2-4](Convolutional Neural Network,CNN)作为人工智能的一种算法,由于其无须人工选定特征、特征提取能力优秀等优点,被广泛用于图像分类、图像识别、图像分割等领域[5-8]。卷积神经网络的结构有很多,但是只有在大量符合要求的数据训练下,才能得到一个优秀的卷积神经网络。然而在复杂海洋环境中,获取诸如沉船侧扫声呐影像的大量样本非常困难。
因此,为了解决上述问题,提出一种联合迁移学习和卷积神经网络的方法。通过设计试验,将沉船声呐图像数据集分别迁移到以不同源、不同特征的公共数据集训练的网络上,以及不同源、同特征的船舶数据集训练的网络上,以期提高水下目标识别效率,解决声呐图像样本少、特征难以有效提取、训练困难等问题。
1 数据介绍
1.1 Ships-3
武汉大学邵振峰[9]提供了一个船舶数据集SeaShips。在河道及入海口放置固定摄像机进行录像,对视频截图,获得大量样本。该数据集被用于水上船舶目标识别算法研究,共31 455张图片,6个分类。由于该数据集中每类样本数量不一致,从SeaShips中随机选取三个类,每个类800张图片,如图1所示。并将筛选后的数据集命名为Ships-3,用于试验。
1.2 CIFAR-3
CIFAR-10是常用公开数据集,该数据集由10个类,60 000张尺寸为32*32的彩色图片组成。每个类包含了6 000张图像,其中5 000张为训练集,1 000张为测试集。从CIFAR-10中随机抽选三个类,每个类再随机选取1 000张图像,作为试验的数据集,如图2所示,命名为CIFAR-3。
1.3 Shipwreck
Shipwreck数据集由个人收集并制作,如图3所示。所有样本均为侧扫声呐图像,样本数量较少。由水下沉船、纯海底背景、海洋鱼群三个类组成,每个类包含55张样本图片。
上述三个数据集都按照7∶3的比例划分为训练集和测试集两个子集。其中,70%用于卷积神经网络的训练,30%用于测试训练后的网络。
1.4 数据集相关性
数据集相关性是指样本之间的相似关系。一般情况下,只要是同源、同类型的数据,都认为是相关的。例如,猫科动物中的猫、豹、狮子等,当其同时出现在数据集中时,被认为是强相关数据;自行车、电动车、摩托车等也被认为是强相关数据。因为它们都具有共同的特征。相反地,汽车、狗、苹果等则被认为是弱相关或不相关数据。
2 模型和试验方法介绍
2.1 迁移学习
迁移学习的应用主要包括计算机视觉、文本分类、行为识别、自然语言处理、室内定位、视频监控、舆情分析、人机交互等多个场景[10]。其原理是把任务A开发的模型作为初始点,重新在任务B开发模型的过程中使用。一个完整的学习任务是由域和任务组成的。给出域(Domain)和任务(Task)的定义如下,定义χ为特征空间,[Px]为分布概率,这样就组成了一个特征域(Domain),即Domain [D=x,px]。定义标签空间[y]和模型预测函数[f∙],这样就组成了任务(Task),即Task [T=y,f∙]。迁移学习的定义为:给定源域[Ds]和学习任务[Ts],一个目标域[DT]和学习任务[TT],迁移学习致力于用[Ds]和[Ts]的知识,帮助提高[TT]中的目标预测函数[f∙]的学习。[Ds]和[DT]可以相等或不相等,[Ts]和[TT]也可以相等或不相等。
2.2 卷积神经网络和网络结构
2.2.1 原理。卷积神经网络包含输入层、隐藏层和全连接层。输入层的主要任务是负责数据的输入。一般来说,一维网络的输入层可以处理一维或二维的数据,二维网络的输入层可以处理二维或三维的数据。并且,输入层的大小是固定不变的,输入数据的大小要与网络结构一致。在卷积神经网络的隐藏层由多个部分构成,是网络结构的主要计算部分。全连接层是网络的输出层,在卷积神经网络的隐藏层中,通过卷积层和池化层的计算,累积了大量的参数,全连接层将提取到的大量特征,进行非线性组合,最后将结果输出。
卷积神经网络的隐藏层由多个部分构成,是网络结构的主要计算部分,其主要结构又可分为以下几种。
①卷积层。卷积层由卷积核和激励函数构成,卷积核主要用于提取特征,卷积核没有大小限制,多为规则矩形。一个卷积层内包含着多个卷积核,每个卷积核都提供一组参数,用于传递到下一层。而激励函数的作用主要是辅助卷积核表达复杂的特征,常用的激励函数有RELU、sigmoid、dropout等,已有的大量试验表明,激励函数的存在能提高分类正确率。
②池化层。池化层的作用是对数据进行降维,并除去冗余信息,同时可以扩大感受野并实现不变性,包括平移不变性、旋转不变性和尺度不变性。除此之外,池化还具有简化网络复杂程度,减少计算量,减少内存消耗等作用。卷积神经网络通过以上各层的计算,最终实现了对图像的分类。
2.2.2 结构。AlexNet[11]由Alex Krizhevsky等人于2012年提出,夺得2012年ILSVRC比赛的冠军,前五名预测的错误率为16.4%,远超第一名。AlexNet采用8层神经网络,包括5个卷积层和3个全连接层,包含6.3亿个链接、6 000萬个参数和65万个神经元。AlexNet的结构如图4所示。
2.3 试验方法
联合迁移学习和卷积神经网络是将数据集用于训练,希望训练一个泛化性强、正确率高、能够用于陌生声呐条带数据的卷积神经网络,解决小样本情况下声呐图像难以训练卷积神经网络的难题。技术路线如下:首先,将Shipwreck数据集用于网络训练,并将结果保存,作为后续试验的对照组;其次,用弱相关数据集训练网络,并将网络参数提取保存,放到新的网络上;再次,用Shipwreck数据集训练;最后,用强相关数据集训练网络,并将网络参数保存,放到新的网络上,再用Shipwreck数据集训练。
普通情况下卷积神经网络的训练流程如图5所示,试验采用的联合迁移学习和卷积神经网络的训练流程如图6所示。
2.4 试验设计
试验均由矩池云提供云计算服务,GPU为NVIDIA GTX 3060;软件配置Pytorch1.4.2、python3.7.6。在AlexNet网络模型上进行如下3组试验。
用Shipwreck训练网络,即未迁移;用弱相关数据集训练网络,然后将参数提取放入新的网络,再用Shipwreck训练网络,即弱相关数据集迁移;用强相关数据集训练网络,然后将参数提取放入新的网络,再用Shipwreck训练网络,即强相关数据集迁移。
所有试验共3组,网络模型用训练集进行训练,训练完毕后,用测试集测试,网络在测试集上的正确率作为最终评价指标。
2.5 精度评价
混淆矩阵是对模型进行评估的重要手段,混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用N行N列的矩阵形式来表示。其中,被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数为TP(True Positives);被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数为FP(False Positives);被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数为FN(False Negatives);被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数为TN(True Negatives)。正确率是常用的评价指标,一般来说,正确率越高,模型效果越好,计算公式如式(1)。
正确率(accuracy)=[TP+TNTP+FN+FP+TN] (1)
3 试验结果
在AlexNet上进行3组试验,并将训练集训练后的网络结构用于测试集测试。训练及测试结果如下:未迁移情况下的结果如图7(a)所示,弱相关数据集迁移后的结果如图7(b)所示,强相关数据集迁移后的结果如图7(c)所示。从图中可以看出:未迁移情况下正确率为70.58%;弱相关数据集迁移情况下正确率为74.51%;强相关数据集迁移情况下正确率为80.39%。将3组试验在测试集上的表现汇总,如图7(d)所示,从图中可以看出在正确率方面,强相关数据集迁移高于弱相关数据集迁移,高于未迁移。
4 讨论和结论
沉船侧扫声呐图像获取与标注十分困难,小样本数据集用于卷积神经网络训练局限性较大。针对沉船声呐图像分类存在的问题,提出在小样本下,联合迁移学习和卷积神经网络的解决方案。对比试验结果,可得出以下结论。
①相比于未迁移学习的情况,强相关数据集迁移和弱相关数据集迁移都能有效提高小样本数据集训练卷积神经网络的正确率。
②强相关数据集迁移正确率都高于弱相关数据集迁移。
利用联合迁移学习和卷积神经网络的方法不但解决了沉船声呐图像训练困难的问题,同时也为其他小样本分类问题提供了一条有效的解决思路。后续可将联合迁移学习和卷积神经网络的方法用于侧扫声呐图像成图及图像识别流程中,实现实时识别陌生条带沉船的功能。
参考文献:
[1] 王晓,王爱学,蒋廷臣,等.侧扫声呐图像应用领域综述[J].测绘通报,2019(1):1-4.
[2] 刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014(7):1921-1930,1942.
[3] 高明旭,李靖,朱绪平,等.深度学习方法研究综述[J].中国科技信息,2019(10):56-57.
[4] 郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019(12):20-36.
[5] PENG S,JIANG W,PI H,et al.Deep Snake for Real-Time Instance Segmentation [C]//proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),2020.
[6] DING M,HUO Y,YI H,et al.Learning Depth-Guided Convolutions for Monocular 3D Object Detection[C]//proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),2020.
[7] SHELHAMER E,LONG J,DARRELL T. Fully Convolutional Networks for Semantic Segmentation[J].IEEE Trans Pattern Anal Mach Intell,2017(4):640-651.
[8] TAIGMAN Y,YANG M,RANZATO M,et al.DeepFace:Closing the Gap to Human-Level Performance in Face Verification[C]//proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition,2014.
[9] SHAO Z,WU W,WANG Z,et al.SeaShips:A Large-Scale Precisely Annotated Dataset for Ship Detection[J].IEEE Transactions on Multimedia,2018(10):2593-2604.
[10] 張椰,朱卫纲.基于迁移学习的SAR图像目标检测[J].雷达科学与技术,2018(5):533,546.
[11] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet Classification with Deep Convolutional Neural Networks[J].Commun ACM,2017(6):84-90.