现在的位置: 首页 > 综合 > 正文

MIL Tracker

2017年12月12日 ⁄ 综合 ⁄ 共 1182字 ⁄ 字号 评论关闭

转载http://guoyb.com/Tech/41.html

MIL Tracker项目主页:http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml

MIL Tracker Matlab Code:http://whluo.net/matlab-code-for-mil-tracker/

      MIL,全称 Multi-Instance Learning,是机器学习领域的一种分类器设计方法。在MIL Tracker中,我们构造一组单例的概率函数(即分类器),组成一个分类器的集合,用MIL学习的方法确定使用哪几个分类器的组合最优,然后再对每一个粒子进行分类,比较类似于Adaboost算法

具体的:

1.   MIL的分类准则是这样的:不是像传统的分类器那样对于每一个实例(instance)进行分类,而是把若干个实例归到一个包(bag)里,对这样的包进行分类。分类的准则是,只要这个包里面有一个正样本实例,那么这个包就是一个正样本;只有这个包里的样本都是负样本,那么这个包才是负样本;

2.   这篇文献基于上述MIL分类准则,构造了数量化的用于判断一个包是否是正样本的判别函数P,这个判别函数是由其中的单例样本的判别函数pi构造来的:

P = 1-(1-p1)*(1-p2)*...*(1-pn)

容易验证,这样的判别函数满足上述MIL分类准则

3.   对于每一个样本分类器小p,都是boosting算法得到的H强分类器的sigmod函数(即1/(1+e^(-x))。

4.   对于boosting产生对于单例样本的强分类器H,是这么产生的:

a)    维持一个弱分类器池,里面有M个弱分类器;对于每一帧,我们都重新训练这M个弱分类器

b)    在训练这M个弱分类器的过程中,我们用bag的lable代替里面所有instance的lable(尽管这样做是不太准确的)

c)    文章中每一个弱分类器都是用一种haar-like特征向量的高斯分布来模拟的(总共设计了M个haar-like特征模板)。根据之前的若干个正样本的均值和方差构造出高斯分布,然后求新到的样本特征向量的高斯分布下的概率,来决定其lable

d)    对于每一个单例弱分类器,都可以用它求得一个bag是否是正样本的概率(用之前sigmod函数以及P的计算公式)(p_i,m),将所有的bag的(p_i,m)按照yi*log(p_i,m)+(1-yi)*log(1-p_i,m)求和起来。取使其最大的那个弱分类器。之后依次迭代,取得前K个分类器作为强分类器。注意,在这里,从第二个分类器开始,sigmod函数的自变量将变成已经得到的若干个(比如说r个)弱分类器的和与当前这个弱分类器的总和。

e)    这里用到的弱分类器(高斯分布)的均值和方差均采用在线更新的方式

抱歉!评论已关闭.