我已经实现了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)
我不确定主要有两件事:
我试图在Google中搜索此信息,但遗憾的是我找不到任何有用的信息。
感谢您的帮助。
答案 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为伪代码。
希望这有帮助!