TLD之detector

     本文会介绍tld中随机森林的创建方法及随机森林的一些基本概念。

    首先需要知道的是在tld中的随机森林是用于目标检测分类器,它能够在线更新和预测,撇开它的p-n学习的外套,我们来看它的本质,他就是一个改进的adaboost。

   看一下随机森林的概念,随机森林包含很多决策树,每个决策树用特征中的某一组特征建立,这组特征的每个特征代表了决策树某一水平的量度。所以随机森林分类的过程就是对于每个随机产生的决策树分类器,输入特征向量,森林中每棵树对样本进行分类,根据每个树的权重得到最后的分类结果。所有的树训练都是使用同样的参数,但是训练集是不同的,分类器的错误估计采用的是oobout of bag)的办法 。至于决策树我们都很清楚。那么为什么要用很多决策树来创建随机森林哪?一个很浅显的道理--团结就是力量,评价一个人是好人还是坏人,你多采访一些人总比一个人的独断要客观准确点吧。专业一点说,rf比decision tree在保持了高效性的同时,不会有dt的过拟合问题,相比svm来说识别率要高,特别是多目标识别的场合。

下面这个图就是rf在目标检测方面的示意图:

TLD之detector_第1张图片

可以这样需要通过训练建立判别模型,就要有训练数据,要明确标记好这些数据那些是目标的那些是背景的。训练数据的获得是这样的

首先利用有放回的抽样从原始训练样本集中抽取 个样本集,且每个样本的样本容量都与原始训练集一样;其次对抽样的 个样本集分别建立其对应的决策树模型,得到 种分类;利用者k个样本训练k颗决策树,根据这种分类对每个测试样本进行投票表决决定其最终分类这只是一个大概,你要选择什么特征,什么样的目标元素积极决策树的分裂方法就靠你自己了。

  具体到tld的rf,我门来看一下:在第一帧的时候,你用鼠标选定目标,正样本来自于跟踪框内的patch,负样本从框外选,当然,正样本可以warp一下,这个warp就是几何变换,I'=A*I*θ(公式不好打);经过训练后找到每棵树相应的节点函数和阈值,这个节点函数和阈值就是我们所谓的判别参数,是处理未知样本的依据。如果你选取的决策属性是最大信息增益,那么训练得到的判别参数在对测试样本分类后,就能保证信息增益最大化,这样你获得的样本的确定性就很大。这是目标选取的过程,先写这么多吧。如果你单纯的使用rf对目标某一类别进行分割就更简单了,上面的表述就可以说明,只不过训练样本方面,某一类别的分割样本更广阔一些。



今天就写到这,最后分享给大家一个xue编程的网站,斯坦福大学的课程,还不错:http://v.163.com/movie/2008/7/B/O/M6SIM7VT5_M6SIR3IBO.html

你可能感兴趣的:(TLD之detector)