读Robust Object Detection Via Soft Cascade 小结

本文探讨了传统Cascade方法的不足,如依赖于特定阶段的特征得分和参数调优困难。Soft Cascade通过累加得分改进了这一问题,使得每个阶段的判断与前一阶段相关,减少了误检率。算法伪代码展示了如何累加特征得分来决定样本分类。此外,文中指出在训练初期可以从部分特征中选择弱分类器,以提高效率。
摘要由CSDN通过智能技术生成
  • 看到文章是将softcascade的,因此大致读了一下,文章开始讲到以前的cascade(是不是就是opencv以前的traincascade方法?)方法的缺点,主要由以下几点:
  •   本阶的判断至于本阶的特征得分门限值有关,与之前的阶数无关,这样的检测器是脆弱的,而且浪费了之前判断计算出来的特征得分;
  • 最终检测器的检测率是每一阶分类器检测率的乘积,如果最后要达到90%的检测率以及10的-6次方的误检率,那么如果分类器有十阶,则每一阶需要保留99%的正样本,而且消除25%的负样本,这对于一开始的几阶可能容易达到,但是对于后面的阶数很难,而且会很耗时;
  • 训练参数的设置必须通过不断地训练来寻求最好的训练参数,但是每次训练都很耗时(我个人觉得这一点是因为文章之后提出了ROC曲面来解决问题,但是如果不用这个曲面的话,softcascade也需要通过多次实验来找参数)
  • 对于参数的选择没有一个明确的方法?关于阶数,顺序,目标检测率,误检率等,这些都会影响检测速率,在保证检测率的前提下,没有方法来设置这些参数来达到最佳的检测速率(这一点貌似也是因为文章后来提到了ROC surface解决,所以才说这是之前cascade的缺点)
  • 为了减小误检率,必须通过增加新的阶数来达到,但是这样的话不可避免的会降低检测率;
  • 传统的cascade方法在正样本变化比较大的时候不适合(意思是类内间距太大的时候不适合?)

  •   Within this context, the conventional cascade structure requires finding the smallest t and threshold rt such that the fraction of faces with trace values greater than rt is greater than the target detection rate and the fraction of non-faces with trace values greater than rt is less than the target false positive rate. New weak learners are trained until such conditions are met. The cumulative sum for a given instance is only computed to determine if it exceeds rt and is thereafter discarded.

传统的分类器为了达到两个指数(正确率和误检率)需要不断训练新的阶。

  • figure3是softcascade的样本判定过程。


  • 下面表示softcascade判定样本是否为正样本的伪码:

bool sampleIsFace(x)
d ← 0
for t = 1. . . T
d ← d + ct(x)
if d < rt return false
return true

从这个过程可以看出,他与之前的adaboost区别就是样本的得分是累加的,这一阶的判定结果不仅仅跟这一阶的得分有关。

  • 提到了每一阶训练的时候加入分错的负样本,而且加入的负样本数每一阶都有所调整。这个地方一直不大明白,看程序也没看到哪个地方加负样本了。
  • 文中还提到开始训练的时候,不需要从所有的特征中找一个错误率最小的,只需要从一部分特征中找就行,而且事实证明这样找到的特征很接近所有特征中找出来的那个。。。。这一点不知道对不对。。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值