Multi-Instance Learning (MIL) 和Multi-Pose Learning (MPL)是CV的大牛Boris Babenko at UC San Diego提出来的,其思想可以用下面一幅图概况。MIL是指一个对象的学习实例可能有很多种情况,学习的时候不是用一个精确的标注对象来学习,而是用一个对象的多个实例组成的“包”来学习;而MPL是指一个对象会有多个姿态(Pose),学习的时候用一个分类器常常难以达到很好的效果,所以可以训练多个分类器来分别学习不同的Pose。其描述的都是对一个对象多种情况的同时学习和对齐的策略,也就是MIL是“adjusting training samples so they lie in correspondence”,而MPL是“separating the data into coherent groups and training separate classifiers for each”。
上图中右边为MIL的学习情况,每一行为一个对象的学习数据;左边为MPL的学习情况,每行为一个对象的不同pose学习数据,而每种颜色的框为训练的一个class。MIL被提出以后应用很广,而貌似MPL只有为数不多的引用,一篇《Multi-Cue Onboard Pedestrian Detection》应用的MPL但也没有具体的公式。MPL与传统的Boost方法的不同就是使用如下组合的y代替传统的y,其中k表示多个class,也就是有一个class识别为1,则判断结果为1。
其迭代训练的步骤也是大致相同,除了复杂度上多一个层每个yk的训练,另外相应的更新公式也不同:
之后剑桥提出Multi-Class Learning (MCL),也是训练多个class,除了不是用的max(yk)而是用的诸如下面:
Noisy-OR的概率模型,整体思想感觉和MPL是一样的。但MCL的迭代更新方法写的要明朗许多,其权重wki(k表示每个class,i表示样本)更新使用如下方法:
注意P二类模型中常用的-1~1,而是0~1,所以当某个class判断为一定不是此类的时候,此样本在下一次的训练中就会被去掉,而相应的判断为是的class中权重加大。而在具体的某一类k的class中,判断错误的样本权重会相应加大,这点又契合了传统的Boost训练方法。MCL的文章是用在数据分类上边:
效果看上去很美味~
参考文献:
[1] Boris Babenko, Piotr Doll′ar, Zhuowen Tu, Serge Belongie. Simultaneous Learning and Alignment: Multi-Instance and Multi-Pose Learning.
[2] Christian Wojek, Stefan Walk, Bernt Schiele. Multi-Cue Onboard Pedestrian Detection
[3] Tae-Kyun Kim, Roberto Cipolla. MCBoost: Multiple Classifier Boosting for Perceptual Co-clustering of Images and Visual Features
(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)
【模式识别】MPL,MIL和MCL