MILRobust Object Tracking with Online Multiple Instance LearningWord文档下载推荐.docx
- 文档编号:8060623
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:13
- 大小:769.07KB
MILRobust Object Tracking with Online Multiple Instance LearningWord文档下载推荐.docx
《MILRobust Object Tracking with Online Multiple Instance LearningWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MILRobust Object Tracking with Online Multiple Instance LearningWord文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。
自适应外观模型的建模方式:
1、只对目标建模:
建模后在后续帧进行模板匹配(产生式方法)
2、同时对目标和背景建模:
把跟踪当成二分类问题,用目标和背景训练分类器,然后用分类器寻找目标(判别式方法)
同时对目标和背景建模,并使用判别式分类器区分前后背景,跟踪效果更好。
所以现在主要采用后者,本论文也是采用的后者
同时对目标和背景建模,在外观模型更新时如何选择正负样本(目标是正样本、背景是负样本)是一大难题,选择正负样本的方式有:
1、把当前跟踪位置作为单个正样本,在其周围采样得到若干负样本
这样做,如果跟踪器确定的位置不精确,会导致误差积累,出现漂移。
2、从当前跟踪位置附近采样得到多个正样本,在其周围采样得到若干负样本
这样做,目标模型会变得混乱(有多个正样本,不知道具体选哪个做下一帧目标位置),其判别能力会减弱,同时也会出现样本不精确导致的跟踪漂移
3、把跟踪位置的确定看作一个多示例问题(即知道目标的大概位置,但是具体位置不知道),用多示例学习解决
多示例学习的基本思想:
在训练过程中,样本不再是单个图像块,而是将多个图像块放在一个包里,整个包有一个标签。
如果包里至少有一个正例,则标记为正。
否则,标记为负。
即从当前跟踪位置附近采样得到多个样本,放在一个包里,标记为正(至少有一个正样本),在其周围采样得到若干负样本,每个负样本都单独放在一个负包里(也可以把所有负样本都放在一个负包里,结果一样。
因为负包里的样本都是负样本)
本论文就是使用了多示例学习实现目标的实时鲁棒跟踪
总结:
研究内容:
跟踪问题,即跟踪任意目标,除了知道第一帧的位置,没有其它先验信息(也叫做“model-free”tracking,即无模型跟踪)
研究目标:
提出一种更鲁棒的自适应外观模型更新方法
鲁棒表现在处理局部遮挡时不会发生严重漂移,参数调节最简化
解决方法:
多示例学习MIL+在线提升OnlineBoosting—>
在线多示例学习OnlineMIL
论文的创新点:
提出了一种在线的基于MIL的外观模型(onlineMIL-basedappearancemodel)
用多示例学习MIL和在线提升OnlineBoosting技术训练出了一个MIL分类器,从而对样本进行鲁棒分类
MIL跟踪的运动模型:
MIL跟踪的流程:
1、
由前一帧目标位置l*t-1得到当前帧目标可能位置的集合Xs,并计算相应的特征向量(使用Haar-like特征)
l(x)表示图像块x的位置,包括坐标(x,y)和尺度;
l*t-1表示第t-1帧(前一帧)的目标位置;
s为参数,度量图像块与前一帧目标位置的最大距离。
2、使用MIL分类器计算集合Xs中所有图像块的概率p(y=1|x)(图像块x中包含目标的概率)
3、选出概率最大的图像块作为当前帧的目标位置
4、得到目标位置以后,扩展样本:
扩展正样本,放在一个包里,标签为正;
扩展负样本,每个负样本单独放在一个包里,标签为负
5、用扩展后的正包和负包更新MIL外观模型
同时也可以考虑引入尺度变换参数,这样的好处是结果可以更加的准确;
坏处是增加了参数的空间维度。
可根据需求决定
MIL分类器的在线训练过程
一、多示例学习MIL
1、用传统算法训练分类器:
训练样本:
,
为单个示例(样本),
为示例标签,
用训练样本训练得到分类器H,用分类器对新样本进行分类,p(y|x)
2、用多示例学习训练分类器:
为包,里面是若干个示例,
为包的标签,
为示例标签
正包:
包中至少有一个正例
负包:
包中所有示例都是反例
包的标签与示例标签的关系:
在实际训练过程中,示例标签
是未知的。
本论文MIL分类器在线训练开始阶段,更新弱分类器要用到示例标签
(弱分类器是示例分类器,即是对示例进行分类的),是直接将包的标签复制给示例
二、在线提升OnlineBoosting
Boosting是改善学习算法准确度的一般方法,即把较弱的学习算法变成较强的学习算法。
也即将多个弱分类器h加权线性组合,得到一个强分类器H。
三、OnlineMILBoost(OMB)
OnlineMILBoost实质是通过多示例学习(MIL)在线(Online)挑选弱分类器,然后将弱分类器加权线性组合(Boost)成强分类器的过程(弱分类器的挑选是个迭代的过程,前一步的结果会影响后一步)
重点:
如何挑选弱分类器
挑选弱分类器的标准:
最优化目标函数J,即
(1)
(其中,
是前面k-1个弱分类器合成的强分类器,
是所有弱分类器的集合。
是得到的第k个弱分类器,
是对应的权重)
在本论文里,目标函数J是计算所有包都是正包的概率(然后取对数),即
(2)
所以本论文的弱分类器挑选标准是:
(3)(结合
(1)
(2)),即挑选使所有包都最可能是正包(概率最大)的弱分类器h
K次迭代挑选出来的弱分类器h加权线性组合成一个强分类器H,
即
在本论文里,权重
被融进了弱分类器,所以组合方式变为
备注:
1、目标函数
里的
表示一个包是正包的可能性,用NOR模型计算得到,即
2、为简化问题,权重
被融进了弱分类器,这样分类器的返回值不再是0或1,而是实数
3、NOR模型里的
是单个示例的概率,计算方式为
(sigmoid函数,能够把输入的连续实值压缩到0到1之间),H(x)表示用强分类器对示例x分类之后输出的结果,是实数,不是二进制0、1
4、弱分类器h总共有M个,在这M个里挑选K个,组合成一个强分类器H
5、弱分类器是用示例更新的,示例标签是直接从包的标签复制过来的。
负包里的示例都是负示例,正包里的示例可能有负示例,直接复制标签会有误差。
所以用所有包都是正包的概率作为目标函数,找出使目标函数最大的弱分类器。
训练MIL分类器的主要步骤:
从弱分类器池(M个)中挑选出K个弱分类器,进行K次循环,每次循环挑选一个弱分类器
,每次循环都执行以下步骤:
1、用
(sigmoid函数)计算每个示例的概率
2、用NOR模型
计算每个包是正包的概率
3、计算所有包都是正包的可能性
然后找出使所有包都是正包的可能性最大的弱分类器,作为当前循环的输出。
最后将挑选出来的K个弱分类器加权线性组合成一个强分类器,
(权重
被融进了弱分类器)
训练MIL分类器的完整步骤:
注释:
输入:
训练集,包含N个包(1个正包,N-1个负包)
1、用带标签的示例更新弱分类器池中的全部弱分类器(M个)
因为弱分类器是示例分类器,所以更新时需要用到示例信息,即{xij,yi}
训练集中,只有包的标签已知,示例标签不知道
论文里的做法是,将包的标签直接复制给示例
2、对所有的示例xij(第i个包中的第j个示例),初始化时Hij=0
Hij保存的是要对示例xij进行分类的分类器,实际等于前k趟挑出的弱分类器的加权线性组合(由11可以看出)
3、进行K趟循环,每趟从弱分类器池中选出一个弱分类器hk
4、每个弱分类器的选择都是从弱分类器池(M个)中挑选的
挑选标准是:
挑选使包的可能损失函数最大的弱分类器hm
5、计算示例的概率,
Hij保存的是前一趟得到的强分类器,用Hij和第m个弱分类器hm叠加以后,共同对示例xij进行分类,返回结果是示例的概率,为一个实数
6、计算第i个包是正包的可能性(每个弱分类器都会对应一个值)
7、计算所有包都是正包的可能性(每个弱分类器都会对应一个值)
9、挑选使所有包都是正包的可能性最大的弱分类器hm*
10、把hm*作为这一趟挑选的弱分类器hk
11、Hij表示对示例xij进行分类的分类器,这里是对每趟挑选出的弱分类器进行加权线性组合,这样Hij在每趟循环过后,保存的都是当前的强分类器(前面k趟挑选的弱分类器的加权线性组合)
输出:
一个强分类器(所有弱分类器的加权线性组合)
Boosting介绍:
Boosting是改善学习算法准确度的一般方法,即把较弱的学习算法变成较强的学习算法
离线Boosting:
通过训练集重复训练(可以是不同训练子集,也可以是相同训练集+不同样本权重),得到多个弱分类器h,然后把弱分类器h加权线性组合,得到强分类器H
代表算法:
AdaBoost(adaptiveBoosting)algorithm
为每个训练样本赋予一个权值,每轮迭代中会在训练集上产生一个新的分类器,用分类器对各个样本进行分类,若分类正确,则降低其权值;
若分类错误,则提高其权值。
权值越高的样本在下一次训练中所占的比重越大,也就是说越难区分的样本在训练过程中会变得越来越重要。
最后将得到的多个弱分类器h加权线性组合,得到强分类器H。
离线Boosting用所有样本训练出一个弱分类器,所以训练集必须事先得到。
这也限制了它的使用范围,为了应用在实时跟踪上,提出了在线Boosting
在线Boosting:
1、在线更新弱分类器(有很多在线学习方法能做的)
2、弱分类器的权重是根据其估计误差直接计算得到的
3、在线更新样本权重(难点!
)
在线Boosting用一个样本来更新所有的弱分类器和相应的权重
OnlineAdaBoost
执行过程:
首先随机初始化N个选择器,每个选择器里包含M个特征,即M个弱分类器
当一个新的训练样本进来时,依次更新所有选择器,每个选择器里面包含固定数目的弱分类器。
更新每个选择器时,用在线学习算法更新里面所有的弱分类器,并更新对应的估计误差,将估计误差最小的分类器挑出来作为当前选择器的输出。
再根据分类器估计误差计算相应的分类器权重和样本权重,处理下一个选择器时,样本权重会传递过去,直到所有选择器更新完为止。
最后所有选择器挑选的弱分类器进行加权线性组合,得到一个强分类器
算法时间复杂度和空间复杂度都是O(M*N)
计算时间主要消耗在更新弱分类器和计算特征值上
选用的特征:
标准Haar-like特征、方向直方图(16位)、局部二值模式LBP(4-th
neighborhood)(方向直方图和局部二值模式都是基于直方图的特征)
数据结构:
积分图、积分直方图
特征值的计算已经十分高效,而弱分类器的更新依赖学习算法,
所以要想提速,可以试着减少要更新的弱分类器个数
改进措施:
使N个选择器共用一个特征池,整体性能只减弱了一点,速度提升很多
(使N个选择器里的特征都一样,即共用一个特征池,这样所有弱分类器只用更新一次,然后选择器依次根据样本权重λ选择最好的特征,样本权重会逐步传递到下一个选择器。
整个过程一直重复,直到所有选择器都选最好的特征,最后得到一个强分类器)
离线Boosting和在线Boosting的区别与联系:
联系:
当迭代次数趋于无穷时,离线Boosting和在线Boosting训练得到的分类器会一致
区别:
离线Boosting用所有样本训练出一个弱分类器,所以训练集必须事先得到
在每轮训练中得到一个新的弱分类器,再用新的弱分类器更新样本权重,然后再训练新的分类器,直到错误率足够小或达到一定次数为止
在线Boosting用一个样本来更新所有的弱分类器和相应的权重,所以弱分类器的数目要事先固定(这限制了分类器整体的判别能力,弱分类器越多,整体判别能力越强)
它们最大的区别是:
on-line只用了一个训练样本,off-line用了整个训练集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MILRobust Object Tracking with Online Multiple Instance Learning
链接地址:https://www.bingdoc.com/p-8060623.html