目标检测分类和定位:Rethinking Classification and Localization for Object Detection

本博客内容来自于论文:https://arxiv.org/pdf/1904.06493.pdf
论文收录于CVPR2020

论文内容

  论文的主要内容是探究了目前目标检测网络中两种主流的Head结构:fully connected head(fc-head)、convolution head(conv-head)。实验证明了使用fc-head更具有空间敏感性,有利于分类任务,而conv-head更加有利于对目标框进行回归的定位任务,作者根据这个结论提出了结合两种形式执行分类和回归任务的Double-head结构,并进行了一系列实验证明了其有效性。
  下图是几种head结构:


目标检测分类和定位:Rethinking Classification and Localization for Object Detection

  上图中(a)表示fc-head,FPN经过特征融合后将RoI区域通过全连接层进行分类和box回归;(b)表示conv-head,将RoI区域通过一系列的卷积,最后通过全局均值池化进行分类和box回归;(c)表示作者提出的double-head,提取出来的RoI区域经过全连接层和全卷积层两个分支分别进行分类和回归;(d)是作者在double-head的基础上融合了conv-head部分的分类置信度进行分类决策。

实现细节

  fc-head部分如上图中所示,由两个全连接层组成,参数量13.25M。conv-head部分由下面几个结构组成,其中(a)部分为fc-head结构第一个残差块,用于将提取的RoI的通道数进行升维,参数量1.06M;(b)部分就是fc-head结构后续的残差块参数量1.06M;(c)部分是一个非局部块,加在(b)结构之前,以增强前景目标,参数量2M。作者实验权衡精确度和速度选择由1个(a),2个(b),2个(c)顺序叠加{acbcb}\{a-c-b-c-b\}构成conv-head。


目标检测分类和定位:Rethinking Classification and Localization for Object Detection

  网络损失函数如下所示:
L=αfcLfc+αconvLconv+Lrpn L=\alpha^{fc}L^{fc}+\alpha^{conv}L^{conv}+L^{rpn}
其中Lfc,Lconv,LrpnL^{fc},L^{conv},L^{rpn}分别表示fc-head,conv-head,FPN的损失;αfc,αconv\alpha^{fc},\alpha^{conv}分别表示fc-head和conv-head部分损失的权重,实验分别取2.0和2.5
  另外对于扩展结构Double-Head-Ext(第一张图中的d图),全连接部分和卷积部分都会进行分类和回归,其Lfc,LconvL^{fc},L^{conv}损失函数计算如下:
Lfc=λfcLclsfc+(1λfc)Lregfc L^{fc}=\lambda ^{fc}L^{fc}_{cls}+(1-\lambda ^{fc})L^{fc}_{reg}

Lconv=(1λconv)Lclsconv+λconvLregconv L^{conv}=(1-\lambda^{conv})L^{conv}_{cls}+\lambda^{conv}L^{conv}_{reg}
实验验证上式权重λfc,λconv\lambda ^{fc},\lambda ^{conv}分别取0.7和0.8最优

  分类器融合:
s=sfc+sconvsfcsconv s=s^{fc}+s^{conv}-s^{fc}s^{conv}
  这里的sfc,sconvs^{fc},s^{conv}分别表示fc-head和conv-head分类得分。作者论证了取两个分类器平均值、最大值的方式,结果显示上式方法进行融合效果最优,注意分类器的分数融合只用在推理的时候,不用于训练计算损失函数