论文阅读之旋转目标检测ARC:《Adaptive Rotated Convolution for Rotated Object Detection》

news2024/10/7 16:16:09

论文link:link
code:code
ARC是一个改进的backbone,相比于ResNet,最后的几层有一些改变。

Introduction

  ARC自适应地旋转以调整每个输入的条件参数,其中旋转角度由路由函数以数据相关的方式预测。此外,还采用了一种有效的条件计算技术,使检测器具有更大的适应性来处理图像中具有各种方向的物体。所提出的 ARC 模块可以方便地用作任意核大小的卷积层中的即插即用模块。因此,任何具有卷积层的骨干网络都可以通过使用 ARC 模块享受强大的旋转物体表示能力。

1.摘要

  旋转物体检测旨在识别和定位图像中任意方向的物体。在这种情况下,物体的方向在不同图像中差异很大,而一幅图像中存在多个物体方向。这种固有特性使得标准主干网络很难提取这些任意方向物体的高质量特征。在本文中,我们提出了自适应旋转卷积 (ARC)模块来应对上述挑战。在我们的ARC模块中,卷积核自适应地旋转以提取不同图像中方向不同的物体特征,并引入了一种高效的条件计算机制来适应图像中物体的大方向变化。这两种设计在旋转物体检测问题中无缝协作。此外,ARC可以方便地用作各种视觉主干中的即插即用模块,以增强其表征能力,从而准确检测方向物体。在常用基准(DOTA和 HRSC2016)上进行的实验表明,在主干网络中配备我们提出的 ARC 模块后,多个流行的定向物体检测器的性能得到了显著提升(例如,在 Rotated RetinaNet 上 =mAP 提高了3.03%,在CFA上 mAP 提高了 4.16%)。与极具竞争力的 Oriented R-CNN 方法相结合,所提出的方法在 DOTA数据集上实现了81.77% mAP 的最佳性能。

2.模型结构图

在这里插入图片描述

3.方法

3.1 旋转卷积核

  为了弥合任意方向的物体实例和这些静态方向的卷积核之间的差距,我们建议通过以数据驱动的方式在核空间内采样权重来旋转卷积核。

3.2 路由函数

  路由函数将图像特征x作为输入,并为内核集预测一组旋转角度 [ θ 1 , . . . θ n ] [{\theta _1},...{\theta _n}] [θ1,...θn],以及相应的权重 [ λ 1 , . . . . . λ n ] [{\lambda _1},.....{\lambda _n}] [λ1,.....λn] ,输入函数特征x的大小为 [ C i n , H , W ] [{C_{in}},H,W] [Cin,H,W] ,首先输入到内核大小为 3×3 的轻量级深度卷积中,然后进行层归一化和 ReLU 激活。然后将激活的特征平均池化为具有 C i n C_{in} Cin 维度的特征向量。池化特征向量传递到两个不同的分支。第一个分支是旋转角度预测分支,由线性层和软符号激活组成。将这个线性层的偏差设置为 false,以避免学习有偏差的角度。采用软符号激活来降低饱和速度。此外,软符号层的输出乘以一个系数以扩大旋转范围。第二个分支称为组合权重预测分支,负责预测组合权重 λ。它由带偏差的线性层和 S 型激活构成。路由函数由零均值截断正态分布初始化,标准差为 0.2,以便模块在学习过程开始时产生较小的值。

3.3 自适应旋转卷积模块

  卷积核根据不同的输入特征图自适应地旋转,本文引入一种条件计算机制来处理多个方向的对象: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]

4.结果

在这里插入图片描述
在这里插入图片描述

5.结论

  本文提出了一种用于旋转物体检测的自适应旋转卷积模块。在所提出的方法中,卷积核根据图像中不同的物体方向自适应地旋转。进一步引入了一种高效的条件计算方法,使网络能够更灵活地捕获图像中多个方向物体的方向信息。所提出的模块可以插入任何具有卷积层的骨干网络。实验结果证明,在骨干网络中配备所提出的模块后,各种方向物体检测器在常用的旋转物体检测基准上的性能显著提高,同时保持了效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1879316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity】Timeline的倒播和修改速度(无需协程)

unity timeline倒播 一、核心: 通过playableDirector.playableGraph.GetRootPlayable(i).SetSpeed(speed)接口,设置PlayableDirector的速度。 二、playableGraph报空 若playableDirector不勾选Play On Awake,则默认没有PlayableGraph&…

Redis基础教程(三):redis命令

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

oj E : 投资项目的方案

Description 有n种基础的投资项目,每一种的单位收益率为profitn,存在m种投资组合,限制每一种的投资总额不能超过invest_summ 每种投资组合中项目所需的单位投入是不同的,为costmn 求:使得收益率之和最高的每种项目投…

Meven

目录 1.简介2.Maven项目目录结构2.1 约定目录结构的意义2.2 约定大于配置 3. POM.XML介绍3.2 依赖引用3.3 属性管理 4 Maven生命周期4.1 经常遇到的生命周期4.1 全部生命周期 5.依赖范围(Scope)6. 依赖传递6.1 依赖冲突6.2 解决依赖冲突6.2.1 最近依赖者…

1、线性回归模型

1、主要解决问题类型 1.1 预测分析(Prediction) 线性回归可以用来预测一个变量(通常称为因变量或响应变量)的值,基于一个或多个输入变量(自变量或预测变量)。例如,根据房屋的面积、位置等因素预测房价。 1.2 异常检测(Outlier Detection) 线性回归可以帮助识别数…

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定…

量产工具一一显示系统(一)

目录 前言 一、项目介绍和应用 1.简单易用 2.软件可配置、易扩展 3.纯 C 语言编程 4.类似界面应用 二、项目总体框架 三、显示系统 1.显示系统数据结构抽象 (1)common.h (2)disp_manager.h 2.Framebuffer编程 &#x…

Conformal Prediction

1 A Gentle Introduction to Conformal Prediction and Distribution-Free Uncertainty Quantification 2 Language Models with Conformal Factuality Guarantees

《数据结构与算法基础 by王卓老师》学习笔记——类C语言有关操作补充

1.元素类型说明 2.数组定义 3.C语言的内存动态分配 4..C中的参数传递 5.传值方式 6.传地址方式 例子

grpc学习golang版( 一、基本概念与安装 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、基本介绍1.1 什么是rpc1.2 什么是grpc1.3 grpc的作用1.4 grp…

Django之邮箱注册

目录 一、邮箱验证-环境搭建 1.1、注册流程 1.2、环境搭建 二、封装工具类 三、发送邮件接口开发 四、用户调用发送邮件接口 4.1、Fetch API 4.1.1、GET请求 4.1.2、POST请求 五、完成注册功能 一、邮箱验证-环境搭建 1.1、注册流程 1.2、环境搭建 创建项目 django-a…

4 快速傅里叶变换(fast Fourier transform,FFT)

目录 基2FFT的基本原理,蝶形运算符 第L级旋转因子的计算公式 4点与8点鲽形图 确定输入x(n)的顺序 倒序算法 抽样算法 DFT与FFT运算次数公式 基2FFT的基本原理,蝶形运算符 第L级旋转因子的计算公式 4点与8点鲽形图 确定输入x(n)的顺序 倒序算法 1…

Java开发-实际工作经验和技巧-0003-容易被忽视的Git提交代码规范

Java开发-实际工作经验和技巧-0003-容易被忽视的Git提交代码规范 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998(纯纯技术文&…

C# Benchmark

创建控制台项目(或修改现有项目的Main方法代码),Nget导入Benchmark0.13.12,创建测试类: public class StringBenchMark{int[] numbers;public StringBenchMark() {numbers Enumerable.Range(1, 20000).ToArray();}[Be…

互联网算法备案 | 填报指南

一、填报入口 登陆互联网信息服务算法备案系统(以下简称备案系统)进行填报,网址为https://beian.cac.gov.cn。系统首页如图1所示。 图1备案系统首页(示意图) 二、填报流程 填报人员需首先注册并登陆备案系统&#x…

Hugging Face发布重量级版本:Transformer 4.4.2

Hugging Face 宣布发布Transformer 4.4.2,该版本为流行的机器学习库带来了许多新功能和增强功能。此版本引入了几个高级模型,支持新工具和检索增强生成 (RAG),提供 GGUF 微调,并整合了量化的 KV 缓存&#…

机械设计简单介绍

机械设计简单介绍 1 介绍1.1 概述1.2 机械机构设计基本步骤1.3 关键1.3.1 静力学1.3.2 动力学1.3.3 运动学1.3.4 刚度学 1.4 示例【机械臂】 2 资料2.1 知识体系2.2 博客类汇总2.3 免费CAD模型获取2.4 3D打印2.5 SolidWorks 3 具备能力3.1 熟练翻阅 机械设计手册3.2 知道 N 家常…

BeautifulSoup 类通过查找方法选取节点

BeautifulSoup 类提供了一些基于 HTML 或 XML 节点树选取节点的方法,其中比较主流 的两个方法是 find() 方法和 find_all() 方法。 find() 方法用于查找符合条件的第一个节点; find_all() 方法用于查找所有符合条件的节点,并以列表的…

代码随想录算法训练营第三十五天(dp)|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

509. 斐波那契数 题目链接:509. 斐波那契数 文档讲解:代码随想录 状态:so easy 思路:最简单的递归就不说了。使用动态规划的话,状态转移方程 dp[i] dp[i - 1] dp[i - 2] 题解: public int fib(int n) {…

miniconda 弹出黑窗

etc\conda\activate.d 和 envs 中不同环境中的 etc\conda\activated.d,只保留下图中的三个文件即可。