乐趣区

关于算法:RepPoints微软巧用变形卷积生成点集进行目标检测创意满满-ICCV-2019

RepPoints 的设计思维非常奇妙,应用富含语义信息的点集来示意指标,并且巧用可变形卷积来进行实现,整体网络设计非常齐备,值得学习

起源:晓飞的算法工程笔记 公众号

论文: RepPoints: Point Set Representation for Object Detection

  • 论文地址:https://arxiv.org/abs/1904.11490
  • 论文代码:https://github.com/microsoft/RepPoints

Introduction


  经典的 bounding box 尽管有利于计算,但没有思考指标的形态和姿势,而且从矩形区域失去的特色可能会受背景内容或其它的指标的重大影响,低质量的特色会进一步影响指标检测的性能。为了解决 bounding box 存在的问题,论文提出了 RepPoints 这种新型指标示意办法,可能进行更细粒度的定位能力以及更好的分类成果。

  如图 1 所示,RepPoints 是一个点集,可能自适应地突围指标并且蕴含部分区域的语义特色。RepPoints 的训练由指标定位和指标分类独特驱动,可能束缚 RepPoints 紧紧地突围指标以及疏导检测器正确地分类指标。这种自适应的示意办法是可微的,可能间断地用在检测器的多个阶段中,并且不须要额定设置的 anchor 来生成大量的初始框。

The RepPoints Representation


  如下面提到的,bounding box 只是粗粒度的指标地位示意办法,只思考了指标的矩形空间,没有思考形态、姿势以及语义丰盛的部分区域,而语义丰盛的部分区域可能帮忙网络更好的定位以及特征提取。为了解决上述的毛病,RepPoints 应用一组自适应的采样点示意指标:

  $n$ 为示意指标的采样点总数,论文默认设置为 9。

RepPoints refinement

  逐渐调整 bounding box 定位和特征提取是 multi-stage 检测器胜利的重要伎俩,对于 RepPoints,调整可简略地示意为:

  $\{(\Delta x_k, \Delta y_k)\}^{n}_{k=1}$ 为预测的新采样点绝对与旧采样点的偏移值,采样点调整的尺寸都是一样的,不会像 bouning box 那样须要解决中心点坐标和边框长度的尺寸不统一问题。

Converting RepPoints to bounding box

  为了利用 bounding box 的标注信息进行训练以及验证 RepPoint-based 检测算法的性能,应用预设的转化办法 $\mathcal{T}=\mathcal{R}_P\to \mathcal{B}_P$ 将 RepPoints 转化成伪预测框,共有三种转化办法:

  • $\mathcal{T}=\mathcal{T}_1$:Min-max function,对所有的 RepPoints 进行 min-max 操作来获取预测框 $\mathcal{B}_p$
  • $\mathcal{T}=\mathcal{T}_2$:Partial min-max function,对局部的 RepPoints 进行 min-max 操作获取预测框 $\mathcal{B}_p$
  • $\mathcal{T}=\mathcal{T}_3$:Moment-based function,通过 RepPoints 的均值和标准差计算中心点地位以及预测框尺寸失去预测框 $\mathcal{B}_p$,尺寸通过全局共享的可学习参数 $\lambda_x$ 和 $\lambda_y$ 相乘失去

  这些函数都是可微的,可退出检测器中进行 end-to-end 的训练。通过试验验证,这 3 个转化办法成果都不错。

RPDet: an Anchor Free Detector


  论文基于 RepPoints 设计了 anchor-free 指标检测算法 RPDet,蕴含两个辨认阶段。因为可变形卷积可采样多个不规则散布的点进行卷积输入,所以可变形卷积非常适宜 RepPoints 场景,可能依据辨认后果的反馈进行采样点的疏导。

Center point based initial object representation

  RPDet 将中心点作为初始的指标示意,而后逐渐调整出最终的 RepPoints,中心点也可认为是非凡的 RepPoints。当两个指标存在于特色图同一地位时,这种基于中心点的办法通常会呈现辨认指标歧义的问题。此前的办法在同一地位设置多个预设的 anchor 来解决此问题,而 RPDet 则利用 FPN 来解决此问题:

  • 不同大小的指标由不同 level 的特色负责辨认
  • 小物体对应 level 的特色图个别较大,缩小了同一物体存在同一地位的可能性

  论文统计发现,当应用上述 FPN 束缚后,COCO 数据集中仅 1.1.% 存在上述的问题。

Utilization of RepPoints

  如图 2 所示,RepPoints 是 RPDet 的根底指标示意办法,从中心点开始,第一组 RepPoints 通过回归中心点的偏移值取得。第二组 RepPoints 代表最终的指标地位,由第一组 RepPoints 优化调整失去。RepPoints 的学习次要由两个指标驱动:

  • 伪预测框和 GT 框的左上角点和右上角点的间隔损失
  • 后续的指标分类损失

  第一组 RepPoints 由间隔损失和分类损失疏导,第二组 RepPoints 仅应用间隔损失进行疏导,次要为了学习到更精准的指标定位。

Backbone and head architectures

  FPN 骨干网络蕴含 5 层特色金字塔 level,从 stage3(下采样 8 倍)到 stage7(下采样 128 倍)。Head 的构造如图 3,Head 在不同的 level 中是共享的,蕴含两个独立的子网,别离负责定位 (RepPoints 的生成) 和分类:

  • 定位子网首先应用 3 个 256-d $3\times 3$ 卷积提取特色,每个卷积都接 group normalization 层,而后间断接两个小网络计算两组 RepPoints 的偏移值。
  • 分类子网首先应用 3 个 256-d $3\times 3$ 卷积提取特色,每个卷积都接 group normalization 层,而后将定位子网输入的第一组 RepPoints 的偏移值输出到 256-d $3\times 3$ 可变形卷积中进一步提取特色,最初输入分类后果。

  只管 RPDet 采纳了两阶段定位,但其性能甚至比单阶段的 RetinaNet 要高,次要是 anchor-free 的设计使得分类层的计算缩小了,笼罩了额定的定位阶段带来的大量耗费。

Localization/class target assignment

  定位蕴含两个阶段,第一阶段从中心点失去第一组 RepPoints,第二阶段则从第一组 RepPoints 调整失去第二组 RepPoints,不同的阶段的正样本定义不同:

  • 对于第一阶段,特色点被认为是正样本需满足:1) 该特色点所在的特色金字塔 level 等于 $s(B)=\lfloor log_2 (\sqrt{W_Bh_B}/4)\rfloor$。2) 指标的中心点在特色图上映射地位对应该特色点。
  • 对于第二阶段,只有特色点对应的第一阶段产生的伪预测框与指标的 IoU 大于 0.5 才被认为是正样本。与以后的 anchor-based 办法有点相似,将第一阶段的输入当作 anchor。

  因为指标的分类只思考第一组 RepPoints,所以,特色点对应的第一组 RepPoints 产生的伪预测框于指标的 IoU 大于 0.5 即认为是正样本,小于 0.4 则认为是背景类,其它则疏忽。

Experiments


  比照不同的伪预测框生成办法的性能。

  与其它 SOTA 检测办法比照性能。

Conclusion


  RepPoints 的设计思维非常奇妙,应用富含语义信息的点集来示意指标,并且巧用可变形卷积来进行实现,整体网络设计非常齐备,值得学习。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

退出移动版