论文笔记:Weakly Supervised Deep Detection Networks

Weakly Supervised Deep Detection Networks

摘要:本文主要解决了大规模image-level的分类问题,可同时解决区域选择和分类问题。作为拖欠训练器来训练。

  1. 引言
    弱监督学习非常重要主要是由于以下两个原因,其一,图片理解的主要目的在于学习整体的复杂视觉环境(ImageNet比赛);其二,CNN训练数据缺乏。因此,如果能够用上层信息来学习复杂的内容能够极大地减小数据标注花费的时间和精力。用于图像分类的CNN可能已经包含有关物体检测的很多含蓄的不易被发现的信息。本文主要提出了一个新型的end-to-end方法使用预训练的CNN进行弱监督物体检测。(WSDDN)
    主要方法:第一步提取region-level特征,通过在卷积层最顶端插入spatial pyramid pooling layer;然后网络被分成两个数据流从region-level特征后面开始。 第一个数据流跟每个独立区域的类别得分有关 ,进行识别的任务,,第二个数据流,通过计算各个区域概率贡献来进行对比,从而确定出包含有图片中最显著信息的region,这个叫做检测。
    然后把这两个数据流结合起来预测image的类别。我们仅仅使用image-level labels,region proposals还有back propagation在现有模型构架上进行fine-tuning。在数据集PASCAL VOC training set上面的训练结果最好。

  2. 方法
    论文笔记:Weakly Supervised Deep Detection Networks_第1张图片

    1. 预训练网络
      在 ImageNet ILSVRC 2012 data 上预训练网络。然后最终的网络结构是在此基础上进行修改。首先在最后一层CNN后面的pooling(ReLU后)换成SSP层( spatial pyramid pooling ),ssp层的输入是image x,还有区域R(一系列的区域,不只是一个),区域R通过SSW(SelectiveSearchWindows)或者EB(EdgeBoxes)的方法可以获得到,然后ssp产生一个特征向量用于后面的计算。SSP层后面跟着两个fc层,这两个fc层后面都分别有ReLU作为激活函数,然后在fc7将数据流分成两部分,就是我们说的分类数据流和检测数据流
    2. 分类数据流
      接了一个C分类的fc,然后后面接softmax分类器,进行分类。可以预测出每个区域的类别,也就是R个。
      这里写图片描述
    3. 检测数据流
      跟分类数据流的结构一模一样,不知道为啥,两个名字可以换不?哦,原来softmax不太一样(求和区间不同)。看公式:
      这里写图片描述
      看完公式,我还是没懂为什么上面代表分类,而下面代表检测。但是论文是这么说的,第一条分支,可以预测哪个类跟这个区域有关系,而第二条分支可以选择包含信息最多的区域。这个真不明白是怎么选出来的区域。
    4. 组合区域得分和检测区域
      这个就很好组合了,毕竟上面量个数据流的数据是一样的维数,直接求内积。
    5. 分类得分
      每个区域是C类的的得分概率可以得到,然后按照类别相加,可以得到总的分类正确率。这个好像有点眼熟,有点像AdaBoost。
  3. 实验
    n找那个图片,分为2类(+1/-1),VGG 模型训练。
  4. 结果。。。超过state-of-the-art.
    为什么每个论文都会超过state-of-the-art,搞不懂。

Reference

  1. Weakly Supervised Deep Detection Networks
  2. Segmentation As Selective Search for Object Recognition

Emma

SIAT

2017.02.28

你可能感兴趣的:(cnn)