论文基于NLP的注意力机制提出了指标关系模块,通过与其它指标的比对加强以后指标的特色,而且还能够代替NMS进行端到端的反复后果去除,思维非常新鲜,成果也不错

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

论文: Relation Networks for Object Detection

  • 论文地址:https://arxiv.org/abs/1711.11575
  • 论文代码:https://github.com/msracver/Relation-Networks-for-Object-Detection

Introduction


  以后大多数指标检测算法仍专一于独自辨认指标,没有尝试在训练时开掘指标之间的关系,受限于以后简略的网络结构,无奈对无规律的指标关系进行建模。参考自然语言解决中的注意力机制,论文提出了用于指标检测的自适应注意力机制 -- 指标关系模块(object relation module),学习指标间的关系来加强特色以及去除反复后果。
  检测指标有2D空间散布和不同的长宽比,比文本的场景要简单些,所以论文拓展了NLP的注意力权重,分为两个权重:

  • 基于指标特色产生的权重,跟NLP权重相似。
  • 基于指标绝对几何地位产生的权重,绝对几何地位保障平移不变性。

  指标关系模块接管可变输出并行计算,是可微的in-place操作,可作为根底构建block嵌入到任意指标检测算法中,嵌入形式如图1所示,用于指标辨认局部以及反复指标去除:

  • 指标辨认局部(instance recognition):利用指标关系模块,联结所有的检测指标来进行特色加强,再进行后续的辨认。
  • 反复指标去除(du-plicate remova):在辨认实现后,惯例的做法应用NMS进行反复指标的去除,而论文应用轻量级网关系网络进行该做法的替换。

Object Relation Module


  惯例的注意力机制为ScaledDot-Product Attention,计算为:

  给定查问指标$q$,计算与其它指标$K$的类似度,而后softmax归一化为权重,最初乘以各向量的值$V$失去加权后的特色,这3个值个别都是对指标特色进行embedding失去的。
  对于指标检测中的相似性计算,每个指标蕴含几何特色$f_G$和外观特色$f_A$,给定$N$个指标$\{(f^n_A, f^n_G)\}^N_{n=1}$,可计算每个指标绝对于其它指标的关系特色(relation feature)$f_R(n)$:

  关系特色理论为所有指标的外观特色的加权和,$W_V$为线性变动,相当于将外观特色embedding为公式1的值$V$。权值$w^{mn}$表明其它指标绝对于以后指标的重要性,计算方法为:

  公式3实际上等同于公式1中的softmax,惟一不同的是除了外观权值$w^{mn}_A$,还额定应用几何权值$w^{mn}_G$进行加权。
  外观权值$w^{mn}_A$的计算跟公式1的softmax括号内的计算一样,具体为:

  $W_K$和$W_Q$同样为线性变动,别离将比照指标和以后指标的外观特色embedding成公式1的$K$和$Q$,embedding后的特色维度为$d_k$。
  几何权值$w^{mn}_G$的计算为:

  几何特色个别就是简略的四维bbox,所以公式5在计算几何权值蕴含两个步骤:

  • 将以后指标和比照指标的几何特色通过$\varepsilon_G$embedding成高维特色,为了保障平移和尺寸不变性,几何特色转为相对值$(log(\frac{|x_m-x_n|}{w_m}), log(\frac{|y_m-y_n|}{h_m}), log(\frac{w_n}{w_m}), log(\frac{h_n}{h_m}) )$,embedding办法跟Attention Is All You Need里的地位编码一样,应用正弦函数和余弦函数。
  • 应用$W_G$将高维几何特色转换为标量权值,小于0时设为0。

  论文在几何特色的应用上也尝试了其它办法:1) none,间接将$w^{mn}_G$设为1.0计算权值,即不应用。 2) unary,将高维几何特色间接与外观特色交融,而后跟none一样计算权值。试验局部的表1有相干的后果比照,论文抉择的公式5加权办法比拟无效。

  在实现时,相似于multi-head attention,一个指标关系模块(object relation module)蕴含$N_r$个关系特色,每个特色的维度为输出特色$f^m_A$的$\frac{1}{N_r}$,图2可能会有一点问题,几何特色写了两个,然而外观特色只写了一个,大家依据公式了解就好,最初通过相加对输出指标的外观特色进行加强:

  指标关系模块的计算逻辑如算法1所示,其空间复杂度和工夫复杂度为:

  一般而言,指标关系模块的整体计算量不会很大,而且输入特色的维度和输出特色的维度统一,可作为根底构建block嵌入到任何网络中。

Relation Networks For Object Detection


  论文次要探讨将指标关系模块嵌入到region-based指标检测网络中,region-based指标检测网络个别蕴含四个步骤:1) 通过骨干网络生成整图特色 2) 生成候选框的区域特色 3) 进行各实例辨认和调整 4) 去除反复的检测后果,指标关系模块的嵌入次要在步骤3和步骤4。

Relation for Instance Recognition

  指标分类和指标回归个别应用两个1024维全连贯层对指标的RoI池化特色进行解决:

  指标关系模块可间接加强所有指标的1024维,不扭转特色的维度,不仅能够在任意地位插入,还能够屡次重叠:

  $r_1$和$r_2$为指标关系模块反复的次数,增加指标关系模块可能指标特色,进步辨认的准确率,公式10的可视化如图a所示。

Relation for Duplicate Removal

  去除反复指标这个工作自身就须要穷尽指标间的关系,比方启发式的NMS,高分指标可抹去其左近的低分指标。只管NMS非常简略,但其去重的形式并不总是最优的,为此,论文采纳指标关系模块去除反复指标。

  如图b所示,输出指标的分数、1024维外观特色以及几何特色,反复指标去除蕴含以下几个步骤:

  • 对指标分数进行名次的转换,采纳几何特色的embedding形式将分数转换成128维特色,将外观特色降维为128维特色,将两个特色相加。
  • 跟后面形容的指标关系模块一样与其它指标计算,输入关系特色。
  • 通过线性变动$W_s$和sigmoid函数输入概率$s_1\in [0, 1]$,对原分数进行加权。
  • 分数高于阈值的即为最终的后果。

  在训练时间接对最终的分数应用穿插熵损失迭代,尽管大部分的指标都是反复的,但因为其最终分数都很小,所以不会对网络造成很大的偏差。而在推理时,先按分类的分数过滤一轮,这样能加重计算量,论文实测大概减少2ms,绝对的,NMS和SoftNMS减少5ms左右。

Experiments


  各地位设置的比照试验。

  反复指标去重成果比照。

  在各网络中的成果比照,别离比照2fc+SoftNMS、2fc+RM+SoftNMS和2fc+RM+e2e的成果。

Conclusion


  论文基于NLP的注意力机制提出了指标关系模块,通过与其它指标的比对加强以后指标的特色,而且还能够代替NMS进行端到端的反复后果去除,思维非常新鲜,成果也不错。



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