论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network

论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network

回归视觉相关,这篇是iccv2019的关于弱监督目标检测的论文,第一次接触弱监督学习,所以会讲的比较详细。(错误之处请评论指正)

弱监督学习

我们知道,一般的模型分为有监督、无监督和强化学习,那么弱监督是什么呢?
不同于有监督直接给出详细的标签值,弱监督学习只给出了样本的弱标签,即很容易获得且很粗泛的标签值(好吧我也不知道怎么形容)。
对于强监督目标检测来说,我们的标签值是每张图片上每个物体的类别(classes)和其位置(location)。
而对于弱监督目标检测,我们知道的仅仅是每张图片上有没有出现某一个物体,且没有该物体的位置。这种样本是很容易得到的(直接通过图像分类就能获得)。

WSDDN

弱监督的目标检测一般都通过多实例学习来解决。
WSDDN(Weakly supervised deep detection networks.)是2016年提出的一种解决弱监督目标检测的方法。
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network网络输入是图像和由区域候选网络(region proposal)方法比如select search从源图像上得到的。该网络将在ImageNet上训练好的CNN网络结构去掉了一个pool5后接上了一个SPPNet,对proposal region 的feature maps进行归一化,接了两个fc层,之后分 recognition 和detection两路。后接的两个不同的softmax,生成的都是C * |R|大小的矩阵,分类通道是为了比较每个区域的类别得分,检测通道是为了比较每一个类别中更加具有信息性的是那个区域。
最终的类别得分确定了该物体的类别,候选框在原图像上的位置即为location信息。

OICR

OICR(OnlineInstanceClassifierRefinement)是对WSDDN的一个改进,其网络架构为:
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network左边的网络基本一样,但是在WSDDN的基础上,其多了k个调整模块(Instance classifer refinement),我们知道,在WSDDN中由于我们没有物体的位置标签来对候选区域的边界框的进行偏移值回归,所以IOU准确率是十分低的。那么我们怎么获得位置标签呢?
OICR是这么做的:对于一张图片的每一个类别,我们知道该类别的所有候选框和其类别分数,找出其中类别分数最高的候选框,然后逐一比较其他候选框与该框的IOU,IOU最大的候选框即作为位置标签进行反向传播边框偏移值,经过k次迭代来反复调整。
伪代码:
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network该方法大大提高了预测边框的准确率(所以被作者采用)。

Towards Precise End-to-end Weakly Supervised Object Detection Network

Introduction

终于回到这篇论文了,作者基于前人的经验设计了该网络。
在弱监督目标检测领域,主流的算法为MIL+目标检测算法,即先通过多实例学习(MIL, Muti-instance learning,及上面介绍的两个方法)来进行一次检测,获得其粗略的标签值,然后通过这些标签值训练一个强目标检测器(Faster-RCNN等),是一个多阶段(muti phase)、由简到精的过程。而这会造成一些问题:
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network如上图,上面是一个MIL+Faster-RCNN的检测器,由于MIL检测器的不稳定性导致了生成了如上所示的错误(只检测到了猫的头),而Faster-RCNN是根据标签来进行训练,所以会使得最后得到的分类器是错误的。(即两个阶段都达到了局部最优,整个网络却不是最优的)。
所以在这篇论文中,作者做出如下贡献:
1.我们把这两个训练过程连接成一个端到端的网络来处理这个问题。 (通过这种方式,在 MIL 检测器将焦点严重聚焦到小的可辨别部分之前,回归器能够开始调整预测框)
2.同时,(为了提高定位能力)将使用分类损失的引导式注意力模块添加到主干中,以有效地 提取特征中的隐式位置信息。
3.实验结果达到了 SOTA

Contribution

整个网络架构如下:
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network该网络主要由三部分组成: 1.引导注意力模块(GAM)
2.MIL分支(OICR)
3.回归分支(fasterRCNN)
给定输入图像,首先使用 GAM 从 CNN 网络中提取增强特征图。然后由 ROI pooling 处理生 成的区域送到 MIL 分支和回归分支。MIL 分支建议的目标类别和位置信息被用作回归分支的 伪 GT,以进行位置回归和分类。

引导注意力模块GAM

首先我们介绍普通的空间注意力模块:
先在输入图上卷积提取出一个特征图 XRH×W×DX \in R^{H\times W\times D} 作为注意力模块的输入,然后归一化得到 ADH×WA\in D^{H\times W} ,然后乘上 XX 得到注意力特征图 XaRH×W×DX_{a}\in R^{H\times W\times D}, 最后加上XX 得到增强注意力图 X^\hat{X}
但是在本论文中,作者希望该注意力模块还能够学习到一些前景和后景的信息,所以将空间注意力进行了拓展:
即将AA 拓展到了 cc 维得到 ARH×W×cA\in R^{H\times W\times c} , cc 为类别的数目,所以推到到后面的X^\hat X 拥有 cc 个通道,然后送到另一个卷积层和全局
平均池化层以获取分类得分向量。然后可以通过标准的多标签分类损失来监督注意力图的生成。

MIL分支

该分支即为上面讲到的OICR网络,最后生成了许多的候选框来作为后面回归分支的输入。

回归分支

作者的回归分支选用的是Faster-RCNN,就不多讲了,不懂的同学移步:目标检测综述.

Loss function

该网络是一个端到端的极其复杂的网络,其损失函数主要由四部分组成:

  1. 引导注意力模块损失 LimgclsL_{img_{cls}}

  2. MIL模块的损失函数 LmilL_{mil}LrefineL_{refine}
    其中:
    Lmil=c=1C{yclogpc+(1yc)log(1pc)}L_{mil}=-\sum _{c=1} ^{C} \{ y_{c}logp_c+(1-y_c)log(1-p_c)\}
    LrefineL_{refine}即为每次调整的损失

  3. 回归分支模块FasterRCNN的损失函数 LdetL_{det}
    Ldet=Lcls+λLregL_{det}=L_{cls}+\lambda L_{reg}
    其中LregL_{reg}为IOU损失
    LclsL_{cls}则与FasterRCNN中有些许不同,因为伪标注信息带有噪声,所以我们为每一个ROI增加一个权重系数,公式如下:
    Lcls=1/Rr=1Rc=1C+1wrucrlogpcrL_{cls}=-1/|R|\sum _{r=1} ^{|R|}\sum _{c=1} ^{C+1}w^ru_c^rlogp_c^r

Experiments

该实验用的数据集是VOC2007 和VOC2012 都是只用到了图像级的标签。

论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network
论文报告笔记(四) Towards Precise End-to-end Weakly Supervised Object Detection Network-------------------------------------------分割线------------------------------------------------------------------

这次有时间用latex写了(截图真是难看啊),以后尽量都用latex吧。