《Relation Networks for Object Detection》笔记

Introduction

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

Object Relation Module

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

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

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

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

几何权重 w G m n w_G^{mn} wGmn的计算公式为
w G m n = max ⁡ { 0 , W G ⋅ ε G ( f G m , f G n ) } w_G^{mn} = \max \{0, W_G \cdot \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n)\} wGmn=max{0,WGεG(fGm,fGn)}
几何特征是相对几何特征 ( log ⁡ ( ∣ x m − x n ∣ w m ) , log ⁡ ( ∣ y m − y n ∣ h m ) , log ⁡ ( w n w m ) , log ⁡ ( h n h m ) ) (\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})) (log(wmxmxn),log(hmymyn),log(wmwn),log(hmhn)),然后把特征嵌入到高维空间中 ε G ( f G m , f G n ) \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n) εG(fGm,fGn),维度是 d g d_g dg,然后用 W G W_G WG进行变换,最后通过ReLU函数。

上面说了怎么计算对象n与其他对象的关系特征 f R ( n ) \mathbf{f}_R(n) fR(n),这只是一种关系,对象n与其他对象可能有多种关系,作者设对象n与其他对象一共有 N r N_r Nr种关系。作者把对象n与其他对象的 N r N_r Nr种关系特征组合起来
f A n = f A n + C o n c a t [ f R 1 ( n ) , ⋯   , f R 1 ( N r ) ] , 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} fAn=fAn+Concat[fR1(n),,fR1(Nr)],for all n
为了匹配channel维度,每个 W V r W_V^r WVr的维度是 1 N r \frac{1}{N_r} Nr1。作者设置这些参数为 N r = 16 , d k = 64 , d g = 64 N_r=16,d_k=64,d_g=64 Nr=16,dk=64,dg=64

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

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

嵌入到全连接层的对象关系模型可以表示成
enhanced
r 1 r_1 r1 r 2 r_2 r2表示对象关系模块重复的次数,作者默认使用 r 1 = 1 , r 2 = 1 r_1=1,r_2=1 r1=1,r2=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函数,得到分数 s 1 s_1 s1。最后分类分数 s 0 s_0 s0 s 1 s_1 s1相乘得到最终结果。

Experiment

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值