ICCV 2021丨Oriented R-CNN:面向旋转目标检测的 R-CNN
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
本文转载自:中国图象图形学学会CSIG
Oriented R-CNN:有向目标检测
谢星星 , 程塨 , 王家宝 , 姚西文 , 韩军伟
西北工业大学自动化学院
ICCV 2021
撰稿人:谢星星
*通讯作者:程塨 (gcheng@nwpu.edu.cn)
推荐理事:林宙辰
原文标题:Oriented R-CNN for Object Detection
原文链接:https://arxiv.org/abs/2108.05699
原文代码链接: https://github.com/jbwang1997/OBBDetection
◆ ◆ ◆ ◆
摘要
当前先进的双阶段有向目标检测方法需要通过耗时的过程来产生有向候选框。这极大的制约了有向目标检测的速度,从而成为先进有向目标检测的计算瓶颈。本文提出了一种简单、有效的有向目标检测方法,称为Oriented R-CNN。Oriented R-CNN是一种通用的两阶段有向目标检测方法,它能够在保证高检测精度的同时兼顾检测效率。具体来说,在Oriented R-CNN的第一阶段,我们提出了一种有向候选框生成网络(Oriented RPN),它以低计算成本的方式生成高质量的有向候选框。Oriented R-CNN的第二阶段是有向目标检测头,它用于有向候选框的分类和精细回归。以ResNet50为骨干网络,Oriented R-CNN在两个常用的有向目标检测数据集DOTA (75.87% mAP)和HRSC2016(96.50% mAP)上均取得了最好的检测结果。同时,在输入图像大小为1024×1024时,Oriented R-CNN在单块RTX 2080Ti上能够达到每秒15.1帧的检测速度。我们希望Oriented R-CNN能够对后续有向目标检测方法的设计提供一些启发,并作为有向目标检测的新基准。
背景
目前先进的有向目标检测方法都是基于区域建议范式的(例如Fast/Faster R-CNN [1-2])。它们在第一阶段产生有向候选框,在第二阶段对候选框进行分类和回归。然而它们的有向候选框生成阶段仍然非常耗时。
作为早期的有向候选框生成方法,Rotated RPN[3]在特征图的每个位置上放置54个不同尺度、长宽比和角度的预设锚框Anchor,如图1(a)所示。Rotated RPN虽然提升了检测的召回率,但也增加了计算成本和内存占用。针对上述问题,RoI Transformer [4]使用水平候选框来生成有向候选框,如图1 (b)所示。RoI Transformer显著地提升了有向目标检测的准确率。然而它需要涉及多个步骤(水平候选框生成、RoI Alignments和有向候选框生成)。整个过程仍然非常耗时。所以,如何设计一种高效的有向候选框生成方法成为突破当前先进有向目标检测计算瓶颈的关键。
那么我们能否设计一个通用的、简单的有向候选框生成方法,用于直接生成高质量候选框?本文提出了一种有向目标检测方法,称为Oriented R-CNN。它的检测精度超越了现有的有向目标检测方法,并且具有和单阶段有向目标检测相媲美的速度。具体来说,我们在Oriented R-CNN的第一阶段设计了一种有向候选框生成网络Oriented RPN,如图1(c)。Oriented RPN是一个轻量的全卷积网络——在RPN回归分支上增加两个回归参数。同时,我们提出了中点偏移法来表示有向目标。中点偏移法使用6个参数表示有向目标,它与水平框回归配合使用,避免了训练时角点回归的顺序问题,同时也为有向框的回归提供约束。Oriented R-CNN的第二阶段主要对候选框进行分类和精细回归。最终,Oriented R-CNN在DOTA和HRSC2016数据集上均取得了最好的检测结果,同时拥有和单阶段有向目标检测可比拟的速度。
图 1.有向候选框生成方法对比。(a) Rotated RPN放置54个不同尺度、长宽比和角度的anchor。(b) RoI Transformer 使用水平候选框来生成有向候选框。它需要涉及水平候选框生成、RoI Alignment和有向候选框生成。 代表RoI Transformer在AerialDetection的发行版本(下同)。(c) Oriented RPN以低计算成本的方式直接生成高质量有向候选框。它的参数约为RoI Transformer 的1/3000, rotated RPN的1/15。
方法描述
Oriented R-CNN的整体框架如图2所示。它是一种两阶段的有向目标检测方法。首先通过Oriented RPN生成有向候选框,然后通过Rotated RoIAlign提取固定尺寸大小的特征,最后将提取的特征作为有向检测头的输入,执行分类和精细回归。Oriented R-CNN的核心在于Oriented RPN。
Oriented RPN 旨在产生高质量的有向候选框。它是在RPN网络上构建的。我们通过修改RPN回归分支的输出维度,就能将RPN用于有向候选框的生成。对于每个位置的Anchor,Oriented RPN输出 6个回归参数,我们使用其表示有向候选框。这种表示方法称为中点偏移法,如图3所示。其中 分别表示有向候选框外接矩形的中心坐标、宽和高。 代表有向候选框外接矩形顶边和右边中点的偏移。通过对 进行解码,我们可得到有向候选框顶点的坐标集合 。其中, 的坐标表示为 , 的坐标表示为 。根据平行四边形的对称性,我们可得到 和 的坐标分别为 和 。这样在原有水平候选框回归的基础上,我们只需回归水平候选框任意两条相邻边中点的偏移,就能实现有向候选框的生成。
根据 得到的有向候选框属于平行四边形。为了便于进行Rotated RoIAlign操作,我们将Oriented RPN生成的有向候选框调整为有向矩形框。通过对调整后的有向候选框进行Rotated RoIAlign操作,我们获得7×7×256大小的特征图,将其作为有向检测头的输入,执行分类和回归任务。有向检测头是在原有Fast R-CNN的基础上构建,通过增加角度回归参数实现。
图 2. Oriented R-CNN的整体框架
图 3.中点偏移表示法,橘色的点代表有向框的顶点,黑色的点代表外接矩形各条边的中点
实验结果
Oriented R-CNN在DOTA[5]和HRSC2016[6]两个数据集上进行了实验验证。图4给出了Oriented R-CNN在DOTA数据集上的部分检测结果。表1和表2分别给出了Oriented R-CNN与其它有向目标检测方法在DOTA数据集和HRSC2016数据集上的精度对比。表3给出了Oriented R-CNN和其它有向目标检测算法在DOTA数据集的速度对比。实验结表明,Oriented R-CNN是一种简单、有效的有向目标检测方法,它在获得最高精度的同时兼顾了检测效率。
图 4. Oriented R-CNN 在DOTA数据集上的部分检测结果
表 1.“Oriented R-CNN与其它有向目标检测算法在精度方面的结果对比(DOTA数据集)。‡代表多尺度训练多尺度测试”
表 2.“Oriented R-CNN与其它有向目标检测算法在精度方面的结果对比(HRSC2016数据集)”
表 3.Oriented R-CNN与其它有向目标检测算法在速度方面的结果对比(DOTA数据集)
参考文献
[1] Ross Girshick. Fast R-CNN. In Proceedings of the IEEE International Conference on Computer Vision, pages 1440-1448, 2015.
[2] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(6):1137-1149, 2016.
[3] Jianqi Ma, Weiyuan Shao, Hao Ye, Li Wang, Hong Wang, Yingbin Zheng, and Xiangyang Xue. Arbitrary-oriented scene text detection via rotation proposals. IEEE Transactions on Multimedia, 20(11):3111-3122, 2018.
[4] Jian Ding, Nan Xue, Yang Long, Gui-Song Xia, and Qikai Lu. Learning roi transformer for oriented object detection in aerial images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2849-2858, 2019.
[5] Gui-Song Xia, Xiang Bai, Jian Ding, Zhen Zhu, Serge Belongie, Jiebo Luo, Mihai Datcu, Marcello Pelillo, and Liangpei Zhang. DOTA: A large-scale dataset for object detection in aerial images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3974-3983, 2018.
[6] Zikun Liu, Hongzhen Wang, Lubin Weng, and Yiping Yang. Ship rotated bounding box space for ship extraction from high-resolution optical satellite images with complex backgrounds. IEEE Geoscience and Remote Sensing Letters, 13(8):1074-1078, 2016
Oriented R-CNN论文和代码下载
后台回复:OR,即可下载上述论文和代码
后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
CVer-目标检测交流群成立
扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
ICCV 2021丨Oriented R-CNN:面向旋转目标检测的 R-CNN相关推荐
- ICML 2021 | 上交华为提出GWD:旋转目标检测新方法
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:yangxue | 已授权转载(源:知乎) https://zhuanlan.zhihu.com/p ...
- CVPR 2022 | 浙大提出Oriented RepPoints:旋转目标检测网络
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 作者:小海马 | 已授权转载(源:知乎)编辑:CVer http ...
- GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021
论文详细描述了当前旋转目标检测的主要问题,提出将旋转回归目标定义为高斯分布,使用Wasserstein距离度量高斯分布间的距离用于训练.目前,常规目标检测也有很多将回归转化为概率分布函数的做法,本 ...
- AAAI 2021 | 用于旋转目标检测的动态锚框学习策略
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI科技评论 AI博士笔记系列推荐 周志华<机器学习& ...
- 基于深度学习的目标检测综述(单阶段、多阶段、FPN变体、旋转目标检测等)
随着深度学习的发展,基于深度学习的目标检测方法因其优异的性能已经得到广泛的使用.目前经典的目标检测方法主要包括单阶段(YOLO.SSD.RetinaNet,还有基于关键点的检测方法等)和多阶段方法(F ...
- 2021IAAA北京理工大学面向任意目标检测的动态锚点学习(DAL)
面向任意目标检测的动态锚点学习 摘要:面向任意的目标广泛地出现在自然场景.航空照片.遥感图像等中,因此面向任意的目标检测得到了广泛的关注.目前许多旋转探测器使用大量不同方向的锚点来实现与地面真实框的空 ...
- 干货 | 一文总结旋转目标检测全面综述:论文方法与代码
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|计算机视觉联盟 1.RRPN(两阶段文字检测 华科白翔组 ...
- 旋转目标检测 校准的深度特征用于目标检测SSA
目录 旋转目标检测rotation-yolov5 旋转目标检测综述 SSA旋转目标检测 旋转目标检测rotation-yolov5 旋转目标检测rotation-yolov5笔记_AI视觉网奇的博客- ...
- 42、使用mmrotate中k3det进行旋转目标检测,并进行mnn部署和ncnn部署
基本思想:仍然是身份证分割,因为上一个篇博客的效果不好,所以操刀改mm系列的框架,并进行ncnn和mnn的c++的部署开发 mmcv_full 1.6.1+mmrotate v0.3.2测试没有问题 ...
最新文章
- 51nod 1220 约数之和【莫比乌斯反演+杜教筛】
- pyinstaller 工具起步
- RxJava使用(一)基本使用
- 物联网管理软件的设计
- ocr oracle,Oracle RAC备份和恢复OCR-Oracle
- PostgreSQL的时间/日期函数使用
- VMware-构建下一代的服务器虚拟化平台
- JupyterNotebook设置并切换不同Python启动环境
- socket tcp java_用JAVA写一个SOCKET 接收TCP发来的消息
- Python中使用xpath获取select option的每一行的text和value
- H264 视频文件 帧格式
- win10下面安装MTK USB VCOM 驱动
- el-select和el-tree组成树下拉框以及数据回显
- MySQL5.7 配置优化
- 终面(hr)可能的问题及回答(Java岗--自用)
- APICloud介绍
- 编程初学者入门训练-KiKi和酸奶
- Spring boot整合Drools、flowable决策引擎解决方案
- 微信小程序动态倒计时
- 网站可行性报告范文_嵩县写可行性研究报告项目报告范文
热门文章
- CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4
- Duplicate method name “$$$getFont$$$“ with signature “(Ljava.lang.String;IILjava.awt.Font;)Ljava.awt
- 专题介绍是什么意思_【专题设计】含水层、潜水层、承压含水层都是什么意思?各种地下水资源介绍!满满的全是考点!...
- 浅谈缓存系统的三个问题
- 安装Ubuntu 16.04后要做的事
- “芯片”三国之ARM篇:乱世枭雄曹孟德
- nss版本 linux,在CentOS系统中VSCode无法启动原来是NSS版本过低
- RNN编码器-解码器
- 实战Perl脚本测试
- 一个完整的软件项目开发流程是怎样的呢