论文笔记:CNN: Single-label to Multi-label

文章:CNN: Single-label to Multi-label

来源:arXiv:1406.5726 [cs.CV]

源码:No



论文目的:使用CNN解决了多标签图片的分类问题。

       作者提出了称为Hypotheses-CNN-Pooling (HCP)的deep CNN架构,以任意数目的object segment hypotheses作为输入,每一个hypotheses都连接到同一个共享的CNN,最后把这些CNN输出的结果做max pooling 操作来得到最终的多标签预测结果。整个架构:1.训练网络时是不需要ground-truth bounding box information的;2.对noisy and/or redundant hypotheses有很好的鲁棒性;3.不需要确切的hypothesis label;4.shared CNN的预训练可以使用现成的大规模单标签数据集ImageNet;5.输出多标记预测结果



实现方法:

          为减少输入的hypotheses,这篇文章首先提出了一个hypotheses extraction method, 具体操作是:先使用BING得到hypotheses,标记为 图hypothesis,n是BING得到所有hypotheses的数量,对两两hypotheses之间计算其IoU scores,这样可以得到n*n的矩阵W,图W  |  | 计算的是其包含的像素数量。然后再使用J. Shi and J. Malik. Normalized cuts and image segmentation.提出的算法把这些hypothesis bounding boxes聚为m类。作者经验性地过滤掉了那些区域比较小的,和宽高(高宽)比值较大的hypothesis。 然后再这m类中,每一类取其前k 个hypothesis,选取依据是按照BING给出的predictive scores。这些选取出来的hypothesis都被resize为 square shapes。


        shared CNN 的结构和这篇文章A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks.中一样,5个卷积层,3个全连接层。

       这里的训练分为两块,首先使用单标签数据集ImageNet来预训练(图片尺寸统一缩放到256*256,然后随机抽取227*227的patches,包括horizontal reflections,减去其均值,作为输入,最后的全连接层送入1,000-way softmax layer,loss function是multinomial logistic regression。 所有层的激活函数使用ReLU。随机梯度下降法,momentum 0.9 and weightdecay of 0.0005。前两个全连接层后接0.5的drop-out。每一层的learning rate的初始值都为0.01,然后每20 epoches 减少到原先的十分之一。)

       然后再用多标签数据集Pascal VOC进行Image-fine-tuning,这个过程与前面的预训练大致相同,不同的是:1.每张图片直接缩放到256*256没有cropping;2.最后一个全连接层的输出是送入到c-way softmax,得到c类标签而不是之前的1000类;3.使用的是squared loss。假设第i张图片的标签yi= [yi1; yi2; ... ...; yic],当第i张图片里包含第j类目标时,yij = 1 (j =1; ......; c) ,否则yij = 0。 第i张图片的ground-truth probability vector定义为 图ground-truth,预测得到的是 图预测,需要最小化的cost function是 图cost;4.前7层使用的是前面ImageNet预训练后的参数,最后一个全连接层使用高斯分布初始化G(μσ )(μ=0; σ= 0.01)。 三个全连接层的learning rates分别初始化为0.001, 0.002, 0.01。共循环60 epoches,每20 epoches就减少到十分之一,momentum=0.9, weight decay=0.0005。


       最后还有个Hypotheses-fine-tuning,把前面得到的l = mk(m类,每类取前k个)hypotheses送入已经训练过的shared CNN中,每一个hypothesis会得到一个c维的向量。为了抑制里面的 noisy hypotheses,作者使用了cross-hypothesis max-pooling将最后的结果整合到一个综合的预测结果中。假设vi(i=1,......,l)是第i个hypothesis的输出向量,图第i 是vi里的第j个值,那么通过cross-hypothesis max-pooling操作得到的这张图片含有第j类物体的概率就是图prediction(即所有hypotheses中得到第j类概率的最大值)。


实验结果:

        作者在VOC上做了实验,与其他基于hand-crafted features或者learnt features的方法进行了对比,结论当然是比前人更好。。。。。。。  

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页