【问题标题】:Viola - jones adaboost method中提琴 - 琼斯 adaboost 方法
【发布时间】:2013-11-30 12:27:55
【问题描述】:

我已经阅读了有关 Viola-Jones 对象检测方法的论文,但对一些事情感到困惑。

1 - 对于 Adaboost,每一轮是否意味着我们计算所有图像中的所有 160k 特征,然后找到误差最小的特征(据我所知,这是一个“弱分类器?如果我错了,请纠正我)。如果是,那么在可能需要几个月的大量图像上训练这是否需要很长时间?如果这是正确的,还有你会运行多少轮。

2- 如果上述观点是错误的,那么是否意味着对于每个特征,我们使用一个特征评估所有非人脸和人脸图像,并将其与某个可接受的错误阈值进行比较,如果它低于此阈值可接受的阈值,然后我们将此特征作为弱分类器,然后在使用 160k 特征中的下一个特征之前更新权重。

我尝试了解此链接http://www.ece301.com/ml-doc/54-face-detect-matlab-1.html 中的 MATLAB 代码,但不确定他实现 adaboost 的方式是否正确。

如果有一个链接可以简单明了地解释 Viola-Jones 使用的 adaboost,那也会很有帮助。

【问题讨论】:

    标签: face-detection object-detection viola-jones


    【解决方案1】:

    1) 是的。如果您的参数是 5000 个正窗口和 5000 个负窗口(从您最初提供的一组负背景图像中提取),那么在每个阶段依次评估所有 10000 个窗口的每个特征,并将最好的一个添加到功能集。 是的,在 Viola-Jones 的原始论文中,每个特征都是一个弱分类器。
    检查所有功能的过程将需要很长时间,但不是几周。事实上,瓶颈是最后阶段的负面寡妇聚集,可能需要几天或几周的时间。回合数取决于给定条件的达到。每个阶段都需要多轮(通常在最后阶段更多)。所以例如:stage 1 需要 3 个 features(3 轮),stage 2 需要 5 个 features(5 轮),stage 3 需要 6 个 features(6 轮)等等。

    2) 上述观点属实,故不适用。

    【讨论】:

    • 所以这意味着你尝试了 160.000ish 的每个正面和负面的特征?
    • 是的,每一轮的过程并不像看起来那么长。
    • Thanks.yes,我浏览了 opencv 代码。再次感谢
    【解决方案2】:

    AdaBoost 在几轮中尝试多个弱分类器,在每一轮中选择最好的弱分类器,并结合最好的分类器来创建一个强分类器。

    adaboost 示例:

     Data point    Classifier 1  Classifier 2     Classifier 3
     x1             Fail           pass             fail     
     x2             Pass           fail             pass 
     x3             fail           pass             pass 
     x4             pass           fail             pass
    

    AdaBoost 可以通过逆转决策来使用始终错误的分类器。

    【讨论】:

    • 嗨,感谢您的回答,但它仍然没有澄清我关于 Adaboost 的问题。虽然它帮助我理解了级联部分,但谢谢。
    • 尝试在 Matlab 中打开 CV Viola-Jones 人脸检测。
    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多