关于算法:RelationNet基于Transformer融合多种检测目标的表示方式-NeurIPS-2020

31次阅读

共计 3327 个字符,预计需要花费 9 分钟才能阅读完成。

论文提出了基于注意力的 BVR 模块,可能交融预测框、中心点和角点三种指标示意形式,并且可能无缝地嵌入到各种指标检测算法中,带来不错的收益

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

论文: RelationNet++: Bridging Visual Representations for Object Detection via Transformer Decoder

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

Introduction


  指标检测算法有很多种指标示意办法,如图 b 所示,有基于矩形框的也有基于关键点的。不同的示意办法使得检测算法在不同的方面体现更优,比方矩形框能更好的对齐标注信息,中心点更利于小指标辨认,角点则可能更精密地定位。论文探讨是否将多种示意形式交融到单框架中,最终提出了基于注意力的解码模块 BVR(bridging visual representations),该模块与 Transformer 的注意力机制相似,通过加权其它指标特色来加强以后指标特色,可能交融不同示意形式的异构特色。

  以 BVR 嵌入 anchor-based 办法为例,如图 a 所示,示意形式 acnhor 作为 $query$,其它示意形式中心点和角点作为 $key$,计算 $query$ 和 $key$ 间关联性权重,基于权重整合 $key$ 的特色来加强 $query$ 的特色。针对指标检测的场景,论文对权重计算进行了减速,别离为 key sampling 和 shared location embedding,用于缩小 $key$ 的数量以及权重计算量。除了嵌入到 anchor-based 办法外,BVR 也可嵌入到多种形式的指标检测算法中。
  论文的奉献如下:

  • 提出通用模块 BVR,可交融不同指标示意形式的异构特色,以 in-place 的形式嵌入到各种检测框架,不毁坏本来的检测过程。
  • 提出 BVR 模块的减速办法,key sampling 和 shared location embedding。
  • 经测试,在 ReinaNet、Faster R-CNN、FCOS 和 ATSS 四个检测器上有显著的晋升。

Bridging Visual Representations


  应用不同示意形式的检测算法有不同的检测流程,如图 2 所示,BVR 注意力模块以算法本来的示意形式为主特色,退出其它示意形式作为辅助特色。将主特色 $query$ 和辅助特色 $key$ 作为输出,注意力模块依据关联性加权辅助特色来加强主特色:

  $f^q_i$,$f^{‘q}_i$,$g^q_i$ 为第 $i$ 个 $query$ 实例的输出特色,输入特色和几何向量,$f^k_j$,$g^k_j$ 为第 $j$ 个 $key$ 实例的输出特色和几何向量,$T_v(\cdot)$ 为线性变动,$S(\cdot)$ 为 $i$ 和 $j$ 实例间的关联性计算:

  $S^A(f^q_i, f^k_j)$ 为外观特色类似度,计算方法为 scaled dot product。$S^G(g^q_i, g^k_j)$ 为几何地位相干的项,先将绝对的几何向量进行 cosine/sine 地位 embedding,再通过两层 MLP 计算关联度。因为不同示意形式的几何向量 (4- d 预测框与 2 - d 点) 不同,需从 4 - d 预测框提取对应的 2 - d 点(核心或角点),这样两种不同示意形式的几何向量就对齐了。
  在实现时,BVR 模块采纳了相似 multi-head attention 的机制,head 数量默认为 8,即公式 1 的 + 号前面改为 Concate 多个关联特色的计算,每个关联特色的维度为输出特色的 1 /8。

BVR for RetinaNet


  以 RetinaNet 为例,RetinaNet 在特色图的每个地位设置 9 个 anchor,共有 $9\times H\times W$ 个预测框,BVR 模块将 $C\times 9\times H\times W$ 特色图作为输出($C$ 为特色图维度),生成雷同大小的加强特色。如图 a 所示,BVR 应用中心点和角点作为辅助的 $key$ 特色,关键点通过轻量级的 Point Head 网络预测,而后抉择大量的点输出到注意力模块中加强分类特色和回归特色。

Auxiliary (key) representation learning

  Point Head 网络蕴含两层共享的 $3\times 3$ 卷积,而后接两个独立的子网 ($3\times 3$ 卷积 +sigmoid),预测特色图中每个地位为中心点(或角点) 的概率及其相应的偏移值。如果网络蕴含 FPN,则将所有 GT 的中心点和角点赋予各层进行训练,不需依据 GT 大小指定层,这样可能获取更多的正样本,放慢训练。

Key selection

  因为 BVR 模块应用了角点和核心作为辅助示意形式,特色图的每个地位会输入其为关键点的概率。如果将特色图的每个地位都作为角点和中心点的候选地位,会生成超大的 $key$ 集,带来大量的计算耗费。此外,过多的背景候选者也会克制真正的角点和中心点。为了解决上述问题,论文提出 top-k(默认为 50)$key$ 抉择策略,以角点抉择为例,应用 stride= 1 的 $3\times 3$MaxPool 对角点分数图进行转换,选取 top- k 分数地位进行后续计算。对于蕴含 FPN 的网络,则抉择所有层的 top- k 地位,输出 BVR 模块时不辨别层。

Shared relative location embedding

  对于每组 $query$ 和 $key$,公式 2 的几何项须要对输出的绝对地位进行 cosine/sine embedding 以及 MLP 网络转换后再计算关联度。公式 2 的几何项的几何复杂度和内存复杂度为 $\mathcal{O}(time)=(d_0+d_0d_1+d_1G)KHW$ 和 $\mathcal{O}(memory)=(2+d_0+d_1+G)KHW$,$d_0$,$d_0$,$G$,$K$ 别离为 cosine/sine embedding 维度,MLP 网络内层的维度、multi-head attention 模块的 head 数量以及抉择的 $key$ 数量,计算量和内存占用都很大。

  因为几何向量的绝对地位范畴是无限的,个别都在 $[-H+1, H-1]\times [-W+1, W-1]$ 范畴内,能够事后对每个可能的值进行 embedding 计算,生成 $G$ 维几何图,而后通过双线性采样取得 $key/query$ 对的值。为了进一步升高计算量,设定几何图的每个地位代表原图 $U=\frac{1}{2}S$ 个像素,$S$ 为 FPN 层的 stride,这样 $400\times 400$ 的特色图就可示意 $[-100S, 100S)\times [-100S, 100S)$ 的原图。计算量和内存耗费也升高为 $\mathcal{O}(time)=(d_0+d_0d_1+d_1G)\cdot 400^2+GKHW$ 和 $\mathcal{O}(memory)=(2+d_0+d_1+G)\cdot 400^2+GKHW$。

Separate BVR modules for classification and regression

  指标中心点示意形式可提供丰盛指标类别信息,角点示意形式则可促成定位准确率。因而,论文别离应用独立的 BVR 模块来加强分类和回归特色,如图 a 所示,中心点用于加强分类特色,角点用于加强回归特色。

BVR for Other Frameworks


  论文也在 ATSS、FCOS 和 Faster R-CNN 上尝试 BVR 模块的嵌入,ATSS 的接入形式跟 RetinaNet 统一,FCOS 跟 RetinaNet 也相似,只是将中心点作为 $query$ 示意形式,而 Faster R-CNN 的嵌入如图 4 所示,应用的是 RoI Aligin 后的特色,其它也大同小异。

Experiment


  论文进行了短缺的比照试验,可到原文看看具体的试验步骤和要害论断。

Conclusion


  论文提出了基于注意力的 BVR 模块,可能交融预测框、中心点和角点三种指标示意形式,并且可能无缝地嵌入到各种指标检测算法中,带来不错的收益。



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

正文完
 0