Min-Entropy Latent Model for Weakly Supervised Object Detection是fang wan在CVPR2018和IEEE TPAMI发表的文章,两篇文章在表述上略有不同,本文对IEEE TPAMI那篇文章进行一个翻译,以及会做一些注释(主要说说自己的理解,自己不懂的地方等),翻译用黑色,注释用红色,另外有些原文表述用的英文单词会用蓝色字体标出。
最小熵隐变量模型的弱监督目标检测
摘要:弱监督对象检测是一项具有挑战性的任务,因为弱监督只提供了图像类别监督,但同时还需要学习对象位置 locations 和对象检测器 detectors。弱监督和学习目标之间的不一致导致了目标位置有很大的随机性 randomness ,也会使检测器具有模糊性。提出了一种用于弱监督目标检测的最小熵潜伏模型(MELM)。最小熵作为学习目标位置的模型和度量学习过程中目标定位的随机性的指标。它的主要目的是减少学习实例的方差,减轻检测器的模糊性。MELM被分解为三个部分,包括建议分团 proposal clique partition、发现目标团object clique discovery和目标定位object clique discovery。采用循环recurrent学习算法对MELM进行优化,该算法利用连续优化来解决具有挑战性的非凸性问题。实验表明,与现有的最优方法相比,MELM方法在弱监督目标检测、弱监督目标定位和图像分类等方面的性能都有了显著提高。
关键词:弱监督学习,目标检测,最小熵隐变量模型,循环学习
近年来,弱监督目标检测取得了很大的进展。这是因为具有精确标注信息的数据集越来越多,而深度神经网络可以从这些信息中学到更多的特征。然而,为大型数据集中的每个对象注释一个边界框是费力的、昂贵的,甚至是不切实际的。这也与认知学习不一致,认知学习只要求场景中存在或不存在一类对象,而不需要知道所有对象的精确位置的边界框。
弱监督学习(WSL)是指利用带有不完全标注的训练数据学习识别模型的方法。弱监督目标检测(WSOD)只需要图像级的标注来指示图像中是否存在一类对象,就可以学习检测器[8]-[29]。它可以直接利用从互联网搜索出的带某一类标签的图像来训练模型。
为了解决弱监督目标检测的问题,现有的方法通常采用隐变量学习或多实例学习(MIL),使用冗余的目标建议作为输入。学习目标是在每幅图像的冗余目标建议中选择一个真实的实例,使图像分类损失最小化。由于objectlevel注释的不可用性,WSOD方法需要从冗余建议中收集实例,以及学习破坏各种对象外观的检测器。它通常需要求解非凸模型,因此受到t的挑战
本文基于经典热力学原理,提出了一个基于clique的最小熵隐变量模型来收集具有最小随机性的实例:熵的最小化使得系统的随机性最小。最小熵作为学习目标位置的模型和度量学习过程中目标定位的随机性的指标。MELM归纳为三个组成部分:(1)通过 clique partition module收集实例(对象和对象部分);(2)基于全局最小熵模型的Object clique discovery;(3)基于局部最小熵模型的Object localization。
clique被定义为一组与空间相关的object proposals,每个clique空间相关(其中的proposal互相重叠)、类别相关(具有相似的object类别得分)。
引入 proposal cliques 可以减少区域建议的冗余度,优化最小熵模型。通过clique partition模块和最小熵模型,我们可以以最小的随机性收集实例,激活真正的对象范围 true object extent,并抑制只含有object部分区域的proposalsuppress object parts。
将MELM部署在在深度卷积神经网络的顶层,(也就是第7层的全连接层后)包括一个 clique partition module 和 两个网络分支object clique discovery 、object localization。在全局最小熵模型和局部最小熵模型的基础上,采用一种recurrent策略,只利用image-level 监督训练检测器,追寻真实目标范围。这是基于深度网络中图像分类任务和目标检测任务高度相关的先验,使得MELM可以循环地传递弱监督,即图像分类注释image category annotations,来定位目标。
MELM首先在我们的CVPR论文[31]中提出,并在这个完整的版本中得到了理论和实验上的推广。本文的贡献包括:(1)采用深度神经网络结合最小熵隐变量模型以便更有效地discover instance并且最小化学习过程中的定位随机性;(2)采用一个“Clique Partition Module”更好地检测物体(instance collection)、检测出物体的更多的部分(object extent activation),并抑制只含有object部分区域的proposal(suppress object parts)。(3)用一个“Recurrent Learning”的算法分别将图像分类和目标检测看做一个“predictor”(预测器)和一个“corrector”(矫正器),并且利用延拓优化(Continuation Optimization)的方法解决非凸优化问题。(4)在PASCAL VOC数据集上取得了state-of-the-art的分类、定位和检测性能。
在弱监督学习中,监督(图像级标注image-level annotation)与目标(对象级分类器object-level classifier)之间的不一致给目标定位带来了很大的随机性,而检测器则存在较大的模糊性。我们的目标是减少这种随机性,以便于收集实例。为此,我们分析了造成这种随机性的两个因素:proposal冗余和位置不确定性。(1)已知WSOD模型的目标函数一般为非凸的,具有许多局部极小值。冗余proposal引入了更多的局部极小值和更大的搜索空间,从而降低了搜索量。(2)由于对象位置不确定,学习到的实例可能会只是目标的部分区域,即局部最小值。
为了减少proposal的冗余,我们首先将冗余的对象proposal划分成cliques,收集那些空间相关(其中的proposal互相重叠)和类别相关(具有相似的object类别得分)的实例。为了最小化定位的随机性,设计了一个反映类和空间分布的全局最小熵模型。通过优化全局最小熵模型,发现了包含目标和目标部分区域的有区别的cliques,如图2所示,并且抑制了缺乏鉴别信息的cliques。所发现的cliques用于激活真正的目标内容。
为了从发现的cliques中定位目标,定义了局部最小熵隐模型。通过优化局部最小熵模型,对pseudo-objects(字面上是伪目标,而真实意思是,经过通过全局最小熵模型,会选出一个得分最高的,来作为这个目标的位置标签,也就是选一个proposal当作ground-truth来用)进行估计,而与pseudo-objects的空间相邻的那些proposal邻居被估计为 hard negatives(就是比较难分的样本,可以叫做难样本,比如目标的一部分得分也较高,但这其实并不是我们要找的最终目标,所以可以将这些得分较高的当做所谓的Hard negative,将这些样本加入到负样本集合中,加强分类器判别假阳性的能力,可以减少误报)。在最小熵原理下估计的pseudo-objects和hard negatives,使得学习过程中的随机性最小化,进一步提高了目标定位的性能,如图2所示。MELM被部署为一个clique分区模块和两个涉及对象clique发现和对象定位的网络分支,如图4所示。在学习过程中,利用clique partition模块对目标函数进行平滑处理,并利用连续优化方法求解具有挑战性的非凸性问题。
代表一幅图像,
代表x这个图像里是否包含一个目标,
表示图像中至少有一个positive class(positive image),
代表这幅图像里没有目标(negative image)。
表示 object proposal (位置),是一个隐变量。
表示 一幅图片中所有的object proposals ,也就是解空间。
表示proposal clique,是
的一个子集。
表示网络参数。最小熵隐模型(MELM) 是用来学习目标的位置
对象位置和网络参数
的,可定义为
代表全局和局部的熵模型,分别被用作object clique discovery和 object localization,如图4.
是正则化权重。
是根据
分别定义的损失函数。
给定image-level标签,也就是说,给定一张图片中存在和不存在的目标类别,MELM的学习目标是找到一种解决方案,通过最小化图像分类损失和定位随机性,来使目标实例与有噪声的目标 proposals 分离。为此,MELM被分解为三个部分,包括clique partition、 object clique discovery和 object localization.
定位的随机性通常发生在得分高的 high-scored proposals中,我们根据经验选择了一组高分(前200)个proposals去构造cliques.
,
是 proposal cliques的数量(划分clique的过程相当于一个聚类的过程)。为了划分cliques,会根据proposals的目标分数进行排序,然后根据以下两个步骤迭代进行:(1)选择一个得分最高的但是还未属于任何一个clique的proposal组成一个新的clique(2)将与待观察的clique中的任何一个proposal的overlap超过一定阈值
的proposals放入待观察的clique里面去。
在训练过程中,要求这些cliques以最小的随机性进化。同时,还需要发现那些包含目标和目标部分区域的有区别的cliques。这些cliques可以通过激活真正的目标部分来微调网络参数。为此,定义了一个全局最小熵模型:
可以用来计算一个clique中proposal的数量。
是 object clique discovery分支中的最后一个FC层输出的proposals的分数。为了确保被发现的cliques能够最好地从negative图像中区分出positive images,我们进一步引进一个与分类相关的权重
。基于proposals的目标类别概率与其图像类别概率相关的知识,可定义全局最小熵为
公式5出自Acz´el and Dar´oczy (AD) entropy ,(可参考这两个作者的论文),是可推导的。从公式6可以看出当时,
与clique中positive class的目标分数得分正相关,而与其他类的分数是负相关的。
利用上述定义,我们在网络顶部实现了一个 object clique discovery分支,如图4所示,并定义了一个学习网络参数的损失函数,如
对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)或交叉熵损失(cross-entropy Loss), 是在概率估计上定义的.它常用于(multi-nominal, 多项)逻辑斯谛回归和神经网络,以及一些期望极大算法的变体. 可用于评估分类器的概率输出.
对于二分类问题,设y∈{0,1}y∈{0,1}且p=Pr(y=1),则对每个样本的对数损失为:
Llog(y,p)=−logPr(y|p)=−(ylog(p)+(1−y)log(1−p))
对于positive images,,第二项为零,只有全局最小熵项优化。对于 negative images,
第一项为零,第二项(图像分类损失)优化。(从公式来看y=0时,loss的目标也是让p最小,为什么是最小呢,因为p代表一个proposal是某个类的概率,而不是当y=0时,p就代表它不是某个类的概率了)
由全局最小熵模型发现的cliques可以使object localization的有个良好初始化,但同时也包含了随机的误报,例如目标的部分区域和/或一些带有背景的部分的局部目标。这是由于object clique discovery的学习目标所导致的,该学习目标选择proposals来区分积极的图像和消极的图像,而没有考虑如何精确地定位对象。