目标检测分类和定位: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结构:
上图中(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)顺序叠加{a−c−b−c−b}构成conv-head。
网络损失函数如下所示:
L=αfcLfc+αconvLconv+Lrpn
其中Lfc,Lconv,Lrpn分别表示fc-head,conv-head,FPN的损失;αfc,αconv分别表示fc-head和conv-head部分损失的权重,实验分别取2.0和2.5。
另外对于扩展结构Double-Head-Ext(第一张图中的d图),全连接部分和卷积部分都会进行分类和回归,其Lfc,Lconv损失函数计算如下:
Lfc=λfcLclsfc+(1−λfc)Lregfc
Lconv=(1−λconv)Lclsconv+λconvLregconv
实验验证上式权重λfc,λconv分别取0.7和0.8最优。
分类器融合:
s=sfc+sconv−sfcsconv
这里的sfc,sconv分别表示fc-head和conv-head分类得分。作者论证了取两个分类器平均值、最大值的方式,结果显示上式方法进行融合效果最优,注意分类器的分数融合只用在推理的时候,不用于训练计算损失函数。