《Relation Networks for Object Detection》笔记

Introduction

上下文信息或对象之间的关系有助于对象识别。该论文提出了一个对象关系模块,类似于自然语言处理的注意力机制。该对象关系模块使用对象的外貌特征和几何特征。后者模拟对象之间的空间关系,仅考虑它们之间的相对几何关系,使模块具有平移不变性——对象识别的理想属性。该对象关系模块对对象的外貌特征和几何特征进行加权操作得到新的特征,提高了目标检测的预测精度。同时,对象关系模块可以用来替换NMS,把NMS的去掉重复bounding box的操作定义成二分类问题——bounding box是正确的还是重复的。

Object Relation Module

该论文受到自然语言处理的注意力机制的启发。论文参考的注意力机制模型"Scaled Dot-Product Attention"的输入包括queries,dkd_k维的keys和dvd_v维的values。对query和keys进行点乘来获取它们的相似度。给定一个query qq,所有keys (组成矩阵KK)和values (组成矩阵VV),输出为
(1)vout=softmax(qKtdk)V v^{out} = softmax (\frac{qK^t}{\sqrt{d_k}})V \tag{1}

对象关系模块类似于公式(1)。一个对象包含几何特征fG\mathbf{f}_G和外貌特征fA\mathbf{f}_A。几何特征是简单的4维的对象bounding box,外貌特征是指神经网络的激活值特征。给定N个对象的输入集{(fAn,fGn)}n=1N\{ (\mathbf{f}_{A}^n, \mathbf{f}_G^n) \}_{n=1}^N,第n个对象的关系特征fR(n)\mathbf{f}_R(n)
fR(n)=mwmn(WVfAm) \mathbf{f}_R(n) = \sum_{m} w^{mn} \cdot (W_V \cdot \mathbf{f}_A^m)
即把第n个对象与其他对象(m)的关系定义成外貌特征的加权和。首先对外貌特征进行线性变换WVfAmW_V \cdot \mathbf{f}_A^m,然后使用关系权重wmnw^{mn}对变换后的特征进行加权和。

关系权重wmnw^{mn}的计算公式是
wmn=wGmnexp(wAmn)kwGknexp(wAkn) w^{mn} = \frac{w_G^{mn} \cdot \exp (w_A^{mn})}{\sum_k w_{G}^{kn} \cdot \exp (w_A^{kn})}
先算出对象m对对象n的重要性,然后normalize。

外貌权重wAmnw_A^{mn}通过点乘操作得到,具体如下
wAmn=dot(WKfAm,WQfAn)dk w_A^{mn} = \frac{dot(W_K \mathbf{f}_A^m, W_Q \mathbf{f}_A^n)}{\sqrt{d_k}}
其中矩阵WKW_KWQW_Q类似公式(1)的K和q,把原来的特征fAn\mathbf{f}_A^nfAm\mathbf{f}_A^m映射到子空间中,然后点乘操作衡量他们之间的匹配程度。映射之后的特征维度是dkd_k

几何权重wGmnw_G^{mn}的计算公式为
wGmn=max{0,WGεG(fGm,fGn)} w_G^{mn} = \max \{0, W_G \cdot \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n)\}
几何特征是相对几何特征(log(xmxnwm),log(ymynhm),log(wnwm),log(hnhm))(\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})),然后把特征嵌入到高维空间中εG(fGm,fGn)\varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n),维度是dgd_g,然后用WGW_G进行变换,最后通过ReLU函数。

上面说了怎么计算对象n与其他对象的关系特征fR(n)\mathbf{f}_R(n),这只是一种关系,对象n与其他对象可能有多种关系,作者设对象n与其他对象一共有NrN_r种关系。作者把对象n与其他对象的NrN_r种关系特征组合起来
fAn=fAn+Concat[fR1(n), ,fR1(Nr)],for all n \mathbf{f}_A^n = \mathbf{f}_A^n + Concat[\mathbf{f}_R^1(n), \cdots, \mathbf{f}_R^1(N_r)], \text{for all n}
为了匹配channel维度,每个WVrW_V^r的维度是1Nr\frac{1}{N_r}。作者设置这些参数为Nr=16,dk=64,dg=64N_r=16,d_k=64,d_g=64

整个对象关系模块的结构是
object relation module

对象关系模块可以嵌入到目标检测的流程中,如下图
object detector
对象关系模块既可以嵌入到全连接层之间,还可以用于删除重复bounding box的duplicate removal network。

嵌入到全连接层的对象关系模型可以表示成
enhanced
r1r_1r2r_2表示对象关系模块重复的次数,作者默认使用r1=1,r2=1r_1=1,r_2=1
enhanced 2fc head and duplicate removal network

Duplicate removal network

Duplicate removal network目的是为了替换NMS,因为NMS没有考虑对象之间的关系信息。Duplicate removal 是一个二分类问题,对于每个ground truth对象,只有一个检测到的匹配对象记为correct,其它匹配的对象记为duplicate。

Duplicate removal network的结构如上图所示。该网络有3个输入,分别是对象的分类分数、1024维的对象特征和bounding box。对象分类分数有助于分类,先把分类分数变成降序排列的序号,然后把它嵌入到128维的高维空间。同样把对象特征映射到128维,和对象分类分数组合成新的外貌特征。外貌特征和bounding box进入对象关系模块,然后经过简单的线性变化和sigmoid函数,得到分数s1s_1。最后分类分数s0s_0s1s_1相乘得到最终结果。

Experiment

下面列一些对比实验结果
experiment
experiment
从上图可以发现网络加了对象关系模块后效果都得到提升。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章