Learning RoI Transformer for Detecting Oriented Objects in Aerial Images

Learning RoI Transformer for Detecting Oriented Objects in Aerial Images

参考
Introduction
  • 对于任意方向目标的检测,HRoI已经不能满足要求,因此出现了RRoI,此前的RRoI是通过多增加不同角度的anchor来实现不同方向的目标检测,但是这种方式会因为anchor的增加而产生大量的计算量。
  • RoI Transformer 是一个三阶段检测模型,主要由RRoI Leaner(学习从HRoI到RRoI的转换)和RRoI Wraping(从RRoI中提取旋转不变的特征,用于后续的分类和回归子任务。)两部分组成,核心思想是把RPN输出的水平锚框HRoI转换为旋转锚框RRoI。此策略无需增加锚点的数量且可以获得精确的RRoI。
  • 为了进一步提高效率,作者为所有的RoI-wise operations采用了light head structure。roi-wise operation一直是二阶检测器的效率瓶颈,因为它们之间的计算不共享。Light-head R-CNN提出使用分离卷积来获得thin feature以解决这个问题,它还使用PS RoI Align来进一步削减特征图的通道数,本文方法的baseline就是Light-head R-CNN。
RoI Transformer
  • image-20210801152851075
    • RoI Transformer检测模型结构如图所示,主要由RRoI Leaner和RRoI Wraping两部分组成。对于RPN生成的每个水平锚框HRoI,都会作为输入传递给RRoI Leaner, RRoI Leaner结构是由PS RoI Align(PS RoI Align减少特征图的维数,将单个全连接层合并到10个通道,显著提高了计算速度)、尺寸为5的全连接层(在全连接层使Rotated Ground Truths(RGTs)相对于HRoI的偏移量回归)以及解码器(解码器将HRoI和偏移量作为输入并输出解码后的RRoI)构成。将特征图和解码后的RRoI传入RRoI Wrapping进行深度特征提取。最后,利用RRoI Transformer输出的特征进行分类和回归。
RRoI Learner
  • RRoI Leaner主要负责从水平特征图HRoIs中学习RRoIs。假设我们得到了n个由(x,y,w,h)表示的HRoI,x,y表示HRoI中心点的位置,w表示宽度,h表示高度。理想情况下每个HRoI都是RRoI的外接矩形。利用全连接层从每个HRoI推测RRoI的几何形状。对于一般情况下RRoI的偏移量回归目标如下

    • image-20210801155547902
    • 上图中的标柱参考系是指文中原图的x1oy1,即使用预测框的坐标系,我特地推了一下上述公式中的offset: t x ∗ t_x^* tx t y ∗ t_y^* ty,如下所示
    • 我们对中心点画直角三角形,得到 x ∗ − x r x^*-x_r xxr y ∗ − y r y^*-y_r yyr两组参数,那么由基础几何得到, ( x ∗ − x r ) cos ⁡ θ r (x^*-x_r)\cos{\theta_r} (xxr)cosθr ( y ∗ − y r ) sin ⁡ θ r (y^*-y_r)\sin{\theta_r} (yyr)sinθr以及 ( y ∗ − y r ) cos ⁡ θ r (y^*-y_r)\cos{\theta_r} (yyr)cosθr ( x ∗ − x r ) sin ⁡ θ r (x^*-x_r)\sin{\theta_r} (xxr)sinθr的几何表示如上面右下角的图表示。可以看到上面的公式不过是用预测框的斜着的坐标系算以gt框为基准的坐标系的$\delta x 和 和 \delta y 的 大 小 , 而 公 式 中 的 的大小,而公式中的 t*_w$和$th 以 及 以及 t^_\theta$的值就是两者的比值再取对数(角度不取)
  • 再回到模型的结构中来,作者使用FC-5实现这个效果,G代表全链接层,F代表HRoI的feature map, θ \theta θ 代表G的权重参数。

    • t = G ( F ; Θ ) ( 2 ) t = G(F; Θ) \qquad (2) t=G(F;Θ)(2)

    • 也就是说模型训练时,将输入的HRoI和OBB(GroundTruth)进行匹配。匹配后通过等式(1)得到 t ∗ t^* t ,然后从中解码出RRoI的参数。使用Smooth L1 loss作为回归损失进行梯度下降。

RRoI Warping
  • RRoI Warping通过RRoI的参数提取旋转不变的深度特征(其实就是用Rotated Position Sensitive RoI pooling实现旋转版的池化)。

  • 通过RPS RoI pooling将输入的大小为HxWxC的RRoI的Feature map分成KxKxC的feature map(由双线性插值实现)

    • y c ( i , j ) = ∑ ( x , y ) ∈ b i n ( i , j ) D i , j , c ( T θ ( x , y ) ) / n i j ( 3 ) y_c(i,j) = \sum_{(x,y) \in bin(i,j)} D_{i,j,c}(T_\theta (x,y))/n_{ij} \qquad (3) yc(i,j)=(x,y)bin(i,j)Di,j,c(Tθ(x,y))/nij(3)

      • D是输入的feature map(RRoI),
      • y y y是输出的feature map,
      • bin 是池化的一小块,其中 ( i , j ) ∈ ( 0 , K ) (i, j) \in (0,K) (i,j)(0,K) ,
      • c是输出channel, c ∈ ( 0 , C ) c \in (0,C) c(0,C)
      • n i j n_{ij} nij是每一块bin的样本参数量
    • T θ T_\theta Tθ的转换的式子为:

      • ( x ′ y ′ ) = ( cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ) ( x − ω r 2 y − h r 2 ) + ( x y ) \left( \begin{array}{cc} x^{'} \\ y^{'} \end{array} \right) = \left( \begin{array}{cc} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{array} \right)\left( \begin{array}{cc} \frac{x-\omega_r}{2} \\ \frac{y-h_r}{2} \end{array} \right)+\left( \begin{array}{cc} x \\ y \end{array} \right) (xy)=(cosθsinθsinθcosθ)(2xωr2yhr)+(xy)
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用\[1\]:我们提出了一种受监督的旋转 RoI 学习器,这是一个可以将水平 RoI 转换为 RRoI 的可学习模块。这种设计不仅可以有效地减轻 RoI 和物体之间的错位,还可以避免为有向物体检测设计的大量 RRoI。\[1\]引用\[2\]:我们的提出的 ROI Transformer 包含一个可训练的全连接层 RRoI Learner 和一个 RRoI 变形层,用于从估计的水平 RoI 中学习旋转的 RoI,并将特征图扭曲以保持深度特征的旋转不变性。这两个层都是可微的,适用于端到端的训练。\[2\]引用\[3\]:适当扩大 RoI 可以提升性能。水平 RoI 可能包含大量背景,而精确的 RRoI 几乎不包含冗余背景。完全放弃上下文信息将使得甚至人类分类和定位实例变得困难。因此,需要以适当的程度扩大特征的区域。\[3\] 问题: for r in ROIS是什么意思? 回答: for r in ROIS是一个循环语句,其中r代表ROIS中的每个元素。这个语句的意思是对ROIS中的每个元素执行相应的操作。 #### 引用[.reference_title] - *1* *2* *3* [Learning RoI Transformer for Detecting Oriented Objects in Aerial Images](https://blog.csdn.net/chengyq116/article/details/95934541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子奶糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值