FCOSR论文阅读笔记
(一) Title
论文地址:https://arxiv.org/abs/2111.10780
项目地址:https://github.com/lzh420202/FCOSR
(二) Summary
研究背景:
现有的基于anchor-based方法的旋转框检测算法需要手动设置预设框,引入了额外的超参数和计算。基于anchor-free的方法通常具有复杂的体系结构,不容易部署。
本文方法:
本文提出了一个一阶段的带有角度旋转的检测框架FCOSR,一看就是基于FCOS架构,并且将二维高斯分布也引入进来了。这个工作主要关注的是在训练过程中的label assignment策略,包括:
- 采用ellipse center sampling方法来给旋转框(oriented bounding boxes)定义一个合适的采样区间
- 对于overlapping的目标区域,通过fuzzy sample assignment提供了一个更加合理的标签。
- 通过multi-level sampling模块解决了不充分采样的问题。
实验效果:
算法在DOTA1.0,DOTA1.5以及HRSC2016数据集上的map分别为79.27,75.41以及90.15。FCOSR在one-stage中优于其他的目标检测器。
将一个轻量网络转换成TensorRT格式,在Jetson Xavier NX上进行部署,在DOTAv1上10.68FPS,实现了73.93的mAP.
(三) Method
网络基于FCOS架构,直接预测中心点,长宽以及旋转角度。通过label assignment module定义特征图的输出,去掉了centerness分支。
3.1 网络输出
输出两个分支,分类分支是一个 C C C维的类别向量,回归分支包括一个5维的向量,这个5维向量的符号表示为 ( R e g x , R e g y , R e g w , R e g h , R e g θ ) (Reg_x,Reg_y,Reg_w,Reg_h,Reg_\theta) (Regx,Regy,Regw,Regh,Regθ),需要经过变换得到最终边界框 ( o f f s e t x , o f f s e t y , w , h , a n g l e ) (offset_x,offset_y,w,h,angle) (offsetx,offsety,w,h,angle),并且对边界框的要求是偏移量可以是负数,宽和高必须是正数,角度范围必须限制在0-90。将回归分支输出变换到最终边界框的计算公式为:
offset x y = Reg x y ⋅ k ⋅ s w h = ( Elu ( Reg w h ⋅ k ) + 1 ) ⋅ s θ = Mod ( Reg θ , π / 2 ) \begin{array}{l} \text { offset }_{x y}=\operatorname{Reg}_{x y} \cdot k \cdot s \\ w h=\left(\operatorname{Elu}\left(\operatorname{Reg}_{w h} \cdot k\right)+1\right) \cdot s \\ \theta=\operatorname{Mod}\left(\operatorname{Reg}_{\theta}, \pi / 2\right) \end{array} offset xy=Regxy⋅k⋅swh=(Elu(Regwh⋅k)+1)⋅sθ=Mod(Regθ,π/2)