目标检测目前大多数目标检测算法都是独立检测图像中的目标,如果模型可以学习到目标之间的关系显然对提高检测效果有很大的帮助,所以作者希望在检测过程中可以利用图像中物体之间的关系或者图像上下文来优化检测效果。这种关系既包括相对位置关系,也包括图像特征。关系。利用对象的相对位置关系是一个很有意思的点,尤其是attention可以实现相对位置关系是一个非常好的思路。具体方法是从attention机制中得到灵感(Attentionisallyouneed),作者提出了一个模块:objectrelationmodule来描述目标之间的关系,从而以attention的形式附加到原有的特征上,以及最后进行回归和分类,另一个亮点是在NMS操作中同时引入了这种attention机制,不仅实现了真正意义上的end-to-endtraining,还改进了原有的检测网络。值得注意的是,对象关系模块与网络结构的耦合度很低,输出维度与输入维度相同,因此可以方便地插入到其他网络结构中,可以叠加插入。作者主要将NMS模块放在了两个全连接层的后面,如下图红色虚线框所示。下图中,作者将目前的目标检测算法分为4个步骤:特征提取主网得到ROI和特征基于ROI,boundingboxregression和目标分类NMS处理,从作者的步骤中可以清楚的看到去除重复框分步情况及源码,本文主要是基于对基于FasterRCNN系列算法的对象关系模块的介绍。基础框架提出的RelationModule是[《AttentionIsAllYouNeed》]中提出的“ScaledDot-ProductAttention”模块的改造。其主要作用是在目标检测任务中建立不同目标之间的关系,以提高目标。检测任务的准确性。本文使用FasterRCNN框架。如下图所示,假设FasterRCNN的RPN模块筛选出N个候选区域。这里,每个候选区域默认是一个目标,并为每个目标提出其几何和形状特征。几何特征是通过候选区域框的坐标来计算的,形状特征的来源是:FasterRCNN提取候选框后,需要对每个候选框进行ROIpool,然后生成最终的目标类别通过两个全连接层进行预测,而这里的形状特征是中间全连接层的输出,是一个一维向量。然后通过目标关系模块建立任意两个目标之间的关系。在文章attentionisallyouneed中,介绍了一个基本的attention模块:scaleddot-productattention,如下图:假设输入中有N个目标,那么N个目标的两个特征集如下,fA是常规图像特征,fG是位置特征。简单的说,式2中的WV对应上式中的V,式2中的wmn对应上式中的softmax()。归一化操作:上式中的两个变量wG和wA分别表示目标的位置特征权重(几何权重)和图像特征权重(外观权重),由下式得到。为了使其适应平移和缩放变换,使用了4维相对几何特征。综上所述,可以用下面的算法1来概括上面提到的公式算法,源码中的实现与算法1基本相同。左图是整体attention模块和图像特征fA的融合;右图是注意力模块的详细构建过程。接下来,我们来谈谈如何将其应用到目标检测算法中。上图是对象关系模块插入目标检测算法的示意图。左图是插入两个全连接层的情况。在全连接层之后,会根据提取的特征和roi的坐标构建attention,然后将attention加到特征上。传给下一个全连接层,重复一遍之后,开始做帧坐标回归和分类。右图为插入网管模块的情况。通过融合预测框得分的高低阶和预测框特征得到图像特征,然后将融合特征和预测框坐标作为关系模块的输入得到attention结果,最后NMS被看作是一个二元分类过程,根据关系模块的输出特征计算分类概率。实验表1主要做了三个验证:验证引入位置特征(几何特征)的有效性验证关系特征数量的影响验证两个全连接层中关系模块数量的影响表2主要是为了验证RM效果是否提升因为参数数量的增加,论文地址介绍了引入RM对不同算法的影响:https://arxiv.org/pdf/1711.11575.pdf源码:https://github.com/msracver/Relation-Networks-for-Object-Detection
