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相关推荐

  1. 【模式识别】MPL,MIL和MCL

    Multi-Instance Learning (MIL) 和Multi-Pose Learning (MPL)是CV的大牛Boris Babenko at UC San Diego提出来的.其思想能 ...

  2. Udacity机器人软件工程师课程笔记(三十三) - 蒙特卡洛定位算法(MCL)

    一.概述 之前的文章介绍过卡尔曼滤波算法进行定位,我们知道kalman算法适合用于线性的高斯分布的状态环境中,我们也介绍了EKF,来解决在非高斯和非线性环境下的机器人定位算法.但是他们在现实应用中存在 ...

  3. 自动驾驶测试:MIL、SIL、PIL、HIL

    1. 基于模型的设计 基于模型的设计方法(MBD,Model Based Design)采用图形化设计和自动化代码生成,不同于基于手工编程和纸上规范的传统编程方法,具有如下优点: 在统一的开发测试平台 ...

  4. 模式识别 - 处理多演示样例学习(MIL)特征(matlab)

    处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...

  5. 机器人学习--粒子滤波/MCL定位的理论基础(先验知识)

    跨学科(未学过数理统计和滤波等课程)的研究人员看懂粒子滤波或MCL定位的理论 2019年剑桥大学一名教授 Simon Godsill 发表了一篇论文: Godsill S. Particle filt ...

  6. 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验

    学习材料1: <概率机器人学> 谷歌无人驾驶之父 Sebastian Thrun等人著作. 注释: 可能是本人智商有限,或者是移动机器人学领域的基础知识了解不多. 刚刚看这本书的时候,尤其 ...

  7. boost::mpl::times相关的测试程序

    boost::mpl::times相关的测试程序 实现功能 C++实现代码 实现功能 boost::mpl::times相关的测试程序 C++实现代码 #define BOOST_RATIO_EXTE ...

  8. boost::mpl::sign相关的测试程序

    boost::mpl::sign相关的测试程序 实现功能 C++实现代码 实现功能 boost::mpl::sign相关的测试程序 C++实现代码 #define BOOST_RATIO_EXTENS ...

  9. boost::mpl::plus相关的测试程序

    boost::mpl::plus相关的测试程序 实现功能 C++实现代码 实现功能 boost::mpl::plus相关的测试程序 C++实现代码 #define BOOST_RATIO_EXTENS ...

最新文章

  1. 硬币游戏 (博弈入门)
  2. VTK修炼之道53:图形基本操作进阶_多分辨率策略(模型细化的三种方法)
  3. linux 播放器系统,在Linux上安装和使用开源视频播放器MPlayer
  4. hdu1501Zipper(记忆化搜索)
  5. Memcache 和 Radis 比较
  6. iMazing与iTunes 两款iOS设备管理器区别 在备份操作上的对比
  7. 大神教你轻松驾驭Tomcat
  8. Ubuntu操作系统的学习,新手上路
  9. 【Unity】Unity3D RPG游戏制作实例(二)开发思路及概要设计
  10. 51 ADC0809八路NTC温度采集系统(代码+仿真,OLED SPI)
  11. 兄弟连php课程,LAMP兄弟连PHP课程学习笔记 第一天 PHP基本语法
  12. php 路由修改密码,TPLINK路由器如何修改管理密码和无线密码)
  13. 用elasticsearch和nuxtjs搭建bt搜索引擎
  14. 用友通新建账套显示不能登入到服务器,用友通打不开,出现登录失败
  15. legacy引导gpt分区_uefi和legacy哪个好?UEFI+GPT与Legacy+MBR的不同之处
  16. java哪几种运算符_java运算符有哪些
  17. 移动机器人学(二)四元数
  18. chrom如何兼容本地file文件
  19. esp32 Micropython bluetooth手机蓝牙控制板子自带灯熄灭
  20. 自动驾驶软件开发人才现状_曝马斯克不满特斯拉自动驾驶开发 10%软件开发人员离职...

热门文章

  1. 卷积神经网络(CNN)在无人驾驶中的应用
  2. 2014年应该学习的十种编程语言
  3. BAT也无法自我突破的战略困境解读
  4. 实战并发编程 - 10Guarded Suspension模式在BlockingQueue源码中应用
  5. jvm性能调优实战 -60 线上系统的JVM参数优化、GC问题定位排查、OOM分析解决
  6. RocketMQ:Producer启动流程与消息发送源码分析
  7. docker安装ActiveMQ
  8. 水鱼 学习回顾 <1>
  9. python 语音识别 windows_window下安装CMUSphinx实现语音识别(python+SpeechRecognition+PocketSphinx)...
  10. access设计视图打不开_定制橱柜衣柜怎么测量才能避免出错?(设计师必看)