改进Faster,R-CNN的SAR图像船舶检测技术

张 阳,刘小芳,周鹏成

(四川轻化工大学 计算机科学与工程学院,四川 宜宾 643000)

在海洋资源管理、领域安全、船上作业和海上救援等方面,海上船舶检测有着非常重要的意义,但是在自然因素不可控的条件下,采取指派海警船或基于可见光的船舶目标监测等方式难以取得成效。卫星合成孔径雷达(Synthetic Aperture Radar,SAR)是一种在能见度极低的恶劣天气条件下高分辨率成像雷达,具有全天时、全天候和多维度获取信息等优点[1],为海洋上全域的船舶检测解决数据和技术提供等问题。由于SAR图像复杂背景、强散射杂波的干扰、目标密集等问题,SAR图像船舶目标检测难度很大。

目前SAR图像船舶检测方法[2-3]主要有3类:传统类目标检测算法、基于机器学习的目标检测算法[4]和基于深度学习的目标检测算法。其中,基于深度学习的检测算法凭借高效率、高准确率和强泛化能力等优势,在SAR图像目标检测领域中已经得到广泛应用。文献[5]针对复杂大场景设计了一种基于级联网络的舰船目标检测框架,进行SAR图像海陆分割和块区域筛选,采用CP-FCOS网络进行目标检测。文献[6]针对SAR图像舰船目标误检或漏检情况,提出了一种基于融合注意力机制与改进的SSD算法的目标检测方法,引入ResNet网络并改进提供更多的语义和细节信息,融合通道和空间注意力抑制海杂波干扰,改进损失函数解决漏检问题。文献[7]针对数据集不充分和模型鲁棒性差等问题,提出了一种改进YOLOv3的SAR图像舰船目标检测算法,引入ATSS正负样本分配方法提高正负样本选择的质量,设计基于特征层的锚框超参数优化方法,使锚框更接近数据集样本分布。文献[8]提出了一种基于YOLO框架的无锚框SAR图像舰船目标检测方法,采用anchor free方法解决YOLOv3需要预设锚框的弊端,特征提取网络CSPDarknet53中引入注意力机制和改进FPN网络增大感受野。文献[9]针对舰船方向任意和密集排列造成的漏检问题,提出了多尺度特征增强的舰船目标检测算法。文献[10]提出了一种SAR图像旋转检测方法,基于YOLOv4-CSP改进先验框设计和边框回归公式,提出基于旋转边界框外接圆和交并比的损失函数,引入转移注意力模块。文献[11]提出了基于语义分割实现的检测、分割一体化SAR图像舰船无锚框目标检测方法,通过语义分割实现的目标检测可以避免检测网络的复杂解码过程。文献[12]针对舰船目标检测框高长宽比和密集排列问题,提出了一种基于改进YOLOv5的目标检测方法,优化损失函数抑制高长宽比和引入坐标注意力机制。

以上方法基本都是使用一阶段的目标检测算法,一阶段目标检测算法检测速度快,但是检测精度比较低。本文基于二阶段的Faster R-CNN算法进一步研究,卷积层特征提取网络采用新网络架构——Swin Transform,同时引入了多尺度融合结构;
生成的区域建议特征图使用新的池化操作让目标定位更准确;
在骨干网络最后引入可变形卷积为区域建议特征图融入全局特征信息;
引入Focal Loss损失函数作为分类损失函数降低损失。

1.1 Faster R-CNN算法

Faster R-CNN算法[13]分为2个阶段:第1阶段在图像中生成检测目标的锚框;第2阶段对锚框内的目标进行分类。原始图像输入卷积层(骨干网络)进行特征提取生成特征图,通过区域候选网络(Region Proposal Network,RPN)结构生成区域建议;
Fast R-CNN把区域建议特征映射到特征图中;
最后由全连接层进行边框回归和分类得到检测结果,具体目标检测网络结构如图1所示。

图1 Faster R-CNN目标检测网络结构Fig.1 Faster R-CNN object detection network structure

1.2 RPN算法

Faster R-CNN摒弃了传统耗时长的滑动窗口和R-CNN使用的Select Search产生候选框的方法,提出了一种快速准确生成候选框的RPN算法。卷积层提取的特征图通过3×3卷积的滑动窗口进行滑动,生成一个256维的特征向量,把该特征向量分别送入分类层和回归层进行背景、目标二分类和区域建议准确定位。滑动窗口有k个锚框,分类层有2k个参数包含目标和背景的得分,回归层有4k个参数包含候选框左上和右下的横纵坐标信息。Faster R-CNN中按照1∶1,1∶2和2∶1共3种长宽比和3种面积大小产生9个预设大小锚框,RNP生成候选区域过程如图2所示。

图2 RPN结构示意Fig.2 RPN structure diagram

1.3 边框回归

Faster R-CNN通过边框回归实现锚框近似真实框,回归过程如图3所示。

图3 边框回归示意Fig.3 Box regression diagram

若预设锚框A=(Ax,Ay,Aw,Ah)和真实框G=(Gx,Gy,Gw,Gh),边框回归试图找到一种变换使得F(Ax,Ay,Aw,Ah)=(G′x,G′y,G′w,G′h),其中(G′x,G′y,G′w,G′h)≈(Gx,Gy,Gw,Gh)。若A映射到预测框G′,则有先平移Ax和Ay,后缩放Aw和Ah:

G′x=Aw·dx(A)+Ax,

(1)

G′y=Ah·dy(A)+Ay,

(2)

G′w=Aw·edw(A),

(3)

G′h=Ah·edh(A),

(4)

(5)

(6)

式中,x,y,w,h代表预测框的中心横纵坐标和宽高;
下标a代表预设锚框;
上标*代表真实锚框。当需要回归的边框位置接近真实框时,上述的变换F近似认为是线性变换,否则就是复杂的非线性变换。

2.1 网络结构改进

本文在Faster R-CNN算法基础上进行网络结构改进,主要有以下4点改进:骨干网络不再使用卷积神经网络,而是使用Swin Tansformer作为骨干网络提取特征,同时对Swin Tansformer四个阶段生成的特征图进行多尺度融合;
采用更加准确的定位操作ROI Align替换了原来的ROI Pooling操作;
在骨干网络后引入可变形卷积(Deformable Convolution,DC)生成的特征图,与RPN生成的区域建议特征图相融合;
分类损失函数由交叉熵损失函数改用为Focal Loss损失函数。改进Faster R-CNN网络结构如图4所示。

图4 改进Faster R-CNN网络结构Fig.4 Improved Faster R-CNN network structure

2.1.1 骨干网络结构改进

Faster R-CNN卷积层一般选取常用的卷积网络VGG16,ResNet50和ResNet101等作为骨干网络提取特征,本文引入一种新的架构——Swin Transformer与特征金字塔(Feature Pyramid Network,FPN)[14]融合的网络结构作为骨干网络。Swin Transformer共有4种不同大小的模型,本文选择最轻量的模型Swin-T;
FPN结构中低层位置信息和高层语义信息结构可以加强特征表达,增强小目标特征映射分辨率,可以改善SAR图像中的小目标检测效果;
Swin-T共有4个阶段,每个阶段生成的特征图进行1×1卷积,然后进行上采样多尺度融合,最后把融合生成不同大小的特征图进行3×3卷积输出,具体网络结构如图5所示。

图5 Swin-T与FPN多尺度融合网络结构Fig.5 Swin-T and FPN multi-scale fusion network structure

Swin Transformer[15]是在ViT的基础上提出,该架构先验引入层次性、局部性和平移不变性等优良特性,其采用移动窗口的操作使相邻的2个窗口能相互交互从而达到具有全局信息建模的能力,且计算量大幅度降低。Swin Transformer Blocks结构如图6所示。

图6 2个连续的Swin Transformer Blocks结构Fig.6 Two successive Swin Transformer Blocks structure

第一部分由2个层归一化(Layer Normalization,LN)、1个窗口多头自注意力机制(Window based Multi-head Self-Attention,W-MSA)和1个多层感知机(Multilayer Perceptron,MLP)组成,其中W-MSA模块将图像划分为不重合的窗口,能降低模型的计算量。第二部为了解决不重合的窗口造成的信息交流问题,将第一部分的W-MSA改为了滑动窗口多头自注意力机制(Shift Window based Multi-head Self-Attention,SW-MSA),剩余部分仍然使用LN,MLP进行残差连接。输入特征Z从第l-1层到第l+1层计算过程如下:

(7)

(8)

(9)

(10)

2.1.2 ROI Align池化

Fast R-CNN结构采用ROI Pooling操作提取区域建议特征生成固定大小的特征图,送入到全连接层进行分类、边框回归完成目标检测。RPN结构生成的区域建议大小不一样,通过ROI Pooling操作分块池化固定成7×7大小的特征图会破坏原始图像的结构信息,造成目标定位不精确问题[16]。本文采用多尺度融合FPN结构生成的特征图大小不一致会造成极端长宽比,映射结果偏差很大导致特征丢失。在SAR图像中有许多小目标船舶,ROI Pooling的偏差会对小目标的定位造成更大的误差。本文采用ROI Align操作[17]很好地减小量化误差,使用双线性插值法计算中心位置的像素,图像上坐标像素点是浮点数,不需要去做量化操作取整[18]。具体过程:遍历每一个候选区域,保持浮点数边界不做量化;
将候选区域按输出要求大小平均划分,单元边界也不做量化;
若采样带点数是4,在每个单元中计算采用双线性插值法计算均分成4个区域的几何中心值,然后进行最大池化操作[19]。ROI Align池化过程如图7所示。

图7 ROI Align池化过程Fig.7 ROI Align pooling process

2.1.3 引入可变形卷积

由于SAR图像中的船舶形状不规则,本文在骨干网络后加入一个可变形卷积可以更好地学习特征提取的位置,能够让卷积的区域集中在船舶上。可变形卷积生成的特征图按顺序经过3×3卷积、ROI Align操作后与RPN经过ROI Align操作生成的区域建议特征图按位相加,区域建议特征引入全局信息,可以缓解船舶目标检测受复杂背景和杂波干扰等问题。可变形卷积[20]通过一个标准的卷积生成偏差特征,偏差特征与输入特征图尺寸保持一致,输入特征与偏移特征叠加后通道数是2N,这2个特征卷积核参数通过双线性插值之后反向传播法学习得到,可变形卷积过程如图8所示。

图8 可变行卷积过程示意Fig.8 Deformable convolution process

卷积核定义为:

R={(-1,-1),(-1,0),…,(0,1),(1,1)},

(11)

标准卷积得到特征矩阵:

(12)

可变形卷积核得到矩阵:

(13)

式中,pn是对R中所有位置的枚举;
Δpn代表偏移矩阵。

2.2 损失函数改进

Faster R-CNN算法总损失包括回归损失和分类损失2部分。分类损失采用交叉熵损失函数L作为分类损失函数:

(14)

Lcls=-[y·ln(pi)+(1-y)·ln(1-pi)],

(15)

式中,N代表样本数量;
pi表示第i个anchor预测为真实标签的概率;
y代表真实标签(正样本时为1,负样本时为0)。RPN算法生成的候选框正样本数量是低于负样本的,产生训练样本类间不平衡的问题。样本分布失衡,当负样本远远大于正样本时,负样本在损失函数中处于绝对优势方,模型学习到的样本特征有限,泛化能力差。针对正负样本不平衡的问题,引入Focal Loss损失函数[21]计算分类损失:

(16)

式中,α∈[0,1]代表正负样本权重参数;
γ>0代表可调节因子。Focal Loss损失函数α和γ两个参数可以很好地平衡正负样本以及让模型减少易分类的损失。本文设置α为0.25,γ为2。

3.1 实验平台

本文实验基于paddlepaddle2.2.0框架,Tesla V100显卡(32 GB),RAM(32 GB),CUDA10.1环境完成。Faster R-CNN采用ResNet50作为骨干网络进行实验,加载COCO2017数据集预训练权重,使用Momentum方法对网络参数进行迭代更新,初始动量参数设为0.9,初始学习率0.01,批次大小设为6,训练50个epoch。在此基础上进行改进,与原始网络进行对比。

3.2 数据集来源

本文实验采用的数据集为中国资源卫星应用中心提供的102景GF-3卫星数据及欧洲航天局提供的108景哨兵1号卫星数据,标注数据由中国科学院空天信息创新研究院王超研究员团队制作和提供。该数据集尺寸为256 pixel×256 pixel,共21 504张图片,按照7∶3的比例把数据集随机划分成训练集和测试集,训练集15 053张,测试集6 451张。

3.3 评价指标

本文使用平均准确率(Average Precision,AP)作为实验结果评价指标。AP综合考虑到准确率和召回率2个指标,计算公式为:

(17)

式中,P为准确率;R为召回率。P和R计算公式为:

(18)

式中,TP代表模型预测为正样本的正样本;FP代表模型预测为正样本的负样本;FN代表模型预测为负样本的正样本。

3.4 实验结果分析

为了验证本文Faster R-CNN网络改进的有效性,在102景GF-3卫星及108景哨兵1号卫星融合的数据集上进行实验。策略1使用Swin-T与FPN融合的网络结构作为骨干网络进行实验;
策略2使用ROI Align操作替换了ROI Pooling操作;
策略3在骨干网络最后引入可变形卷积生成的特征图,经过ROI Align操作与RPN结构生成的特征图经过ROI Align操作按位相加。这些改进策略相对于原始Faster R-CNN算法检测精度对比如表1所示。

表1 不同改进策略实验结果对比Tab.1 Comparison of experimental results in different improvement strategies

AP[0.5∶0.95](Box AP)表示IOU阈值大于[0.5∶0.95]([0.5∶0.95]表示0.5~0.95以0.05的步长)的平均检测精度。由表1可知,采用骨干网络Swin-T与多尺度网络FPN融合的网络结构作为骨干网络之后(改进2),与原始Faster R-CNN相比Box AP提高3.2%。原始Faster R-CNN网络结构用ROI Align替换ROI Pooling之后(改进1),Box AP提高0.6%;
在采用骨干网络Swin-T与FPN融合的网络结构的基础上用ROI Align替换ROI Pooling之后(改进3),与原始Faster R-CNN相比Box AP提高4%;
ROI Pooling操作2次量化操作有偏差导致小目标的船舶定位误差很大,ROI Align在一定程度上解决了该问题。在改进3的基础上引入可变形卷积,为RPN生成的候选区域特征引入全局信息,Box AP提高了5.7%,改善了近岸复杂场景和杂波干扰情况下的船舶检测。本文改进网络结构与原始Faster R-CNN算法AP曲线对比如图9所示,本文算法在整个训练过程AP基本都高于Faster R-CNN,算法收敛后大幅度领先Faster R-CNN算法。

图9 AP曲线对比Fig.9 Comparison of AP curves

为了验证分类损失引入Focal Loss损失函数的有效性,在原始Faster R-CNN算法基础上使用Focal Loss损失函数作为分类损失函数,检测结果对比如表2所示。由表2可知,Box AP提高了0.7%,在本文改进网络结构的基础上使用Focal Loss损失函数作为分类损失函数,Box AP提高了0.5%。分类损失曲线对比如图10所示,总损失曲线对比如图11所示。由图10和图11可知,改进网络结构后的Faster R-CNN算法引入Focal Loss损失函数后,在训练过程分类损失更低且收敛更快,总损失也降低。Focal Loss损失函数可以很好地抑制正负样本分布失衡导致负样本分类损失变大的问题,提高模型的泛化能力。

表2 引入Focal Loss损失函数检测结果对比Tab.2 Comparison of detection results by introducing Focal Loss function

图10 分类损失曲线对比Fig.10 Comparison of classification loss curves

图11 总损失曲线对比Fig.11 Comparison of total loss curves

为了说明本文算法的优越性,部分有代表性的SAR图像船舶检测结果如图12所示。其中,近岸港口和近岛屿的情况下检测结果如图12(a)和(b)所示,可以看出原始Faster R-CNN算法在面对复杂的近岸港口和近岛屿情况时会出现很多误检的目标;
在图12(c)所示的目标密集较小情况下,原始Faster R-CNN算法检测时也会出现误检的情况;
在图12(d)和(e)所示的面对背景杂波干扰和临近目标影响的情况下,给检测带来了很大的难度,特别是图12(e)中出现大量误检的目标,检测效果并不理想。在面对近岸和近岛屿复杂的背景、目标密集且小以及背景杂波干扰等情况下,本文算法泛化能力更强,发生误检的情况更少。本文算法引入多尺度融合和可变形卷积,提升了SAR图像中复杂背景、目标密集和小目标情况下的船舶检测效果。

(a) 近岸

(b) 近岛屿

(c) 密集目标

(d) 背景杂波

(e) 临近物体干扰图12 检测结果对比Fig.12 Comparison chart of detection results

不同算法在102景GF-3卫星及108景哨兵1号卫星的数据集上的检测精度对比如表3所示。

表3 不同算法检测精度和速度结果对比Tab.3 Comparison of detection average precision and speed results of different algorithms

可以看出,本文算法在该数据集上精度最高,充分说明本文算法在检测精度方面的优越性,相对于原始Faster R-CNN算法检测速度也有大幅度提升。FCOS属于anchor free类型的算法,其余算法都属于anchor类型的算法;
FCOS算法检测精度低于anchor类型的算法,检测速度也低于一阶段算法。SSD和YOLO系列算法都属于一阶段算法,在检测速度方面有很大优势,但是检测精度偏低。本文算法与Mask R-CNN和Cascade R-CNN相比,检测精度仍有5.7%和4.9%的领先。

在SAR图像的船舶检测中,本文提出了一种改进Faster R-CNN算法。Swin Transformer架构中的多头注意力机制可以关注更多上下文信息,对复杂环境下的船舶特征更好地提取;
ROI Align操作可以改善小目标定位偏差较大的情况;
船舶的形状不规则,可变形卷积提取特征图为区域建议生成的特征图引入全局信息;
Focal Loss损失函数作为分类损失可以有效平衡正负样本的损失,降低分类损失以及总损失。实验结果表明,本文算法在原始算法基础上检测精度有很大提升,AP[0.5∶0.95]达到61.3%;
同时也优于目前的主流目标检测算法。本文算法基于二阶段的目标检测算法在检测精度上有很大优势,但是检测速度较慢。在未来的研究中仍需对模型进一步优化,例如,优化RPN算法、尝试使用轻量级的骨干网络提升检测速度或使用轻量级的多尺度融合网络结构等。

猜你喜欢 网络结构损失卷积 基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02胖胖损失了多少元数学小灵通·3-4年级(2021年5期)2021-07-16快递网络结构研究进展西安邮电大学学报(2020年1期)2020-12-17卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14基于AutoML的保护区物种识别①计算机系统应用(2019年9期)2019-09-24从滤波器理解卷积电子制作(2019年11期)2019-07-04玉米抽穗前倒伏怎么办?怎么减少损失?今日农业(2019年15期)2019-01-03基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20基于时效网络的空间信息网络结构脆弱性分析方法研究军事运筹与系统工程(2016年4期)2016-07-10基于互信息的贝叶斯网络结构学习北京信息科技大学学报(自然科学版)(2016年6期)2016-02-27

推荐访问:船舶 检测技术 图像