论文笔记:Relation Networks for Object Detection

来源:论文code,MSRA & PKU,2018 CVPR

知乎笔记

主要贡献:

  • 提出了一种relation module,可以将常见的物体特征融合进物体之间的关联性信息,同时不改变特征维数,因此可以很方便加入已有的网络框架
  • 提出了一种代替NMS的去重模块设计,避免NMS需要手动设置参数的问题,真正实现模型的end-to-end训练

论文阅读

Introduction

NMS模块被设计用来消除重复的检测结果,作者认为这样的一个后处理步骤是heuristic and hand crafted。一直以来人们都认为图片的上下文信息或者物体之间的关系能够帮助检测,但深度学习方法中还没有关注到物体之间的关系。

object relation module 本文受到NLP领域的attention模型的启发,注意力模块可以通过元素集合影响单独元素的表现,这样就能得到一个聚合的表征【提到了图像加标题的工作】。对比object和sentence的attention设置,可以看做是维度上的变化(2D/1D),因此由两部分组成:the original weight和new geometric weight,后者对物体的空间关系建模,只关注几何相对关系,因此具有平移不变性。完全可微而且in-place

Related Works
  • Object realtion in post-processing:此前考虑到物体之间关系的工作基本是使用物体的关系重新打分,作为一个后处理过程出现,而且在深度卷积网络中很少使用
  • Sequential relation modeling:有一些工作考虑将序列推理(LSTM/SMN)用到物体检测领域,前一个检测到的物体来帮助后面的物体检测。然而本文的工作是多物体并行化的
  • Human Centered Scenarios:很多工作尝试通过对人的动作进行标注,来使用human-object的关系进行建模,而本文只是从object-object的角度进行,不需要特别标注
  • Duplicate Removal:比GossipNet更为简单地去重模块设计,结果超过了SoftNMS,实现了模型end-to-end
Object Relation Module

【设计了一种in-place的加权方式,实际上将不同物体之间的关系表示为类似注意力的权重加到特征向量中,同时保持特征向量的维度不发生变化】

Scaled Dot-Product Attention开始,输入为quires( q \mathbf{q} q), keys( K K K, dimension d k d_{k} dk), values( V V V, dimmension d v d_{v} dv),通过计算得到query和key的相似程度

(1) v o u t = s o f t m a x ( q K t d k ) V v^{out}=softmax(\frac{\mathbf{q}K^t}{\sqrt{d_{k}}})V\tag{1} vout=softmax(dk qKt)V(1)

接下来描述物体之间关系的计算。一个物体包括几何特征 f G \mathbf{f}_{G} fG和表现特征 f A \mathbf{f}_{A} fA,本文中 f G \mathbf{f}_{G} fG使用4维bounding box, f A \mathbf{f}_{A} fA则通过task决定。这样,得到 N N N个物体的集合 { ( f G n , f A n ) } n = 1 N \{(\mathbf{f}_{G}^{n},f_{A}^{n})\}_{n=1}^{N} {(fGn,fAn)}n=1N,考虑到所有的物体和第 n n n个物体的的关系特征relation feature f R ( n ) \mathbf{f}_{R}(n) fR(n)为:

(2) f R ( n ) = ∑ m ω m n ⋅ ( W V ⋅ f A m ) \mathbf{f}_{R}(n)=\sum_{m}\omega^{mn}\cdot(W_{V}\cdot\mathbf{f}_{A}^{m})\tag{2} fR(n)=mωmn(WVfAm)(2)

也就是针对周围物体特征的一个加权和, W V W_{V} WV和Eq.(1)中的 V V V相对应,权重的计算方式为:

(3) ω m n = ω G m n ⋅ exp ⁡ ( ω A m n ) ∑ k ω G k n ⋅ exp ⁡ ( ω A k n ) \omega^{mn}=\frac{\omega_{G}^{mn}\cdot\exp(\omega_{A}^{mn})}{\sum_{k}\omega_{G}^{kn}\cdot\exp(\omega_{A}^{kn})}\tag{3} ωmn=kωGknexp(ωAkn)ωGmnexp(ωAmn)(3)

(4) ω A m n = d o t ( W K f A m , W Q f A n ) d k \omega_{A}^{mn}=\frac{dot(W_{K}\mathbf{f}_{A}^{m},W_{Q}\mathbf{f}_{A}^{n})}{\sqrt{d_{k}}}\tag{4} ωAmn=dk dot(WKfAm,WQfAn)(4)

通过W矩阵将 f \mathbf{f} f映射到一个子空间中来评价不同的特征之间相似程度如何, d k d_{k} dk是映射后的特征维度

(5) ω G m n = m a x { 0 , W G ⋅ ε G ( f G m , f G n ) } \omega_{G}^{mn}=max\{0,W_{G}\cdot\varepsilon_{G}(\mathbf{f}_{G}^{m},\mathbf{f}_{G}^{n})\}\tag{5} ωGmn=max{0,WGεG(fGm,fGn)}(5)

这样的一个几何权重衡量在文中作者使用了其他方法做了对比实验。

基于需要考虑更多远距离物体的想法(原始的表征更多关注近距离物体),4维的几何位置表示被修改为:

( l o g ( ∣ x m − x n ∣ w m ) , l o g ( ∣ y m − y n ∣ h m ) , l o g ( w n w m ) , l o g ( h n h m ) ) T \left(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}})\right)^{T} (log(wmxmxn),log(hmymyn),log(wmwn),log(hmhn))T

通过Eq.(5)中的 ε G \varepsilon_{G} εG将几何特征映射到一个高维的表示(通过计算不同波长下的cosine和sine函数),到的特征维度为 d g d_{g} dg【这里需要参考Attention Is All You Need 文章】。

最终将转换后的特征进行聚合:

(6) f A n = f A n + C o n c a t [ f R 1 ( n ) , . . . , f R N r ( n ) ] , for all n \mathbf{f}_{A}^{n}=\mathbf{f}_{A}^{n}+Concat\left[\mathbf{f}_{R}^{1}(n),...,\mathbf{f}_{R}^{N_{r}}(n)\right],\text{for all n}\tag{6} fAn=fAn+Concat[fR1(n),...,fRNr(n)],for all n(6)

至此,每一个Eq.(2)中的关系函数都被参数化了,即 ( W K , W Q , W G , W V ) (W_{K},W_{Q},W_{G},W_{V}) (WK,WQ,WG,WV)

模块流程图

relation模块图

算法流程图

relation算法流程
Relation Networks For Object Detection
Object Detection Pipeline
  1. 生成全图的feature,使用backbone完成
  2. 生成区域特征(regional features),基于全局feature进行region proposal的ROI Pooling
  3. instance recognition. 使用head network来预测proposal属于某个类的可能性并通过回归refine相应的bbox,这部分网络通常很浅
  4. 去重。使用NMS等

本文中提出的relation model被用在最后两步(instance recognation and duplicate removal)。作者将这个模块分别应用于Faster RCNN, FPN和DCN中。

Relation for Instance Recognition

对于特定的proposal,通过两个FC-1024和一个LINEAR得到 ( s c o r e n , b b o x n ) (score_{n},bbox_{n}) (scoren,bboxn),本文中将Relation模块加入到了两个FC之后,即:

relation FC图

通过加入relation模块可以有效地增强instance recognition的准确性。

Relation for Duplicate Removal

Duplicate removal被看做一个二分类问题(correct/duplicate),网络输入是一个检测到的物体的集合,每个物体有其1024维向量,分类score s 0 s_{0} s0以及bbox,网络针对每个物体输出一个 s 1 ∈ [ 0 , 1 ] s_{1}\in[0,1] s1[0,1]表示属于corret的可能性,将 s 0 s_{0} s0 s 1 s_{1} s1相乘作为最终的得分。网络结构为:

relation DR图
  • Rank Feature:作者发现将score转化为rank而不是value能够带来更好的效果。即,将输入按照score进行排序,每个物体给一个 rank ∈ [ 1 , N ] \text{rank}\in[1,N] rank[1,N],然后将这个rank使用128-d feature进行embeded【这一步是怎么进行的?】,将1024-d fearture转换成128-d feature,相加产生网络输入。

  • Training:使用交叉熵损失进行训练,对所有类别检测到的所有box取平均。

    需要注意的是,去重分类是一个类别极其不均衡的问题,但是在作者的实验中,只使用交叉熵损失就能够很好地工作。作者认为这是因为 s 0 s 1 s_{0}s_{1} s0s1的final score的功能,对于大部分的box来讲 s 0 s 1 s_{0}s_{1} s0s1很小,以至于求出来的梯度也很小,所以并不会对优化过程产生剧烈影响——使得训练过程更多的关注与少量的正确性样本。

  • Inference:为了增加速度,作者发现大部分的类别在 s 0 s_{0} s0就已经很小了,因此将这些类别在去重计算的类别中移除并不会产生太大影响。

Experiments

作者基于COCO数据集的80类物体进行实现,结果如下

relation 结果
  • Table1可以看出作者的这种加权平均的方式还是有效果的,而且权重学习是有必要的
  • Table2展示了在head部分修改的结果,这部分的改动提升还是比较统一的
  • Table4展示了对比NMS的结果,其实这部分的提升还不是很明显

作者在结论中强调,关于relation模块到底学到了什么还不能确定,有待未来的工作发现。

### 回答1: 特征金字塔网络(Feature Pyramid Networks, FPN)是一种用于目标检测的神经网络架构。它通过在深层特征上构建金字塔结构来提高空间分辨率,从而更好地检测小目标。FPN具有高效的多尺度特征表示和鲁棒性,在COCO数据集上取得了很好的表现。 ### 回答2: 特征金字塔网络(Feature Pyramid Networks,简称FPN)是一种用于目标检测的深度学习模型。该模型是由FAIR(Facebook AI Research)在2017年提出的,旨在解决单一尺度特征不能有效检测不同大小目标的问题。 传统的目标检测算法通常采用的是滑动窗口法,即在像上以不同大小和不同位置进行滑动窗口的检测。但是,这种方法对于不同大小的目标可能需要不同的特征区域来进行检测,而使用单一尺度特征可能会导致对小目标的错误检测或漏检。FPN通过利用像金字塔和多层特征提取,将不同尺度的特征合并起来,从而达到对不同大小目标的有效检测。 FPN主要分为两个部分:上采样路径(Top-Down Pathway)和下采样路径(Bottom-Up Pathway)。下采样路径主要是通过不同层级的卷积神经网络(CNN)来提取特征,每层都采用了非极大值抑制(Non-Maximum Suppression,NMS)方法来选择最具有代表性的特征。上采样路径则主要是将低层特征进行上采样操作,使其与高层特征的尺寸对齐,并与高层特征相加,实现特征融合。 FPN在目标检测中的优势体现在以下几个方面。首先,FPN可以提高模型对小目标的检测能力,同时仍保持对大目标的检测准确度。其次,FPN的特征金字塔结构可以在一次前向传递中完成目标检测,减少了计算时间。最后,FPN对于输入像的尺寸和分辨率不敏感,可以在不同分辨率的像上进行目标检测,从而适应多种应用场景。 总之,FPN是一种在目标检测领域中得到广泛应用的模型,其特征金字塔结构能够有效地解决单一尺度特征不足以检测不同大小目标的问题,并在检测准确率和计算效率方面取得了不错的表现。 ### 回答3: 特征金字塔网络是一种用于目标检测的深度学习模型,主要解决的问题是在不同尺度下检测不同大小的物体。在传统的卷积神经网络中,网络的特征大小会不断减小,因此只能检测较小的物体,对于较大的物体则无法很好地检测。而特征金字塔网络则通过在底部特征的基础上构建一个金字塔状的上采样结构,使得网络能够在不同尺度下检测不同大小的物体。 具体来说,特征金字塔网络由两个主要部分构成:共享特征提取器和金字塔结构。共享特征提取器是一个常规的卷积神经网络,用于提取输入像的特征。而金字塔结构包括多个尺度的特征,通过上采样和融合来获得不同尺度的特征表示。这些特征之后被输入到后续的目标检测网络中,可以通过这些特征检测不同尺度的物体。 特征金字塔网络可以有效地解决目标检测任务中的尺度问题,并且在许多实际应用中表现出了优异的性能。例如,通过使用特征金字塔网络,在COCO数据集上得到的目标检测结果明显优于现有的一些目标检测算法。 总之,特征金字塔网络是一种非常有效的深度学习模型,可以处理目标检测任务中的尺度问题,提高模型在不同大小物体检测精度。它在实际应用中具有很高的价值和应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值