一个主要的跟踪系统包含三个成分:1)外观模型,通过其可以估计目标的似然函数。2)运动模型,预测位置。3)搜索策略,寻找当前帧最有可能为目标的位置。MIL主要的贡献在第一条上。

  MIL与CT的不同在于后者是通过感知矩阵进行特征提取,而MIL是通过boosting框架来进行特征选择,选择出来的特征(高斯分布)作为分类器用于对采样图像块的筛选,响应最大采样帧即估计目标。

  多示例学习考虑的问题就是类别里含有大量难以去除的噪声,其将样本看成包(bag)的形式,一个bag中包含若干示例(即一个样本及其标签flag),某个示例的flag不定性较大,即其可能为正或负示例,但对于一个包含n个示例的bag,只要知道任意一个示例的flag为正就将其标志为正bag,而bag要为负,其中所有的示例都为负才行。由原文中表达式可看出,yi=maxj(yij),y=1,0分别表示正负样本,MIL有了其特有的外观模型。论文[1]中的Noisy-OR模型描述了p(y|X)与p(y|x)的关系:

p(yi|Xi)=1-prod(1-p(yi|xij))

而p(yi|xij)=sigmoid(H(x)),H表示强分类器,H=sumK(a*h),K为特征数即我们要训练后选出的有效特征数。这里h是弱分类器,其表达式为

hk=log[p(y=1|f(k)/p(y=0|f(k)]

即p(具有某一特征的采样属于正样本)/p(具有某一特征的采样属于负样本),该值越大,采样越可能为正样本。由于正负样本已知,这里假设其特征符合高斯分布。

  于是,可通过求似然函数L=sum(logp(p(yi|Xi)))来进行特征的选择:首先求出L最大时的hi,并记录下所选特征的位置(即该特征可很好的区分当前帧正负样本,从而使得采样较易标签),依次类推,文中迭代了50次,即每个样本的特征向量长度为50,减少了弱分类类性质的特征的同时也减小了运算,最终,提取出较强的特征。

PS:本文的图像块的特征是harr特征,随机选取2到4个矩阵进行计算获得一个特征值(可通过积分图进行快速计算),程序中获取了长度为250的特征向量,有效地减少特征向量长度可提升算法的性能。

  主要步骤理解为:1 获得正负样本的harr特征 2 通过MIL和boosting(提升)算法,训练正负样本,计算出使似然函数L最大的强特征 3 有了分类器,在当前帧目标附近采样大量图像块并计算出相应的特征(这里由于正负样本训练完成,强特征位置已知) 4 计算出采样样本在分类器器上的响应,响应最大的即为估计目标块。

  而CT:1 获取正负样本的所有harr特征(高维,10的6次方) 2 感知矩阵R提取特征  3 训练贝叶斯分类器,获得参数 4 采样,计算分类器响应,响应最大的即为目标块

比较MIL与CT:1 初始特征维度不一样 2 CT降维的同时较好的保留了原高维向量信息;MIL选取了分类性能较强的特征作为训练器输入 4 CT 贝叶斯分类器 ;MIL boosting提升了贝叶斯分类器的性能 4 MIL采用了自适应表观模型(在线多示例学习),对噪声有较好的鲁棒性 5 由于都含有贝叶斯分类的思想,都属于判决式跟踪范畴。

[1] Multiple Instance Boosting for Object Detection. Paul Viola.

Visual tracking with online Multiple Instance Learning.

MIL 多示例学习 特征选择的更多相关文章

  1. 多示例学习 multiple instance learning (MIL)

    多示例学习:包(bags) 和 示例 (instance). 包是由多个示例组成的,举个例子,在图像分类中,一张图片就是一个包,图片分割出的patches就是示例.在多示例学习中,包带有类别标签而示例 ...

  2. html5游戏引擎phaser官方示例学习

    首发:个人博客,更新&纠错&回复 phaser官方示例学习进行中,把官方示例调整为简明的目录结构,学习过程中加了点中文注释,代码在这里. 目前把官方的完整游戏示例看了一大半, brea ...

  3. Delphi之通过代码示例学习XML解析、StringReplace的用法(异常控制 good)

    *Delphi之通过代码示例学习XML解析.StringReplace的用法 这个程序可以用于解析任何合法的XML字符串. 首先是看一下程序的运行效果: 以解析这样一个XML的字符串为例: <? ...

  4. ApiDemos示例学习(1)——ApiDemos示例的导入

    ---恢复内容开始--- 今天准备开始写这个ApiDemos示例的学习日记了,放在网上以监督自己! 首先是导入该示例.如果我们在配置Android开发环境是,利用Android SDK 安装包中的SD ...

  5. 通过示例学习JavaScript闭包

    译者按: 在上一篇博客,我们通过实现一个计数器,了解了如何使用闭包(Closure),这篇博客将提供一些代码示例,帮助大家理解闭包. 原文: JavaScript Closures for Dummi ...

  6. Java中的for循环——通过示例学习Java编程(9)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件 ...

  7. Java中的if-else语句——通过示例学习Java编程(7)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=18 当我们需要根据一个条件执行一组语句时,我们需 ...

  8. 通过示例学习rholang(下部:课程8-13)

    课程8——状态通道和方法 保存数据 到现在为止,你已经很擅长于发送数据到元组空间和从元组空间中获取数据.但是无论你在什么时候进行计算,你有时需要把一些数据放在一边晚点才使用.几乎所有编程语言都有变量的 ...

  9. 通过示例学习PYTORCH

    注意:这是旧版本的PyTorch教程的一部分.你可以在Learn the Basics查看最新的开始目录. 该教程通过几个独立的例子较少了PyTorch的基本概念. 核心是:PyTorch提供了两个主 ...

随机推荐

  1. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  2. bzoj1724: [Usaco2006 Nov]Fence Repair 切割木板(贪心+堆)

    一开始被题目读错题= =以为每次只能割一块,那么就是从大到小切 但是其实是可以分为几堆来切的 所以可以逆着来,变为合并n个木板代价最小 易证每次找最小的两堆合并代价最小 用优先队列维护堆..偷偷懒= ...

  3. SQL Injection(SQL注入漏洞)

    审计前准备: 1.安�php程序(推荐phpStudy) 2.高亮编辑器(推荐 Sublimetext Notepad++) 3.新建一个文本,复制以下变量,这些变量是审计中需要在源码中寻找的 ### ...

  4. #20145205 《Java程序设计》第10周学习总结

    教材学习内容总结 教材学习内容总结 Java的网络编程 •网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. •java.net包中J2SE的API包含有类和接口,它们提供低 ...

  5. Python环境安装

    Windows: 1.Python安装包下载 可以去官网下载安装包:https://www.python.org/downloads/ 2.Python安装 默认安装路径:C:\python27:也可 ...

  6. hadoop意外之旅--巧合遇到一只大象

    公司面临转型,所有开发也难免面临转型,开始选择自己想要走的方向进行研究. 说来也巧合,最近正好说搭个hadoop环境玩玩,结果遇到转型还被选为大数据小组组长.(尴尬) 开始一场遇到大象之旅,希望能在这 ...

  7. PHP中GBK和UTF8乱码解决方案

    我用的appserv-win32-2.5.10做的环境,装这个包的时候用默认的utf8编码.在写数据库连接文件时,写成: $conn = mysql_connect("$host" ...

  8. Struts2 输入格式自动校验的一些注意事项

    Struts2 在配置格式校验的文件的时候,格式是XXAction-validation.xml,具体如下. 需要注意的是: field的name属性的值,必须要和jsp中表单提交的name一致.千万 ...

  9. bahuanghou111

    #include<stdio.h> int map[8][8]={0}; int count=0; int safe(int x,int y) { int i; int j; for(i= ...

  10. mysql5.6 主从同步

    主库IP:192.168.220.3 从库IP:192.168.220.4 1.主库配置编辑my.cnf: # For advice on how to change settings please ...