基于自适应和最优特征的合成孔径雷达舰船检测方法
2021-07-30侯笑晗金国栋谭力宁薛远亮
侯笑晗,金国栋,谭力宁,薛远亮
(火箭军工程大学核工程学院,西安 710025)
0 引言
随着我国海军战斗力的不断增强,确保海防安全、维护海洋利益成为建设海洋强国的重中之重。海上舰船检测是海域侦察和海洋管控中一项重要任务,合成孔径雷达(Synthetic Aperture Radar,SAR)因其具有全天时全天候且成像范围广的成像特点而被广泛应用于海洋舰船检测[1-5]。如何从SAR 图像中提取舰船目标信息、实现海域实时监测,在军民两个领域都具有重要的现实意义。
近年来,基于卷积神经网络(Convolutional Neural Network,CNN)的检测算法与遥感目标检测领域高度融合[6-9]。由于SAR 舰船目标本身具有分布稀疏、尺寸较小等特性,在图像中表现为多个亮斑,在提取特征信息易丢失重要特征信息,而细节信息对边缘模糊的SAR 舰船目标尤为重要,因此SAR 舰船目标检测对算法提出了更高的要求,是一个具有挑战性的课题。基于深度学习的SAR 目标检测算法自发展以来,研究者们针对SAR 舰船目标特点在通用深度学习目标检测模型的基础上不断完善。文献[10]中采用层间融合和增加网络分辨率的方法,扩大了特征图中小型船舶响应面积,显著提升了密集小目标的检测能力。Gao 等[11]为了加强CNN对特征的提取能力,在RetinaNet[12]中加入分离卷积块(Separated Convolution Block,SCB)和空间信息注意力模块(Spatial information Attention Block,SAB),提高了网络在多分辨率SAR 图像和复杂背景下小目标的检测性能。文献[13]中使用空间递归网络在整个图像上横向和垂直地传递空间上变化的上下文信息,改善对小目标的检测效果。以上方法均采用了锚框生成机制,对分布稀疏的SAR 舰船目标检测而言并非最优设计。锚框机制依赖于预先设定好的尺度、比例等相关属性,无法动态适应目标形态,且可能生成大量重复且与目标无关的背景框,会带来较多的超参数、加重正负样本不均衡。另外,特征提取网络依赖于人工设计和融合,不能最大限度充分利用特征,会造成一定程度上的细节信息丢失,对于SAR图像舰船小目标检测效果影响较大。
针对SAR 舰船小目标检测中存在的问题,本文提出一种基于自动生成锚框和最优特征选取的单阶段SAR 舰船目标检测方法,借鉴无锚框特征选择(Feature Selective Anchor-Free,FSAF)算法在利用神经架构搜索(Neural Architecture Search,NAS)为检测模型设计最优特征提取网络的同时不再生成锚框,直接在特征图输出上以无锚框方式进行编码和解码;然后重构损失函数以增加网络回传位置信息的准确性;最后使用更贴合舰船目标特性的Soft-NMS[14]方法对检测框进行过滤进而生成最终检测结果,并实现了多组对比验证。
1 本文方法
1.1 融合方式设计
传统特征提取网络由人工设计,通过卷积层堆叠和不同分辨率大小特征层融合为目标提供更好的特征提取网络,这种方法通过在数据集上测试进而选择网络结构,并不能达到最优效果。为更深层次利用特征信息,通过神经架构搜索构建涵盖所有跨尺度连接的特征金字塔结构,自动在给定的搜索空间中选择最佳模型架构。利用强化学习思想,在神经架构搜索中训练控制器,以子模型在给定的搜索空间中的准确性来更新参数,以获得更好的架构。本文基于上述思想对特征融合方式进行重构,将原ResNet 中的输出层{P3,P4,P5,P6,P7} 作为待选特征经过神经架构搜索得到新的特征层{P3,P4,P5,P6,P7} 作为输出。具体流程为:从输入的5个特征图中任选2 个,选择输出特征分辨率将其进行融合,在两个特征图分辨率不同的情况下采用Max Pooling 统一分辨率。融合后的特征图经过3×3 卷积后进入待选特征集,进行新一轮特征融合。最优特征融合方式如图1 所示,其中:GP表示全局池化,R-C-B表示ReLU+Conv+BN。本文设计的特征提取网络中共进行7 次特征融合,能够最大限度利用特征信息,进而提升对小目标的检测性能。
图1 最优特征层融合方式Fig.1 Fusion mode of optimal feature layer
1.2 检测网络设计
大多基于深度学习的SAR 目标检测算法均采用了锚框生成机制,对分布稀疏、目标形态多变的SAR 舰船目标检测而言并非最优设计。锚框机制依赖于预先设定好的尺度、比例等相关属性,无法动态适应目标形态变化,且可能生成大量重复且与目标无关的背景框,会带来较多冗余的超参数、增加目标样本与非目标样本量级差。
1.2.1 自适应锚框生成
借鉴FSAF 思想,在常规检测分支中引入两个额外分支,结构如图2 所示,在特征金字塔的每个层上的常规分支上引入两个用于特定任务的分支,分别负责无框预测目标分类和定位信息。分类子网在特征图之后接K个滤波器的3×3 卷积层用于预测分类,其后使用Sigmoid 激活函数,为K个对象类预测每个对象在空间位置的概率。回归子网中加入带有四个滤波器的3×3 卷积层,用于以无锚框方式编码框偏移量。本文中的无锚框算法不再以先验框为基准进行分类和位置回归损失,而是在图像的每个点上直接预测与其最为相符的实例类型和位置偏移,根据实例本身特征进行参数的自适应更新,具体流程如图2,自适应锚框结构如图2中虚线所示。
图2 自适应锚框生成图Fig.2 Generation diagram of self-adaptive anchor box
1.2.2 最优特征层选取
在如SSD等经典网络中设定大尺度目标特征信息在深层特征图上进行提取,小尺度目标特征信息在浅层特征图上进行提取。该分配条件难以保证所分配的特征层与目标为最佳匹配。为提高检测效果,设计最优特征层选取机制来寻找最适合特定锚框的特征层。
最优特征层选取机制整体结构如图3 所示,对输入目标I计算每个特征层损失,选择损失最小的特征层为目标分配层。定义在第l个特征层上的分类损失和位置损失函数分别和通过取有效框区域上的Focal loss[12]和交并比(Intersection-over-Union,IoU)[15]的平均值来计算。
图3 最优特征层选取Fig.3 Selection of optimal feature layer
最优特征层选择不再根据目标大小而是根据目标内容来确定是否适合某一层金字塔特征,能够在训练时动态地将每个对象放置最合适的特征层上进行回归,保证其选择的特征对建模是最优的,其损失可以使得特征空间的边界更低,进而优化网络检测结果。通过无锚框检测分支和自适应特征层选择机制设计提升网络对多尺度舰船目标的适应性,尤其对小目标的检测能力有所改善。
1.3 网络总体结构设计
基于自适应和最优特征网络首先将所提取的五个ResNet改进后特征层作为输入构建神经网络的搜索空间,并将无锚分支附加到神经网络输出的每个金字塔预测分支上,从而允许在任意特征图上以无锚方式进行编码和解码。在训练过程中,通过特征选择将每个真实框分配到特定金字塔级别,通过设置监督信号定义预测框回归方式。网络首先在前向流程中计算输入图像中实例在每个特征层上的损失函数,挑选损失函数最小的特征层作为该实例的特征提取层,并在回传时优化参数。下面对其参数优化方式展开说明。
图4 网络总体结构Fig.4 Overall structure of the network
1.4 训练方式优化
考虑到检测任务中使用IoU 作为回归损失在检测框和标定框没有重叠的情况下,无法进行梯度回传、指导神经网络进行优化,并且不能精确反映两者距离和重合度大小。本文中采用广义IoU(Generalized IoU,GIoU)对位置回归损失函数进行改进。设定预测框为真实框为Bg=其中表示预测框的左上顶点和右下顶点坐标表示真实框的左上顶点和右下顶点坐标,p、g 分别表示该框为预测框、真实框,设定Bp,Bg的重叠面积为:
其中:Ap、Ag为Bp、Bg的框面积,U为Bp,Bg的框面积之和减去其重叠面积。位置回归损失函数如下:
将图像中目标区域定义为正样本,将目标以外区域定义为负样本,同时根据样本是否容易分类将其分为难易样本。由于SAR 图像中海上舰船目标分布稀疏,其背景样本即负样本较多,带来计算冗余;同时,网络很难从简单样本中获取信息,难样本更能指导网络的优化方向,因此,本文采用类别损失采用Focal loss 以解决SAR 舰船目标数据集中正负样本不均衡和难易样本问题,其定义如下:
引入α权重以改善正负样本不均衡问题,并以对难易样本关注度进行动态分配,当边框类别预测错误则pt较小,设定该边框为困难样本。当pt接近于1 时,是简单样本。本文取α=0.25,γ=2。
本文所设计的网络总损失如下:
1.5 过滤候选框算法改进
检测网络通过非极大值抑制(Non-Maximum Suppression,NMS)对重复的冗余候选框进行过滤,是舰船检测中非常重要的一部分,它从一系列候选位置信息中预测出最佳的船舶检测结果。NMS 直接过滤得分低且重叠度高的边框,在SAR 图像中的沿海港口存在一些密集型船舶,在重叠阈值中可能会出现附近船只的边界盒。因此直接使用NMS 会降低模型的召回率。本文使用Soft-NMS方法通过线性函数抑制重叠检测分数,有效提升模型的召回率。其伪代码如下所示:
Algorithm:Soft-NMS。
其中:
因此,总的Soft-NMS为:
其中:si为检测分数,M表示最大得分检测框,bi表示剩余检测框,μ代表IoU阈值。
2 实验环境
2.1 实验平台
使用的操作系统为Ubuntu18.04,使用CUDA10.2 和cuDNN8.0 加速训练。使用的GPU 为GeForce RTX 2080Ti;使用python 和C 作为主要编程语言;使用的处理器为Inter core i7-9700KF CPU@3.6 GHz。
2.2 数据集的制作
本文数据集来源于海军航空大学构建的数据集SSDD(SAR Ship Detection Dataset)[16],该数据集模仿PASCAL VOC数据集构造,总共有1 160幅图像和2 456条舰船,包含了多种成像条件下的SAR 舰船图像,数据来源包括3 景Radar Sat-2烟台港海域的SAR 图像、Terra SAR-X 中部分图像、哨兵SAR图像,是目前国内该领域常用的一个数据集(本文将训练集与测试集比例改为3∶1)。
2.3 评价指标
本文主要使用召回率R(Recall)和准确率P(Precision)对检测结果进行评估。
其中:TP为正确预测框数,FP为误检框数,GT真实标签框数。
2.4 模型训练
参数设置:使用在ImageNet1k 上预先训练好的RetinaNet模型,初始学习率为0.001,学习率衰减权重为0.000 1,参数更新方法为引入动量的随机梯度下降法(Momentum Stochastic Gradient Descent,Momentum SGD),动量因子取0.9。设定Focal loss 中α=0.25,γ=1.5。损失函数如图5所示。
图5 损失函数变化曲线Fig.5 Loss function curves
3 实验结果分析与讨论
3.1 测试结果分析
3.1.1 方法有效性证明
为了验证本文提出的改进方法在SAR 数据集上的检测性能,在SSDD 数据集上进行训练和测试,统计了各尺度下舰船目标的具体检测精度。设定预测框和真实框重叠率为0.5,首先计算整个数据集上的平均准确率和平均召回率,然后分别计算在不同尺度目标上的准确率和召回率以进一步对检测结果进行分析。将目标分为大、中、小三类目标,其尺度划分采用COCO 数据集中的划分规则,即Area:{S,M,L}分别为针对小目标(Area<322)、中等目标(322<Area<962)和大目标(Area>962)。实验结果如表1 所示,其中:FA 表示FSAF方法,N 表示NAS-FPN,I 表示位置回归损失采用IoU,G 表示位置回归损失采用GIoU,S 表示采用Soft-NMS 对检测框进行过滤。
从表1 中可以看出,相比改进前的方法,本文方法在小目标上的检测性能明显提升。但由于使用GIoU 会导致网络优先选择扩大包围框的面积来覆盖真实框,而非移动预测框接近真实框,其精确度有一定程度的下降,从对比实验可以看出,在对中小目标检测时影响较小。本文重点针对小目标检测,因此一定程度上可以忽略GIOU的不足。
表1 不同改进方法实验结果比较Tab.1 Experimental result comparison of different improvement methods
3.1.2 与主流检测方法的对比
为进一步验证本文方法的检测效果,将其与双阶段检测和单阶段检测中的主流方法Faster RCNN[17]、SSD[18]进行对比,结果如表2 所示。同时为了比较各模型的运算速度,统计各模型在每个迭代中的速度。
从表2 中可以看出,本文方法相比SSD 模型在检测精度上有明显优势,其检测准确率接近Faster RCNN,对小目标的召回率得到了明显提升。同时,虽然相比SSD,本文方法的检测效率有所下降,但相比Faster RCNN,运行速度有明显提升。综合来说,本文方法在保持精度优势的同时,也保持了速度优势,其检测性能最佳。
表2 不同方法检测精度与速度比较Tab.2 Comparison of detection accuracy and speed of different models
3.2 测试结果展示
3.2.1 小目标检测
如图6 所示为本文数据集的部分小目标检测结果对比,第一列为FSAF 方法检测结果,第二列为本文方法检测结果。图6(a)为受海杂波影响程度不同的海面密集型小尺寸SAR舰船目标检测图像,从检测结果中可以看出,FSAF 方法对小目标漏检严重,本文方法对小目标的检测效果有明显提升;图6(b)为背景中含有干扰信息且目标数量较多的小尺寸舰船目标图像;在图6(c)中FSAF 方法受陆地干扰严重,将小岛误检为舰船目标,而本文方法正确检测到了全部小尺寸舰船目标,大幅减少了对小目标的漏检和误检。
图6 小目标检测结果对比Fig.6 Comparison of small target detection results
3.2.2 复杂场景检测
如图7所示为本文数据集的部分小目标检测结果对比,第一列为FSAF方法检测结果,第二列为本文方法检测结果。图7(a)为复杂背景下典型的靠岸舰船检测,FSAF 方法在背景含有干扰信息时难以对靠岸大舰船目标进行检测,本文方法大大改进了FSAF 的不足之处;图7(b)为密集型靠岸舰船检测,虽然本文方法仍存在一定程度的漏检,但相比于FSAF方法召回率有所提升,对密集型舰船检测有一定的适用性。图7验证了本文方法对复杂背景下舰船目标检测性能有所改进。
图7 复杂场景下检测结果对比Fig.7 Comparison of detection results in complex environment
4 结语
针对SAR 舰船目标检测中对小目标识别精度不佳的问题,本文提出了一种自适应锚框和最优特征层的单阶段目标检测方法,该方法不依赖于锚框机制,能够直接对目标进行编解码以获取位置和类别信息。针对小目标检测特征信息丢失问题重新设计特征融合网络,提高网络对特征的利用率,并通过重构损失函数和过滤算法使得网络更适用于舰船目标检测。实验表明,该方法在速度和精度上有一定优势,在提升对小目标检测性能的同时改善了复杂场景下的靠岸目标检测效果。本文方法仍存在一定的漏检,如何进一步提升网络的召回率并降低模型复杂度是后续研究的重点方向。同时,考虑到SAR 为复值图像,如何结合SAR 成像机制入手,从相位信息进一步推广SAR 图像目标检测和深度学习的融合值得进一步探讨。