基于YOLOX网络的SAR图像舰船目标检测
2023-08-04曾祥书黄一飞蒋忠进
曾祥书,黄一飞,蒋忠进
(东南大学毫米波国家重点实验室,江苏南京 210096)
0 引 言
合成孔径雷达(Synthetic Aperture Radar,SAR)是一种在民用和军事诸多领域具有广泛应用前景的主动式高分辨率对地观测系统,不受光照和气候条件的影响,为国内外广大学者所关注[1-2]。
近年来,以卷积神经网络(Convolutional Neural Network,CNN)[3]为代表的深度学习发展迅速,不仅在处理光学图像处理中取得不俗的成绩[4],在SAR 图像处理[5-10]中也取得显著效果。与传统的SAR 图像目标检测方法依赖人工设计提取复杂特征相比,CNN 通过神经网络自动完成特征提取,实现了“端到端”的处理流程,减少人为干预。
基于卷积神经网络的目标检测算法,根据其网络结构可分为双阶段(two-stage)检测算法和单阶段(one-stage)检测算法两大类。双阶段检测算法首先要生成若干比例、尺寸不一且可能包含物体的候选区域(region proposals),然后将候选区域送入网络进行目标检测,该类模型主要包括RCNN、Fast-RCNN、Faster-RCNN[11]等。单阶段检测算法不需要产生候选区域,直接在网络中提取特征来预测物体的位置和类别,该类模型主要包括SSD和YOLO[12]系列方法。
2016 年Redmon 等提出了YOLO 算法,提出将候选区域划定和目标分类识别这两个阶段合二为一的方法,虽然在精度上并未超过Faster-RCNN,但在速度上有不少的提升。2017 年该作者再次提出YOLOv2算法,提出一种检测与分类联合训练方法,大大降低了计算复杂度,在准确率、速度、识别种类三方面得到了改进。2018年4月,该作者又提出YOLOv3[13]算法,该算法在保持速度优势的前提下,进一步提高了检测精度,尤其是对小目标的检测能力。至此其综合性能,无论是速度和精度,都已经超过双阶段检测算法。2020 年4 月23 日,Alexey Bochkovskiy 提出了YOLOv4 网络模型。同年5 月30 日,Glenn Jocher 在GitHub 上发布了YOLOv5 网络模型。2021 年7 月,北京旷视科技发布了最新的YOLOX[14]模型,该模型引入了Anchor-Free、Decoupled Head 等思想,进一步提升了模型在图像目标检测与识别中的精度和速度。
国内外很多研究人员都在SAR 图像目标检测与识别中引入了深度学习算法,并且取得了不错的成果。李健伟等构建了国内首个SAR 图像舰船公开数据集SSDD,并用其训练Faster-RCNN 网络[15],证明了相比传统算法,深度学习算法的优越性。曹磊等将Faster-RCNN 网络用于SAR 图像车辆目标检测[16],并加以改进,使其收敛速度更快,检测精度更高。Hu等提出了一种专门用于船舶检测的双极化SAR 数据集(DSSDD),并提出一种基于异常检测的弱监督船舶检测方法[17]。
在SAR图像舰船目标检测中,针对舰船目标尺寸大小不一、舰船分布密集、背景复杂等问题,本文提出一种基于YOLOX网络的SAR图像舰船目标检测与识别算法。在YOLOX网络的基础上,引入CIOU(Complete-IOU)来代替交并比(IOU,Intersection over Union),以得到更加合理的总体损失函数,提高对尺寸大小不一的舰船目标的检测准确性。在其主干特征提取网络之后以及加强特征提取网络之中加入坐标注意力(CA,Coordinate Attention)机制模块,以便在大量图像特征信息中,对当前任务更加关键的特征信息会被赋予更高的关注度。本文基于SAR 舰船检测数据集进行了大量的实验验证,结果表明,与所选用的对比网络相比,本文的改进YOLOX网络具有更好的舰船目标检测性能。
1 模型方法
1.1 检测流程
常规YOLOX 网络模型如图1所示,包含输入、主干特征提取网络、加强特征提取网络、解耦头、预测框参数优化及损失计算和输出几个部分。
图1 常规YOLOX目标检测流程图
主干特征提取网络为使用CSP-net 改进的Darknet53 网络,即CSP-Darknet 网络,用于基础特征提取,该网络包含1 个Focus 结构、1 个卷积块、3个残差体、1个SPP残差体。Focus结构将原始SAR图像在横纵坐标方向各做二倍间隔采样,以减少层数和参数量,起到减少计算量和cuda 内存占用的效果,在mAP 影响很小的情况下,提升推理速度和梯度反传速度。卷积块包含卷积(Convolution)、批量归一化(BN,Batch Normalization)和激活函数(SiLU)三部分。3 个残差体中,每个残差体都由1个卷积块和1 个CSP 结构组成。CSP 结构由卷积块及n个残差块连接而成。位于最后的SPP 残差体中,将SPP 结构置于卷积块与CSP 结构之间,该SPP 结构能通过池化核大小不同的最大池化处理进行特征提取,以提高网络的感受野。经过主干特征提取网络将依次获得大、中、小尺度的基础特征层FB_1、FB_2和FB_3。
加强特征提取网络用于多尺度特征提取与融合。该网络首先将小尺度基础特征层FB_3通过卷积块处理,得到小尺度特征层FM_3;对FM_3进行上采样并与中尺度基础特征层FB_2融合,并经CSP 和卷积块处理,获得中尺度特征层FM_2;对FM_2进行上采样并与大尺度基础特征层FB_1融合,获得大尺度特征层FM_1。利用CSP 结构对FM_1进行特征提取,获得大尺度加强特征层FE_1;将FE_1进行下采样并与FM_2融合后,再经CSP处理获得中尺度的加强特征层FE_2;将FE_2进行下采样并与FM_3融合后,经过CSP处理获得小尺度加强特征层FE_3。
解耦头分别利用大、中、小尺度的加强特征层FE_1、FE_2和FE_3,获得三组边框回归与目标分类参数,进行预测框优化以及损失计算。
在网络训练阶段,以大小为608×608的SAR图像训练数据集为例,将其输入到主干特征提取网络后,进行大、中、小尺度的基础特征提取。将得到的三个基础特征层继续传入加强特征提取网络,得到大小分别为76×76、38×38、19×19的三个加强特征层。将获得的三个加强特征层分别传入三个解耦头中,获得分别针对小、中、大目标的三组边框回归与目标分类参数。将这些参数和训练数据的标签信息进行比较,计算损失函数,并反向传播来更新网络参数。如此往复迭代,直至网络参数收敛。
在网络测试阶段,利用训练好的网络模型对测试数据集进行处理,并获得边框回归与目标分类参数。利用这些参数生成预测框,并使用非极大值抑制NMS(Non-Maximum Suppression)算法,删除冗余预测框,得到和目标一对一匹配的多个检测框。然后利用检测框参数和测试数据的标签信息进行对比,统计准确率和召回率等各项检测指标。
1.2 损失函数
以大小为608×608 的输入图像为例,经过处理,解耦头会输出尺度分别为76×76、38×38、19×19的三个特征层,特征层的每个元素称为一个特征点,一共有76×76+38×38+19×19=7581个特征点。
根据标签数据中的真实框信息,经过初步筛选和SimOTA 精细化筛选,确定特征点中的正例和反例。此处正例指包含目标的特征点,反例指不包含目标的特征点。根据各个特征点的边框参数,可以确定其在输入图像上的预测框。
根据预测框和真实框信息计算YOLOX 网络的损失函数,包括框回归损失lreg、置信度损失lobj、分类损失lcls三部分。损失函数表示如下:
传统的框回归损失lreg由正例预测框和真实框之间的IOU 损失构成。对于任一正例预测框A和其对应的真实框B,IOU及IOU损失lIOU计算如下:
式中,⋂表示求交运算,⋃表示求并运算。交并比描述了两个边框之间的重叠程度,如果两个边框之间的IOU 值越大,那么它们之间的距离度量就会越小,重叠度越高。
但是IOU 在作为损失函数时有两点局限:首先,在A框与B框无重合区域时,无论二者的距离为多大,IOU 均为0,而事实上距离近者比距离远者回归效果更好;其次,在A框与B框有重合区域时,即便IOU 值相同,也可能对应检测效果相差很大的多种情形。后一个问题如图2所示,其中三幅图的IOU 均为0.43,但其回归效果是不同的,图2(a)的回归效果最好,图2(c)的回归效果最差。
图2 相同的IOU值对应不同重合度
本文为了弥补IOU 的缺陷,引入CIOU 来替代IOU,以提高SAR 图像中舰船目标检测的准确性。CIOU同时考虑了框的宽高比信息和框之间的距离信息,使其作为损失函数更为合理。CIOU定义如下:
式中,ρ(A,B)表示A框与B框中心点坐标的欧式距离,而c则是包住A和B的最小方框的对角线距离,α是权重函数,ν用来度量宽高比的一致性,其表达式如下:
其中,wA和hA分别代表正例预测框A的宽和高,wB和hB分别代表对应真实框B的宽和高。CIOU损失定义为
针对图2 的三种情况,其IOU 值相同,但其CIOU 值分别为0.43,0.40,0.37,所以按照CIOU 的衡量标准,(a)的回归效果最好,(b)其次,(c)最差,正例预测框的形状和位置都更接近于真实框。
所以,本文的框回归损失lreg计算如下:
式中,λ为回归权重,N为正例预测框数目,lnCIOU为第n个正例预测框及其对应真实框之间的CIOU损失。
置信度损失lobj和分类损失lcls分别计算如下:
式中:M为预测框数目,Bm代表第m个预测框的置信度分数,代表第m个预测框为正例或反例,若是正例则为1,否则为0;Cn代表第n个正例预测框所包含的目标种类编号,代表第n个正例预测框所对应的真实框所包含的目标种类编号。
1.3 注意力机制
在图像处理中,注意力机制通过对不同区域赋予不同的权重,以强化对图像中重要区域的特征提取。在YOLOX 网络中,注意力机制可以赋予特征层中不同特征点不同的权重,并对这些权重进行适应性调整,从而提取出更为关键的特征信息,在不增加计算和存储的情况下,让网络做出更为准确的判断。
本文引入坐标注意力(CA,Coordinate Attention)机制[18],将特征层分解为X方向和Y方向的两个一维特征编码,有效地将SAR 图像中地物空间坐标信息整合到这两个特征编码中。CA不仅考虑了地物位置信息还考虑了通道间的关系,有助于网络更准确地定位和识别目标。CA机制的示意图如图3 所示。图中H、W、C分别表示特征层的高、宽、通道数。CA 机制中,首先将尺寸为H×W×C的输入特征层Fin分别在水平方向(X方向)和垂直方向(Y方向)进行一维全局平均池化,获得尺寸为H× 1 ×C的垂直特征层ZH和尺寸为1 ×W×C的水平特征层ZW。
图3 CA机制示意图
在ZH中,第c通道的第h个元素可以表示为
在ZW中,第c通道的第w个元素可以表示为
式中,Fin(h,w,c)代表输入特征层Fin的第c通道中的第h行第w列的元素。
在获得具有全局感受野和精确位置信息的特征层ZH和ZW之后,采用具有B个卷积核的卷积变换函数QB对ZH和ZW进行二维卷积处理,将其通道维度降低为B。再经过批量归一化函数fBN和非线性激活函数δ的处理,得到尺寸为H× 1 ×B的垂直特征层UH和尺寸为1 ×W×B的水平特征层UW,如下式所示:
然后,将特征层UH和UW分别通过具有C个卷积核的卷积变换函数QC进行二维卷积处理,将通道数调整为C。再通过Sigmoid 激活函数σ得到垂直特征编码GH和水平特征编码GW,如下式所示:
最后,GH和GW相乘,得到一个尺寸为H×W×C的特征层,再与输入特征层Fin进行矩阵元素对应相乘,得到带有地物位置信息的输出特征层Fout,如下式所示:
式中,Fout(h,w,c)代表Fout的第c通道中的第h行第w列的元素。
1.4 改进YOLOX网络结构
本文改进后的YOLOX 网络结构如图4 所示。相比于传统YOLOX 网络,改进YOLOX 网络引入了坐标注意力CA机制,改进了损失函数的计算。
图4 改进YOLOX目标检测流程图
在主干特征提取网络中,3个基础特征层FB_1、FB_2和FB_3之后都添加了CA 模块;在加强特征提取网络中,两处下采样之后也都添加了CA 模块。该模块在不改变其他网络模块结构的同时,为特征层中的各个特征点赋予不同的权重,并在训练过程中自适应地调整这些权重,以强化对SAR 图像中重要区域的特征提取。
在框回归损失函数中,引入CIOU 替代IOU,以更好地利用预测框和真实框之间的相对位置信息和形状信息,使得预测框朝着与真实框重叠度更高、对齐程度更好的方向优化,以提高目标检测准确度。
2 实验验证
本文基于Python 3.7和TensorFlow 2.3框架,开发了深度学习代码并完成了舰船目标检测实验。所使用的操作系统是64 位Windows 10,计算机处理器是AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz,内存容量为32 GB(DDR4 3200MHz),显卡是NVIDA GeForce RTX3080(10 GB)。
本文的舰船目标检测实验使用高分辨率SAR舰船检测数据集AIR-SARSHIP-2.0[19]。该数据集包含十余类舰船和多种复杂背景,一共300幅SAR图像,总计2 040 个舰船目标。为了增加研究数据容量,提升算法测试效果,本文采用了翻转、平移、调整亮度等方法,对实验数据集进行了数据扩充,扩充后一共有1 500 幅图像。试验中,训练集加验证集与测试集的比例为8∶2,训练集与验证集的比例为9∶1。
本文选择了Faster-RCNN、YOLOv3、常规YOLOX 以及本文提出的改进YOLOX 四种网络,进行训练和测试后,用于舰船目标检测效果对比。
2.1 舰船目标检测效果图
首先,本文进行了复杂港口背景下的舰船目标检测实验,部分结果如图5 所示,其中矩形框标示程序检出目标,虚线椭圆框标示虚检目标,实线椭圆框标示漏检目标。
图5 复杂港口背景下的舰船目标检测结果
从图5 可以看出,Faster-RCNN 网络的检测结果中存在六处虚检和七处漏检,YOLOv3 网络的检测结果中存在六处漏检,常规YOLOX 网络的检测结果中存在三处漏检,而改进YOLOX 网络只存在一处漏检,说明改进YOLOX 网络在复杂港口背景下具有更好的舰船目标检测效果。
然后,本文进行了海面密集舰船目标检测实验,部分结果如图6所示。
图6 海面密集舰船目标检测结果
从图6 中可以看出,Faster-RCNN 网络的检测结果中存在两处虚检和四处漏检,YOLOv3 网络的检测结果中存在一处虚检和五处漏检,常规YOLOX网络的检测结果中存在五处漏检,而改进YOLOX 网络只存在两处漏检,说明本文的改进YOLOX 网络在海面密集舰船目标检测中具有更好的检测效果。
从检测实验中可以看出,本文的改进YOLOX网络能够有效地减少虚检,但还会存在少量的漏检。经过分析,导致漏检的原因有如下两点:
1)训练数据集中,某些类舰船的数量较少,在网络训练阶段不能有效地提取到该类舰船的特征,进而导致在测试阶段该类舰船的置信度分数较低,不能被准确检测出,产生漏检。
2)某些舰船目标距离太近,出现相互遮挡的情况,网络可能已经检测出目标,但是由于多个预测框之间的重叠部分较大,某些预测框在NMS 处理中被作为冗余框删除,产生漏检。
2.2 检测性能评价指标
本文使用准确率rP、召回率rR,以及二者的调和平均数F1[16],作为检测性能评价指标。并基于AIR-SARSHIP-2.0 数据集进行了大量实验,统计得到Faster-RCNN 网络、YOLOv3 网络、常规YOLOX网络以及改进YOLOX 网络的检测性能评价指标,如表1所示。
表1 检测性能评价指标比较
由表1 可以看出,在SAR 图像舰船目标检测中,相较于Faster-RCNN 网络,YOLOv3网络的召回率rR略有降低,但准确率rP和调和平均数F1值明显提高,虚检更少。相比于前两种网络,常规YOLOX 网络在召回率rR、准确率rP、调和平均数F1值三方面均有明显提升。相比于常规YOLOX 网络,本文的改进YOLOX 网络的准确率rP提高了3.24%,召回率rR提高了20.84%,说明改进YOLOX网络在SAR 图像舰船目标检测中具有更好的检测效果。
2.3 P-R曲线和mAP值
基于大量实验结果,本文绘制出四种网络所对应的P-R曲线(准确率-召回率曲线/Precision-Recall 曲线),并计算其平均精度mAP(mean Average Precision)值,如图7所示。
图7 P-R曲线和mAP值比较
由图7 可知,YOLOv3 网络的平均精度比Faster-RCNN 网络提高了17.11%,常规YOLOX 网络比YOLOv3网络提高了7.00%,而改进YOLOX 网络又比常规YOLOX 网络提高了8.4%,说明改进YOLOX网络具有更好的舰船目标检测效果。
2.4 计算时间对比
本文利用训练后的Faster-RCNN 网络、YOLOv3 网络、常规YOLOX 网络以及改进YOLOX 网络,对同一组尺寸为1 000×1 000 的SAR 图像进行舰船目标检测,并统计计算时间和处理速度。Faster-RCNN 网络的计算时间为0.067 s,处理速度为14 FPS;YOLOv3 网络的计算时间为0.017 s,处理速度为56 FPS;常规YOLOX 网络的计算时间为0.015 s,处理速度为65 FPS;改进YOLOX网络的计算时间为0.017 s,仅为Faster-RCNN 网络计算时间的25.37%,处理速度为56 FPS。
由此可见,作为一种单阶段网络,YOLOv3 的计算时间相比于双阶段网络Faster-RCNN 有明显缩减,而常规YOLOX 网络比YOLOv3 网络亦略有提升。由于在网络结构里添加了基于CA 机制的模块,本文的改进YOLOX 网络的计算时间略长于常规YOLOX网络,但与YOLOv3网络相当。
3 结束语
本文提出一种基于深度学习的改进YOLOX卷积神经网络,并用于SAR 图像舰船目标检测。在该网络中,引入了坐标注意力(CA)机制以强化重要区域的特征提取,并改进了框回归损失函数以提高目标检测的准确性。
本文基于AIR-SARSHIP-2.0 数据集,选择了Faster-RCNN、YOLOv3、常规YOLOX 作为对比网络,分别在复杂港口环境和海面密集目标环境下进行了大量SAR 图像舰船目标检测实验,以验证改进YOLOX网络的有效性。
实验结果表明,相比3 种对比网络,改进YOLOX网络具有更高的准确率、召回率和F1值,在检测结果中会出现更少的虚检和漏检。在P-R 曲线和mAP 值两个综合指标方面,改进YOLOX 网络均优于另外3个对比网络。
本文比较了4种网络的计算时间和处理速度,作为单阶段网络的3 种YOLO 网络的计算时间明显低于作为双阶段网络的Faster-RCNN 网络。同时,在3种单阶段网络中,改进YOLOX 网络的计算时间略长于常规YOLOX 网络,与YOLOv3 网络持平。