论文阅读-《Ensemble of Part Detectors for Simultaneous Classification and Localization》

来源:互联网 发布:未来清单软件 编辑:程序博客网 时间:2024/05/21 19:43

arxiv 2017

1.Motivation

本文关注的是weakly supervised localization。
EPD
基本流程如上图所示,输入的是只有Image-level的标签,首先要从数据集里面提取一些initial patterns,然后利用这些initial pattern来训练detector。
这其实是一个典型的鸡和蛋的问题:我们要训练一个好的detector,就必须提供discriminative and representative的pattern,但我们要得到这些pattern,就需要我们的detector足够好。所以作者把这个问题归结为两个子问题:

1.1如何选择好的initial pattern
好的initial pattern的representative要求这个pattern经常出现在dataset里面,discriminative要求这个pattern不能出现在不是同一个category的其他图片里面。原来的方法基本采用k-means聚类,但是在高维空间里面,用欧氏距离来衡量patch之间的相似度是不合理的。

1.2如何学习泛化的detector
给定了initial pattern之后,大部分的弱监督学习方法直接训练一个SVM,或者迭代训练SVM(训练SVM<->用训练的SVM找到新的pattern进行训练)
因为一个category的pattern,因为光照,遮挡,视角等问题会有比较大的差别,同时inital pattern也存在不确定性。这种方法容易陷入局部最优,迭代寻找的新的pattern也是和原来的initial pattern差不多像。

2.Contribution

2.1相比传统的MIL方法,将每张positive image用一个instance表示,并且每张positive image的权重一样。作者提出了cls-MIL(confidence loss sparse):每个positive的图片看成member instance的sparse线性组合,同时不同的image权重不一样。

2.2提出了通过spectral clustering的方法来做pattern mining。首先初步选择一些discriminative的pattern,然后对每一个pattern训练一个exemplar-SVM,然后对这些SVM进行spectral clustering。每个类会有几个clusters,利用这些clustered detector去找到high response的pattern去进行下一步的训练

3.Framework

EPD
(a)表示输入的training images,里面的红框表示我们通过初步的selection strategy选择得到的discriminative patch。

(b)表示pattern mining的过程。对于前面(a)里面每一个patch,训练一个exemplar-SVM,然后把这些用SVM训练的detector进行spectral clustering。利用clustered detector找到grouped pattern进行model initialization

(c)表示detector optimization的过程。对于每一个clustered的detector,输入这个clusted detector找到的pattern,然后迭代优化。

(d)表示测试过程,用不同类别的clustered detector去对测试图片的instance打分,得到的score就是这张图片的representation。利用这些score可以进行classification和localization

3.1. pattern mining with spectral clustered detectors

3.1.1 discriminative patch selection:
给定一张图,首先利用edge box生成M个region proposal,然后利用CNN提取proposal的特征,整张图的特征就是proposal特征的平均池化。然后,对于某个类c,训练一个one-vs-all svm,选择这个分类器评分高的score作为这个类的初步的patch
EPD

3.1.2 detector-based clustering
patch selection步骤通过对于每个类别会产生很多的pattern,但是这些pattern之间又是很相关的,因此我们需要对这些pattern进行聚类。方法就是对于每一个pattern,训练一个exemplar svm d,然后对于所有的detector d进行谱聚类,假设得到K个聚类中心。那么x在第k个聚类中心的得分就是这个cluster的所有的detector对x评分的平均
EPD

3.1.3 entropy converage
detector-based clustering的方法产生了一些discriminative能力不一的cluster。这里的区分能力指的是这个cluster里面的detector对应的pattern要尽可能多的来自不同的图片。这样的话只需要统计一下某个cluster里面detector对应pattern的image distribution,然后计算一些熵就可以用来衡量这个cluster多样性。熵越大,这个cluster能找到的不相似的pattern就越多,这样我们就可以选择熵最大的前几个cluster detector

3.2. detector optimization with cls-MIL
前面得到的grouped detector虽然能够提供一定的localization ability,但是还是远远不够的。因此作者继续通过cls-MIL对detector进行优化
EPD
其实就是一个soft margin svm。X表示positive image(因为我们不知道哪些是positive instance),ΔX 表示X的positiveness
EPD

s(X)表示一个indicator function。实验中设置为10,因为一个positive image里面只有很少一部分(s(X))的positive instance,所以说这个是sparse的。
因为引入了两个隐变量Φ(X)Δ(X),因此上面这个问题是一个半凸的,即当这两个隐变量确定的时候是一个凸的。因此可以采用迭代优化的方法。

整体的算法流程:
EPD

阅读全文
0 0
原创粉丝点击