Double-Head:检测头上再创新,提升精度(附原论文下载)

关注并星标

从此不迷路

计算机视觉研究院

696a489e322bc7eaae4d8b800d82c08c.gif

841e5335b3d8428a5556529edcea99e3.gif

公众号ID|ComputerVisionGzq

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

1dd54d261d2c25c06220a47ea5ee1723.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更健壮地回归整个对象(边界框回归)。

f0baa16fa49411dc7bbd3b5203592285.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)更适合定位任务。

6cfb4042fa3abeb05ca90df9994a487f.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)生成分类分数和回归边界框。此过程适用于验证集中的所有目标。

1fe3caf9c9cb13d0d273649eac9ba15b.png

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

Loss Function:

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

70d76a676477e4afb48633b6917802e6.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则会接受分类任务的监督信息。如下图所示。

cb22b98ce26335602f8b69b56403fc9e.png

扩展doublehead中的损失函数:

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

7114e5250a7a140d7a9ef93f88d54023.png

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

d1116572e3f817705f69534a684d638c.png

扩展doublehead中的推断:

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

a3641e3448147d51c5ce16907dc6a281.png

四、实验结果

2b001eaff2d84b8ea70ad469a62f3384.png

 Evaluations of detectors with different head structures on COCO val2017

c44cac843a937ce989708c7f3a49b4fa.png

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

bf61799d7d5b563ea53823e9367391cd.png

Comparison between Single-FC and Double-FC

71df5b22a12cd398631b19b60d9abd28.png

AP over balance weights λfc and λconv

f1bf861b8889922e4c2bc91f995f8696.png

可视化

58b864a5946322dd28ffe0e818d80ee9.png

3f4aa313190a1875a20b29c13b784654.png

© THE END 

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

c626688c1e4f66e01b944bf5e5f46964.gif

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

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

d6da66688276f2fd7cb1b151a4a621b3.png

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

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

 往期推荐 

🔗

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机视觉研究院

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

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

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

打赏作者

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

抵扣说明:

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

余额充值