基于改进SSD的无人船海上船舶识别算法*

2021-03-05 08:12李媛媛胡俊祥
传感器与微系统 2021年2期
关键词:置信度正则障碍物

刘 硕,葛 愿,李媛媛,胡俊祥,叶 刚

(1.安徽工程大学 高端装备先进感知与智能控制教育部重点实验室,安徽 芜湖 241000;2.安徽工程大学 电气工程学院,安徽 芜湖 241000;3.北京优世达科技有限公司,北京 102433)

0 引 言

海上船舶障碍物识别是实现无人船海上安全航行的重要研究内容之一。在无人船航行的过程中,船舶障碍物的识别结果会大大影响无人船的避障精度,海上船舶识别本质上属于物体识别的范畴。近年来,不仅国外涌现出了很多实用的物体识别算法,国内学者也提出了许多有效可行的物体识别方法[1~5]。为了提高目标识别算法效率,Malisiewicz T等人[6]提出了一种简单高效的集成学习算法。为了提高识别大规模图像数据集的物体的准确率,Krizhevsky A等人[7]于2012年提出了基于深度卷积神经网络的图像分类算法。Sermanet P等人[8]提出了OverFeat目标识别框架,实现了图片中位置变化的目标物体的识别。为了提高识别精度,Girshick R等人[9]提出了R-CNN 算法,增强了多训练数据下的模型计算能力。Simonyan K等人[10]和Szegedy C等人[11]进一步设计了22层的深度卷积神经网络,使得卷积神级网络的深度对大范围图像识别效果显著提高,深度神经网络的性能也有所提升。Liu W等人[12]于2016年提出了基于位置回归的识别框架,解决了传统的目标识别框架对于多尺度物体的识别效果欠佳的问题。

本文针对无人船海上航行时视觉系统获取的图片中船舶障碍物识别不准确,以及识别精度偏低的问题,提出了基于改进单镜头多盒探测器(single shot multibox detector,SSD)的无人船海上船舶识别的方法。具体改进策略为:在Tensorflow框架下,对传统SSD网络的第七层增加L2正则化,使得SSD每个卷积层的参数比较均衡,进而降低模型对局部特征的敏感性,从而实现目标类型的精准识别。最后,通过实验验证了本文方法的可行性与优越性。

1 传统SSD算法

传统SSD算法主要是通过卷积神经网络提取特征图后设置先验框进行目标识别。算法使用大特征图来识别小目标、小特征图识别大目标。传统SSD直接采用卷积对不同的特征图进行识别结果提取。对于形状为m×n×p的特征图,只需采用比较小的3×3×p的卷积核得到特征值。传统SSD借鉴了文献[13]中锚的理念,每个单元设置尺度或长宽比不同的先验框,预测的边界框以这些先验框为基准,在一定程度上减少了训练难度。一般情况下,每个单元会设置多个先验框,其尺度和长宽比存在差异。

假设预测采用m个特征图。每个特征图的默认框比例计算如式(1)所示

(1)

通过视觉系统获取4张图片,并使用传统SSD算法对图片中的船舶进行识别,识别结果如图1所示。

图1 传统SSD的海上船舶图片识别

由图1可知,传统SSD未能识别图1(a)中的船舶,识别置信度为0,图1(b)的识别置信度为0.590,图1(c),(d)的识别置信度分别为0.540和0.689。综合以上信息可知,传统SSD存在识别不准的问题,所以传统SSD需要进一步改进以适用于无人船海上航行时的船舶障碍物识别。

2 基于改进SSD算法的船舶识别

通过无人船的视觉系统获取船舶图片后,使用船舶识别算法对其实现识别。在进行船舶识别时,通过识别置信度来衡量船舶识别精度,通过准确率来衡量模型分类器好坏。

2.1 改进SSD算法实现

针对传统SSD算法中第七层以后的后面几层的网络对采集的特征比较敏感从而导致海上船舶图片识别不够准确的问题,在传统SSD网络的第七和第八两层、第七~第九的三层、第七~第十的四层、第七~第十一的五层以及第七层~十一层的每一层分别增加L2正则化对其进行改进,通过实验对比选出最合适的改进方法,改进SSD 算法的对比框架如图2所示。

图2 改进SSD 算法的整体框架图

为了防止模型对第七层的某个特征特别敏感,在网络加入L2正则化,从而使所有特征的表达能力趋于均衡。在测试集上运行时,即使某个特征上有异常突出的噪声,并不会影响整体模型的输出。

L2正则化也叫权重衰减,因为它强制权重朝着0衰减(但不会为0),L2正则是基于L2范数实现的,即

(2)

具有较小权重矩阵的神经网络会简化模型,正则化的目的是给第七层增加一个惩罚项,使得第七层权重矩阵的值减小,从而降低第七层的特征。使用L2正则化对特征进行归一化处理时,模型的训练会受到影响。如果特征向量的L2范数为 1,最后得到的特征向量可能会很小,从而使训练变得非常缓慢,所以参考文献[14]的设置方法,加入一个与传统SSD相同大小的尺度可学习参数,取值为20,让网络根据反向传播的信息自动学习。通过给每一个通道的特征图都加一个尺度(参数控制归一化后特征向量的大小),让每个通道都自己控制学习,就可对向量的模进行伸缩,从而让全局语义信息不会因为特征向量的值太小而被忽略,使得训练更稳定且性能更好。

2.2 建立制作VOC2007船舶数据集

作为标准数据集,Pascal VOC[15]2007数据集是衡量图像分类识别能力的基准。为了提高本文对海上船舶障碍物识别算法的有效性,制作了船舶数据集。在网上收集了1 138张具有船舶信息的图片。同时,为了对预处理后的改进SSD算法进行定量评估对所有收集到的图像的船舶障碍物目标进行人工标注类别和位置。最后,制作了包含1 000张训练图片和138张测试图片的VOC2007船舶数据集。

由于从网络搜集的图片质量和数量有限,从而导致VOC2007船舶数据集没有文献[12]的数据集质量好,所以基于传统SSD识别置信度以及准确率比文献[12]略低。

2.3 改进SSD算法训练与对比测试

将SSD第7层正则化的改进算法命名为方法1;SSD第8层正则化改进算法命名为方法2;SSD第9层正则化改进算法命名为方法3;SSD第10层正则化改进算法命名为方法4;SSD第11层正则化改进算法命名为方法5;SSD第7,8层正则化改进算法命名为方法6;SSD第7,8,9层正则化改进算法命名为方法7;SSD第7,8,9,10层正则化改进算法命名为方法8;SSD第7,8,9,10,11层正则化改进算法命名为方法9;对传统SSD以及这9种方法分别做数据集训练以及对比测试实验。实验是在tensorflow框架下,通过在配置为英特尔 Core i7—8750H处理器、主频为2.20 GHz,显卡为GTX1050Ti,显存为4 G的主机上运行JetBrains PyCharm Community Edition 2018.3.4 x64软件来实现的。通过加载预训练好的VGG16模型和制作好的船舶数据集并采用卷积步长为8进行改进SSD网络模型的训练,最后对改进SSD算法与传统SSD算法进行对比测试。

本文设置的置信度IOU为0.5,当置信度高于0.5时,船舶才能被识别成功,为正样本,在折线图中显示置信度大于0;反之,则为负样本,置信度小于0。将实验得出10种方法对应的数据绘制成折线图,如图3所示。

图3 传统SSD与9种改进方法数据对比

由图3可知,除方法9外,其余改进方法均优于传统SSD算法,所以引入新的评价指标进一步筛选出最优改进方法。

由于本文研究的分类问题属于二分类,所以引入准确率来评价改进模型。准确率的含义是被分对的样本数除以所有的样本数,准确率越高,分类器越好,准确率的计算公式如下

(3)

式中TP为正类预测为正类数的个数,TN为负类预测为负类数的个数,FP为负类预测为正类数误报的个数,FN为正类预测为负类数漏报的个数。本文将TP和TN归为正样本,FP和FN归为负样本。

传统SSD算法与9种改进方法的正负样本的信息如表1所示,表中总样本为138,通过公式计算得到相应的准确率,由表中数据可知,改进后的算法除方法9以外,准确率均高于传统SSD算法,改进的方法中准确率最高的方法为方法1,方法3和方法5。

表1 改进9种方法与传统SSD的准确率

通过文献[12]知,SSD对大物体的检测效果比较好,所以为了进一步筛选出最优方法,本文通过对138个对象中58个大物体进行传统SSD与3种改进方法进行识别,获取对应的正负样本,并进行准确率的计算,通过对比准确率获得最优改进方法,具体信息如表2所示。

表2 最优3种方法与传统SSD的准确率

由表1知,方法1的准确率为0.931,大于传统SSD以及方法3和方法5,所以方法1为最优方法。综合以上信息,本文采用对第七层进行正则化改进,最优改进方法如图4所示。

图4 最优改进SSD 算法的整体框架图

将方法1与传统SSD单独进行138个样本的识别对比,识别结果的折线图如图5所示。

图5 方法1与传统SSD的识别对比

由图5可知,改进后的算法对船舶障碍物的识别置信度更高。在机器学习方法中,泛化能力通俗来讲就是指学习到的模型对未知数据的预测能力。在本文中,通过置信度以及准确率来评价改进SSD算法的泛化能力,所以综合表1,表2以及图5可知,改进SSD模型的泛化能力也有所提升。

对图1中四张船舶图片重新使用改进SSD算法进行识别,识别结果如图6所示。

图6 四张海上船舶图片识别效果

由图6可知,图6(a)能够识别出船舶并且识别置信度达到了0.524,图6(b)的识别置信度达到了0.676(>0.590),高于图1(b)的识别置信度。当海水颜色与船舶颜色差别较大时,图6(c),(d)的识别置信度分别达到了0.712(>0.540)和0.751(>0.689),高于图1(c),(d)的识别置信度。

3 结束语

无人船海上安全自主航行离不开对障碍物的准确识别。使用传统SSD算法识别船舶障碍物会出现无法识别或者识别置信度偏低的现象。因此,本文提出改进SSD算法进行无人船的障碍物(其他船舶)的识别,解决了船舶识别置信度偏低以及传统SSD算法的分类器对部分船舶障碍物无法分类的问题,同时也提高了无人船航行时遇到的正常船舶障碍物的识别置信度以及分类器的性能,为无人船海上安全自主航行提供了保障。

本文主要是针对于静止船舶进行识别目标识别,而海上动态目标的识别也尤为重要,对动态的海上船舶障碍物进行多帧识别是海上动态避障的关键。所以下一步工作将会视频中的多帧图像,对海上动态船舶障碍物进行识别。

猜你喜欢
置信度正则障碍物
硼铝复合材料硼含量置信度临界安全分析研究
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
剩余有限Minimax可解群的4阶正则自同构
类似于VNL环的环
正负关联规则两级置信度阈值设置方法
置信度条件下轴承寿命的可靠度分析
土钉墙在近障碍物的地下车行通道工程中的应用
多假设用于同一结论时综合置信度计算的新方法✴
奇异保序变换半群的极大正则子半群