R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object

paper:https://arxiv.org/abs/1908.05612
code: https://github.com/Thinklab- SJTU/R3Det_Tensorflow
https://github.com/SJTU-Thinklab-Det/r3det-on-mmdetection

摘要

旋转目标检测难以定位多角度对象,对于具有大纵横比、密集分布和类别极不平衡的旋转对象仍然存在挑战。本文提出了一种端到端的精细化单级旋转检测器,通过使用从粗粒度到细粒度的渐进回归方法来快速准确地检测对象。
考虑到现有的单级检测器中特征未对准的缺点,设计了一个特征细化模块,通过获得更精确的特征来提高检测性能,通过逐像素特征插值将细化边界框的位置信息重新编码到相应特征点。
提出了一种近似SkewIoU损失,以解决SkewIoU的不可导问题

介绍

目标检测已经提出了许多高性能的通用目标检测器,通常分为:两阶目标检测器和单阶目标检测器。
然而一般的水平检测器对于许多场景有基本限制,例如:场景文本检测、零售场景检测和遥感对象检测,从而对象可以从各个方向出现。
具体而言,有三个挑战:

  1. 大纵横比,大宽高比对象之间的斜交大于并集
  2. 密集排列,许多对象通常以密集排列的形式出现
  3. 任意方向,图像中物体可能以各种方向出现,要求探测器具有精确的方向估计能力

本文采用改进的单阶旋转检测器
发现旋转检测器可以在密集场景中表现更好,而水平检测器可以以更少的数量实现更高的召回率。因此在改进的单阶检测器中采用了从粗到细的逐步回归形式,即在第一阶段使用水平锚以更快的速度和更高的召回率,然后在随后的细化阶段中使用旋转锚来适应密集场景。
现有的改进单阶检测器存在特征未对准问题,限制了改进阶段中分类和回归的可靠性,设计了一个特征细化模块FRM,使用特征插值来获得与细化锚对应的位置信息,并通过逐像素方法重构整个特征图以实现特征对齐。FRM还可以在第一阶段之后减少细化边界框的数量,加快模型的速度。
设计一个近似的SkewIoU损失来解决SkewIoU不可微分的问题,实现更精确的旋转估计。
具体而言做出一下贡献:

  1. 对于大纵横比目标检测,以精细化的方式设计了一种精确快速的旋转单阶检测器。与特征对齐中基于学习的方法相比,该方法缺乏补偿未对准的明确机制,本文提出了一种直接有效的基于纯计算的方法,进一步扩展处理旋转情况。
  2. 对于密集排列的对象,本文设计了一种有效的从粗到细的渐进回归方法,更灵活高效的计算两种形式的锚框。
  3. 对于任意旋转的对象,设计了可导的近似SkewIoU损失,以实现更精确的旋转估计。

相关工作

两阶目标检测器
单阶目标检测器
旋转目标检测器
主流使用的旋转目标检测器基本都是两阶的,但是其中使用了复杂的结构导致了速度瓶颈。
精细目标检测器
为了实现更好的检测精度,提出了许多级联或改进的检测器,与使用RoI Pooling和RoI Align进行特征对齐的两阶目标检测器不同。目前改进的单阶检测器在这方面没有很好地解决。改进的单阶检测器的一个重要要求是保持全卷积结构,可以保持速度优势,因此必须新的层。

方法


将细化阶段多次重复添加到网络以细化边界框,并在细化阶段添加特征细化模块FRM以重构特征图。

旋转RetinaNet

使用五个参数(x,y,w,h,θ)来表示任意定向矩形,其旋转边界框为:

每个框具有相同的中心点、高度和宽度,两个矩形组之间的角度差相同,但纵横比不同,但SkewIoU差异很大。平滑的L1 loss不适用于旋转检测,旋转检测的评估指标也由SkewIoU主导。
然而两个旋转框之间的SkewIoU是不可计算的,这意味着不能直接使用SkewIoU作为回归损失,因此提出了一个可推导的近似SkewIoU loss

其中N表示锚的数量,objn表示前景和背景,v表示预测和gt向量,t表示类别标签,超参数λ1、λ2控制权衡,默认设置为1,分类损失使用focal loss,|……|用于获得向量的模,f表示skewIoU相关的损失函数,IoU表示水平边界框IoU的计算函数。

精细旋转RetinaNet

细化检测
SkewIoU对角度变化敏感,轻微的角度偏移会导致IoU得分快速下降,预测框的细化能提高召回率,我们加入了不同IoU阈值的多个细化阶段,细化检测器的总loss为:

Li为第i阶段的loss

特征细化模块
许多细化检测器仍然使用相同的特征图来执行多个分类和回归,而不考虑边界框的位置变化引起的特征未对准

本文将当前细化边界框(橙色)的位置信息重新编码为相应的特征点(红点),从而以像素方式重建整个特征图,采用双线性插值方法:

基于上述结果,设计了一个特征细化模块:

通过双向卷积来添加特征图,再细化阶段仅保留每个特征点得分最高的边界框,以提高速度,边界框的过滤是特征重构的必要步骤,对于特征图的每个特征点,我们根据细化边界框的五个坐标获得特征图像上相应的特征向量,通过双线性插值获得更精确的特征向量,并替换当前特征,在遍历特征点之后重建整个特征图,最后将重构的特征图添加到原始特征图中:

Fi+1表示i+1阶段的特征图,Bi、Si分别表示第i阶段预测的边界框和置信分数
与RoIAlign比较

  1. RoI Align有更多的采样点,FRM只采样5个特征点,大约是RoI Align的1/40,提高速度
  2. RoI Align需要在分类和回归之前获得相对应的特征,相比之下FRM首先获得对应特征,然间特征图,可以保持全卷积结构,提高效率

实验

鲁棒的基线

  • RetinaNet-H:水平锚的优点是可以使用更少的锚,但是引入了大量的非对象区域,对于具有大纵横比的对象,其预测旋转边界框往往不准确
  • RetinaNet-R:旋转锚通过添加角度参数避免噪声区域的引入,在密集场景中具有更好的检测性能,然而锚的数量增加了6倍,从而使效率降低
  • R3det:采用从粗到细的逐步回归形式,在第一阶段使用水平锚来减少锚的数量,提高召回率,后续使用旋转锚

    Retina-H和Retina-R具有相似的map,但具有各自的特征

    水平方法在速度上具有优势,而旋转锚方法在密集对象场景和具有大纵横比的对象中具有更好的能力

    消融实验
    特征细化模块,FRM基于改进的锚重构特征图,整体性能提高了2.79%至66.31%
    在其他数据集中也性能更好

    与其他基于学习的方法相比,本文FRM更准确有效

    细化阶段数细化策略可以显著提高旋转检测的性能,实验表明三个或更多的改进不会对整体性能带来额外的盖上,集成多阶段结果,可以进一步提高检测性能

    近似SkewIoU loss使用两个不同的检测器和三个不同的SkewIoU函数来验证近似SkewIoU的有效性

结论

本文提出了一种端到端的精细单级探测器,用于旋转具有大纵横比、密集分布和任意方向的物体,这在实践中很常见,如航空、零售和场景文本图像。鉴于当前改进的单级检测器存在特征未对准的缺点,我们设计了一个特征细化模块来提高检测性能。
FRM的关键思想是通过逐像素特征插值将当前细化边界框的位置信息重新编码到相应的特征点,以实现特征重构和对齐。为了更精确的旋转估计,提出了一种近似的SkewIoU损失,以解决SkewIoU的计算不可推导的问题。我们对包括DOTA、HRSC2016、UCASAOD和ICDAR2015在内的多个旋转检测数据集进行了仔细的消融研究和对比实验,并证明了我们的方法以高效率实现了最先进的检测精度。

R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object相关推荐

  1. 目标检测--Accurate Single Stage Detector Using Recurrent Rolling Convolution

    Accurate Single Stage Detector Using Recurrent Rolling Convolution CVPR 2017 商汤科技关于目标检测的文献 Code: htt ...

  2. 【3D 目标检测】3DSSD: Point-based 3D Single Stage Object Detector

    一 核心思路 本篇通过观察point-based目标检测方法中,在PointNet++的上采样层(FP层)和refinement Module上面耗费了大量时间,因此作者借此提出了one-stage的 ...

  3. (CVPR 2020)3DSSD: Point-based 3D Single Stage Object Detector

    摘要 目前,基于体素的3D单级检测器已经有很多种,而基于点的单级检测器仍处于探索阶段.在本文中,我们首先提出了一种轻量级且有效的基于点的3D单级目标检测器,名为3DSSD,在精度和效率之间取得了很好的 ...

  4. 人脸检测--SSH: Single Stage Headless Face Detector

    SSH: Single Stage Headless Face Detector ICCV2017 https://github.com/mahyarnajibi/SSH 本文的人脸检测算法走的是又快 ...

  5. 论文翻译之Enriched Feature Guided Refinement Network for Object Detection

    摘要 我们提出了一个单阶段检测框架,该框架解决了多尺度目标检测和类不平衡的问题.我们没有设计更深层的网络,而是引入了一种简单而有效的特征丰富化方案来生成多尺度的上下文特征.我们进一步引入了一种级联的优 ...

  6. [转]SSD:Single Shot Detector详解

    Review: SSD - Single Shot Detector (Object Detection) This time, SSD (Single Shot Detector) is revie ...

  7. 【论文笔记】:Enriched Feature Guided Refinement Network for Object Detection

    &Title Enriched Feature Guided Refinement Network for Object Detection 代码 中文翻译 &Summary 提出了一 ...

  8. DSSD : Deconvolutional Single Shot Detector

    参考  DSSD : Deconvolutional Single Shot Detector - 云+社区 - 腾讯云 目录 一.简介 二.相关工作 三.反卷积的单阶段检测器DSSD 3.1.SSD ...

  9. DSSD : Deconvolutional Single Shot Detector论文阅读笔记

    文章目录 DSSD : Deconvolutional Single Shot Detector论文阅读笔记2017 Abstract 1. Introduction 2. Related Work ...

  10. DSSD: Deconvolutional Single Shot Detector

    转自:https://blog.csdn.net/yaoqi_isee/article/details/73277398 论文地址:DSSD : Deconvolutional Single Shot ...

最新文章

  1. python 中shape 1,n 与1的区别
  2. 解读:为何在今年的淘宝造物节上!AR直播火到如此程度?
  3. 结对开发团队成员以及题目介绍
  4. 上海黑马JAVA30期_2018年4月最新黑马Javaee第297期
  5. MiniGUI编程--编辑框
  6. mysql left join 右表数据不唯一的情况解决方法
  7. mapgis考试111
  8. JS计算两个数组的交集、差集、并集、补集(多种实现方式)
  9. Vue中变量前加...三个点什么意思
  10. GOODWELL写的绿色兵团的战友录
  11. windows powershell/cmd更改字体
  12. 哈勃望远镜研究员测试区块链的空间数据处理
  13. 虚拟现实房产展示系统提前预见未来装修效果
  14. 进来看新手该怎么选择自己的第一个平台——shopee、lazada、速卖通版
  15. 在mac上进行运行flutter项目
  16. 恒源云(GPUSHARE)_CV训练时容易忽视的数据标签问题
  17. 生成Solr增量索引配置xml
  18. JS如何根据今天的日期获取本周的周一和周日的日期
  19. 【SQL开发实战技巧】系列(三):SQL排序的那些事
  20. Keytool命令详解(好文章!详细设置一些参数比如过期时间等)

热门文章

  1. 真机调试错误 Reason: image not found想到的
  2. 前端_http协议_html语言headbody基本介绍和用法
  3. Aliyun ECS 配置
  4. linux sed -i 命令
  5. 什么是失血模型和充血模型?(DDD)
  6. Jira 和 国内替代品TAPD的对比
  7. linux 配置生效的命令,Linux如何让修改的配置生效?
  8. .gitignore文件不生效
  9. 【软件工程】机房文档--可行性研究报告
  10. webkit未能加载文件或程序集WebKitBrowser