前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PKINet:比ResNet更适合遥感目标检测的主干网络 | 可替换YOLO的Backbone

PKINet:比ResNet更适合遥感目标检测的主干网络 | 可替换YOLO的Backbone

作者头像
小白学视觉
发布于 2024-12-09 06:00:47
发布于 2024-12-09 06:00:47
48700
代码可运行
举报
运行总次数:0
代码可运行

标题:《Poly Kernel Inception Network for Remote Sensing Detection》[1] 代码:https://github.com/NUST-Machine-Intelligence-Laboratory/PKINet 前置知识:LSKNet、Inception、MMRotate框架

1 摘要

遥感图像(RSIs)中的目标检测通常面临越来越多的挑战,包括物体尺度变化大和上下文多样化等问题。以往的方法试图通过大核卷积或膨胀卷积来扩展骨干网络的空间感受野。然而,前者通常会引入大量背景噪声,而后者则有生成过于稀疏特征表示的风险。

在本文中,我们引入了多核Inception网络(PKINet)来应对上述挑战。PKINet 采用多尺度卷积核(不使用膨胀)来提取不同尺度的物体特征并捕捉局部上下文信息。此外,还引入了上下文锚点注意力(CAA)模块并行处理,以捕获长距离的上下文信息。

这两个组件共同作用,提升了PKINet在四个具有挑战性的遥感检测基准(DOTA-v1.0、DOTA-v1.5、HRSC2016 和 DIOR-R)上的性能。

2 引言

  1. 遥感目标检测的任务和挑战
    • 近年来,遥感图像中的目标检测受到了广泛关注,任务聚焦于识别特定物体,并确定其类别和位置。
    • 遥感图像中的目标检测不同于通用目标检测,它生成与物体方向精确对齐的定向边界框(OBB),因此许多研究致力于提高OBB角度预测的精度。
    • 遥感图像的独特性(如物体的多尺度性和上下文信息的依赖)仍然没有得到充分探索。
  2. 遥感图像的特性和现有方法的局限
    • 遥感图像从俯视角度拍摄,物体尺度变化大,从大型物体(如足球场)到小型物体(如车辆)不等。
    • 物体识别不仅依赖其外观,还依赖于其环境上下文信息。
    • 为应对尺度变化,现有方法采用数据增强、多尺度特征集成或特征金字塔网络(FPN),但感受野一致的缺陷无法为大物体提供足够的上下文信息。
  3. 现有方法的改进
    • LSKNet 通过大核卷积和膨胀卷积选择性地扩大大物体的感受野,以捕捉更多场景上下文信息,但引入了背景噪声和稀疏特征的问题,尤其对小物体检测不利。
  4. PKINet的提出
    • 为解决物体尺度变化和上下文多样性问题,本文提出了多核Inception网络(PKINet)
    • PKINet 并行使用不同大小的深度卷积核,无需膨胀卷积,能够在不同感受野下提取密集的纹理特征,并通过通道维度自适应融合局部上下文信息。
    • 引入上下文锚点注意力(CAA)机制,通过全局平均池化和一维条带卷积捕捉远距离像素间的关系,增强中心区域的特征。
    • 这两个组件共同促进自适应特征的提取,结合局部和全局上下文信息,提升检测性能。
  5. 实验验证与贡献
    • PKINet 是首个结合 Inception 风格卷积和全局上下文注意力用于遥感目标检测的工作,有效应对了物体尺度变化和上下文多样化的挑战。
    • 在DOTA、HRSC2016和DIOR-R等基准数据集上的实验验证了其有效性。
    • PKINet 相比于以往方法更加轻量,且具备出色的特征提取能力。

3 相关工作

遥感目标检测面临的挑战主要来自于具有任意方向和显著尺度变化的对象。大多数先前的方法都集中在定向边界框(OBB)检测上。尽管如此,一个新兴趋势是设计针对遥感图像(RSIs)特性的有效特征提取骨干网络

遥感目标检测中的OBB

为了应对RSIs中对象任意方向的挑战,一个研究方向专注于开发专门的OBB检测器。

  • 这包括在检测器颈部引入特征细化技术,提取旋转的感兴趣区域(RoI),为OBB设计特定的检测头等。尽管这些方法在提高通用水平边界框(HBB)检测器的性能方面取得了进展,但它们通常因为通过增加额外角度参数来增强水平对象表示而获得的相对不灵活的对象表示而受到边界不连续性等问题的困扰。
  • 为了缓解上述问题,另一条研究线致力于开发新的用于检测OBB的对象表示。
    • 提出通过向经典HBB表示添加四个滑动偏移变量来描述多向对象。
    • 使用一组点来表征定向对象,以实现更精确的方向估计。
    • 利用高斯分布来模拟OBB进行目标检测,并设计新的损失函数来指导学习过程。

尽管这些方法在解决任意方向相关挑战方面具有前景,但它们通常依赖于标准骨干网络进行特征提取,这往往忽略了对目标检测至关重要的RSIs的独特特性,例如大尺度变化和多样化的上下文信息。相比之下,我们提出了一个特征提取骨干网络来应对大尺度变化带来的挑战。

遥感目标检测的特征提取

  • 为了更好地处理RSIs中的独特挑战,如大尺度变化,某些方法强调通过数据增强、多尺度特征集成、特征金字塔网络(FPN)增强或多尺度锚点生成等方法提取多尺度特征。
  • 最近,针对遥感目标检测设计特征提取骨干网络方面取得了值得注意的进展。一些(Redet等)专注于提取适合不同方向对象的特征,具有等效的感受野。LSKNet 使用大核扩大较大对象的空间感受野,这不可避免地为较小对象引入背景噪声。一些采用多尺度卷积核来应对各个领域的挑战,然而在遥感检测方面的研究仍然很少。

类似于 LSKNet,我们提出了一个新的特征提取骨干网络PKINet来应对RSIs中对象尺度大范围变化和多样化上下文带来的挑战。两种方法之间有两个关键区别

  • 无扩张卷积的Inception风格深度卷积:通过多尺度卷积提取不同感受野中的纹理特征,不依赖大核或扩张卷积,减少噪声引入。
  • 上下文锚点注意力(CAA)机制:捕获长距离上下文信息,结合局部与全局信息,增强特征表达,提升遥感目标检测性能。

4. 方法

如图2(a)所示,我们的PKINet是一个类似于VGG 和ResNet 的特征提取骨干网络,由四个阶段组成。每个阶段暗示了一个跨阶段部分(CSP)结构,其中阶段输入被分割并输入到两条路径中。

  • 一条路径是一个简单的前馈网络(FFN)。
  • 另一条路径由一系列PKI块组成,每个PKI块包含一个PKI模块和一个CAA模块

两条路径的输出被连接起来产生阶段的输出。PKINet可以与各种定向目标检测器(如定向RCNN[65])结合,以产生RSIs的最终目标检测结果。

4.1 PKI Stage

4.2 PKI Module

一个 PKINet 块由一个 PKI 模块和一个 CAA 模块组成。在本节中,我们将深入探讨 PKI 模块的细节。

4.3 上下文锚点注意力 (CAA)

如上所述,PKI 块中的类似 Inception 的 PKI 模块专注于提取多尺度的局部上下文信息。为了捕捉长距离的上下文信息,受 LSKNet、Ghostnetv2 启发,我们进一步将上下文锚点注意力 (CAA) 模块集成到 PKI 块中。CAA 旨在获取远距离像素之间的上下文依赖关系,同时增强中心特征。图 2(e) 展示了 CAA 的示意图。

代码实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class CAA(BaseModule):
    """Context Anchor Attention"""
    def __init__(
            self,
            channels: int,
            h_kernel_size: int = 11,
            v_kernel_size: int = 11,
            norm_cfg: Optional[dict] = dict(type='BN', momentum=0.03, eps=0.001),
            act_cfg: Optional[dict] = dict(type='SiLU'),
            init_cfg: Optional[dict] = None,
    ):
        super().__init__(init_cfg)
        self.avg_pool = nn.AvgPool2d(7, 1, 3)
        self.conv1 = ConvModule(channels, channels, 1, 1, 0,
                                norm_cfg=norm_cfg, act_cfg=act_cfg)
        self.h_conv = ConvModule(channels, channels, (1, h_kernel_size), 1,
                                 (0, h_kernel_size // 2), groups=channels,
                                 norm_cfg=None, act_cfg=None)
        self.v_conv = ConvModule(channels, channels, (v_kernel_size, 1), 1,
                                 (v_kernel_size // 2, 0), groups=channels,
                                 norm_cfg=None, act_cfg=None)
        self.conv2 = ConvModule(channels, channels, 1, 1, 0,
                                norm_cfg=norm_cfg, act_cfg=act_cfg)
        self.act = nn.Sigmoid()

    def forward(self, x):
        attn_factor = self.act(self.conv2(self.v_conv(self.h_conv(self.conv1(self.avg_pool(x))))))
        return attn_factor

4.4 实现细节

5 实验

5.1 实验设置

数据集。我们在四个流行的遥感目标检测数据集上进行了广泛的实验:

  • DOTA-v1.0 是一个大规模的遥感检测数据集,包含 2806 张图片,188,282 个实例,和 15 个类别,具有多种方向和尺度。该数据集分别由 1411 张训练图像,458 张验证图像,和 937 张测试图像组成。
  • DOTA-v1.5 是基于 DOTA-v1.0 的更具挑战性的数据集,为 DOAI Challenge 2019 发布。此版本新增了一个名为 Container Crane (CC) 的类别,并显著增加了小于 10 像素的微小实例,总共包含 403,318 个实例。
  • HRSC2016 是一个用于船舶检测的遥感数据集,包含 1061 张航拍图像,图像尺寸从 300 × 300 到 1500 × 900 不等。数据集被分为 436/181/444 张训练、验证和测试图像。
  • DIOR-R 基于 DIOR [30] 遥感数据集提供 OBB 标注。该数据集包含 23,463 张 800 × 800 大小的图像,共 192,518 个标注实例。

训练。我们的训练过程包括 ImageNet [9] 预训练和遥感目标检测器训练。

对于 ImageNet 预训练,我们的 PKINet 在 ImageNet-1K 数据集上通过 MMPretrain 工具箱进行训练。为了提高性能,我们与先前的工作一样,将其训练 300 个 epoch。在预训练过程中,我们使用 AdamW 优化器,动量为 0.9,权重衰减为 0.05。学习率采用余弦调度 [45] 和预热策略进行调整。我们使用 8 块 GPU,批量大小为 1024。

对于遥感目标检测器的训练,实验基于 MMRotate 框架进行。为了与其他方法进行比较,我们使用这些基准的 trainval 数据集进行训练,并用其测试集进行测试。根据先前方法的设置,我们将原始图像裁剪为 1024 × 1024 的图块,且 DOTA-v1.0 和 DOTA-v1.5 数据集图块之间有 200 的重叠。对于 HRSC2016 和 DIOR-R 数据集,输入图像尺寸为 800 × 800。模型分别在 DOTA-v1.0、DOTA-v1.5、HRSC2016 和 DIOR-R 上训练 30 个 epoch、30 个 epoch、60 个 epoch 和 36 个 epoch。我们采用 AdamW 优化器,权重衰减为 0.05,初始学习率设为 0.0002。所有的浮点运算量(flops)是在输入图像大小为 1024 × 1024 时计算的。为了防止过拟合,训练时图像进行了随机调整大小和翻转,参考了先前的方法。对于 HRSC2016 和 DIOR-R 数据集,我们报告了五次运行的平均 mAP。

测试。测试阶段的图像分辨率与训练阶段保持一致。为了公平起见,我们不进行任何测试时的数据增强。

评估指标。我们报告了平均精度均值(mAP)和 0.5 阈值下的平均精度(AP50)。

可复现性。我们的算法基于 PyTorch 实现。我们使用 8 块 NVIDIA RTX 4090 GPU 进行 ImageNet 预训练,使用 4 块 NVIDIA Tesla V100 GPU 进行下游任务的训练和测试。

5.2 定量结果

在 DOTA-v1.0 上的表现

首先,我们在 DOTA-v1.0 数据集上与集成在 Oriented RCNN 框架中的 ResNet 进行了比较,如表 3 所示。PKINet-T 以仅 36.7% 的参数量和 59.6% 的计算量超越了 ResNet-18,提升了 3.67%。PKINet-S 也表现出色,仅用 58.8% 的参数和 81.53% 的计算量提升了 2.52%。 当我们的 PKINet 主干与表 2 中显示的多种检测架构配合时,始终优于 ResNet-50 及更多专为遥感检测任务设计的网络(如 ARC [50] 和 LSKNet [32])。

  • 对于一阶段架构,我们的主干分别在 Rotated FCOS 、R3Det 和 S2ANet 上带来了 2.41%/6.19%/3.71% 的 mAP 提升。即使与经典的 S2ANet 集成,我们的方法也超越了之前的方法,达到了 77.83% 的性能。
  • 对于二阶段架构,PKINet 也取得了显著的提升(3.12%/3.28%/2.23%)。
  • 与先进的 Oriented RCNN 配合时,性能达到了 78.39%,在小类别上与之前的最佳方法 LSKNet 相比有显著提升(SV/LV 分别为 5.3%/5.76%)。对于需要更多上下文信息的 RA 类别,PKINet 相较于 LSKNet 也提升了 6.46%。

在 DOTA-v1.5 上的表现

如表 4 所示,我们的方法在更具挑战性且含有微小实例的数据集 DOTA-v1.5 上表现优异,证明了其对小物体的有效性和泛化能力。我们的 PKINet 超越了以前的最先进方法,提升了 1.21%。

在 HRSC2016 上的表现

我们的 PKINet-S 在 HRSC2016 数据集上超越了 12 种领先方法,并且参数更少,如表 5 所示。与 LSKNet 的小幅优势主要源于 HRSC2016 将 31 个子类合并为单一的“船舶”类别进行训练和测试。该协议并未充分展示我们方法在处理类间物体大小变化方面的优势。

在 DIOR-R 上的表现

我们展示了在 DIOR-R 上的比较结果,如表 6 所示。我们取得了 67.03% 的最佳性能。

在 COCO 2017 上的表现

为了评估 PKINet 作为通用框架在适应各种形式的边界框方面的多样性,我们在广泛使用的通用检测基准 COCO 上评估了我们的方法。如表 7 所示,PKINet 在具有相似参数的多个著名主干中表现优于其他方法,进一步确认了我们的方法作为不局限于遥感图像的通用主干的有效性。

5.3 定性结果

图 3 展示了在 DOTA 上的代表性视觉结果。可以看到,与仅依赖大卷积核的前最佳方法 LSKNet 相比,我们的 PKINet 展现了强大的适应能力,能够应对场景中目标物体的显著尺寸变化,确保能够检测到较大的物体(如 PL、TC、ST 和 BD),同时保持对较小物体(如 SV 和 LV)的关注。

5.4 诊断实验

为了深入了解 PKINet,我们在 DOTA-v1.0 上进行了系列消融实验,使用 Oriented RCNN 作为检测器。本文提到的所有主干网络均在 ImageNet-1K 上训练 100 个周期,以提高效率。

多尺度卷积核设计

首先,研究 PKINet 中关键的多尺度卷积核设计(参见 §3.2),如表 8a 所示。结果表明,仅使用小的 3 × 3 卷积核的性能较差,原因在于提取的纹理信息有限。随后采用了一种多尺度卷积核结构,卷积核大小范围从 3 × 3 到 11 × 11,步幅为 2。在此设置下,模型显示出最佳性能。接着测试了在卷积核大小增大时步幅为 4 的情况,其性能未达到最佳。进一步的实验仅使用大卷积核,导致计算量增加但性能下降,分别下降了 0.49% 和 0.84%,表明大卷积核可能引入背景噪声并导致性能下降(参见 §1)。

然后,我们研究了多尺度卷积核设计中的卷积核数量,详细信息见 §3.2。表 8b 显示,只有两个卷积核(仅保留 3×3 和 5×5 卷积核)时,网络无法捕捉长距离像素关系。随着卷积核数量的增加,网络性能提高,五个卷积核时达到最佳效果。

卷积核膨胀

接下来,我们考察了 PKI 模块中膨胀的效果(参见 §3.2)。如表 8d 所示,尽管感受野增大,但与未使用膨胀的情况相比,性能下降了 1.09%。随着膨胀程度的进一步增加,性能进一步下降。这证明了仅仅应用膨胀来扩展感受野并不奏效。

上下文锚定注意力

接下来,验证了 CAA 模块的有效性(参见 §3.3)。首先,应用不同卷积核大小的 CAA 来检查其影响,如表 8f 所示。第一列中的三个卷积核大小代表平均池化和两个条形卷积的大小。可以看到,较小的卷积核无法捕捉长距离依赖,导致性能下降,而较大的卷积核通过包含更多上下文来改善这一点。我们扩展的卷积核大小策略在块深度增加时增大条形卷积的卷积核大小,实现了最佳性能。之后,由于 PKINet 有四个阶段,研究了实施位置如何影响最终性能。如表 8c 所示,在任何阶段实施 CAA 模块都能带来性能提升。因此,当在所有阶段部署 CAA 模块时,性能提升达 1.03%。

跨阶段部分结构

表 8e 进一步探讨了跨阶段部分(CSP)结构的影响。消除 CSP 导致参数和计算成本指数级增加(分别增加 211% 和 159%)。通过将每个阶段的块数量从 (4, 12, 20, 4) 减少到 (2, 2, 4, 2),没有 CSP 结构的模型可以达到与之前相似的参数量。然而,由于阶段块数量的减少,性能未能达到最佳。

5.5 分析

6 结论

在本文中,我们提出了用于遥感目标检测的多卷积核Inception网络(PKINet),旨在应对遥感图像中物体尺度和上下文多样性带来的挑战。

PKINet 采用多种尺寸的并行深度卷积核,以有效捕捉不同尺度的密集纹理特征。同时,引入了上下文锚定注意力机制,以进一步捕获长距离的上下文信息。我们通过实验证明,PKINet 在四个著名的遥感基准数据集上达到了最先进的性能。

参考资料

[1]

文章链接: https://arxiv.org/abs/2403.06258

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 摘要
  • 2 引言
  • 3 相关工作
  • 4. 方法
    • 4.1 PKI Stage
    • 4.2 PKI Module
    • 4.3 上下文锚点注意力 (CAA)
    • 4.4 实现细节
  • 5 实验
    • 5.1 实验设置
    • 5.2 定量结果
    • 5.3 定性结果
    • 5.4 诊断实验
    • 5.5 分析
  • 6 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档