基于改进YOLOv5深度学习的海上船舶识别算法

张晓鹏,许志远*,曲胜,邱文轩,翟泽宇

(大连海洋大学 航海与船舶工程学院,辽宁 大连 116023)

摘要:为提高多目标和雾天环境下的海上船舶识别准确率,提出一种基于改进YOLOv5深度学习的海上船舶识别模型(SE-NMS-YOLOv5),该模型结合暗通道去雾算法(Dark channel),并融合了SE(squeeze-and-excitation)注意力机制模块和改进非极大值抑制模型,对船舶数据集进行训练和测试。结果表明:在船舶识别任务上,SE-NMS-YOLOv5模型的准确率、召回率和F1值分别为90.6%、89.9%、90.5%,检测效果比YOLOv5模型分别提升了6.3%、4.8%、5.8%,比YOLOv4模型分别提升了19.1%、19.0%、19.3%;在雾天船舶识别任务上,SE-NMS-YOLOv5-Dark channel模型的准确率、召回率和F1值分别为88.1%、87.2%、87.6%,比SE-NMS-YOLOv5模型的检测结果分别提升了13.8%、13.3%、13.5%。研究表明,SE-NMS-YOLOv5海上船舶识别模型有效地解决了多目标和雾天条件下,海上船舶检测准确率低的问题,提升了船舶检测和识别的整体效果。

关键词: 船舶识别;YOLOv5;特征提取;深度学习

准确有效的海上船舶识别技术对于提高船舶航行安全是非常重要的,同时也是船舶智能化发展的关键技术。传统的船舶识别主要依靠船舶自动识别系统(Automatic identification system,AIS)和雷达等通信导航设备完成。船舶雷达主要用于航行避让、船舶定位和狭水道引航等,是船舶航行必要的导航设备,但其也存在目标误识别、目标丢失和易受环境噪声影响等缺点。船舶自动识别系统能够准确获得船舶基本信息,可辅助识别船只、协助追踪目标、简化信息交流和提供其他辅助信息,以避免碰撞发生,但对于未装配该系统或终端关机的船舶则无法获取相关信息。上述基于通信导航设备的船舶识别方法有其优点,但因无法获取船舶直观图像,在港口等交通密集水域有较大的局限性。

目前,基于深度学习的船舶识别方法的研究已取得了一定进展,通过自动提取船舶图像特征及不断学习与训练,实现对海上交通视频和图像中船舶的识别,其代表模型有CNN、R-CNN、Faster R-CNN、SSD和YOLO等。其中,针对卷积神经网络的船舶识别结果易受到图像背景干扰的问题,杨亚东等[1]提出了“中心-扩散池化”和“前景-扩散池化”两种改进卷积神经网络方法,徐志京等[2]将循环注意卷积神经网络与多特征区域进行融合。上述两个模型虽取得了较好成效,但由于CNN需要对多个区域进行精准预测,消耗了大量的计算时间。为缩短CNN模型的运行时间,崔巍等[3]、赵振强等[4]在CNN的基础上采用Faster RCNN模型进行船舶检测,用Region proposal network替换选择性搜索,赵江洪等[5]利用深度残差网络ResNet替代现有VGG-16网络,并对Faster R-CNN进行改进,均取得了不错的效果。为进一步提升模型效率,王言鹏[6]在SSD单次多框检测器基础上应用迁移学习技术,刘硕等[7]在传统SSD网络的第七层增加L2正则化对其进行改进,马健等[8]在SSD基础上提出了基于特征融合的轻量级目标识别模型,均取得了较好的检测效果,但SSD模型网络中先验框的基础大小和形状不能直接通过学习获得,而是需要手工设置,导致调试过程过度依赖经验。为解决这一问题,于洋等[9]通过将目标框维度聚类和尺度变换等方法融入YOLOv2模型中,提高了船舶的识别能力。YOLOv3在YOLOv2的基础上添加残差网络,对于训练较深层的网络,可以解决梯度消失等问题。张煜等[10]提出的YOLOv3-MIoU模型、刘博等[11]提出的Darknet YOLOv3模型和张佳欣等[12]提出的改进YOLOv3模型的SAR图像舰船目标检测方法,都进一步优化了船舶识别模型的检测性能。为提高YOLOv3模型的精度,孔刘玲等[13]在YOLOv4基础上采用改进的 K-means+聚类方法重新设计先验锚框以提高船舶检测准确性。YOLOv5模型的目标检测模型可以通过自身学习提取有效信息,相较于YOLOv4,部署容易且速度快。谭显东等[14]通过改进YOLOv5检测框损失函数和特征提取方式,提高了对SAR图像中舰船目标的检测效果,但是算法试验数据量相对较少,不同方位的舰船目标对IoU取值存在影响。为解决上述问题,需要探究多目标检测方法,以进一步加强模型对船舶特征的提取能力,提高复杂环境下的船舶检测准确率。

本研究中,针对不同环境下海上船舶检测准确率低的问题,提出了一种基于改进YOLOv5深度学习的海上船舶识别模型(SE-NMS-YOLOv5),该模型通过改进NMS模型增强网络的识别能力,增加注意力机制模块以提取更多船舶特征,并采用暗通道原理提高雾天海上船舶识别的准确率,在不同环境下对船舶图像进行测试,以期解决多目标和雾天条件下海上船舶检测准确率低的问题。

1 相关理论

1.1 激活函数

YOLOv5模型中引入激活函数以解决线性不可分问题。在神经网络的输入层和输出层间加入激活函数,增强神经网络的表达能力和学习能力。Mish激活函数的计算公式为

Mish=x×tanh[ln(1+ex)]。

(1)

1.2 CIoU

目标检测模型采用CIoU,该模型考虑了重叠面积、中心点距离和长宽比等几何函数,解决了后续训练中的发散问题。CIoU计算公式为

CIoU=IoU-d/l2-av

(2)

a=v/(1-IoU+v),

(3)

(4)

其中: d为预测框与真实框中心点的欧式距离;l为覆盖预测框与真实框的最小闭合框的对角线长度;a为权重函数;v为长宽比的相似性;gt为真实框;h为框的高度。

1.3 注意力机制(SE)模块

为使网络能够更好地拟合通道间的相关性,增加更重要通道特征的权重,引入了SE(squeeze-and-excitation)模块,注意机制[15]是一种神经网络资源分配方案,用于将计算资源分配给更重要的任务,其网络结构如图1所示。

图1 SE注意力模块结构
Fig.1 SE attention mechanism module

压缩Squeeze(压缩操作)是通过全局平均池化来完成,将每个通道的H×W个像素值压缩为一个实数Fsq(uc),获得并输出每个特征通道的权重。计算公式为

(5)

其中: WH为特征图的宽、高;u为特征层;c为通道数。

Scale模块是通过通道权重相乘得到的结果,即原有特征向量为W×H×C,用SE模块计算出的各通道权重值分别与原特征图对应通道的二维矩阵相乘。

1.4 暗通道原理

相机距离成像物体有远有近,当雾霾浓度分布均匀时,近处的物体成像受到雾霾影响较小,色彩还原较高,而远处的物体成像色彩还原度就较低,因此,远处物体呈现白色亮度较高,而近处物体则相反,亮度较低。故参考近处物体亮度对大气光强及透射率进行建模,实现去雾功能。像素成像建模公式为

I(x)=J(x)t(x)+A[1-t(x)]。

(6)

其中:I(x)为雾天图像;J(x)为要恢复的无雾图像;A为全球大气光成分;t(x)为透射率。通过已知条件I(x),求目标值J(x),为减少复原后图像噪声,设t0为0.1。最终的恢复公式为

(7)

2 改进的YOLOv5船舶识别模型

YOLOv5模型使用Pytorch框架,框架友好,训练数据效率高。但网络中存在大量参数,如果直接训练可能会出现精度提升慢及梯度下降等问题。为防止这种情况发生,本研究中提出了一种多阶段训练方法,采用SE模块结合改进的NMS对YOLOv5模型进行改进。

2.1 改进的NMS

在船舶识别过程中,经典NMS(非极大值抑制)模型容易受到遮挡问题的困扰,尤其是船与船之间距离较近时,网络会过滤掉与最大值接近的边框,导致误删。为解决这一问题,本研究中对NMS模型进行改进,步骤如下:

1)根据置信度得分进行排序;

2)选择置信度最高的边界框添加到最终输出列表中,将其从边界框列表中删除;

3)计算置信度得分最高的边界框与其他边框的IoU;

4)超过设定阈值时降低这个框的置信度,最后输出时如果置信度低于阈值就会被过滤掉;

5)重复上述过程,直至边界框列表为空。

图2为遮挡船舶对比检测结果,可见改进的NMS模型不仅解决了遮挡情况下的漏检问题,同时也提高了目标的召回能力。

图2 遮挡船舶检测
Fig.2 Occlusion ship detection

2.2 SE-NMS-YOLOv5模型

在数据输入端,对船舶图像的尺寸进行自适应缩放,模型会通过自身不断学习去调整锚定框,从而更精确地预测船舶目标的位置。模型Backbone由Focus和CSP模块组成。Focus结构对输入目标的维度进行切片,不仅减少了目标原始特征信息的丢失,还能提高模型的计算速度,然后通过一系列卷积运算,得到不同大小的特征图像。Neck特征融合结构对不同大小的特征图像进行采样,将特征图像处理成相同大小,然后进行特征融合和卷积,预测结构通过损失函数计算目标类别概率和位置坐标,以获得目标预测结果。改进的YOLOv5模型即SE-NMS-YOLOv5模型结构,如图3所示。

图3 SE-NMS-YOLOv5模型结构
Fig.3 SE-NMS-YOLOv5 model structure

2.3 船舶识别算法流程

基于SE-NMS-YOLOv5深度学习的海上船舶识别算法主要包括建立船舶数据集、船舶图像标注、网络训练和图像去雾处理等环节,具体流程如图4所示。

2.4 网络训练

网络训练时主要包含3个方面的损失:矩形框损失(lossbox)、置信度损失(lossobj)和分类损失(lossclc)。总体损失Loss为3个损失的加权和,即

Loss=a×lossobj+b×lossbox+c×lossclc

(8)

其中,abc为权重系数。通常置信度损失取最大权重,矩形框损失和分类损失的权重次之。由于本研究中未对船舶进行分类,故只考虑置信度和矩形框损失。为了避免过拟合对数据集进行多阶段训练,图5为训练过程中的损失变化情况,在Loss曲线图中,横坐标为训练的迭代次数,纵坐标为Loss值,图5(a)、(b)是训练集损失,图5(c)、(d)是测试集损失,可以看出,Loss曲线呈收敛趋势。

图4 算法流程图
Fig.4 Algorithm flow chart

图5 损失函数图
Fig.5 Loss function diagram

3 海上船舶识别试验

3.1 试验环境及数据

本次试验运行系统为Windows 10,CPU为AMD Ryzen7 1700,内存32 G,硬盘1 T,显卡为NVIDIA TIT-AN V,深度学习框架为Pytorch。训练测试通过爬虫技术从网上收集了3 500张包含船舶信息的图片,其中包括不同海域、不同角度下的船舶数据集。同时通过对船舶数据集进行旋转、尺度变化和改变饱和度等操作对样本数据集进行了扩充。训练集与测试集的比例为9∶1,即训练集为3 150张,测试集为350张。

3.2 评估标准

试验模型采用PRF1作为网络训练结果评价参数。其中,P为模型预测所有目标中预测正确的比例,R为所有真实目标中模型预测正确的目标比例,F1为分类问题的一个衡量指标,它是准确率和召回率的调和平均数。PRF1计算公式分别为

P=NTP/(NTP+NFP)×100%,

(9)

R=NTP/(NTP+NFN)×100%,

(10)

F1=2P×R/(P+R)×100%。

(11)

其中:NTP为预测结果中正确预测船舶目标的个数;NFP为预测结果中错误预测船舶目标个数;NFN为未被预测出的船舶目标个数。

通过对各参数进行预试验,PRF1随着迭代次数(iterations)增长逐渐增加,经过100多次迭代后各项指标趋于稳定。当学习率为10-5时,模型的F1值仍有提升,但学习率过小会导致训练时间过长且收敛速度慢,故选取10-5作为模型的学习率。

3.3 不同模型的海上船舶识别对比试验

正常气候条件下,采用YOLOv4、YOLOv5及SE-NMS-YOLOv5模型进行船舶识别对比试验,部分试验识别结果如图6所示。从图6可见:YOLOv4模型测试中有漏检的情况且识别率较低;YOLOv5模型总体识别准确率较YOLOv4模型有提升,但对大型船舶仍不敏感;SE-NMS-YOLOv5模型单张图像的平均检测时间和识别准确率,较前两种方法均有提高,既提高了大目标船舶的检测效果,且对不同角度的船舶检测效果更好,平均识别准确率较YOLOv4、YOLOv5模型分别提高19.1%和6.3%,其识别效果对比数据如表1所示。

表1 识别效果对比
Tab.1 Comparison of recognition effect

模型model单图平均检测时间/msaverage detection time of single graph准确率/%P召回率/%RF1值/%F1measureYOLOv440.6371.570.971.2YOLOv539.2584.385.184.7SE-NMS-YOLOv538.7590.689.990.5

3.4 雾天海上船舶识别试验

雾天条件下海上交通能见度较低,船舶航行安全风险增大。特别在沿海和港口等船舶交通密集水域,碰撞风险更大。同时,由于船与船间或船与其他物体间的距离较近,雷达、AIS等导航设备较难达到良好的辅助作用,但依靠视觉识别则能解决这一问题。本研究中,采用暗通道原理对雾天海上船舶图像进行清晰化处理并进行船舶识别。选取雾天某海域船舶图片为试验对象,采用SE-NMS-YOLOv5模型结合暗通道去雾模型(Dark-channel)对图片中的多个船舶目标进行识别,结果如图7所示。从图7可见,经去雾处理后船舶图像清晰度(特别是远处)明显改善,同时船舶识别准确率也相应提高,改进后的模型提高了雾天条件下的船舶识别效果,其平均识别准确率如表2所示。

图6 不同模型对海上船舶的识别效果
Fig.6 Recognition effect of different models on marine ships

表2 雾天识别结果对比
Tab.2 Comparison of recognition effect in fog %

模型 model准确率 P召回率 RF1SE-NMS-YOLOv574.373.974.1SE-NMS-YOLOv5-Dark channel88.187.287.6

4 讨论

4.1 网络模型识别效果分析

在基于深度学习的船舶检测发展进程中,先后诞生了一些深度学习框架和神经网络模型。本研究中提出的SE-NMS-YOLOv5海上船舶识别模型,聚焦于当前任务更为关键的信息,并能够解决船舶距离较近导致的遮挡问题。与徐志京[2]提出的基于RA-CNN模型在光电船舶数据集上的识别准确率相比,本研究中模型的识别准确率由90.2%提升至90.5%;与张佳欣[12]等提出的改进YOLOv3模型在SAR船舶数据集上的识别准确率相比,本研究中模型的识别准确率、召回率和F1值分别提高了11.5%、6.2%、9.1%;与YOLOv5模型相比,本研究中模型的识别准确率、召回率和F1值分别提高6.3%、4.8%、5.8%,识别效果有明显提升。因此,本研究中提出的模型不仅提升了船舶检测的精确度,且较好地解决了船舶的遮挡问题,同时模型的单图平均检测时间也有降低,更加满足了船舶目标检测的要求。

4.2 雾天海上船舶识别效果

海上天气复杂多变,容易形成云雾遮挡,对目标识别造成影响,导致模型精度下降,故如何快速、精确地识别雾天海上船舶是目前需要解决的难题。本研究中,在模型检测前对雾天船舶图像进行暗通道去雾处理,为后续YOLOv5模型特征提取提供了更多有效信息。试验选取雾天某海域船舶图片为试验对象,采用SE-NMS-YOLOv5-Dark channel模型的准确率、召回率和F1值分别为88.1%、87.2%、87.6%,识别效果明显提升。与SE-NMS-YOLOv5模型相比,本模型的准确率、召回率和F1值分别提升了13.8%、13.3%、13.5%,该模型通过图像去雾处理,提高了雾天船舶的检测效果。

图7 SE-NMS-YOLOv5-Dark-channel模型对雾天海上船舶的识别效果
Fig.7 Recognition effect of SE-NMS-YOLOv5-Dark-channel model on marine ships in fog

综上所述,SE-NMS-YOLOv5-Dark channel方法是一种有效的雾天海上船舶识别方法,为提高雾天条件下船舶识别准确率提供了一种新方法,也为其他领域图像识别提供了一种新思路。

5 结论

1)以YOLOv5模型为基础,通过添加SE注意力机制模块及改进NMS模型建立的SE-NMS-YOLOv5模型,对海上船舶的平均识别精度和检测速度均较好。

2)通过暗通道方法对雾天条件下的船舶图像进行清晰化处理,再结合SE-NMS-YOLOv5模型进行识别,建立的模型有效地提高了雾天条件下的海上船舶识别准确率,对于提高船舶航行安全具有一定的辅助作用。

3)船舶数据集主要依靠网络爬虫技术获取,虽然有一定的数量,但是船舶数据集背景以海面为主,相对简单。今后的研究将进一步丰富船舶数据集中海上交通要素,以确保在较为复杂的海上交通环境中也能准确识别船舶。

参考文献:

[1] 杨亚东,王晓峰,潘静静.改进CNN及其在船舶识别中的应用[J].计算机工程与设计,2018,39(10):3228-3233.

YANG Y D,WANG X F,PAN J J.Improved CNN and its application in ship identification[J].Computer Engineering and Design,2018,39(10):3228-3233.(in Chinese)

[2] 徐志京,孙久武,霍煜豪.多特征区域的细粒度船舶图像目标识别方法[J].计算机工程与应用,2022,58(10):224-230.

XU Z J,SUN J W,HUO Y H.Fine-grained ship image target recognition method based on multiple feature regions[J].Computer Engineering and Applications,2022,58(10):224-230.(in Chinese)

[3] 崔巍,杨亮亮,夏荣,等.基于Faster R-CNN算法的船舶识别检测[J].合肥工业大学学报(自然科学版),2020,43(2):182-187,223.

CUI W,YANG L L,XIA R,et al.Ship recognition and detection based on Faster R-CNN algorithm[J].Journal of Hefei University of Technology (Natural Science Edition),2020,43(2):182-187,223.(in Chinese)

[4] 赵振强,何水原,梁永志.基于Faster R-CNN的遥感影像船舶检测识别[J].测绘通报,2021(11):59-64.

ZHAO Z Q,HE S Y,LIANG Y Z.Research on remote sensing image ship detection and identification based on Faster R-CNN[J].Bulletin of Surveying and Mapping,2021(11):59-64.(in Chinese)

[5] 赵江洪,张晓光,杨璐,等.深度学习的遥感影像舰船目标检测[J].测绘科学,2020,45(3):110-116,134.

ZHAO J H,ZHANG X G,YANG L,et al.Ship detection in remote sensing based on deep learning[J].Science of Surveying and Mapping,2020,45(3):110-116,134.(in Chinese)

[6] 王言鹏.基于SSD的船舶目标检测与跟踪算法研究[D].大连:大连理工大学,2019.

WANG Y P.Research on ship target detection and tracking algorithms based on SSD[D].Dalian:Dalian University of Technology,2019.(in Chinese)

[7] 刘硕,葛愿,李媛媛,等.基于改进SSD的无人船海上船舶识别算法[J].传感器与微系统,2021,40(2):120-123.

LIU S,GE Y,LI Y Y,et al.Recognition algorithm of unmanned ship at sea based on improved SSD[J].Transducer and Microsystem Technologies,2021,40(2):120-123.(in Chinese)

[8] 马健,史文旭,鲍胜利.基于特征融合SSD的遥感图像舰船目标检测[J].计算机应用,2019,39(sup 2):253-256.

MA J,SHI W X,BAO S L.Ship target detection in remote sensing images based on feature fusion SSD[J].Journal of Computer Applications,2019,39(sup 2):253-256.(in Chinese)

[9] 于洋,李世杰,陈亮,等.基于改进YOLOv2的船舶目标检测方法[J].计算机科学,2019,46(8):332-336.

YU Y,LI S J,CHEN L,et al.Ship target detection based on improved YOLOv2[J].Computer Science,2019,46(8):332-336.(in Chinese)

[10] 张煜,康哲,马杰,等.面向内河航运安全监控的多尺度船舶图像目标识别方法[J].大连海事大学学报,2022,48(1):62-72.

ZHANG Y,KANG Z,MA J,et al.Multi-scale ship image target recognition method for inland navigation safety monitoring[J].Journal of Dalian Maritime University,2022,48(1):62-72.(in Chinese)

[11] 刘博,王胜正,赵建森,等.基于Darknet网络和YOLOv3算法的船舶跟踪识别[J].计算机应用,2019,39(6):1663-1668.

LIU B,WANG S Z,ZHAO J S,et al.Ship tracking and recognition based on Darknet network and YOLOv3 algorithm[J].Journal of Computer Applications,2019,39(6):1663-1668.(in Chinese)

[12] 张佳欣,王华力.改进YOLOv3的SAR图像舰船目标检测[J].信号处理,2021,37(9):1623-1632.

ZHANG J X,WANG H L.Ship target detection in SAR image based on improved YOLOv3[J].Journal of Signal Processing,2021,37(9):1623-1632.(in Chinese)

[13] 孔刘玲,刘秀文.基于改进YOLOv4算法的船舶目标检测方法[J].船舶工程,2022,44(1):96-103,147.

KONG L L,LIU X W.Ship target detection algorithm based on improved YOLOv4[J].Ship Engineering,2022,44(1):96-103,147.(in Chinese)

[14] 谭显东,彭辉.改进YOLOv5的SAR图像舰船目标检测[J].计算机工程与应用,2022,58(4):247-254.

TAN X D,PENG H.Improved YOLOv5 ship target detection in SAR image[J].Computer Engineering and Applications,2022,58(4):247-254.(in Chinese)

[15] 赵梦,于红,李海清,等.融合SKNet与YOLOv5深度学习的养殖鱼群检测[J].大连海洋大学学报,2022,37(2):312-319.

ZHAO M,YU H,LI H Q,et al.Detection of fish stocks by fused with SKNet and YOLOv5 deep learning[J].Journal of Dalian Ocean University,2022,37(2):312-319.(in Chinese)

Recognition algorithm of marine ship based on improved YOLOv5 deep learning

ZHANG Xiaopeng,XU Zhiyuan*, QU Sheng, QIU Wenxuan, ZHAI Zeyu

(College of Navigation and Ship Engineering, Dalian Ocean University, Dalian 116023, China)

Abstract In order to improve the accuracy of marine ship recognition in multiple targets and foggy environments, a marine ship recognition model SE-NMS-YOLOv5 is proposed based on improved YOLOv5 deep learning. The model is combined with Dark channel defogging algorithm, SE(squeeze-and-congestion) attention mechanism module and improved non-maximum suppression model for training and testing of ship data sets. The results showed that in the ship recognition task, there was the accuracy of 90.6%, recall rate of 89.9% and SE-NMS-YOLOv5 F1 value of 90.5%, and compared with YOLOv5 model, the detection effect is improved by 6.3%, 4.8% and 5.8%. Compared with YOLOv4, the model improved 19.1%, 19.0% and 19.3%. In foggy conditions, the accuracy, recall rate and F1 value of SE-NMS-YOLOv5-Dark channel model were 88.1%, 87.2% and 87.6%, compared with SE-NMS-YOLOv5 model, the detection results are improved by 13.8%, 13.3% and 13.5%, respectively. The findings indicate that the marine ship recognition method based on SE-NMS-YOLOv5 effectively solves the problem of low accuracy of marine ship detection on multiple targets and foggy conditions, and improve the overall effect of ship detection and recognition.

Key words ship recognition; YOLOv5; feature extraction; deep learning

中图分类号S 972;TP 391.4

文献标志码:A

DOI10.16535/j.cnki.dlhyxb.2022-104

文章编号:2095-1388(2022)05-0866-07

收稿日期 2022-04-07

基金项目 辽宁省教育厅科研项目(QL201911)

作者简介 张晓鹏(1997—),男,硕士研究生。E-mail:571348852@qq.com

通信作者 许志远(1981—),男,博士,副教授。E-mail:xuzhiyuan@dlou.edu.cn