4

我已经实现了 AdaBoost 序列算法,目前我正在尝试实现所谓的 Cascaded AdaBoost,基于 P. Viola 和 M. Jones 的原始论文。不幸的是,我有一些疑问,与调整一个阶段的阈值有关。正如我们在原始论文中所读到的,该过程用一句话来描述:

Decrease threshold for the ith classifier until the current
cascaded classifier has a detection rate of at least
d × Di − 1 (this also affects Fi)

我不确定主要有两点:

  • 门槛是多少?它是 0.5 * sum (alpha) 表达式值还是只有 0.5 因子?
  • 阈值的初始值应该是多少?(0.5?)
  • “降低门槛”具体是什么意思?我是否需要迭代选择新的阈值,例如 0.5、0.4、0.3?递减的步骤是什么?

我曾尝试在 Google 中搜索此信息,但不幸的是我找不到任何有用的信息。

谢谢您的帮助。

4

2 回答 2

2

我有完全相同的疑问,到目前为止还没有找到任何权威来源。但是,这是我对这个问题的最佳猜测:1. (0.5*sum(aplha)) 是阈值。2. 阈值的初始值就是上面那个。接下来,尝试使用中间强分类器(您目前拥有的)对样本进行分类。您将获得每个样本达到的分数,并且根据阈值的当前值,一些正样本将被分类为负样本等。因此,取决于此阶段所需的检测率(强分类器),降低阈值,使许多正样本得到正确分类,

例如:说脱粒。是 10,这些是正训练样本的当前分类器输出:

9.5、10.5、10.2、5.4、6.7

我想要 80% 的检测率 => 80% 以上的 5 个样本正确分类 => 4 个以上 => 将阈值设置为 6.7

显然,通过更改阈值,FP 率也会发生变化,因此更新它,如果未达到该阶段所需的 FP 率,则在该阶段使用另一个分类器。

我还没有上过关于 ada-boost 等的正式课程,但这是我基于我试图实施的一些研究论文的观察。如果有问题,请纠正我。谢谢!

于 2012-10-01T05:56:55.800 回答
0

我找到了 Karim Ayachi 的一篇关于实时人脸检测的硕士论文 ( pdf ),他在其中描述了 Viola Jones 人脸检测方法。

正如第 5.2 节(使用 AdaBoost 创建级联)中所写,我们可以将强分类器的最大阈值设置为 sum(alpha),将最小阈值设置为 0,然后使用二分搜索找到最佳阈值(参见表 5.1伪代码)。

希望这可以帮助!

于 2012-10-02T11:16:33.990 回答