论文阅读笔记:Adaptive Rotated Convolution for Rotated Object Detection

论文阅读笔记:Adaptive Rotated Convolution for Rotated Object Detection

  • [1 背景](#1 背景)
    • [1.1 问题](#1.1 问题)
    • [1.2 提出的方法](#1.2 提出的方法)
  • [2 创新点](#2 创新点)
  • [3 方法](#3 方法)
  • [4 模块](#4 模块)
    • [4.1 旋转卷积核](#4.1 旋转卷积核)
    • [4.2 路由函数](#4.2 路由函数)
    • [4.3 自适应旋转卷积模块](#4.3 自适应旋转卷积模块)
  • [5 效果](#5 效果)
    • [5.1 与SOTA方法对比](#5.1 与SOTA方法对比)
    • [5.2 消融实验](#5.2 消融实验)

论文:https://arxiv.org/pdf/2303.07820v2.pdf

代码:https://github.com/LeapLabTHU/ARC

1 背景

1.1 问题

近年来在旋转目标检测方面,各种旋转对象表示以及和这些表示对应的损失函数、旋转ROI提取、标签分配策略、网络的neck和head以及旋转RPN等方面都被提出并研究,但在设计合适的backbone方面也很少有人提及。

由于不同图像中的目标朝向不同,同一图像中的不同目标朝向也不同,在传统的视觉骨干设计中大多忽略了这两点,因此标准骨干模型的架构可能是次优的。

1.2 提出的方法

本文提出了一个简单而有效的自适应旋转卷积(ARC)模块来解决上面提到的问题。在该模块中,卷积核自适应的旋转以调整在每个输入条件下的参数,如图1所示,其中旋转角度由路由函数以数据依赖的方式进行预测。

此外,作者还采用了一种有效的条件计算技术,使检测器具有更强的适应性,以处理图像中不同方向的物体。具体来说,在应用卷积操作之前,将多个核单独旋转然后组合在一起。这种合并计算的过程相当于分别用不同的核进行卷积,然后对得到的结果进行求和,但计算量可以显著减少。

本文提出的ARC模块可以方便地在任意核大小的卷积层中作为即插即用的模块,因此任何具有卷积层的骨干网络都可以通过使用ARC模块来享受旋转物体的强大表示能力。

2 创新点

提出了即插即用的ARC模块。

3 方法

所提出的自适应旋转卷积模块ARC如图3所示。最终的卷积核 W ˜ \~{W} W˜ 由原始卷积参数 W W W 生成,由输入特征图 x x x 引导。核 W = [ W 1 , . . . , W n ] W=[W_1,...,W_n] W=[W1,...,Wn] 旋转 θ = [ θ 1 , ... θ n ] \theta=[\theta_1,...\theta_n] θ=[θ1,...θn] 度,再与权重 λ = [ λ 1 , ... λ n ] \lambda=[\lambda_1,...\lambda_n] λ=[λ1,...λn] 组合。 θ \theta θ 和 λ \lambda λ 由路由函数以数据依赖的方式进行预测。

与DCNv2的偏移和调制权重相似。

4 模块

4.1 旋转卷积核

标准卷积核作为大多数有向目标检测器的主干,使用一致的参数从所有图像样本中提取特征。在旋转目标检测器的场景中,这意味着目标实例使用了一个固定方向的静态卷积核,而与他们的旋转角度无关。为了弥补任意方向的目标实例与这些静态方向的卷积核之间的鸿沟,作者提出以数据驱动的方式,通过在核空间内采样权重来旋转卷积核。

首先,将卷积权重当做核空间的采样点(如图2(b))而不是独立的参数(如图2(a)),因此原始的卷积参数可以通过插值跨越一个核空间。在实际中,作者用双线性插值。卷积核旋转过程是从卷积核空间采样新的权重值的过程。将原始坐标饶中心点顺时针旋转 θ \theta θ 度得到样本坐标(如图2©)。通过在旋转坐标中从原始核空间采样值(如图2(d)),得到旋转卷积核(如图2(e))。注意,像图2中那样坐标顺时针旋转 θ \theta θ 度相当于使卷积核逆时针旋转 θ \theta θ度。

上述过程只对卷积核的一个通道进行了旋转,那么扩展到形状为 [ C o u t , C i n , k , k ] [C_{out},C_{in},k,k] [Cout,Cin,k,k] 的卷积层,只需要对所有 C i n C_{in} Cin 和 C o u t C_{out} Cout 通道使用相同的过程即可。

4.2 路由函数

路由函数是所提出的自适应卷积模块的关键组成部分之一,因为它以数据依赖的方式预测旋转角度和组合权重。路由函数以图像特征 x x x 为输入,预测一组旋转角度 [ θ 1 , ... θ n ] [\theta_1,...\theta_n] [θ1,...θn] 和相应的组合权重 [ λ 1 , ... λ n ] [\lambda_1,...\lambda_n] [λ1,...λn]。

路由函数的整体框架如图3©所示。输入图像特征 x x x 的大小为 [ C i n , H , W ] [C_{in},H,W] [Cin,H,W],首先输入一个 3 × 3 3×3 3×3 核大小的轻量级深度卷积,然后进行层归一化和ReLU激活。然后将激活的特征平均池化成具有 C i n C_{in} Cin 维度的特征向量。池化后的特征向量被传递到两个不同的分支中。第一个分支为旋转角度预测分支,有线性层和softsign激活函数组成。将这个线性层的偏置设置为False以避免学习有偏的角度。对softsign的输出乘上一个系数以扩大旋转的范围。第二个分支为组合去权重预测分支,负责预测组合权重 λ \lambda λ。由带偏置的线性层和sigmoid激活函数构成。

4.3 自适应旋转卷积模块

考虑到图像中的对象实例通常会面向多个方向,因此在ARC模块中引入了条件计算机制来判断多个方向的对象。ARC模块的 n 个卷积核 W 1 , W 2 , ... W N W_1,W_2,...W_N W1,W2,...WN,每个形状均为 [ C o u t , C i n , k , k ] [C_{out},C_{in},k,k] [Cout,Cin,k,k]。给定输入特征 x x x,路由函数 f f f 预测一组旋转角度 θ \theta θ 和 λ \lambda λ:

n 个核首选根据预测的旋转角度 θ = [ θ 1 , ... θ n ] \theta=[\theta_1,...\theta_n] θ=[θ1,...θn] 单独旋转:

其中 θ i \theta_i θi 表示 W i W_i Wi 的旋转角度, W i ′ W_i' Wi′ 是旋转核, Rotate(·) 中的旋转过程如4.1。这些旋转后的核分别与输入特征图卷积,并以逐元素的方式将输入特征图相加:

其中 λ = [ λ 1 , ... λ n ] \lambda=[\lambda_1,...\lambda_n] λ=[λ1,...λn] 是路由函数预测的组合权重。 ∗ * ∗ 为卷积操作, y y y 是组合后输出的特征图。收到条件参数化的启发,式(3)可以写成:

该策略增加了网络对多方向特征的表征能力,并且大计算量的卷积仅在式(4)中出现了一次。,因此仍保持较高的效率。

5 效果

5.1 与SOTA方法对比

不同检测器使用ARC模块后的提升。

和SOTA方法对比。

多尺度训练和测试策略的指标。

使用ARC模块带来的计算量。

使用本模块带来的效果提升可视化。

5.2 消融实验

自适应旋转模块和条件计算机制带来的提升。

Resnet中不同阶段替换ARC模块的消融实验。

路由函数中各模块的消融实验。

相关推荐
星河梦瑾19 分钟前
【2025最新版】搭建个人博客教程
linux·经验分享·笔记·python·安全
IOT.FIVE.NO.142 分钟前
Linux学习笔记15 何为HDD,SSD?sata?PCIE?分区,MBR,GPT分区的理解
linux·笔记·学习
Evand J1 小时前
自适应卡尔曼滤波(包括EKF、UKF、CKF等)的创新思路——该调什么、不该调什么
开发语言·笔记·matlab·卡尔曼滤波·自适应滤波
憨憨2号1 小时前
RUST学习笔记
笔记·学习·rust
Genevieve_xiao2 小时前
【数模学习笔记】灰色关联分析
笔记·学习·数学建模
小嗷犬2 小时前
【论文笔记】VisionZip: Longer is Better but Not Necessary in Vision Language Models
论文阅读·人工智能·语言模型·大模型·多模态
gikod2 小时前
【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?
大数据·人工智能·笔记·架构
Genevieve_xiao2 小时前
【数模学习笔记】模糊综合评价
笔记·学习·数学建模
炸毛的飞鼠2 小时前
虚拟机Ubuntu以及pwn的工具安装
笔记·学习·ubuntu
悟空非空也3 小时前
178K⭐排名第一计算机面试笔记
笔记·面试·职场和发展