张 上, 李梦思, 陈永麟, 张 卓
(1.水电工程智能视觉监测湖北省重点实验室,湖北 宜昌 443000; 2.湖北省建筑质量检测装备工程技术研究中心,湖北 宜昌 443000; 3.三峡大学计算机与信息学院,湖北 宜昌 443000)
从20世纪80年代至今,合成孔径雷达(SAR)[1]系统及信号处理技术越发成熟,SAR数据的应用范围愈加广泛。舰船图像检测的应用发展前景于军事领域而言,对特定类型船舶采取精准定位措施有助于防御布局,提升海防安全预警的能力;于民生领域而言,对非法入境者、走私贩及非法打捞渔船等船只监控检测,利于维护船舶安全管理体系的稳定。当前舰船目标信息获取方式[2]分别为辐射噪声信号、雷达回波、卫星遥感、合成孔径雷达、红外图像等几个来源。其中,合成孔径雷达成像以其不受多种复杂环境因素影响,可全天候、任意时段、多角度地完成检测监控任务的优点,成为当前舰船图像检测主要数据来源。
目前,国内外研究者在SAR图像舰船目标检测与分类方向推进了大量创新研究工作,建立了较为成熟的SAR图像舰船目标监视系统[3]。如何快速、准确地满足当前需求,从海量遥感数据中智能识别检测出舰船目标是当前研究方向的热点。
基于深度学习的目标检测技术被广泛应用于SAR舰船目标检测。目标检测至今已有近20年的研究历史,从最初的R-CNN[4]到之后提出的Fast R-CNN[5]、Mask R-CNN[6]、Faster R-CNN[7]、YOLO[8-10]系列及SSD[11]等,这种神经网络学习特征方式在复杂场景下依旧保持良好的性能,满足工业类应用大部分功能需求。在目标检测发展过程中,根据算法处理方式可划分为两类。第一类双阶段(Two-Stage)目标检测算法以R-CNN、Fast R-CNN、Mask R-CNN等为代表。2014年双阶段算法被提出,因其算法严重耗时,很难真正被应用于实际场景。为了从根本上解决算法效率低下问题,第二类单阶段(One-Stage)目标检测算法被提出。这类算法采用回归的方式对物体分类及候选区域预测,相较于双阶段算法,速度提高数倍。YOLO算法的提出使得深度学习目标检测算法有单、双阶段之分,成为最早具有实际应用价值的算法,相较于双阶段算法更适用于工业场景应用。
不少学者对上述两个类型算法在舰船检测上采取针对性优化。苏娟等[12]在SSD目标检测算法的基础上,做出了迁移学习、浅层特征增强和数据增广3个方面的改进,解决了SAR舰船小目标的漏检和误报的问题;贺翥祯等[13]提出一种YOLOv5算法引入坐标注意力机制,提高网络的特征提取能力同时保证了模型的轻量化,加入了双向特征金字塔结构,解决了训练时收敛速度慢的问题;严满春等[14]提出基于单次多盒检测器的一种特征增强小目标检测算法,解决了复杂环境下小目标特征提取弱的问题;LI等[15]提出一种改进YOLOv4模型引入解耦合头和通道注意力机制,解决原模型的迁移应用性能不高的问题;ZHANG等[16]提出一种基于多任务学习的目标检测器(MTL-Det)以区分SAR图像中的船舶,解决了SAR图像中较强的散斑噪声降低浅层的特征获取能力差的问题;HU等[17]提出一种将EfficientNet和YOLO骨干网络结合的模型,解决了终端部署方案可行性的问题。
YOLOv7提出一种高效层聚合网络 (Efficient Layer Aggregation Network,ELAN),其设计目的是为解决执行模型缩放时深层模型收敛性会加剧恶化的问题,并解决使用过多过渡使整个网络的最短梯度急速变长的问题。应用梯度路径设计的ELAN网络结构如图1所示,图中,ELAN网络结构由多个CBS构成。
图1 ELAN网络结构Fig.1 ELAN network structure
ELAN-W与ELAN之间结构非常相似,不同点就在于其中一条分支选取6个输出相加。ELAN-W网络结构如图2所示。
图2 ELAN-W网络结构Fig.2 ELAN-W network structure
由于YOLOv7网络层数多且参数量大,加之高分辨率SAR成像特点,在检测中速度和精度提升空间很大。为使检测效果更佳,本文设计了STSD-YOLO,如图3所示。
图3 STSD-YOLO系统架构Fig.3 STSD-YOLO system architecture
改进算法调节特征提取网络,改变多尺度感受野权重。引入轻量型注意力机制Shuffle Attention[18],在空间域与通道域注意力机制基础上,融合特征分组与通道置换,降低了计算复杂度。同时,引入卷积层变体DSConv[19],将原始浮点卷积核参数量化,再通过分布偏移还原原始参数,实现减少内存、加快运算速度。最后使用NWD(Normalized Wasserstein Distance)[20]新度量,通过对应的高斯分布计算2D高斯分布建模的边界框之间的相似性。
设计网络结构的过程中常常需要考虑平衡网络规模和目标检测精度使之达到局部最优。本文提出了一种基于改进YOLOv7的SAR近岸区域密集船只高精度检测方法,既达成了模型轻量化也提高了检测精度,有效地解决SAR近岸情形下算法模型准确率低、虚警率高等问题。为实现高质量检测,本文做出如下改进:
1) 改进网络结构,设计新轻量化网络模型STSD-YOLO,调整感受野,变化多尺度融合关系,加大浅层网络提取的特征在融合时的权重;
2) Shuffle Attention采用随机单元,有效结合空间域和通道域两个注意力机制;
3) 引入高效的卷积算子DSConv使用量化技术压缩神经网络,减少储存网络占用率;
4) 使用NWD缓解基于锚点的检测器对微小物体检测性能不佳的情况,通过高斯分布计算相似性;
5) 在高分辨率SAR数据集HRSID[21]上检验改进算法的性能。
根据SAR成像的特质,SAR图像在检测过程中目标常常具有目视效果不佳、存在相干斑噪声、信噪比较低的问题。为此重新设计模型。
YOLOv7原模型检测层包含的3种特征图尺寸分别为20×20、40×40、80×80(单位为像素),对应识别大小不同目标。本模型根据实际SAR图像中的检测目标的特点及需要,删除最深处20×20尺寸图像时,感受野与待检测目标大小之间的关系更匹配。
改进网络的方案从减小深度考虑,去除网络深层大量复杂且低效的模块,考虑适量减小原模型网络深度,提高图像浅层特征权重。改进YOLOv7中网络的核心信息特征提取器,对特征提取网络CSPDarkNet进行重构,如表1所示。
表1 重构CSPDarkNet结构
重构CSPDarkNet结构优势如下:
1) 增强卷积网络的学习能力,增加特征提取网络提取出的细节特征的占比,很大程度减少网络层数;
2) 加速网络推理速度,移除计算瓶颈,模型整体复杂度、模型体积、计算量、推理时间大幅下降,模型运行效率提高;
3) 降低算法空间复杂度,改进后网络参数量减少,体积减小。
由表1可知,改良的网络模型提高了浅层语义信息的权重,降低过度地下采样而造成丢失特征信息的情况。改良后特征融合网络结构如图4所示。
图4 特征融合网络结构Fig.4 Structure of feature fusion network
在多尺度检测环境下,为实现对目标的精确定位,基于锚框的目标检测模型在训练时常常会预设多组先验框。YOLOv7的自定义锚定框采用K-Means聚类算法,训练数据集自动计算合适的锚定框。
使用K-Means聚类得到k个锚框。使用遗传算法对锚框w、h值进行变异,使用锚框适应度评估变异后效果,效果好就赋值给锚框,效果变差就跳过,默认变异1000次。通过实验发现,经过聚类得到的锚框加快模型收敛速度、简化计算复杂度。原始算法经过改进,特征图输出由三尺度变为二尺度,因每个特征图对应3种锚框,所以锚框由默认的9种锚框变为6种。改进锚框参数如表2所示。
表2 锚框分配
本文算法引入高效的注意力机制Shuffle Attention可以解决训练速度过慢的问题。Shuffle Attention结构中采用Shuffle单元融合空间和通道注意力机制如图5所示。
图5 Shuffle Attention结构Fig.5 Shuffle Attention structure
图5中,特征抓取部分,首先输入特征图X∈RC×H×W按通道维度分组为多个子特征Xk,表示为X=[X1,X2,…,Xg],Xk∈RC|G×H×W。
模块首先沿通道维度划分子特征Xk,表示为Xk1,Xk2∈RC|2G×H×W,如图5中Split部分。上分支使用通道注意力,挖掘通道间的依赖,下分支抓取特征间的空间依赖。通道注意力采用GAP+Scale+Sigmoid的单层变换,即
(1)
(2)
其中:Fgp(·)表示全局平均池化;W1,b1均为变换参数,W1∈RC|2G×1×1,b1∈RC|2G×1×1;σ(·)表示Sigmoid激活函数。
空间注意力分支先对输入特征图进行归一化处理,然后通过变换增强输入,最后,将两个注意力相融,即
(3)
(4)
此时的输出特征图和输入尺寸相同。
图5中,Aggregation部分,聚合所有子特征,同时采用“通道混洗”算子保证各子特征之间信息交互。
图6为输入特征加入Shuffle Attention模块后热力图的仿真结果。
图6 加入Shuffle Attention模块后的热力图绘制结果Fig.6 Heat map drawing results after adding Shuffle Attention module
由图6可明显看出,加入Shuffle Attention模块后感兴趣的区域更集中。
本文算法引入DSConv模型加到主干网络ELAN-W中,得到ELAN-DS结构如图7所示。
图7 ELAN-DS网络结构Fig.7 Structure of the ELAN-DS network
量化是一种提高卷积神经网络运行速度和缩减内存的流行方法,本文引用一种分布偏移卷积(DSConv)。DSConv是一种灵敏的量化卷积算子,用成本低得多的整数运算代替单精度运算,同时保证卷积内核权重及输出的概率分布。
DSConv将原始卷积核拆为两个部分:一部分仅有整数值张量,不能训练,并依据预训练网络中浮点的权重分布计算;另一部分由分布偏移器张量组成,其中一个分布偏移器移动所有内核的分布,另一个移动所有通道,目的是改变VQK的分布以试图模仿原始卷积核的分布。分布偏移部分的权重可以被训练,使网络适应新的任务如图8所示。
图8 DSConv框架Fig.8 DSConv framework
图8中,KDS(k,k) 代表内核分布移位器,k代表内核的宽度和高度,KDS(BLK,k,k) 代表模仿原始卷积内核的内核分布偏移器,BLK 为块大小的超参数,VQK(BLK,k,k) 代表可变量化内核,RES(BLK,k,k) 代表result,它和原始卷积张量一样大,Original(1,chi,k,k) 代表原始卷积张量,chi是当前层中的通道,·Φ代表Channel Distribution Shifter (CDS),它移动每个通道中的分布。
在预训练网络时,将权重张量滤波器按深度划分为长度为B的块,所有的块共享一个浮点值,然后对所有块量化处理,每个张量节约的内存表示为
p=b/32+[Ci/B]/Ci
(5)
式中:Ci为通道数;b为所选的超参数设置。
微小物体在图像中仅占极少的像素点,由于缺乏微小物体外观信息,最先进检测器亦无法产生令人满意的结果。原因在于基于交并比(IoU)的指标对微小物体的偏差极度敏感,且用在基于锚点的检测器中检测性能会大大降低。为缓解该情况,先将边框建模为2D高斯分布,然后提出一种称为NWD的新度量,以通过对应的高斯分布计算它们的相似性。NWD度量很轻易地嵌入到任何基于锚的检测器的分配、非极大值抑制和损失函数中,以取代原始常用IoU度量。
对于2D高斯分布建模,边界框中心像素权重最高,像素重要度从中心到边界递减。水平边界框R=(cx,cy,w,h),其中,(cx,cy)为框的中心坐标,w和h分别为宽度和高度。内接椭圆方程为
(6)
式中:(μx,μy)为椭圆的圆心坐标;σx,σy是沿x和y轴的半轴长度,μx=cx,μy=cy,σx=w/2,σy=h/2。2D高斯分布的概率密度函数表示为
(7)
式中,x,μ,Σ分别表示高斯分布坐标、均值向量及协方差矩阵。当满足
(x-μ)TΣ-1(x-μ)=1
(8)
时,水平边界框R=(cx,cy,w,h)可以建模为二维高斯分布N(μ,Σ),即
(9)
计算分布式距离使用来自最优传输理论的Wasserstein距离。对两个高斯分布μ1=N(m1,Σ1)和μ2=N(m2,Σ2),二阶Wasserstein距离定义为
(10)
此外,对于从边界框A=(cxa,cya,wa,ha)和B=(cxb,cyb,wb,hb)建模的高斯分布Na和Nb等式可简化为
(11)
(12)
式中,C为依据AI-TOD数据集上试验得到的最佳参数。
STSD-YOLO算法结构见图9,改进后的STSD-YOLO网络结构由改进Backbone主干网络、改进特征提取网络、Shuffle Attention模块、ELAN-DS等组成。
图9 STSD-YOLO算法结构与原始YOLOv7算法结构Fig.9 Structure of the STSD-YOLO algorithm and structure of the oroginal YOLOv7 algorithm
本文采用公开高分辨率SAR数据集HRSID验证本文提出的改进算法效果。数据集HRSID包含剪裁的高分辨率SAR图像共5604幅及舰船实例16951个,检测时被分为占比65%的训练集和35%的测试集。数据集构建格式为MS COCO。HRSID根据基于CNN的探测器设计,构建时排除了以往SAR舰船数据集的不足。
为了对目标检测训练结果定量分析,研究者设置了很多评价指标,每一种指标都是为了反映检测算法各类方面的不同性能。精度方面主要参考平均准确率均值(mAP)、平均准确率(AP)、准确率(P)、召回率(R)等。速度方面主要参考的指标有每秒浮点运算次数(FLOPs)、每秒处理图像帧数(FPS)等。上述评价指标中含有4个基础指标,分别为TN、TP、FP、FN。TN为模型预测为假、实际也为非真的样本,模型预测为正确;TP为模型预测为真、实际为真的样本,模型预测为正确;FP为模型预测为真、实际为非真的样本,模型预测为错误;FN为模型预测为真、实际为非真的样本,模型预测为错误。
消融实验在HRSID数据集上进行。为验证模型各项改进的有效性,以YOLOv7作为基准算法,观测各模块在改进后的实际效果。用P、R、mAP、模型体积、模型参数量、模型计算量(GFLOPs)作为模块的评价指标。具体消融实验如表3所示。
表3 消融实验
由表3实验数据可得,单添加网络重构可大幅缩减GFLOPs、参数量及模型体积。添加Shuffle Attention可很好地提升模型检测精度,加入DSConv后,精度有一定提升且计算量有明显降低,引入NWD后,网络模型的精度、召回率均有大幅的提升。经实验证明,STSD-YOLO对比原模型体积减小62.55%,参数量减少68.54%,GFLOPs下降了24.26%。在HRSID数据集上mAP由原来的86.57%上升到95.15%,涨幅为9.9%。各项评价指标均显示出模型在各方面都具有实质性的优化。
为对改进算法做进一步验证,在HRSID数据集上做对比实验,将本文改进算法与其他主流算法对比,验证过程中每个检测算法实验环境相同。
本文选取目标检测的经典算法做对照,YOLOv5、YOLOv6、YOLOv7、YOLOv8、SSD与本文算法对比见表4。
表4 算法对比
由表4可以直观看出,本文算法的检测精度明显高于其他主流算法,综合衡量本文改进STSD-YOLO算法最优。
为更加直观地对比检测算法的效果,以实际图为基准,对比原始算法和改进算法的实际检测情况,见图10。
图10 原始图、YOLOv7及STSD-YOLO效果图Fig.10 Original figures,YOLOv7 and STSD-YOLO renderings
图10(a)大部分为近岸复杂背景的情景图,图10(b)为原始算法YOLOv7在真实近岸复杂背景下的检测效果,图10(c)为本文改进后检测算法在真实情景下的表现。在检测精度方面,实验结果展示了改进模型在该数据集上的mAP和其他评价指标,可以看出改进后的算法在舰船检测任务上表现出了更高的检测精度,即使在复杂的海洋环境的情况下也能有效定位舰船目标。在多尺度方面针对SAR图像中的舰船多尺度问题,使用锚点框大小调整来适应不同尺寸的目标,实验证明这些策略可以改善小目标和大目标的检测率,由图10可以看出对于个别更小的船只检测效果更好。
本文针对SAR类数据集小目标像素占比小、物体轮廓不清、复杂环境下SAR舰船目标检测虚警、漏警问题严重、特征信息缺乏的问题[22],提出基于改进YOLOv7的SAR图像舰船目标检测(STSD-YOLO)算法。提出重构CSPDarkNet结构以获取更丰富浅层网络的位置信息和边缘信息。引入注意力机制Shuffle Attention,降低计算复杂度,增强提取特征的能力。使用卷积层的变体DSConv,实现精度提升并减小计算量。采用NWD新度量,替换常用IoU度量。在HRSID数据集上实验结果表明,相较于原算法YOLOv7,在舰船检测任务中,mAP提升9.9%,体积减小62.55%。因此,STSD-YOLO算法符合在SAR类图像中检测舰船目标的各项要求。