您的位置:首页 > 移动开发 > Objective-C

[论文笔记4]Robust Object Detection via soft cascade

2015-11-04 15:05 381 查看
the trade-off between accuracy and speed

1.降低计算量的一个常用方式是把分类器拆分成一个线性序列,cascade,其中每个次分类器,叫做stage,是二分类器,被训练来拒绝明显不是脸的部分,并且使的几乎所有的脸通过下一个stage.每个连续的stage基于之前stage通过的非脸部分来训练.复杂度降低通过早期比较容易拒绝掉大多数非脸来体现

2.cascade的历史

Feraud's 4 stage: 包括motion filter,color filter,a neural network and a pca -based classifier

Heisele coarse to fine SVM-based classifier

Li three level cascade with Haar-like features for a multi-view face detection

VJ a cascade-based face detector with stages consisting of fast Harr-like block filters.

3.不足:

A:cascade基本上都是:一旦进入下一个stage后,之前的信息都丢弃了.分类器评价一个样本不会基于它在之前stage的表现----这样的分类器太脆弱

B:训练每个独立stage时,一个正样本必须通过所有的stage,意味着最终检测率是所有stage检测率的乘积.阶段多了就不work

C:training parameters,如target detection ,FPR,无法在给定的detection problem上快速做出speed/accuracy的trade-off,必须要retrain,time consuming

D:找不到理想的参数:num of stage,ordering,每个阶段的target detection rate and FPR都会影响在给定准确率下的速度

D与,boosting chain 一样的 cons:为了降低FPR,必须要训练一个新的stage,不可逆转地降低了检测率

4.作者在这里提出soft cascade由两部分组成:

A:每个stage的decision fun不是二值而是标量值(scalar-valued)的 ,且与该样本有多"容易"通过这个stage以及在这个stage的相对重要性成比例.

B:生成的decision fun,是需要通过之前每个阶段的值而不单单是本阶段,来判定

5.boostrapping 是一个获取有代表性非人脸区域(hard negative)的方法

6.算法soft cascade stage training

A:局部subset而非全局地寻找错误最小的特征,

B:adaboost...寻找弱分类器使得训练样本加权误差最小.

C:boostrap non-faces,一次增加K个分类器分错的负样本,由于要保持正负样本的相对权重的分布,所以加入负样本后,update:a<-a/(a+K)

K太大,adaboost捕捉不到,服样本上错误率依然高,K太小,则获得好的FPR需要太多的弱分类器

策略:每一步都调整K使得错误率保持在boostrapped non-faces constant 之上 ??

D:因为引入了负样本改变了我们的问题(change the terms of the problem as we go along),原来adaboost认为当前步骤的最优的特征现在也许只是次优,需要移除.

第四步常用方法是:FloatBoost,然而我们没有采用:a:上千特征时,性能问题b:如前文所说,问题(某个特征是否是最优)一直在改变.

简化策略:移除那些使得错误绿降低的特征

7.soft cascade calibration

快速trade-off

根据目标检测率和目标执行时间来得到soft cascade的使得FPR最小的近似最优参数.

quickly calibrate if for a given point in ROC surface
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: