关于调整级联AdaBoost阶段阈值的一些细节

时间:2012-05-05 08:47:49

标签: algorithm artificial-intelligence machine-learning computer-vision pattern-recognition

我已经实现了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中搜索此信息,但遗憾的是我找不到任何有用的信息。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

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

例如: 说打谷是10,这些是正面训练样本的当前分类器输出:

9.5,10.5,10.2,5.4,6.7

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

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

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

答案 1 :(得分:0)

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

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

希望这有帮助!