RoI-transformer
- CV
- 2021-06-15
- 71热度
- 0评论
Learning RoI Transformer for Oriented Object Detection in Aerial Images
Introduction
由于遥感检测目标的任意性,有许多检测器会在设置anchor的时候加入旋转角的anchor,虽然这在一定程度上能够提升召回率,但是精度会下降除此之外还会增加计算成本。
而如果RPN单纯去预测水平候选区域的边界框,那么可能一个候选区域内会有多个物体的情况发生,这对于后续的预测是十分不利的。

所以需要提取到旋转不变性的特征来消除上述问题所带来的影响。
(注意,所谓平移不变性,当anchor在图片的一个位置检测到该目标,那么可以在图片的其他位置检测到同样的目标,旋转不变性也可以依次类推,就算旋转了一个角度但是仍能检测出该目标)
为了能够检测到任意方向分布的密集目标,该论文最终做出了如下的工作:
- 提出了一种supervised rotated RoI learner,这是一种可学习的模块,能够将Horizontal RoI 转换成Rotated RoI。
- 设计了一种Rotated Position Sensitive RoI Alignment模块用来进行空间不变的特征提取
RoI Transformer
提出了RoI Transformer 包含了两部分,RRoI Learner以及RRoI Warping。RRoI Learner就是一个PS RoI Align后面接了一个全连接层(C=5),是用来从HRoI基础上学习得到RRoI的。

RRoI Learner
从HRoI中学习得到RRoI,在理想的情况下,每个HRoI都属于RRoI的外部矩形,所以我们用一个全连接层来预测五个需要回归的目标。编码方式为
$$
t_x^∗=1/w_r ((x^∗−x_r ) cos(θ_r )+(y^∗−y_r ) sin(θ_r ) )
$$
$$
t_y^∗=1/hr ((y^∗−y_r ) cos(θ_r )−(x^∗−x_r ) sin(θ_r ) )
$$
$$
t_w^∗=log(w^∗/w_r ),t_h∗=log(h∗/hr )
$$
$$
t_θ^∗=1/2π ((θ^∗−θ_r ) mod 2π)
$$
其中,\((x_r,y_r,w_r,h_r,\theta_r)\)是回归出来的RROI的5个参数坐标,\((x^*,y^*,w^*,h^*,\theta^*)\)是gt的参数坐标,角度偏移是\([0,2\pi)]\)之内,事实上如果\(\theta^*=\frac{3\pi}{2}\)的话,上述编码方式就相当于是与HRoI进行的编码。
而该编码方式的推导过程如下:

涉及到坐标系的转换,黄色的框代表的是gt,蓝色的矩形代表预测的矩形;黑色坐标系代表全局坐标系,红色坐标系代表局部坐标系。右边红色坐标系的两个矩形是由左边两个矩形旋转获得的,两个矩形的相对位置始终是不变的。如果在全局坐标系下\((\Delta x_1,\Delta y_1)\),\((\Delta x_2,\Delta y_2)\)是不相同的,但是若放在局部坐标系下来看,两矩形的坐标之差始终是相同的。
在训练的过程中,将HRoIs和gt进行匹配,为了运行效率,与HRoI匹配的其实是gt的外接矩形,一旦匹配,我们就对其进行编码操作;在检测阶段将预测进行解码。
RRoI Warping
一旦我们有了RRoI的参数,我们就可以通过RRoI Warping提取出一个任意方向物体的旋转不变性的特征。
当我们给定第二阶段的张量的形状为\((H,W,K\times K\times C)\),而RRoI的参数为\((x_r,y_r,w_r,h_r,\theta_r)\)那么RRoI Warping的任务就是将其分成\(K\times K\)的小方块,可以得到如下表达式:
$$
y_c (i,j)=∑_{(x,y)∈bin(i,j)}D_{i,j,c} (T_θ (x,y))/n
$$
其中\(D_{i,j,c}\)为输出的特征图\((i,j)\)\((0\le i,j\le K)\)为bin的索引,\(c(0\le c \le C)\)为输出的特征图坐标,\(n\times n\)为每个\(bin\)内采样的点数,\(bin_{(i,j)}\)在坐标系中指代的坐标为:
$$
\{i\frac{w_r}{k}+(s_x+0.5)\frac{w_r}{k×n};s_x=0,1,…n−1\}×\{j\frac{hr}{k}+(s_y+0.5)\frac{hr}{k×n};s_y=0,1,…n−1\}
$$
对于每一个\((x,y)\in bin_{(i,j)}\)通过\(T_\theta\)转换成\((x',y')\)。
$$
\begin{pmatrix}x' ;\\ y' \end{pmatrix}= \begin{pmatrix}cos\theta & -sin\theta ;\\ sin\theta & cos\theta \end{pmatrix} \begin{pmatrix}x-w_r/2 ;\\ y-h_r/2 \end{pmatrix}+ \begin{pmatrix}x_r ;\\ y_r \end{pmatrix}
$$
RoI Transformer for Oriented Object Detection
上述两者结合之后,池化生成的特征图就具有旋转不变性,由于用于表示旋转框的为5个参数,所以我们需要做出如下规定,h为短的边,垂直于h并落在\([0,\pi]\)区间内的为RRoI的最终方向。
IoU Between Polygons
$$
IoU=\frac{area(B_r∩B_gt )}{area(B_r∪B_gt )}
$$
Targets Calculation
经过RRoI Warping之后,旋转不变性的特征就得到了,论文还额外加了一个2048维的全连接层在两个子全连接层之后,然后再接分类和回归的分支,回归分支为了前后的一致性,仍然使用相对偏移的编码方式。