多标签分类(十一):HCP: A Flexible CNN Framework for Multi-Label Image Classification

HCP:灵活的CNN多标签图像分类框架

摘要

  卷积神经网络(CNN)在单标签图像分类任务中表现出了良好的性能.但是CNN如何最好的处理多标签图像仍然是一个有待解决的问题,主要是由于底层对象布局复杂,多标签训练图像不足.在这项工作中,我们提出了一种灵活的深度CNN基础架构,称为Hypotheses-CNN-Pooling(HCP),其中将任意数量的对象段假设作为输入,然后将共享的CNN与每个假设连接,最后是CNN 将来自不同假设的输出结果与最大池合并,以生成最终的多标签预测.这种灵活的深度 CNN基础设施的一些独特特点包括:1)训练不需要ground-truth边界盒信息;2)整个HCP基础设施对于可能存在的噪声和/或冗余假设是健壮的;3)共享的CNN具有灵活性,可以很好地对大规模的单标签图像数据集(如ImageNet)进行预训练;4)可以自然输出多标签预测结果.在Pascal VOC 2007和VOC 2012多标签图像数据集上的实验结果很好地证明了所提出的HCP基础设施比其他先进技术的优越性.特别是,在VOC 2012年数据集上,仅HCP与我们基于手工制作特征的互补结果融合后,其映射率达到90.5%,在此基础上融合后的映射率达到93.2%。

1.介绍

  过去几年中,已经广泛研究了单标签图像分类,该分类旨在将预定义集中的一个的标签分配给图像。对于图像的表示和分类,传统的方法利用精心设计的手工特征,如SIFT,以及词袋编码方案,然后是特征池和经典分类器,如支持向量机和随机森林。近年来,与手工制作特征相比,具有深度网络结构的学习图像特征在各种视觉识别任务中显示出了巨大的潜力。其中,深度卷积神经网络(CNN)是图像分类的最大突破之一,它在大规模单标签对象识别任务中取得了最先进的性能(比以往基于手工制作特征的方法提高了10%)
  然而,多标签图像分类是一个更普遍和实际的问题,因为现实世界中的大多数图像包含来自多个不同类别的对象。对于一幅典型的多标签图像,不同类别的物体以不同的尺度和姿态被放置在不同的位置。此外,多标签图像中物体的不同组成和相互作用,如局部可见和遮挡,也增加了问题的复杂性,这就需要更多的标注数据来覆盖不同的情况。例如,如图1所示,对于单标签图像,前景对象是大致对齐的,而对于多标签图像,即使是相同标签,即马和人,不同图像之间马和人实例的空间排列有很大差异。与实际需要采集和标注的单标记图像相比,大规模多标记图像数据集的标注负担要大得多。CNN在单标签图像分类上的成功对解决多标签图像分类问题也有一定的借鉴意义。总的来说,CNN可以很好地处理物体对齐良好的图像,但是对于物体严重对齐或遮挡的图像,CNN的预测比较不准确。因此,通过将多标签问题松弛为多个单标签任务,缓解误对准和遮挡问题,可以更好地利用CNN模型的巨大识别能力。

  图1:来自ImageNet [10]和Pascal VOC 2007 [13]的一些示例。 单标签图像中的前景对象通常大致对齐,但是,对于多标记图像,目标对齐的假设是不成立的。还要注意多标签图像中物体之间的局部可见性和闭塞性

  最近,许多基于假设的方法被提出用于检测和分割。通过生成边界盒或分段的假设池,可以将多标签问题转化为单标签预测的子任务。由于对象假设通常对对象的置信度较高,这意味着它们更有可能包含特定的语义对象,经过裁剪和规范化,错误对齐和遮挡都可以在一定程度上得到缓解。基于传统CNN模型的假设思想和良好的单标签分类性能,本文提出了一种灵活的深层CNN结构,称为Hypotheses-CNN- pooling (HCP)。HCP以任意数量的对象段假设(H)作为输入,该输入可以由目前最先进的客观检测技术产生,如二值化规范梯度或EdgeBoxes,然后将一个共享的CNN©与每个假设连接。最后,为了将来自不同假设的单标签CNN预测聚合成多标签结果,我们在提出的CNN模型中加入一个新的池化层,从而给出最终的多标签预测。特别地,提出的HCP基础设施具有以下特点:
∙ \bullet  多标签图像数据集的训练不需要地面真边界盒信息。由于边界框注释的成本比标签高得多,因此注释负担大大减轻.该方法在应用于新的多标签图像数据集时具有较好的泛化能力.
∙ \bullet  提出的HCP基础结构对噪声和/或冗余假设是健壮的。为了抑制可能有噪声的假设,我们进行跨假设的最大池操作,将共享CNN的输出融合成一个综合预测。利用最大池化,保留了包含对象的假设的高预测分数,而剔除了有噪声的假设.因此,只要一个假设包含感兴趣的对象,交叉假设池化后噪声就可以被抑制.冗余假设也可以通过最大池得到很好的解决.
∙ \bullet  共享的CNN灵活,可以通过大规模的单标签图像数据集进行良好的预训练.为了解决多标签训练图像不足的问题,基于假设-CNN- pooling架构,共享的CNN可以先在一些大型单标签数据集(如ImageNet)上进行良好的预训练,然后在目标多标签数据集上进行微调.此外,共享CNN的体系结构很灵活,可以使用各种高级CNN,例如,Network-in-Network,空间金字塔池网,Very Deep Net和GoogLeNet 作为共享的CNN.
∙ \bullet  HCP的输出本质上是多标签的预测结果。HCP在softmax层之后在标签上生成一个归一化概率分布,而预测的概率值本质上就是对应类别的最终分类置信度

相关工作

  深度学习试图通过使用由多个非线性变换组成的架构来对可视数据的高级抽象建模.
  最近,CNN架构被用于解决多标签问题.但是由于CNN需要学习的参数很多,一个有效的模型需要大量的训练样本.因此,训练一个特定于任务的卷积神经网络并不适用于训练样本数量有限的数据集.一些研究表明,在ImageNet等具有数据多样性的大数据集上预先训练好的CNN模型,可以转移到其他训练数据不足的图像数据集上提取CNN特征.Pierre et al和Razavian et al.提出了一种CNN feature-SVM多标签分类管道.具体来说,将多标签数据集的全局图像直接输入到ImageNet上预先训练好的CNN中,得到CNN激活作为现成的特征进行分类.Chattield等[6]研究了基于不同CNN架构的CNN表示对于多标签分类任务的效果.
  此外,Oquab等。 [30]和Girshick等。 [15]提出了两种基于proposal的多标签分类和检测方法.尽管这两种方法已经取得了很大的进步,但是它们高度依赖于真实边界框,当没有任何边界框信息的情况下将其转移到新的多标签数据集时,这可能会限制其概括能力。具体来说,所有与地面真实框重叠的具有≥0.5 IoU的假设均被视为该框类别的正值,其余假设均被视为负值。然后利用这些标记的假设对预先训练好的CNN进行微调。相反,提出的HCP基础结构不需要训练的地面边界框信息,并且对可能存在的嘈杂和/或多余的假设具有鲁棒性,且在训练过程中不需要明确的假设标签。相反,我们提出了一种新的假设选择方法,选择少量高质量的假设进行训练。

3.HYPOTHESES-CNN-POOLING

  图2显示了提出的Hypotheses- Cnn-Pooling(HCP)深度网络的架构.我们应用对象检测技术,如BING或EdgeBoxes,来产生一组候选对象窗口,然后,通过所提出的假设选择方法,选择数量较少的候选窗口作为假设.选择的假设被输入共享的卷积神经网络(CNN)。输入假设的置信度向量通过融合层与最大合并操作组合在一起,以生成最终的多标签预测.具体来说,共享的CNN首先在大规模的单标签图像数据集(即ImageNet)上进行预训练,然后在目标多标签数据集(例如Pascal VOC)上进行微调,方法是将整个图像用作输入.然后,我们用平方损失函数对提出的HCP进行再训练,以得到最终的预测结果.

  图2表示提出的HCP的基础设施的框架.对于给定的多标签图像,根据最先进的对象检测技术如BING或edgebox生成的建议,选择共享CNN的一组输入假设.我们将选定的假设输入共享的CNN,并将输出融合到具有交叉假设最大池操作的c维预测向量中,其中c是目标多标签数据集的类别编号.共享的CNN首先在单标签图像数据集(例如ImageNet)上进行预训练,然后基于平方损失函数对多标签图像进行微调.最后,我们对整个HCP进行了重新训练,以进一步微调多标签图像分类的参数

3.1 假设提取

  HCP将任意数量的对象段假设作为共享CNN的输入,将每个假设的预测与最大池化操作融合,得到最终的多标签预测.因此,提出的HCP的性能很大程度上取决于提取的假设的质量,然而,设计一个有效的假设提取方法是具有挑战性的,它应该满足以下标准:
  物体检测召回率高。 提议的HCP基于以下假设:输入假设可以覆盖给定多标签图像的所有单个对象,这要求很高的检测召回率
  假设的数量很少。由于给定多标签图像的所有假设都需要同时输入到共享的CNN中,假设越多,需要的计算资源就越多(如RAM和GPU),因此,一个有效的假设提取方法是选择较小的假设数.
  高计算效率。作为HCP的第一步,假设提取的效率将显著影响整个框架的性能.由于效率高,HCP可以很容易地集成到实时应用中.
  综上所述,一个好的假设生成算法应该以高效的方式生成尽可能少的假设,同时达到尽可能高的召回率.
  近年来,人们提出了许多客观建议(假设)方法,以生成一组假设来覆盖给定图像中的所有独立物体.实验中我们采用BING[9]和edgebox[44]两种建议方法进行假设生成,这两种方法具有较高的计算效率和较高的目标检测召回率.虽然BING或EdgeBoxes产生的假设数量与常见的滑动窗口范式相比非常少,但对于HCP训练来说仍然非常多.为了解决这一问题,我们提出了假设选择(hypothesis selection, HS)方法,从生成的建议中选择假设.将给定图像生成的假设边界框表示为 H = { h 1 , h 2 , . . . h n } H=\{h_1,h_2,...h_n\} H={h1,h2,...hn},其中 n n n是假设的个数,构造一个 n × n n×n n×n关联矩阵W,其中 W i j ( i , j ≤ n ) W_{ij}(i,j≤n) Wij(i,jn) h i h_i hi h j h_j hj之间的IoU分数,可以定义为:

  其实计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值,其中 ∣ ⋅ ∣ |·| 用于测量像素的个数。然后采用归一化切割算法[35]将假设包围盒分组为m个簇。如图3b所示,不同的颜色表示不同的簇。我们凭经验过滤掉那些面积较小(<900像素)或高/宽(或宽/高)比(> 4)的假设,如图3c中带有红色边框的那些假设。对于每个聚类,我们挑选出由BING或EdgeBoxes生成的预测分数最高的前1个假设,并将其调整为正方形。结果,将选择比通过提议方法直接生成的假设少得多的m个假设作为每个图像的HCP输入。

  图3所示:(a)源图像. (b) BING生成的假设包围盒。不同的颜色表示不同的簇,这些簇是归一化切割产生的。(c)由包围盒直接生成的假设.(d)提出的HS方法所产生的假设

3.2训练HCP

  在提出的HCP中,任何最新的CNN模型都可以被用作共享CNN.以Alex Net为例,它包含5个卷积层和3个全连接层,有6000万个参数.没有足够的训练图像,很难得到有效的HCP模型用于多标签分类.然而,对大规模的多标签数据集进行收集和标注通常比较困难.幸运的是,一个大型的单标签图像数据集ImageNet可以用来对共享的CNN进行参数初始化的预处理,因为每个多标签图像首先被裁剪成很多假设,根据HCP的架构假设每个假设最多只包含一个对象.
  HCP的初始化过程主要包括两个步骤:首先,用ImageNet上预先训练好的参数初始化共享CNN.其次,将网络的最终全连接层(经过1000层ImageNet分类训练)替换为 c c c路全连接层,其中c是目标多标签数据集的类别编号,并且 采用图像微调(I-FT)过程,以目标多标签图像集为输入来初始化最终的全连接层.
  初始化后,在提出的HCP框架基础上进行假设微调(H-FT).具体来说,将3.1节中针对训练图像所阐述的m个假设全部输入到共享的CNN中.为了抑制可能存在噪声的假设,采用跨假设最大池化方法,将输出融合为一个综合预测.假设 v i ( i = 1 , . . . , m ) v_i(i=1,...,m) vi(i=1,...,m)表示从共享CNN输出第i个假设向量, v i ( j ) ( j = 1 , . . . , c ) v_i^(j)(j=1,...,c) vi(j)(j=1,...,c)表示 v i v_i vi的第 j j j个组成成分.融合层的交叉假设最大池化可表示为:

  其中 v ( j ) v^{(j)} v(j)可被视为给定图像的第j类的预测值.需要指出的是,I-FT是HCP训练的重要一步.原因是,对于每个ground truth标签,在交叉假设最大池化操作后,都需要选择一个实例来表示这个类。如果没有最后一个完全连接层的合理参数,则初始链接可能不正确,这可能导致CNN模型陷入局部最优状态。此外,交叉假设最大池化是整个HCP框架对噪声鲁棒性的关键步骤。如果一个假设包含一个对象,输出向量将在第j个分量上具有较高的响应(即,较大的值),这意味着对相应的第j个类别具有较高的置信度,通过交叉假设最大池化,保留感兴趣对象对应的较大预测值,而噪声假设的预测值则被抑制。
  对于I-FT和H-FT,我们实验性地使用平方损失作为损失函数,假设多标签图像集中有N张图像, y i = [ y 1 , y 2 , . . . y i c ] y_i=[y_1,y_2,...y_{ic}] yi=[y1,y2,...yic]表示第i张图像的标签向量, y i j = 1 y_{ij}=1 yij=1如果图像被类 j j j注释,否则 y i j = 0 y_{ij}=0 yij=0。第i幅图像的地面真值概率向量定义为 p i ^ = y i / ∣ ∣ y i ∣ ∣ 1 \hat{p_i}=y_i/||y_i||_1 pi^=yi/yi1,预测概率向量为 p i = [ p i 1 , p i 2 , . . . p i c ] p_i=[p_{i1},p_{i2},...p_{ic}] pi=[pi1,pi2,...pic],然后定义要最小化的代价函数为:

  对于I-FT,最后一个全连通层随机初始化为高斯分布 G ( μ , σ ) ( μ = 0 , σ = 0.01 ) G(\mu,\sigma)(\mu=0,\sigma=0.01) G(μ,σ)(μ=0,σ=0.01),最后一个完全连通层和其他层的学习率分别被实验初始化为0.01和0.001,对于H-FT,最后一个全连通层和其他层的学习率分别设为0.001和0.0001.我们对I-FT和H-FT都进行了30次训练,每10次就将学习率降低到目前的十分之一,动量和重量衰减设为0.9和0.0005。

3.3 测试图像的多标签分类

  基于训练后的HCP模型,对给定图像的多标签分类可以总结如下:首先,基于假设提取方法生成给定图像的输入假设,然后,对于每个假设,共享的CNN可以得到一个c维预测结果,最后,利用交叉假设最大池化操作和softmax进行最终预测.如图4所示,第二行和第三行分别表示了生成的假设和共享CNN的输出.对于每一个物体假设,对应的类别上的反应都很高(例如,对于第一个假设,car上的反应非常高)。交叉假设最大池化操作,如图4最后一行所示,保留了高响应(即car、horse和person),可视为预测标签:

  图4所示:VOC 2007测试图像的HCP建议示例。第二行表示生成的假设.第三行表示输入假设的预测结果.最后一行是测试图像经过交叉假设最大池化后的预测结果

4.实验结果

4.2图像分类结果

  与I-FT进行比较。表1显示了从I-FT到HCP的改进细节.可以看出,基于所提出的HCP框架,分类性能可以进一步提高至少5.7.I-FT和HCP的结果分别基于单中心作物假设和500边盒假设进行检验.图5为基于不同模型的测试结果示例。可以看出,在给定的图像中有三个真值类别,即汽车、马、人。应该注意的是,car类别在图像微调期间不会被检测到,而它在HCP中成功恢复.这可能是因为所提出的HCP是基于假设的方法,并且前景对象(即马,人)和背景对象(即汽车)都可以同等对待。 但是,在I-FT阶段,整个图像都被视为输入,这可能会导致某些背景物体的模糊。 我们还使用500个假设测试了I-FT模型,但是这种改进非常有限.

  使用不同数量的假设进行测试的比较:表2显示了VOC 2007测试阶段假设的数量变化(从50到500)的测试结果.我们比较了基于Alex网和VGG网的BING[9]1和Edgeboxes [44].可以看出EdgeBoxes的性能比BING稍好。 此外,随着假设数量的减少,两个提议生成器的性能非常稳定(从500减少到50,仅下降1%,下降1.6%)。 因此,即使有很少的假设,我们的方法仍然可以达到令人满意的性能。 具体而言,在前50个假设下,基于VGG Net,性能为89.9%。 该结果仍然胜过(即89.3%),并且一张图片的测试可以在2秒内完成

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值