基于神经网络特征提取的SSA-SVM 船舶目标识别方法

2023-05-14 10:00马玉鹏徐海潮
舰船科学技术 2023年8期
关键词:特征提取船舶神经网络

马玉鹏,郑 茂,2,吴 勇,3,徐海潮

(1. 武汉理工大学 交通与物流工程学院,湖北 武汉 430000;2. 武汉理工大学 国家水运安全工程技术研究中心,湖北 武汉 430000;3. 闽江学院 物理与电子信息工程学院,福建 福州 350108;4. 华设设计集团股份有限公司,江苏 南京 210014)

0 引 言

基于可见光图像的船舶目标识别方法可分为非深度学习的传统识别方法和基于深度学习的识别方法[1]。传统目标识别方法可概括为:确定目标位置,识别目标有无。通过选取识别目标可能存在区域,对判定目标存在区域特征提取,提取特征识别分类。目标识别在视频监控方向取得了长足进步,其中主流的算法有:背景差分法、帧间差分法、光流法、混合方法等。传统目标识别算法主要以运动目标识别为主,进而判断有无运动区域产生,推断能力较强对后续深度学习的特征提取有深远影响。郑继东[2]提出了一种三帧差分法与背景消减法相结合的运动船只识别算法,并在此基础上利用卡尔曼滤波器对船只位置进行了预测跟踪,利用SIFT 匹配算法解决遮挡问题。李英文[3]利用帧间差分法分离背景和目标,设计了船舶图像的颜色模型和灰度化去噪的主要方法。

基于深度学习的识别方法则是通过对图像进行深层次的特征提取,利用深度神经网络实现对特征图的逐层传递并进行合理优化,对目标位置进行准确预测[4],进而完成船舶目标的识别。如任永梅等[5]提出了一种基于三维卷积神经网络的船舶分类法,采用6 层3D 卷积提取体素网格图像的高水平特征,优化了捕捉结构信息。郭战杰等[6]对船舶图像进行预处理后,建立了模糊神经网络结构,在此基础上进行模糊神经网络分类学习,用特征学习法提升了船舶图像分类器的能力。谷东亮[7]将改进的Faster R-CNN 算法应用于船舶识别,在区域全神经网络后生成一个 dropout 层,提高了识别的速率,船舶识别的准确率达到 90.4%。

上述识别方法虽然提高了船舶的识别效率,但并未考虑实际情况下船舶目标识别数据集容量且模型训练依赖于高性能GPU 设备,并不适用于一般情况下的船舶目标实时监测。为了解决复杂环境下的船舶目标实时识别问题,本文通过AlexNet 网络与SSA-SVM 分类器联合的方法进行船舶目标识别。为进一步解决图像特征提取不充分的问题,使用AlexNet 网络迁移学习处理船舶数据集。以SVM 分类器为基础,将SSA 模块加入SVM 参数寻优中,进一步提升分类器的判别性能。为了验证模型效能,选取不同背景下的船舶图像进行识别分类。结果证明,基于神经网路特征提取的SSASVM 算法在降低船舶数据集容量的基础上并未降低识别精度,为海事监管提供了更为轻量化的解决方案。

1 基于迁移学习的AlexNet 图像特征提取

1.1 AlexNet 卷积神经网络

AlexNet 网络作为ISLVRC(imagenet large scale visual recognition)竞赛的冠军网络,在验证数据集上错误率仅为16.4%,表现十分优秀。AlexNet 属于CNN 神经网络结构,包含8 层神经网络,5 个卷积层和3 个全连接层,囊括6 亿3 千万个链接,6000 万个参数和65 万个神经元。

AlexNet 作为CNN 网络架构的优化模型,对传统CNN 网络进行了较多改善。激活函数方面,改用ReLU作为CNN 激活函数,成功解决了Sigmoid 在网络较深时的梯度弥散问题[8]。为ReLU 没有划分值域区间的特性,提出了局部相应归一化(local response norm,LRN),以生物网络神经概念侧抑制小神经元,增强模型泛化能力。数据增强方面,采用Dropout 随机忽略部分神经元,改善了以往CNN 特征提取中易于过拟合的问题,之后以最大池化代替CNN 网络常用的平均池化,在提升特征丰富性的同时克服了平均池化带来的模糊效果。

总的来说,AlexNet 网络在LeNet 的基础上加深了网络的结构,学习更丰富更高维的图像特征[9],且带有CNN 网络中感受野和共享权重特性,使得AlexNet网络在训练中速度更快、需求样本更少,很好地解决了船舶目标识别中因图像拍摄困难产生的特征提取不充分问题,为小数据集特征提取提供了更为有效的支持。

1.2 AlexNet 迁移学习特征提取

迁移学习(TL)可以把为单一任务开发的模型重新用于其他领域的任务中,作为其他领域任务模型的训练起点,节约了训练神经网络需要的大量计算和时间资源[10]。但仍需要新任务特征与原训练数据集有一定的相似继承性,否则表现性较差。训练AlexNet 模型采用的ImageNet 训练集涵盖超过1400 万张图像手动注释URL 图像,在至少106个图像中还提供了图像边界框,以确定特征的确切位置。该数据集囊括了航空母舰、飞艇、帆船、集装箱船、游船、救生船、轮船等多种船舶特征,为本次迁移学习提供了可行性。在本文中,迁移学习策略可概括为将AlexNet 作为作为船舶特征提取器,即删除模型的最后一个全连接层,将AlexNet 模型的其他部分作为船舶数据集的固定特征提取器,利用所提取船舶目标特征训练分类器完成迁移学习,基于迁移学习的AlexNet 网络结构如图1 所示,其中CL1~CL5 为卷积层,FCL6~FCL8 为全连接层。使用神经网路作为图像特征提取其,可在有限图像规模下提取更加充分的识别特征。模型图像输入为227×227×3,FCL6~FCL7 全连接层神经元个数为4096。

在通过AlexNet 进行图像特征提取中,使用微调AlexNet 策略[11]。即使用自建图像数据集图像作为模型输入,经数据增强过程后在FCL7 层进行典型船舶特征提取,并替换模型全连接层中最后一层FCL8 的输出,输出量由1000 维改为4 维,修改的参数变化如表1 所示。

图 1 AlexNet 特征提取流程Fig. 1 AlexNet feature extraction process

表 1 AlexNet 全连层替换Tab. 1 AlexNet fully cascading replacement

表1 中全连接层激活函数为softmax,是经典二分类逻辑回归算法应对多样分类的解决方式。逻辑回归的关键步骤就是将线性模型输出的实数映射到[0,1]间[12],表示概率分布的有效实数空间,而softmax 则可以预测每个类别的概率并选择预测值最高的结果作为判断结果,将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于[0,1]之间。Softmax 的算式表达如下:

式中:n为神经网络的的多个类别和输出数,h为输出向量,h(x,yi) 为h中第 (x,yi) 个类别值,i为当前需要计算类别,所有类别softmax 值求值为1。Softmax 函数一般作为神经网络的最后一层,接受来自上一层网络的输入值,然后将其转化为概率依据概率大小完成多种分类任务需求。

2 基于SSA 改进的SSA-SVM 模型

本文SVM 改进方式如图2 所示。1)通过摄像头获取通航区域船舶采样数据。自建数据共标定4 种船舶类型,分别为container,freighter,bulk freighter及pleasure ship,总计400 张图像。图像经数据中心化处理,光亮度调整(gamma 校正)后调节图像对比性,降低图像局部光照、遮挡影响,抑制噪声影响。确保数据集无错漏、特征性明显,进而使用基础增广手段进行图像数据集扩充,数据集达1680 张图像规模。进入AlexNet 神经网络特征提取步骤。2)AlexNet模型经ImageNet 图像数据库训练得到固定参数,针对船舶目标特征识别表现良好。替换AlexNet 分类函数softmax 为本次训练目标4 维度,并改换AlexNet 输入端数据为自建船舶目标数据集。首先调整图像尺寸为227×227×3,经5 层双GPU 卷积神经网络计算图像特征,提取FCL7 层(全连接层)图像特征得单一图片特征表现为256 数量。3)通过麻雀算法优化SVM 分类模型核函数半径g及惩罚因子c,计算分类面方程权向量值最优点,解最优点问题所得分类函数即确定SVM 最优分类面,训练迭代模型至最优。4)使用训练完成的SSA-SVM 分类器对测试数据集进行分类。最后对船舶类型判别情况进行统计,与普通非深度学习分类模型、简单神经网络分类模型进行结果对比,判断图像分类模型性能。

图 2 SSA-SVM 优化步骤Fig. 2 SSA-SVM optimization steps

2.1 基于麻雀搜索算法的SVM 参数搜索

2.1.1 SSA 算法

通过SSA 确定SVM 最优参数的过程,就是通过SSA 多次迭代寻找麻雀最优点位置坐标的过程。在SSA 中,发现者因适应度较高会优先发现食物[13],且由于发现者为整个种群提供食物,所以其需要更大的搜索范围,在每次迭代过程中,发现者位置更新如下式:

其中,t为当前迭代次数,m为常数,表示最大的迭代次数。Xi,j表示第i只麻雀在j维中的位置信息[14]。β属于(0,1] 之间生成的随机数, α ∈[0,1]是一个随机数,R2(R2∈[0,1] ) 和S T(ST∈[0.5,1])分别表示预警值和安全值。Q 是服从正态分布的随机数。L表示一个1×d的矩阵,其中该矩阵内各元素均为1。

当R2S T时,代表此时觅食环境安全未发现捕食者,发现者可以执行广泛的搜索操作。当R2≥S T,表示种群中的一些麻雀已经发现了捕食者,并向种群中其他麻雀发出了警报,此时所有麻雀都需要迅速飞到其他安全的地方进行觅食[15]。

其中,Xbest为当前的全局最优位置,也就是参数选项,通过2 次求取最佳位置点来确定参数。ε作为步长控制向量,服从均值为0,方差为1 的正态分布的随机数。K是属于[−1,1]区间的一个随机选取,fi则是当前麻雀个体的适应度值。fg和fω分别是当前全局最优适应度值和全局最差的适应度值,τ作为最小常数出现,避免计算过程中分母出现零值。

2.1.2 麻雀搜索算法(SSA)优化支持向量机c和g参数流程

图3 为使用SSA 优化SVM 的c和g参数过程,SSA 算法优化参数步骤如下:

图 3 麻雀搜索算法优化参数流程Fig. 3 Sparrow search algorithm optimizes parameter flow

1)确定进行图像分类的SVM 输入与输出值,确定以有船/无船作为训练分类,整理测试集、训练集图片,以AlexNet 神经网络为船舶特征识别法,开始模型训练。

初始化SSA 系列参数,包括种群数、发现者个数、加入者个数、警戒者个数,最大迭代次数及安全阈值,初始化SVM 参数惩罚参数c及核函数半径参数g。

2)进行适应度函数选择。在回归评价指标中,MSE(mean squared error)均方值误差和MAE(mean absolute error)平均绝对误差都作为最常用的回归损失函数,均适于误差明确情况。为了简化计算过程,选择MSE 作为回归评价指标[16],如下式:

因选取的是SVM 函数训练后的MSE 误差,故在arg min 情况下取得MSE 最小值为理想适度定义。

步骤1通过CV 验证法,对训练集分类,以CV验证法的准确率作为SSA 的最佳适度值,并进行适度值排序,保留适度值大小及相关位置信息。

步骤2更新发现者位置。

步骤3更新加入者位置。

步骤4计算麻雀种群警戒范围,更新警戒者范围。

步骤5计算麻雀种群中单个麻雀的适应度值,更新适度值及对应位置,比较与原位置优略,确定为全局最优位置,防止出现局部最优。

步骤6判断迭代是否满足最高迭代次数,如满足条件,则输出SVM 最优参数c和g,如不满足条件则重复步骤4 重新计算适度值。

步骤7更新SVM 模型参数c和g,获得优化后的SVM 分类模型。

3 实验参数与数据集

一般来讲,图像数据集质量决定后续算法表现,数据集中的图片越清晰、特征越明确、分类标签越准确,则训练出的算法模型准确率越高、泛化能力越强。由于船舶种类多样且未出台统一划分标准,无法选择公共数据集进行算法训练,故本文使用视频拍摄方法建立图像数据集。共拍摄筛选400 张图片,经人工噪声添加训练集后,增广得到1680 张图片,通过 Transform 实现图像数据的预处理,并将标签保存为TXT 格式,为后续模型应用数据及数据库建立确立基础。

3.1 图像数据集预处理

由于目前未建立稳定的可见光船舶图像数据库,训练图片数量无法达到预期目标。为解决该问题,通过图像的移动、缩放、旋转、增加噪声等基础增广技术增加采样样本[17]。

采用Python 数据包中自带的“imnoise”噪声污染图像函数,增加训练集图片数量。训练图片为340 张,选择“imnoise”噪声函数中的“poisson”(泊松)噪声、“gaussian”(高斯白)噪声、“salt&pepper”(盐和胡椒)噪声3 类噪声选项,对训练图片进行噪声处理。其中,“gaussian”(高斯白)噪声设定均值m为0.251,方差var为0.00615;“salt&pepper”(盐和胡椒)噪声设定噪声密度d为0.05。经噪声增广后,训练图片数目达模型训练需求,经AlexNet 模型进行图像特征提取。

得到足够数量的训练图片后,进行图像预处理。主要处理过程为图像灰度化处理,和Gamma 校正法。采用 Gamma 校正法,减弱图像因光照不均匀、局部阴影产生的影响,由于船舶图片采集水域光照条件较好,故在特征提取步骤中,根据时间段选常数值,γ=0.3 或γ=0.8,以适应不同的光照条件。

经上述预处理步骤后,最终得到1680 张图像,按照比例随机选取数据集中的1344 张(80%)作为训练集供AlexNet 网络进行特征提取及训练,226 张(20%)作为测试集最后验证模型分类效果,数据集分类情况如表2 所示。

表 2 图像数据划分Tab. 2 Image data division

4 实验结果与分析

4.1 评价指标

船舶目标识别属于多种分类问题,在此基础上使用AlexNet 提取船舶目标特征完成迁移学习的评价指标,可参考训练准确率(accuracy)和交叉熵损失(Loss)2 种方式。对于AlexNet 迁移学习,评价指标公式如下式:

4.2 实验结果

本文使用使用神经网络特征提取联合SSA-SVM 分类算法进行船舶目标识别,通过实验验证证实最佳交叉验证准确率为 98.2143 %,交叉熵损失为0.1697%,满足一般识别需求。

针对特征提取阶段,较高的训练准确率(accuracy)和较低的交叉熵损失(Loss)可保证船舶目标特征提取充分,为下一步的分类器算法训练提供可靠的特征值计算依据,AlexNet 迁移学习训练效果如图4 所示。

图 4 准确率及交叉熵损失Fig. 4 Accuracy and cross-entropy losses

可知,训练准确率和交叉熵损失函数随着训练次数的叠加越发趋于稳定值,并最终收敛在较高水平。FC7L 层共提取1344×4096 特征向量值用于后续SSASVM 算法训练,之后依次打印出船舶目标经AlexNet网络提取的特征矩阵及各类船舶图样。

AlexNet 全连接层特征提取数如表3 所示。FCL6层输入数据的尺寸是6×6×256,采用6×6×256 尺寸的滤波器对第6 层的输入数据进行卷积运算;每个6×6×256 尺寸的滤波器对第6 层的输入数据进行卷积运算生成一个运算结果,通过一个神经元输出这个运算结果,共有4096 个6×6×256 尺寸的滤波器对输入数据进行卷积;FCL6 层输出的4096 个数据与第7 层的4096个神经元进行全连接[17],经由ReLU 和Dropout 进行处理后生成4096 个数据。本文FC7L 层共提取1344×4096 特征矩阵用以后续SSA-SVM 算法训练,FCL7 层输入的4096 个数据与第8 层的1000 个神经元进行全连接得到训练后数值,整体规格符合AlexNet 运行过程。由于神经网络拥有较强的信息综合能力,较之以往HOG 特征提取的36 维特征,深度神经网络在单一全连层上包括4096 个神经元,特征提取能力更强。

表 3 AlexNet 全连层解析Tab. 3 AlexNet full cascade parsing

为了进一步提升SSA-SVM 算法对于目标船舶识别的精度,以AlexNet 提取的特征矩阵数值为训练基础,在种群寻优SSA 算法中寻找最优惩罚参数c及核半径参数g,进而提升算法针对于船舶目标分类的适应性。经AlexNet 算法逐一提取特征后,单一图像特征数目达4096 项。设置SSA-SVM 目标变量个数为2,最大迭代次数200 次,alpha 范围,K范围上下限,进行边界控制。之后进行麻雀种群参数设置,预警值ST设定0.6,发现者PD设定0.6,警戒者SD设定为0.2,设定完成后即计算全局最优适度、最佳位置点,最优位置返回后,对适应度值做五折交叉验证其准确率。种群进化完成后,绘制适应度曲线、进化曲线、惩罚因子优化过程曲线、核参数优化过程曲线整体如图5 所示。最终得到SSA-SVM 算法模型及其耗时。

图 5 SSA-SVM 模型性能曲线Fig. 5 SSA-SVM model performance curve

在船舶图像特征提取后进行SSA-SVM 模型训练,并采用24 张未经特征提取的复杂环境船舶图像测试SSA-SVM 船舶目标识别模型性能。模型经 60745 s 后完成训练及识别任务,最佳惩罚参数为 239.8922,最佳核参数为0.027237。由图5 可知,在SSA 种群迭代200 次中,SSA 算法在准确率98%附近出现最佳适应度反馈于最佳参数c和g,准确率在50 次进化后趋于稳定,符合SSA 搜索过程。其中惩罚参数c有明显进化趋势,有2 次转折,且最终稳定趋于950 附近,体现了麻雀种群搜索的最优位置更新能力。核函数半径g显示出较为稳定进化效果,其数值未出现较大波动,故仍需进一步思考麻雀种群对核函数g的优化方式。测试集24 样本中有21 样本识别正确,说明本文提出的深度学习特征提取与SSA-SVM 算法联合的船舶目标识别可靠性。

算法模型对典型船舶目标识别率高达 88%,证实了本文提出的深度学习特征提取与SSA-SVM 算法联合的船舶目标识别可靠性较高,目标识别模型稳定性较好。

为了验证基于神经网络特征提取的SSA-SVM 船舶目标识别方法的综合性能,将传统SVM+HOG 识别分类模型、VGG19 算法模型作为对照组,统一使用自建船舶目标数据集进行训练,最终对比结果如表4 所示。使用本文提出的基于神经网络特征提取与SSA-SVM联合算法识别精度较传统SVM 算法更高,提升了63%的识别精度,优于VGG19 算法,模型训练时间少于VGG19 算法模型,精度与训练时长符合船舶目标识别任务需求,证明了本文所提出的算法模型的可行性。

表 4 训练时长与准确率对比Tab. 4 Training duration versus accuracy

为了确定本文提出的基于神经网络特征提取与SSASVM 联合算法的目标识别时长合理,能够完成实时识别任务。利用测试集样本中24 张复杂背景下的船舶目标图像进行识别,同样采用SVM+HOG 识别分类模型、VGG19 算法模型作为对照,识别时长对比如表5 所示。

表 5 识别时长对比Tab. 5 Recognition duration comparison

可知,使用传统SVM+HOG 分类算法,本文提出的基于神经网络特征提取与SSA-SVM 联合算法识别时长更短,单张图像识别时长仅为传统SVM+HOG 分类算法时长的1/4,远超其识别时间;针对于神经网络识别,本文提出的识别算法时长也仅略长于VGG19 算法为0.163 张/s,满足船舶目标实时识别标准。

综上,在训练时长、精度、识别耗时等项目对比中,基于神经网络特征提取与SSA-SVM 联合算法满足船舶目标识别任务需求,证明了本文算法模型的有效性。

5 结 语

本文提出一种基于迁移学习与神经网络特征提取的船舶目标识别方法。通过神经网络的特征提取提升基于小数据集的船舶目标识别能力,以预训练好的AlexNet 深度网络模型为基础优化SSA-SVM 模型参数,使之适应于船舶目标的识别。从而解决了小样本集下利用可将光图像进行船舶目标快速识别准确率低、训练时间长的问题。

实验结果表明:

1)该方法可以实现小样本数据条件下船舶典型目标的快速识别,且具有较高的分类准确率。

2)AlexNet 迁移学习模型可以充分提取目标特征,一定程度上避免了模型出现过拟合现象。与传统手动特征提取方法相比,AlexNet 迁移学习模型无需手动提取特征,具有更好的特征识别能力。

3)采用神经网络特征提取与SSA-SVM 分类联合方法训练得到的模型,训练时长较全程深度学习模型时间更短,数据需求较低,且有较高的逻辑推理性,适用于一般设备下的船舶目标识别。

猜你喜欢
特征提取船舶神经网络
《船舶》2022 年度征订启事
船舶!请加速
神经网络抑制无线通信干扰探究
BOG压缩机在小型LNG船舶上的应用
基于Daubechies(dbN)的飞行器音频特征提取
船舶压载水管理系统
Bagging RCSP脑电特征提取算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定