温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种
基于
Attention
YOLOv3
海面
舰船
目标
检测
方法
2023 年 8 月第 4 期 现代导航 307 一种基于 Attention-YOLOv3 的海面舰船目标检测的方法 闫婕妤,王文博,郝延彪,施春强(中国人民解放军 91001 部队,北京 100841)摘 要:近年来,基于深度学习的视觉检测方法在海面舰船目标检测领域中的应用愈加广泛。为了解决传统视觉检测方法检测精度不高,对小目标检测效果不好的问题,提出了一种基于Attention-YOLOv3 的海面舰船目标检测方法,有效提高了对舰船目标的检测性能。在对主流的One-stage 与 Two-stage 模型结构及特点的调研分析的基础上,利用 YOLOv3 的特征提取网络Darknet-53 来获取图像特征,通过特征金字塔网络(FPN)网络结构融合特征提取网络中深浅层的语义信息,并添加注意力机制模块来进一步优化网络性能。将改进后的 Attention-YOLOv3 模型应用到海面舰船检测场景中进行验证,基于搜集到的舰船目标制作成 COCO 格式的数据集进行训练,使用包含海面舰船目标的图片作为测试集进行测试。实验结果表明,改进后的Attention-YOLOv3 网络对比原检测网络模型,解决了小目标检测不敏感的问题,达到了更高的检测效果。关键词:海面舰船检测;YOLOv3;注意力机制 中图分类号:TP183 文献标志码:A 文章编号:1674-7976-(2023)-04-307-06 Method of Surface Ship Target Detection Based on Attention-YOLOv3 YAN Jieyu,WANG Wenbo,HAO Yanbiao,SHI Chunqiang Abstract:In recent years,the visual detection method based on deep learning has been widely used in the field of ship target detection on the sea surface.In order to solve the problems of low detection accuracy and poor detection performance for small targets in traditional visual detection methods,a sea surface ship target detection method based on Attention-YOLOv3 is proposed,which effectively improves the detection performance of ship targets.Based on the research and analysis of the structure and characteristics of mainstream One-stage and Two-stage models,YOLOv3s feature is used to extract network Darknet-53 for obtaining image features,and the deep and shallow semantic information in the network is extracted through the fusion of features in the Feature Pyramid Network(FPN)network structure,and attention mechanism modules are added to further optimize network performance.The improved Attention-YOLOv3 model is applied to the verification of ship detection scenarios on the sea surface.It is trained based on the collected data set of ship targets in COCO format,and tested using images containing ship targets on the sea surface as the test set.The experimental results show that the improved Attention-YOLOv3 network solves the problem of insensitivity to small object detection and achieves higher detection performance compared to the original detection network model.Key words:Sea Ship Detection;YOLOv3;Attention Mechanism 0 引言 传统的海面船舶识别与检测的研究实验对象 收稿日期:2023-05-31。闫婕妤(1969.07),山西临汾人,高级工程师,主要研究方向为海上态势感知、大数据应用。一般分为两类:合成孔径雷达图像与红外图像。合成孔径雷达图像的优点是生成图像的分辨率高、穿透性强、不受极端天气影响,缺点是成像区域窄、对信号处理的要求高。红外图像的优点是灵敏性高、不受恶劣天气影响,缺点则是在温差变化大的地域,照 片 尺 寸 为20mm*30mm;最好不用红色背景 308 现代导航 2023 年 成像质量容易不稳定。对比前两者,可见光图像因其易获取性和稳定的图像质量被广泛使用,在海上场景中的应用也更具优势1。因此本文采用可见光图像作为实验数据集。现代目标检测算法起源于由现代医学发展而来的卷积神经网络(Convolutional Neural Network,CNN)2,其核心在于通过卷积的方式提取出图片中的高层特征,在图片中确定目标所在的估计区域,区分区域内目标的类别,并用检测框的方式更具体地标记目标在图片中的位置。目标检测是计算机视觉领域中一项基础性和研究性都极强的课题。它的目的是用边界框定位和识别每个对象。传统的目标检测算法主要分为:融合了级联分类器(Cascade)、方向梯度直方图与可变形的组件模型(Histogram of Oriented Gradients/Deformable Part Models,HOG/DPM)、Haar 特征与支持向量机(Haar-like Features/Support Vector Machine,Haar/SVM)3的检测算法和各种在其基础上创新改进的检测算法。基于深度学习的目标检测有两大主流派系:基于目标所在区域作检测的 Two-stage 算法检测和单步检测的 One-stage 算法。Two-stage 主要由基于区域卷积神经网络(Regions with Convolutional Neural Networks,R-CNN)4、空间金字塔池化网络(Spatial Pyramid Pooling Network,SPPNet)5的快速区域卷积神经网 络(Fast Regions with Convolutional Neural Networks,Fast R-CNN)6、加速区域卷积神经网络(Faster Regions with Convolutional Neural Networks,Faster R-CNN)7等算法组成,它们都是基于目标所在区域来作目标检测。通常检测的过程分为两部分:首先,基于提取得到特征区域生成很多候选框;其次,分类区别前景和背景。这一阶段可以筛选出图片中大比例的背景部分,更快地确定目标的大致位置;然后,对这些生成的检测框进行类别的分类和预测框位置偏差回归。这种算法多次运行检测和分类流程,一般精准度比较高,但是训练缓慢。One-stage 现在主要是以单步视觉(You Only Look Once,YOLO)8和单步多框目标检测算法(Single Shot Multibox Detector,SSD)9的改进算法为主,它们是典型的 One-stage 算法(Single Shot Object Detection),其优点是输入图片并不进行背景区分和初始检测框的确定,而是直接生成所有目标的检测框,因而检测时间更短,速度更快。特征金字塔网络(Feature Pyramid Network,FPN)10将特征提取过程分化到由低到高的各个层级的图像特征中。最终采集到的是模型最高层的图像特征,这种模型构造带来了更快的检测速度,但是由于最高层的图像特征,分辨率不高,语义信息不丰富,更能体现大目标属性,所以导致小目标检测效果不好。而基于 FPN 的特征提取网络虽然更兼顾了特征提取过程中各个层级的图像特征,但是在模型计算过程中并未包含最底层的图像特征,小目标检测效果也不好。基于 FPN 的目标检测算法,在特征金字塔网络的基础上对各个不同网络层级的图像特征,进行由高层到低层的特征融合,使融合后图像特征同时包含高层和底层的语义信息,产生的特征图分辨率更高,语义信息更丰富,能够在一定程度上提升工程应用中小目标检测效果。基于深度学习的舰船检测是该领域的一种新的尝试,传统的 One-stage 网络 YOLOv311,检测速度较之前的 Two-stage 网络有所提升但精度不够,并在小目标检测的效果上表现一般,本文在YOLOv3 网络的基础上引入注意力识别网络,来实现海面舰船目标检测的速度和精度的兼顾。1 海面舰船目标检测结构 本文采用基于 FPN 结构的 YOLOv3 作为网络模型的基础架构,在其中嵌入注意力机制模块(Squeeze-and-Excitation Networks,SENet)12。YOLOv3 算法作为 One-stage 算法,并没有像Two-stage 算法那样需要预先生成一个兴趣区域(Region of Interest,ROI),原作者构建模型结构的思路是在数据集准备阶段,就采用 K-均值聚类算法(K-means Clustering Algorithm)13生成训练集边界框的聚类,并将输入图像大小设置为匹配卷积块的合适尺寸。如图 1 所示,YOLOv3 的骨干特征提取网络是使用了残差模块14(Residual Block)的 Darknet-53网络,整个网络共 74 层,其中主干结构为 5 组残差模块,多组残差模块使整个网络由逐层式训练转变为多阶段式训练。每个残差模块前有一个单独的步长为 2,尺度大小为 33 的卷积,用于改变特征图尺度。残差模块,即图 1 中的 Darknet 基础层(Darknet Basic Layer,DBL)模块,在 YOLOv3 第 4 期 闫婕妤等:一种基于 Attention-YOLOv3 的海面舰船目标检测的方法 309 源码中由函数 Darknetconv2d_BN_Leaky(Darknet二维卷积层,配合批归一化和 Leaky ReLU 激活函数,英文全称为:Darknet Convolutional 2D with Batch Normalization and Leaky ReLU)表示,是由卷积、批标准化和泄露修正线性单元(Leaky Rectified Linear Unit,Leaky ReLU)激活函数组成。作为 YOLOv3 中的一个基本组件,解决了当网络设计过深,训练时会经常出现的梯度消失等问题。DBL 模块在卷积运算中以增加步长来代替池化操作15,以减少低层特征的丢失,且在每个卷积层后加入批标准化模块和激活函数模块,以加快收敛速度,防止过拟合等问题。图 1 Attention-YOLOv3 结构 如图 2 所示,对原有的 Darknet-53 中的残差(Residual,Res)结构,在不改变其卷积大小的前提下,在每次融合 DBL1 和 DBL2 后加入 SENet 结构,如图 3 所示,SENet 先对输入特征图进行全局平均池化,输出的特征图大小为 C11(C 表示特征图的通道数目),特征图输出到 2 个全连接层后由 Sigmoid 函数输出训练结束后得到的各类别权重,乘上输入特征图。修改后的 Darknet-53 结构卷积层数不变,仍保持 1、2、8、8、4 数目的大残差块连接结构,输出特征图大小也没有发生改变。图 2 SE-Res 结构 图 3 SENet 结构 卷积层(Convolutional Set)结构主要由 5 个DBL 组成,如图 4 所示,其核心作用还是为了提取特征,来生成更高层次的抽象特征。图 4 Convolutional Set 结构 优化后的 Attention-YOLOv3 借鉴了基于 FPN的目标检测算法中对不同层级的图像特征由高到低、逐层融合的操作,如图 1 所示(输出 3 个不同大小的特征图,尺度信息为 1313、2626 和 5252,通道数对应于卷积核个数 256),预测结果基于三个融合特征后的特征图。这样就可以结合深浅层不同的语义信息,使得最终得到的每一层的特征映射(Feature Map)感受野更加丰富,包含更多小目标的信息,从而解决 One-stage 算法对于小目标检测不敏感的问题。2 海面舰船目标数据集和训练方法 2.1 数据集 本实验使用的原始数据集由公开的海上舰船数据集和网络搜索的数据集组成。样本输入DBLSE-res1 SE-res2SE-res8SE-res8SE-res4DBLDBLDBLDBLDBLDBLConvDarknet-53(省略全链接层)DBL*5输出y1DBLConv输出y2DBL 上采样DBLDBLDBLDBLDBLDBL*5DBLConv输出y3DBL 上采样DBLDBLDBLDBLDBLDBL*5ConcatenateConcatenate补0DBLSENetSENet单元1+SE-res 结构SENet单元2SENet单元n全局池化层全链接层1-Sigmoid函数SENet单元全链接层2Conv结构DBL1DBL3DBL1DBL3DBL1样本 输入 DBL SE-RES1 SE-RES2 SE-RES8 SE-RES8 SE-RES4 DBL*5 DBL DBL 上采样 DBL 上采样 Concatenate Concatenate DBL*5 DBL DBL DBL DBL DBL Conv Conv Conv 输入 y1 输入 y2 输入 y3 Darknet-53(省略全链接层)SE-RES 结构 补 0 DBL+SENet 单元 1 SENet 单元 2 SENet 单元 n SENet SENet 单元 全局池化层 全链接层 1 全链接层 2 Sigmoid函数-Conv 结构 DBL1 DBL3 DBL1 DBL3 DBL1 310 现代导航 2023 年 如图 5 所示,使用 Labelling 软件对原始图片作标注,将所有使用的数据集转成基于常见对象的上下文数据集(Common Objects in Context,COCO)格式。数据集一共 5 000 张图片,包含海上大小舰船、雨雾天气等特殊海上天气下的图片数据,其中80%为训练集,20%为测试集,类别是单分类目标检测。图 5 实验使用的部分数据集 2.2 模型训练 本实验使用的开发环境是 64 bit 的 Ubuntu 16.04 操作系统,使用的编程环境是 Python 3.7,使用的深度学习框架是 Pytorch 1.4 版本。在训练模型的过程中,首先采用了迁移学习的思路16,在官方 COCO2017 数据集下,使用Darknet-53 模型训练,经过反向传播算法,反复优化参数,得到一个预训练模型。在模型训练前,首先对训练集进行预处理操作:1)使用 Pytorch 自带的随机缩放、随机裁剪和随机添加噪声等函数,进行训练集的数据增强。2)将输入进模型的图片大小统一变更尺度为416416。这样不仅提高了训练集的规模,同时也增强了模型的泛化能力。为训练基础特征提取网络,本文采用小批量随机梯度下降(Stochastic Gradient Descent,SGD)方法作为优化器17。动量保持为默认值,权重衰减值设定为 1e-4。起始学习率为 0.000 01,并计划进行30 轮的训练。3 海面舰船目标检测实验 实验一共训练了 30 轮,设定每迭代 200 次数输出分类误差、框的回归误差和总误差(总误差定义为检测框的位置回归误差加上目标类别区分误差)。训练 30 轮后,误差数值已达到 0.43,梯度下降的过程很清晰。针对单类别舰船,真阳性(True Positive,TP)表示所有正样本中类型被成功区分的数目,假阳性(False Positive,FP)表示负样本中被识别成正样本的数目,假阴性(False Negative,FN)表示正样本中被识别成负样本的数目。根据式(1)和式(2)可以计算出查全率R(Recall Ratio)和查准率P(Precision Ratio)FNTPTPR (1)FPTPTPP (2)以R为横坐标,以P为纵坐标绘制曲线,单类平均准确度(Average Precision,AP)反映了该目标检测模型对特定类别的检测精度,它的具体大小为曲线和坐标轴构成的图形的面积大小。多类平均准确度(Mean Average Precision,mAP)则反映了该目标检测模型检测所有目标类别的平均准确度。本实验采用 COCO 数据集的验证标准,对比于传统的只计算单个交并比(Intersection Over Union,IOU)阈值(0.5),这里对多个 IOU 阈值求平均,将所有 IOU 增量进行平均的意义在于:当 IOU 的阈值为 0.5 时,训练后的模型的整体性能不一定就是最好的,可能只有阈值为 0.5 时模型性能特别好,掩盖了当阈值为 0.6 以上时模型性能很差的可能情况,所以为了更科学客观地计算模型整体精度,可以采取将该模型在所有 IOU 阈值所产生的 AP(mAP)求和,最后根据阈值个数计算平均值。这样能够使得目标检测器具有更好的定位位置。因为本实验是单类别检测,所以 mAP 值即等价于 AP 值,然后搜集所有 IOU 值大于 0.5 时模型计算出的 AP(mAP)值,每次增加 0.05 直到 0.95,最终以(0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95)的 IOU 值再次统计模型计算出的 AP(mAP)值,最后取平均值为:AP(at IOU=0.5:0.05:0.95),实验结果如图 6 所示。图 6 目标检测的 AP 值和 AR 值 第 4 期 闫婕妤等:一种基于 Attention-YOLOv3 的海面舰船目标检测的方法 311 在 COCO 数据集中,大物体的数量远远小于小物体的个数。在整个 COCO 数据集中,大约 41%的物体属于小物体(像素面积小于 322),34%属于中等大小物体(像素面积小于 962),24%属于大物体(像素面积小于 962),当目标像素占模型输入尺寸的 5%以上时,目标才被稳定准确的识别检测。由图 6 可以看出 IOU 在 0.50.95 区间的 AP(mAP)为 50.5%,后面可以进一步通过修改学习率,更换优化器,改变特征提取网络结构来提高。为了对比改进结构前后的 YOLOv3 性能,将原有的 Yolov3 网络与改进后 Attention-YOLOv3 以及具有代表性的 Two-Stage 算法 SSD,在本文搜集得到的数据集上进行模型性能对比实验,对比结果如表 1 所示。表 1 性能比较 模型 mAP/%参数量 SSD 73 31 Baseline 80.7 9.13 Attention-YOLOv3 81.6 17.5 在实验过程中控制上述两个网络模型训练时输入图像尺寸、学习率、迭代次数(Epoch)和批数(Batch-size)保持一致,实验的硬件环境也同样保持一致,均没有使用数据在线扩增策略,结果表明,本文在 YOLOv3 的基础上内嵌入 SENet 注意力网络,虽然模型参数量增加了,但是 mAP 值提升了接近 1%,验证了改进后算法性能上的提升。如图 7 所示,使用 Attention-YOLOv3 模型,对包含多个小目标的海上舰船图片测试,并没有出现漏检、误检的情况,预测框的大小和位置也相对精准,没有过大或者过小情况出现,说明训练好的Attention-YOLOv3 网络检测海面舰船目标的准确率和回归率都很高,基本达到预期效果。另外,对于部分清晰度不高的图片,如海上常见的多雾多云环境或者图片信噪比低于 40 dB 以下已产生颗粒雪花等噪点图片,可以将 Attention-YOLOv3 模型结合常见的去雾去噪算法(暗通道去雾、自动色阶去雾以及各种滤波去噪算法),进行检测图片预处理,以达到更好的检测效果,如采用暗通道去雾进行图片预处理前后,检测对比结果如图 8 和图 9 所示。图 7 多目标检测效果 图 8 较低分辨率图片检测效果 图 9 去雾去噪后检测效果 312 现代导航 2023 年 4 结语 本文将深度学习检测算法落地于传统的海上舰船目标检测课题中,参考常用的一阶目标检测模型YOLOv3搭 建 了 更 为 准 确 实 用 的Attention-YOLOv3 模型,在本模型训练前,使用迁移学习的手段将网上开源的 COCO2017 已经训练好的模型参数辅助本模型的训练,提升训练质量,并将根据落地的场景将检测目标实体化为单一目标。实验结果表明,本文提出的改进 YOLOv3 主干网络的方案,通过内嵌注意力模型 SENet,使得该模型通过多尺度提取特征使网络后具有多种感受野,能更好地学习图像中各种尺度的舰船目标的主体特征及局部分类特征。另外,由于本文所用到的Darknet 网络模型具有训练时间较长、模型大、参数多的缺点,可以更换更轻便的 backbone 网络,如TinyDarknet18网络对模型进行加速,或应用到移动端,YOLOv3模型自身也可以使用模型剪枝来提速,后期可以进行更深入的实验。参考文献:1 李军.光学遥感图像在船舶目标检测中的应用分析J.船舶电子工程,2016,36(10):30-34.2 周飞燕,金林鹏,董军.卷积神经网络研究综述J.计算机学报,2017,40(6):1229-1251.3 Baesens B,Viaene S,Gestel T V,et al.Least squares support vector machine classifiers:an empirical evaluationJ.Access&Download Statistics,2000.4 Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmentationC/Proceedings of the IEEE conference on computer vision and pattern recognition.2014:580-587.5 He K,Zhang X,Ren S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual RecognitionJ.IEEE Transactions on Pattern Analysis&Machine Intelligence,2014,37(9):1904-1916.6 Girshick R.Fast r-cnnC/Proceedings of the IEEE international conference on computer vision.2015:1440-1448.7 Ren S,He K,Girshick R,et al.Faster r-cnn:Towards real-time object detection with region proposal networksJ.Advances in neural information processing systems,2015,28.8 HE K,ZHANGX,RENS,et al.Deep residual learning for im-age recognitionC/Proceedings of the 2016 IEEE.Conferenceon Computer Vision and Pattern Recognition.Piscataway:IEEE,2016:770-778.9 Redmon J,Divvala S,Girshick R,et al.You only look once:Unified,real-time object detectionC/Proceedings of the IEEE conference on computer vision and pattern recognition.2016:779-788.10 Liu W,Anguelov D,Erhan D,et al.Ssd:Single shot multibox detectorC/European conference on computer vision.Springer,Cham,2016:21-37.11 Lin T Y,Doll r P,Girshick R,et al.Feature pyramid networks for object detectionC/Proceedings of the IEEE conference on computer vision and pattern recognition.2017:2117-2125.12 Redmon J,Farhadi A.Yolov3:An incremental improvementJ.arXiv preprint arXiv:1804.02767,2018.13 Hu J,Shen L,Sun G.Squeeze-and-excitation networksC/Proceedings of the IEEE conference on computer vision and pattern recognition.2018:7132-7141.14 Hartigan J A,Wong M A.Algorithm AS 136:A k-means clustering algorithmJ.Journal of the royal statistical society.series c(applied statistics),1979,28(1):100-108.15 Zagoruyko S,Komodakis N.Wide residual networksJ.arXiv preprint arXiv:1605.07146,2016.16 Gholamalinezhad H,Khosravi H.Pooling methods in deep neural networks,a reviewJ.arXiv preprint arXiv:2009.07485,2020.17 庄福振,罗平,何清,等.迁移学习研究进展J.软件学报,2015,26(1):26-39.18 Bottou L.Large-scale machine learning with stochastic gradient descentC/Proceedings of COMPSTAT2010.Physica-Verlag HD,2010:177-186.