Object Detection with Discriminatively Trained Part Based Models
P. Felzenszwalb, R. Girshick, D. McAllester, D. Ramanan
Object Detection with Discriminatively Trained Part Based Models
IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 32, No. 9, Sep. 2010
读本文,不是因为DPM,而是因为训练SVM的hard negative mining。本文分别介绍了,针对SVM的hard negative mining和针对latent svm的hard negative mining,在训练SVM分类器时,如何选择负样本呢?作者提出负样本的选择应该选择那些分错的负样本,也就是在SVM的margin边上的样本不要,很容易就分对的负样本也不要,要的是那些具有区分能力,但是又分错的。在SVM训练过程中,每次训练时,均对样本进行划分,easy容易分的负样本E,hard难分的负样本H,每个训练过程开始前,先对训练样本做一些清洗,将E样本从负样本中移除,如果有必要,将H样本添加进来。而那些就在margin上的样本,而在margin上的样本,不算E也不算H,整体就是通过选择难区分的样本,不断优化SVM,对普通SVM和LSVM的区别是,损失函数不同,样本选择思路是一样的。样本选择过程如下,
Let C1 D be an initial cache of examples. The
algorithm repeatedly trains a model and updates the
cache as follows:
1) Let t := (Ct) (train a model using Ct).
2) If H(t;D) Ct stop and return t.
3) Let C0t := CtnX for any X such that X E(t;Ct)
(shrink the cache).
4) Let Ct+1 := C0t [X for any X such that X D and X \ H(t;D)nCt 6= ; (grow the cache).
SVM的负样本选择,在R-CNN里也是同样的思路。PS.听shuicheng yan的报告,他们也是用同样的方式进行SVM训练的。
未完待续……
最新文章
- KMP模式匹配练习题
- Quartz任务调度快速入门(转)
- mysql学习笔记3
- 文件上传 PHP
- win7远程连接ubuntu14.04.1桌面
- Bash的命令替换
- idea配置svn
- Python的Django框架完成一个完整的论坛(源码以及思路)
- (译文)JavaScript基础——JavaScript中的深拷贝
- 百度 Javascript开发 API
- 2018-2019-2 20165235 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
- sqlmap学习笔记
- 【 HDU 4936 】Rainbow Island (hash + 高斯消元)
- git status的用法
- python基础学习2
- Redux入门学习
- 聊聊Javascript中的AOP编程
- 华为云分布式缓存服务DCS与开源服务差异对比
- 用C++/CLI搭建C++和C#之间的桥梁(三)—— 基本类型
- 工作好搭档(三):慧想 S100 液晶显示器支架