1. 引言
遥感图像中任意方向目标的检测对于遥感图像的理解具有重要意义,已受到越来越多的关注。受益于水平目标检测的快速发展,越来越多的旋转目标检测器逐渐涌现,如RoI Transformer [1] 、CFA [2] 、S2ANet [3] 、ReDet [4] 、SASM [5] 、DAFNe [6] 、Oriented RepPoints [7] 、FCOSR [8] 、DAL [9] 、Oriented R-CNN [10] 、R3Det [11] ,其主要设计思路是由相应的水平目标检测器衍生而来,如FCOS [12] 、Faster R-CNN [13] 、Focal Loss [14] 、RepPoints [15] 。YOLOv8 [16] 是最新提出的YOLO系列算法模型,其首次采用无锚框检测,使得模型可以减小使用锚点带来的计算负担,从而进一步推动检测向实时、高精度方向发展。YOLOv8在遥感图像水平目标检测中可以达到很高的准确度。因此决定采用YOLOv8为设计基线,提出选择目标检测算法。
由于遥感图形中物体的尺度和方向存在巨大变化,旋转物体检测仍然具有挑战性。首先由于遥感图像大都具有高分辨率,且同时存在大、中、小不同尺度的目标,导致许多算法难以有效同时识别不同尺度目标,尤其是小目标,会出现漏检、错检情况。其次,旋转框的表示方法仍然存在一些理论问题。在旋转框目标检测中,目标框表示方法大致可以分为三种:OpenCV表示法、长边表示法和八参数表示法,如图1所示。目前,多数旋转框目标检测采用OpenCV表示法,使用这种表示方法时会遇到边界不连续问题 [17] [18] [19] 。边界不连续问题主要是由角度的周期性和边的可交换性引起的,而后者与特定的旋转框定义(如长边定义)有关。
同时实验中发现,虽然YOLOv8设计了轻量化网络,但由于旋转目标检测将角度信息引入,模型的计算复杂度仍然较高,内存占用量较大。这也使得模型对训练资源要求更高。
针对以上问题,一种轻量级无锚框旋转目标检测算法YOLOv8-LR本文主要贡献如下:首先在主干网络和特征融合之间设计了轻量级通道空间特征增强模块,增加特征图的通道信息,提升了对遥感图像的多尺度预测能力;其次,轻量化特征融合网络,在不降低检测准确率的情况下,减少模型计算复杂度;然后,增加网络的输出维度,采用无锚框OpenCV回归方法对图像进行预测和检测,以适用于旋转目标检测;最后改进DFL损失 [20] ,学习锚框到边框的一般分布,以获得更准确的边框尺度预测。并引入了类似于 [9] 的ProbIoU损失 [21] 作为回归损失,以避免在预测角度时出现边界不连续问题。
2. 仿真模型
2.1. YOLOv8-LR整体结构
YOLOv8-LR算法以YOLOv8目标检测算法作为基线结构进行设计,如图2所示。相较于YOLOv8算法,YOLOv8-LR算法在通道空间特征增强模块、特征融合网络和损失函数三个方面进行了改进,改进部分在图中用红框标出。
2.2.通道空间特征增强模块
YOLOv8的特征融合网络结合了特征金字塔(Feature pyramid network, FPN) [22] 和路径聚合网络(Path aggregation network, PAN) [23] 在一定程度上缓解了信息融合问题。然而,YOLOv8的骨干网络最后一层快速空间金字塔池化(Spatial Pyramid Pooling-Fast, SPPF) [24] ,对不同尺度的特征融合时,采用1 × 1卷积来恢复通道数,使其保证输入输出SPPF的特征图尺度大小和深度不变。虽然使用SPPF提高了模型在处理不同尺寸输入时的速度,但通道信息减少了,导致FPN和PANet性能不佳。因此,在骨干网络和特征融合网络之间,设计了轻量级通道空间特征增强模块,来改善和共享特征图的通道信息,从而减少了FPN
Figure 2. The overall structure of the YOLOv8-LR
图2. YOLOv8-LR的整体结构
初始阶段的信息丢失,同时,还强调了通道和空间域中的重要信息。因此,这种改进有助于增强FPN的性能,特别是有利于检测较小尺寸的物体。其网络架构如图3所示。
具体来说,首先,将经过1 × 1卷积处理后的特征X,输入逆特征卷积(Involution) [25] 。逆特征卷积在空间域和通道域中对输出特征进行逆变换,恢复原始图像的细节。其定义为:
(1)
其中H和W为输入特征的高度和宽度;K为卷积核大小;G为使用相同逆特征卷积核的特征组的数量。对于坐标为
像素
,使用核生成函数
,将每个像素位置
处的函数映射抽象,由通道
Figure 3. Lightweight channel spatial feature enhancement module structure
图3. 轻量级通道空间特征增强模块结构
排列方式重新排布成以空间排布方式,得到其对应的逆特征卷积核,记作
,且该核在通道之间共享:
(2)
其中,
;
;σ为归一化函数。利用逆特征卷积核对输入进行乘加运算其最后的输出表示为:
(3)
其中u,v为偏移量,
为考虑对中心像素进行卷积的邻域偏移量集合。
图4以G = 1为例,输入特征图为X,对每个像素位置
使用核生成函数
,进行通道到空间的重新排列得到
,然后将C个通道的张量分别与内卷核相乘,再在K × K空间邻域内聚合的求和。
将补充信息后的特征输入通道与空间混合注意力(channel and spatial mixed attention, CBAM) [26] 模块,利用其双分支进行特征提取和融合,自适应地将特征进行细化,选择重要的通道和空间区域。从而突出重要特征,获取更加丰富的特征信息。
CBAM由2个模块组成:通道注意力模块和空间注意力模块。这两个模块分别生成通道和空间注意力图,然后将其与输入特征图相乘,以便于自适应特征细化。因此,沿通道和空间轴沿着有意义的特征被强调,而冗余的特征被抑制。通道注意模块在不同通道上对特征图执行全局最大池化和平均池化,然后执行逐元素求和,并且使用sigmoid激活。空间注意力模块对不同特征图上相同位置的像素值执行全局最大池化和平均池化,然后连接两个特征图,然后进行Conv2d操作和sigmoid激活。
2.3. 轻量化特征融合网络
特征融合网络FPN和PANet使用的跨阶段部分网络融合模块(Cross Stage Partial Network Fusion, C2f),需要对多个层级的特征进行融合,这会增加计算量和内存消耗。特别是在处理大尺寸图像时,计算复杂度会更高。因此,引入了一种新的轻量级卷积方法,VoV-GSCSP [27] ,设计一种轻量级的特征融合网络。该方法使得卷积计算的输出尽可能接近通道密集卷积的输出,降低了计算成本,减轻模型负担同时保持准确性。使模型在准确性和速度之间达到了出色的权衡。其网络架构如图5所示。
为了最终加快预测的计算速度,CNN中的输入图像几乎总是必须在骨干网络中经历类似的转换过程:空间信息逐步向通道传输。而每次特征图的空间(宽度和高度)压缩和通道扩展都会造成部分语义信息的丢失。通道密集卷积计算最大限度地保留了每个通道之间的隐藏连接,但通道稀疏卷积完全切断了这些连接。GSConv以较低的时间复杂度尽可能多地保留这些连接。通常,卷积计算的时间复杂度由FLOP定义。因此,SC(通道密集卷积)、DSC(通道稀疏卷积)和GSConv的时间复杂度(无偏差)为:
(4)
其中,W为输出特征图的宽度;H为输出特征图的高度;
为卷积核的大小;C1为每个卷积核的通道数;也是输入特征图的通道数;C2为输出特征图的通道数。
Figure 5.Lightweight feature fusion network structure
图5. 轻量级的特征融合网络结构
2.4. 损失函数设计
YOLOv8旋转框目标检测的损失函数由三部分组成,即分类损失(Cls Loss)、定位损失(Bbox Loss)以及旋转目标分布焦点损失(RDFL Loss)三部分具体公式为:
(5)
对于定位损失,由于CIoU不考虑目标框旋转角度,并不适用于旋转框目标检测。旋转交并比(SkewIoU)是评价旋转框目标检测损失的一个非常良好的指标。但是直接计算旋转交并比计算复杂度过高,且在目标物体位于图像边界时,检测精度会受到影响。因此目前大多使用基于高斯表示的旋转目标检测损失函数来模拟旋转交并比。例如Xue等人提出的GWD [19] 和基于GWD的改进算法KLD损失函数 [28] 。但是上述算法对于超参数的选择过于敏感,但仍存在边界问题。Jeffri提出的ProbIoU考虑了预测边界框的不确定性,从而更准确地评估了检测的性能。
其首先将旋转框转化为二维高斯分布区域:
(6)
随后计算目标框与预测框之间的巴氏距离(Bhattacharyya Distance):
(7)
其中
和
为预测框与目标框的概率密度函数。但是由于巴氏距离并不满足三角不等式,因此进一步将巴氏距离转换为Hellinger Distance(HD):
(8)
最终得到ProbIoU损失:
(9)
KLD和ProbIoU两种损失函数的性能对比如表1所示。实验基于YOLOv8模型,分别使用KLD和ProbIoU两种损失函数训练模型,得到不同模型的mAP。从表中可以看到无论是在DOTAv1.0数据集上还是DIOR-R数据集上,使用ProbIoU损失的mAP都明显高于使用KLD损失。这说明ProbIoU损失函数能够更好地解决旋转目标的角度边界不连续问题。因此采用ProbIoU作为模型旋转框检测的定位损失函数。
Table 1. mAP with different loss functions
表1. 不同损失函数的mAP
DFL损失部分,将原水平框DLF损失直接应用于旋转框,会导致收敛速度较慢。这主要是因为水平框DLF Loss缺乏角度信息。如图6所示,(a)为水平框计算预测框中心点到真值框四条边框的距离。如果仍旧采用水平框计算距离的方式,旋转框实际匹配的目标框并不是目标框,而是图6(b)中所示的黑色虚线水平框。
为解决这一问题,计算距离时加入角度信息,计算公式如下:
(10)
其中
为预测框中心点坐标,
为目标框的左上角点坐标,
为目标框的右下角点坐标。这样计算后的距离为预测框中心到目标框四条边框的真实距离,如图6(c)所示。
3. 数据集及实验设置
3.1. 数据集及实验设置
DOTAv1.0数据集 [29] 中有2806幅航空图像,15个类别共包含188,282个用旋转框标注的实例目标。类别分别为飞机、棒球场、桥梁、田径场、小型车辆、大型车辆、船舶、网球场、篮球场、油罐、足球场、环岛、港口、游泳池、直升机。每张图片的尺寸都在800 × 800像素至4000像素 × 4000像素之间,由于原数据尺寸太大,将DOTAv1.0数据集按照200像素的重叠度进行切割处理,切割为1024 × 1024固定大小的数据集。其中,训练集包含15,749幅图像,测试集包含5297幅图像。
3.2. 实验环境与参数
实验在Windows系统下,采用PyTorch 1.13.1开源深度学习框架搭建网络,在具有NVIDIA GeForce RTX 3060 GPU和6G显存的计算机上实现。使用SGD作为优化器训练,动量因子为0.9,权重衰减系数为10−4,初始学习率为10−5,Batch Size设置为6。
3.3. 评价指标
为了更好地评价检测方法的表现,实验采用了常用的平均精度AP (Average Precision)作为评价指标。检测结果可以分为3类,分别是正确预测的正样本TP (True Positive),错误预测的正样本FP (False Positive)以及错误预测的负样本FN (False Negative)。用精度指标P表示所有检出目标中正确预测的比例,召回指标R表示正确预测的目标占应检出目标的比例,则:
(11)
AP则是计算从R = 0到R = 1区间内精度P的平均值,更高的AP值意味着检测效果越好,反之亦然。由于AP是针对单个类别,而测试的数据集具有多个类别标签。因此采用多个类别AP的平均值用于多类目标检测效果的衡量,这个平均值常用mAP (Mean Average Precision)表示。
4. 实验结果分析
4.1. 对比实验
为了验证YOLOv8-LR的有效性,将其与目前一些经典目标检测算法进行对比。表2给出了YOLOv8-LR与其他目标检测算法在DOTA数据集上的检测结果 [30] 。其他目标检测算法被分为基于回归的目标检测算法、基于感兴趣区域的目标检测算法和基于DETR的目标检测算法。其中加粗字体表示所有检测算法中检测精度最高的结果。
从表2中可以看出,在DOTA数据集上,YOLOv8-LR的mAP值达到77.2%,相比于其他目标检测算法,YOLOv8-LR模型拥有更好的目标检测性能,为所有实验检测算法中最高。与基于回归的目标检测算法Rotated RetinaNet、R3Det、Rotated FCOS和基于感兴趣区域的目标检测算法Rotated Faster RCNN、ReDet相比,YOLOv8-LR在DOTA数据集上mAP提高了3.2%至8%。除少数类型检测精度略低于上述其他模型外,如篮球场、网球场,YOLOv8-LR在其余目标,尤其是小尺度目标上均有所提升。例如,相比于Rotated RetinaNet,YOLOv8-LR对小型汽车、桥梁、直升机的检测精度分别提升了27.6%、25.6%、25.8%。
与基于DETR的目标检测算法Rotated D-DETR、AO2DETR、ARS-DETR相比,YOLOv8-LR的mAP提高了3.4%至13.8%。除大型车辆、网球场、篮球场等目标,上述其他模型略高外,其余目标,YOLOv8-LR仍然获得了更好的检测结果。其中小目标检测精度同样提升明显,例如小型车辆,相较于其他上述模型,YOLOv8-LR的检测结果可以提高2.2%至13.9%。最后与AO2DINO模型相比,YOLOv8-LR的mAP值提高了2.2%。且对于大部分目标检测精度,YOLOv8-LR均高于AO2DINO模型。
Table 2. Comparison of detection accuracy of different types of objects in the DOTAv1.0 dataset
表2. DOTAv1.0数据集中不同类别目标的检测精度对比
4.2. 消融实验
为了验证算法中各改进模块的有效性,将YOLOv8的定位损失函数替换为Prob来检测旋转目标,在此基础上分别添加通道空间特征增强模块(I-CBAM)和轻量化特征融合网络(LFP),在DOTA数据集上进行消融实验。
从表3中的实验结果可以看出,仅添加I-CBAM模块后,在DOTA数据集上,算法的mAP从73.2%
Table 3. The impact of different improvements on detection performance
表3. 不同改进部分对检测性能的影响
Figure 7. Visualization of detection performance of YOLO8-LR on DOTA dataset
图7. YOLO8-LR在DOTA数据集上检测效果可视化
提高到76.7%。而参数量和计算量几乎与之前保持一致。这表明I-CBAM模块共享通道特征以提取丰富特征信息,有效增强对遥感图像目标检测精度。仅添加LFP后,模型大小明显降低,参数量和计算量分别降低了0.197 MB和0.8 GB,为YOLOv8的6.5%和9.4%。在数据集上的mAP也略有提升。验证了轻量化特征融合网络可以有效降低模型计算成本,且不会对检测精度造成损失。最终算法YOLOv8-LR综合所有模块,相较于YOLOv8,在DOTA数据集上mAP增加了4%,参数量和计算量分别降低了0.157和0.7,为YOLOv8参数量和计算量的5.4%和9.0%。综上所述,I-CBAM在提升目标检测精度方面表现出色,而LFP则有效的降低了模型的参数量和计算量,使模型更轻量化、更高效。
4.3. 可视化检测结果
为了直观显示目标检测效果,将YOLOv8-LR在DOTA数据集中部分图像检测结果进行可视化,结果如图7所示。通过观察可以发现,YOLOv8-LR可以准确地检测到大多数目标与任意方向。尤其在尺度较小和密集排布的目标检测上效果显著,且漏检的情况较少,如飞机、车辆、船舶、油罐等。
对于不同分辨率图像中的尺度差异较大的同一种类目标(如飞机、油罐等),YOLOv8-LR能够实现较高精度检测,如图7(a)和图7(c)所示。此外也有能力对同一幅图像中尺度差异较大的不同物体准确定位,如图7(l)中同时存在环岛和车辆的情况。
5. 结束语
针对遥感图像目标种类多、密集分布和尺度变化剧烈,导致遥感图像目标多尺度尤其小目标难以检测的问题,本文提出一种轻量级无锚框旋转目标检测算法YOLOv8-LR。首先,设计了一种轻量级通道空间特征增强模块,将特征图的通道信息共享,有效地增加特征图的细节信息,提升小目标预测能力。其次,构建轻量化特征融合网络,降低计算复杂度而不损失检测精度。最后,增加输出维度并引入角度信息,优化定位损失函数,解决旋转框角度边界问题,并改进动态损失函数以加速模型收敛。实验结果表明,YOLOv8-LR能有效实现高精度的小目标和密集分布目标的检测,验证了其可行性和有效性。