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

论文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.mfbz.cn/a/760668.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PL理论深化】(13) 变量与环境:文法结构 | 真假表达式:isZero E | let 表达式叠放 | 定义的规则 | 条件语句的使用

💬 写在前面:从现在开始,让我们正式设计和实现编程语言。首先,让我们扩展在之前定义的整数表达式语言,以便可以使用变量和条件表达式。 目录 0x00 文法结构 0x01 真假表达式:isZero E 0x02 let 表达式叠…

Leetcode 78 数组子集

题目描述: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&#xff1…

Python-数据分析组合可视化实例图【附完整源码】

数据分析组合可视化实例图 开篇:应女朋友的要求,于是写下了这篇详细的数据可视化代码及完整注释 一:柱状图、折线图横向组合网格布局 本段代码使用了pyecharts库来创建一个包含多个图表(柱状图、折线图)和网格布局的…

服装分销的系统架构

背景 服装的分销规则:组织结构由总公司代理商专卖店构成。总公司全权负责销售业务,并决定给代理商的份额;代理商再给货到专卖店,整个组织机构呈现树状结构;上级机构对下级机构拥有控制权,主要控制其销售的服…

利用谷歌云serverless代码托管服务Cloud Functions构建Gemini Pro API

谷歌在2024年4月发布了全新一代的多模态模型Gemini 1.5 Pro,Gemini 1.5 Pro不仅能够生成创意文本和代码,还能理解、总结上传的图片、视频和音频内容,并且支持高达100万tokens的上下文。在多个基准测试中表现优异,性能超越了ChatGP…

MySQL高阶:事务和并发

事务和并发 1. 事务创建事务 2. 并发和锁定并发问题 3. 事务隔离等级3.1 读取未提交隔离级别3.2 读取已提交隔离级别3.3 重复读取隔离级别3.4 序列化隔离级别 4. 死锁 1. 事务 事务(trasaction)是完成一个完整事件的一系列SQL语句。这一组SQL语句是一条…

植物大战僵尸融合版2024最新版本登场,绝对能满足你的所有期待!

一开场,就让我们直切主题。各位玩家,是否已对《植物大战僵尸》中的传统植物和僵孠对决失去了新鲜感?是否渴望体验更具创意、更富挑战性的游戏玩法?那么,让我来告诉你,《植物大战僵尸融合版》1新版本的登场&…

AI论文速读 | 2024[KDD]ASeer基于异步时空图卷积网络的不规则交通时间序列预测

题目:Irregular Traffic Time Series Forecasting Based on Asynchronous Spatio-Temporal Graph Convolutional Network 作者:Weijia Zhang, Le Zhang, Jindong Han(韩金栋), Hao Liu(刘浩), Jingbo Zhou…

纯硬件FOC驱动BLDC

1. 硬件FOC 图 1 为采用 FOC 的方式控制 BLDC 电机的过程,经由 FOC 变换( Clark 与 Park 变换) ,将三相电流转换为空间平 行电流 ID 与空间垂直电流 IQ。经过 FOC 逆变化逆( Clark 变换与逆 Park 变换) ,将两相电流转换为三相电流用于控 制电…

容器:deque

以下是对于deque容器知识的整理 1、构造 2、赋值 3、大小操作 4、插入 5、删除 6、数据存取 7、排序 #include <iostream> #include <deque> #include <algorithm> using namespace std; /* deque容器&#xff1a;双端数组&#xff0c;可以对头端进行插入删…

网页用事件监听器播放声音

一、什么是监听器&#xff1a; 在前端页面中&#xff0c;事件监听器&#xff08;Event Listener&#xff09;是一种编程机制&#xff0c;它允许开发者指定当特定事件&#xff08;如用户点击按钮、鼠标悬停、页面加载完成等&#xff09;发生时执行特定的代码块。简而言之&#x…

clonezilla(再生龙)克隆物理机linux系统,然后再去另一台电脑安装

前言: 总共需要2个u盘,一个装再生龙系统,一个是使用再生龙把硬盘备份到另一个盘里面,恢复的时候,先使用再生龙引导,然后再插上盘进行复制 1.制作启动u盘 1.1下载再生龙Clonezilla 下載 1.2下载UltraISO(https://cn.ultraiso.net/uiso9_cn.exe) 1.3 打开UltraISO,选择co…

Vue 解决报错 VM6290:1 Uncaught SyntaxError: Unexpected identifier ‘Promise‘

Vue 报错 VM6290:1 Uncaught SyntaxError: Unexpected identifier ‘Promise’ 排查 控制台报了一个错误 , Uncaught SyntaxError: Unexpected identifier ‘Promise’&#xff0c;网上查到的方法是 缺少符号&#xff0c;语法写法错误&#xff0c;但这些都没有解决我的问题&am…

用Lobe Chat部署本地化, 搭建AI聊天机器人

Lobe Chat可以关联多个模型&#xff0c;可以调用外部OpenAI, gemini,通义千问等, 也可以关联内部本地大模型Ollama, 可以当作聊天对话框消息框来集成使用 安装方法参考&#xff1a; https://github.com/lobehub/lobe-chat https://lobehub.com/zh/docs/self-hosting/platform/…

RCE漏洞

RCE&#xff08;Remote code/command execution&#xff09;&#xff0c;远程代码执行和远程命令执行。在很多web应用开发的过程中&#xff0c;程序员可能在代码中编写一些能够运行字符串的函数&#xff0c;当用户可以控制输入内容时&#xff0c;这就导致了RCE漏洞。 1 远程代…

《昇思25天学习打卡营第4天|数据集 Dataset》

文章目录 前言&#xff1a;今日所学&#xff1a;1. 数据集加载2. 数据集迭代3. 数据集常用操作与自定义数据集 前言&#xff1a; 今天学习的是数据集的内容。首先&#xff0c;数据是深度学习的基石&#xff0c;高质量的数据输入能够在整个深度神经网络中发挥积极作用。MindSpo…

安全和加密常识(6)Base64编码方式

文章目录 什么是 Base64编码原理编解码示例应用什么是 Base64 Base64 是一种用于将二进制数据编码为仅包含64种ASCII字符的文本格式的编码方法,注意,它不是加密算法。它设计的目的主要是使二进制数据能够通过只支持文本的传输层(如电子邮件)进行传输。Base64常用于在需要处…

STM32 SWD烧写

最小电路 stm32f103x 内部已经集成了振荡电路&#xff0c;可以省略&#xff1b;rst引脚电路&#xff0c;可以省略&#xff0c;boot0,boot1不需要设置 正常烧录 -------------------------------------------------------------------STM32CubeProgrammer v2.9.0 …

C++旋转点坐标计算

/// 获取A点绕B点旋转P度后的新坐标/// </summary>/// <param name"Angle">角度</param>/// <param name"CirPoint">圆心坐标</param>/// <param name"MovePoint">移动点的坐标</param>/// <param…

window搭建git环境

1.下载安装window下git专用软件scm 从Git for Windows 官网网站下载&#xff0c;并且一路安装即可 安装成功后通过桌面快捷图标Git Bash点击打开 安装后软件应该会自动帮助配置环境变量&#xff0c;如果没有需要自己配置使用 2.git环境配置 2.1设置姓名和邮箱(github上你注…