Double-Head:重新思考检测头,提升精度(附原论文下载)

关注并星标

从此不迷路

计算机视觉研究院

92bf54089461279e97d0b34fddb49868.gif

8c26d5ed2b6d263d3bcec2e32cc990f6.gif

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

15ecc08886e2483f3568346dfd51d1e9.png

论文地址:https://arxiv.org/pdf/1904.06493.pdf

计算机视觉研究院专栏

作者:Edison_G

两种头结构(即全连接头和卷积头)已广泛用于基于 R-CNN 的检测器中,用于分类和定位任务。然而,人们对这两种头结构如何为这两项任务工作缺乏了解。

一、背景

大多数两阶段目标检测器共享一个用于分类和边界框回归的头。两种不同的头结构被广泛使用。Faster RCNN在单级特征图(conv4)上使用卷积头(conv5),而FPN在多级特征图上使用全连接头(2-fc)。然而,关于两个任务(目标分类和定位),两个头结构之间缺乏理解。

在今天分享中,研究者对全连接头(fc-head)和卷积头(conv-head)在两个检测任务上进行了彻底的比较,即目标分类和定位。我们发现这两种不同的头结构是互补的。fc-head更适合分类任务,因为它的分类分数与建议与其对应的真实框之间的交集(IoU)更相关。同时,conv-head提供了更准确的边界框回归。

我们认为这是因为fc-head对空间敏感,候选的不同部分具有不同的参数,而conv-head的所有部分共享卷积核。为了验证这一点,研究者检查了两个头的输出特征图,并确认fc-head在空间上更加敏感。因此,fc-head更好地区分完整目标和部分目标的能力,而convhead更健壮地回归整个对象(边界框回归)。

54e3fffef8ab09564d100bae3dba334e.png

网络的backbone可以使用常用的网络,比如VGG、resnet,再加上FPN的结构,根据一个ROIPooling输出7×7×256大小的feature map,一般的做法是将这个featuremap接上一个全连接分支,在全连接后面接上一个分支输出预测的BoundingBox位置信息,一个分支输出对应位置的类别信息。如上图(a)所示。

在得到7×7×256大小的feature map后,接上几个卷积操作,再接上一个全连接,再在后面接上一个分支输出预测的BoundingBox位置信息,一个分支输出对应位置的类别信息。如上图(b)所示。

二、前言

两种头结构(即全连接头和卷积头)已广泛用于基于 R-CNN 的检测器中,用于分类和定位任务。然而,人们对这两种头结构如何为这两项任务工作缺乏了解。为了解决这个问题,研究者进行了彻底的分析并发现了一个有趣的事实,即两个头结构对两个任务有相反的偏好。具体来说,全连接头(fc-head)更适合分类任务,而卷积头(conv-head)更适合定位任务。

f81e9371cc31820e031761834f2ae53e.png

此外,研究者检查了两个头的输出特征图,发现fc-head比conv-head具有更高的空间敏感性。因此,fc-head具有更强的区分完整目标和部分目标的能力,但对回归整个目标并不鲁棒。基于这些发现,研究者提出了一种Double-Head方法,它有一个专注于分类的全连接头和一个用于边界框回归的卷积头。没有花里胡哨,新的方法在MS COCO数据集上分别从具有ResNet-50和ResNet-101骨干网络的特征金字塔网络 (FPN) 基线获得+3.5和+2.8AP。


三、新框架详细分析

Data Processing for Analysis:

为了进行公平的比较,研究者对预定义的候选而不RPN生成的候选对两个头进行分析,因为两个检测器具有不同的候选。预定义的候选包括围绕不同大小的真实值框滑动窗口。对于每个真实对象,生成大约14,000个候选结果。这些候选与真实框之间的IoU(表示为proposal IoUs)逐渐从零(背景)变为一(真实框)。对于每个候选,两个检测器(fc-head和conv-head)生成分类分数和回归边界框。此过程适用于验证集中的所有目标。

163bdc6cd87b11c283286a37abc36286.png

研究者将预定义的候选及其相应的GT之间的IoU统一分成20个bins,并相应地对这些候选进行分组。对于每组,计算分类分数的均值和标准差以及回归框的IoU。上图显示了小型、中型和大型目标的结果。

Loss Function:

这里的损失函数与平时的一个head的计算是类似的,只是多一个分支而已,损失函数如下所示,是doublehead的损失函数加上rpn的损失函数:

fcd927b4cba92770f032529cd98b5353.png

上式中,ωfc和ωconv分别是doublehead中全连接和卷积的loss权重,Lfc、Lconv和Lrpn分别是doublehead中fc-head,conv-head,rpn的loss函数。具体采用哪种损失函数,这里同FPN,回归采用smooth-l1,分类采用cross entropy loss。到这里基本就是doublehead的主要原理了,下面还有一些扩展

扩展的doublehead结构:

我们发现上面的原始doublehead中的每个分支都是关注自己的任务,比如卷积只关注回归操作,全连接关注分类操作,而不同的head不只关注自己的任务对检测器的性能还会有所提升。不只关注自己任务(Unfocused Task Supervision)的意思是,fc-head也会接受回归任务的监督信息,conv-head则会接受分类任务的监督信息。如下图所示。

7b07a711881e25f51b570bcadfc7e49b.png

扩展doublehead中的损失函数:

在训练过程中,fc-head不仅要受到本身擅长的分类信息监督还要受到回归信息的监督,同理conv-head也要受到两个信息的监督,先拿fc-head来说,损失函数如下所示:

185093c4fc13ab2704acb2d9809ba38f.png

conv-head,它的损失函数计算同fc-head:

dcd15e9b4750ce8543fa92cefa3cf4ef.png

扩展doublehead中的推断:

看上面的结构图可以看出,分类结果是两个head融合的结果,而回归还是只采用卷积得到的结果。对于分类的融合方式如下式所示:

dd037c2975a054a9ba43bc87e207a126.png

四、实验结果

c9e0ec8d55805e2abfcf6d612070d347.png

 Evaluations of detectors with different head structures on COCO val2017

a540fb4e665e6a47739c65ccee13af85.png

Single-Conv和Double-Conv的比较。左:分类分数的平均值和标准差。 右:回归框和GT之间IoU的均值和标准差。 Single-Conv的分类分数比Double-Conv高,而回归结果是可比。

d69acef28a4aed6ded79f225c946a660.png

Comparison between Single-FC and Double-FC

1606e4572a3a2c473aee9632cac6e3e0.png

AP over balance weights λfc and λconv

0c87b1132a0e2949e52707d2bdc72105.png

可视化

7d2251ec3fa4f5b57b38913110d29aac.png

ed7a5bf76325475b0ff7a9f665840b73.png

© THE END 

转载请联系本公众号获得授权

abf8902478382d1a53200f4a328bb810.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

95af08b13a16ce340ff4b4f83d5f9d30.png

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值