论文阅读: Scene recognition with CNNs: objects, scales and dataset bias

转载请注明本文出处,谢谢。

场景分类文献阅读目前共有两篇:

(一)论文阅读: Scene recognition with CNNs: objects, scales and dataset bias

(二)论文阅读:Knowledge Guided Disambiguation for Large-Scale Scene Classification with Multi-Resolution CNNs

 

 

论文链接:Scene recognition with CNNs: objects, scales and dataset bias

 

 

    从标题我们可以看出来,这篇文章是从物体,尺度和数据集偏置这三个方面来分析场景图片做场景分类的。

    那在开始之前呢,先向大家介绍几个常用的场景分类数据集,2014年,MIT的周伯雷的团队发布了places1,这个数据集呢,一共有700万张图片。2016年,该团队对places数据集做了一个更新,发布了places2,一共有1000万张图片。

    那分析场景分类的图片(下图)呢,我们发现,一张场景图片可能包含多层信息,包括局部物体,全局布局,背景环境和各个物体之间可能存在的空间位置关系和语义关系。而物体分类通常只包含单语义信息。这就导致场景分类的难度远大于物体分类。

1. Introduction

 

    我们刚才说过了,场景图片是由物体组成的,那么对于物体分类的研究就有可能会帮助我们提取场景中的局部物体特征。那我们都知道,深度学习的网络结构是逐层递进的,对于一个场景分类模型而言。最一开始,提取的是低层特征,像纹理特征,线和角的特征等等,随着网络层数的加深,也就是中间层,提取出来的特征更趋向于局部物体的特征,网络再深一点,提取的特征更加全局化。之前呢,周伯雷在发布places的时候,他也尝试了说结合imagenet和places这两个数据集,训练出来一个混合模型。但是这个效果的提升呢微乎其微。那这篇文章的作者说,这个混合模型的效果不好的主要原因是他忽略了这两个数据集中的物体尺度大小问题。

1.1 Issues

    那这篇文章呢,就主要研究了这样两个问题:

    1) 数据集的尺度偏置

        Scale induced dataset bias

    2) 如何有效地把物体分类和场景分类这两块知识结合起来。

        How to combine scene-centric and object-centric knowledge

1.2 Contributions

    针对这两个问题呢,作者提出了一个多尺度多模型结合的网络结构(Multi-scale combinations of ImageNet-CNN and Places-CNN)。大量的实验证明效果的确是有所提升。

2. Objects and scenes

2.1 Objects in object datasets and scene datasets

    使用相同的网络结构,分别用imagenet和places这两个数据集去训练。显而易见,imagenet上训练的模型更适合做物体分类,places上训练的模型做场景分类准确率可能会更高一点。这两个模型唯一的不同就是训练数据集不同,场景又是由各种物体组成的,那搞清楚物体分类和场景分类的数据集中的图片有什么区别,我们就可以利用物体分类模型来帮助做场景分类。我们主要是从这两个层面来描述物体分类和场景分类数据集的差异。一个是图片中的物体尺度scale,另一个是图片中的物体数量density。那我们比较的两个数据集呢分别是imagenet和sun397这两个数据集。

    那么这张图中,蓝线代表的是imagenet,红色虚线代表的是sun397,那么把物体数据集和场景数据集的物体尺度做一个归一化,我们可以发现物体分类数据集中的物体尺度通常比较大,几乎占据了整张图片。而场景分类数据集中的物体尺度通常比较小。另一个主要区别呢是物体数量,我们可以看到,imagenet数据集图片,通常只包含一个大的物体,而sun397数据集图片中包含了许多小物体。

2.2 Dataset bias in object recognition

    更进一步,我们以这组图为例。左边这个呢,是原始的场景图片,右边是对原图进行尺度缩放的图片。始终以沙发为图片中心,逐渐放大图片,直到沙发几乎占满整个图片;再逐渐缩小图片,直到沙发只占图片面积的10%。
    分别用imnet-cnn和places-cnn对这一系列图片提取特征,训练SVM做物体分类。结果是这样的,在尺度比较大的情况下,imnet-cnn效果更好,因为这张测试图片的尺度更接近于目标分类训练集中的图片尺度。尺度稍小一点,places-cnn效果更好,因为更接近于场景分类训练集中的图片尺度。尺度再小一点,到这种程度,两个模型的准确率都会很低。这个小实验说明了如果只是用模型来提取特征的话,相似的尺度会比相似的物体类别更重要。
    所以我们看到不同尺度的图片会导致图片中的物体大小不同,从而影响分类结果。因此作者提出了多尺度多模型结合的网络结构。

3. Multi-scale architecture with scale-specific networks

    那么作者提出来的网络结构呢就是上图这样的。
    首先,对一张场景图片进行尺度变换,也就是我们常说的resize。然后对不同尺度的图片进行裁剪,crop到适合网络输入的尺寸。这是多尺度的一个操作。
    那多模型的话,作者是使用了places-cnn和imagenet-cnn这两个模型同时对场景图像中的图像块提取特征。那所有的网络结构呢都是alexnet,只是他们训练的数据集不同。
    那这张图是一个四尺度的例子,我们可以看到在小尺度的情况下,上面这两行,裁剪出来的图像块仍然更像是场景图片,那么就把他们送入places-cnn提取特征。
    下面这两行,大尺度的情况下,裁剪出来的图片更像是物体图片,就把它们送入imagenet-cnn提取特征。
    那每个模型提取出来的全连接层的特征呢,做最大池化,然后整合起来就是一个多尺度特征,用来表征这一张场景图片的特征。

4. Experiments on scene recognition

    文献中分别对单尺度、双尺度和多尺度进行了试验。在试验阶段呢,它是使用模型全连接层提取出来的特征,送到svm分类器里面做分类。随着尺度数量的增加,准确率也在逐渐增加。多尺度的话最大是7尺度。对于7尺度的特征,由于维度太大了,甚至需要使用PCA降维。我们可以看到随着尺度的增加,在这两个测试集上的准确率是越来越高的。但是这个方法的缺点也是很明显的,他就是强行增加尺度,导致计算量特别大,效率不高。
    其实这篇文章提出来的结构并不是特别复杂。那讲这篇文章的主要原因是想说明物体尺度的确是会影响场景分类的效果。并且和下面一篇文章有一点关系。下面这篇文章,也是和物体尺度有关,但是他是从一张场景图片的局部物体特征和场景全局特征来讲多尺度的问题。

 

        

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值