【问题标题】:learning phase of Viola Jones / AdaBoostViola Jones / AdaBoost 的学习阶段
【发布时间】:2012-04-27 06:21:53
【问题描述】:

我在理解Viola Jones algorithm 的训练阶段时遇到问题。

据我所知,我用伪代码给出算法:

# learning phase of Viola Jones
foreach feature # these are the pattern, see figure 1, page 139
    # these features are moved over the entire 24x24 sample pictures
    foreach (x,y) so that the feature still matches the 24x24 sample picture
        # the features are scaled over the window from [(x,y) - (24,24)]
        foreach scaling of the feature
            # calc the best threshold for a single, scaled feature
            # for this, the feature is put over each sample image (all 24x24 in the paper)
            foreach positive_image
                thresh_pos[this positive image] := HaarFeatureCalc(position of the window, scaling, feature)
            foreach negative_image
                thresh_neg[this negative image] := HaarFeatureCalc(position of the window, scaling, feature)
            #### what's next?
            #### how do I use the thresholds (pos / neg)?

这是,顺便说一句,在这个 SO 问题中的框架:Viola-Jones' face detection claims 180k features

这个算法调用了 HaarFeatureCalc 函数,我想我明白了:

function: HaarFeatureCalc
    threshold := (sum of the pixel in the sample picture that are white in the feature pattern) -
        (sum of the pixel in the sample picture that are grey in the feature pattern)
    # this is calculated with the integral image, described in 2.1 of the paper
    return the threshold

到目前为止有什么错误吗?

Viola Jones 的学习阶段,主要是检测哪些特征/检测器是最具决定性的。我不明白论文中描述的 AdaBoost 是如何工作的。

问题:论文中的 AdaBoost 在伪代码中看起来如何?

【问题讨论】:

标签: algorithm image-processing machine-learning face-detection adaboost


【解决方案1】:

维奥拉·琼斯:

  • 首先您将硬编码 180k 分类器(特征)
  • 最初所有训练数据都将具有相同的权重
  • 现在每个分类器(特征)都将应用于您拥有的每个训练数据
  • 每个特征都会将您的训练数据分类为人脸或非人脸
  • 根据每个特征的分类,您将计算误差
  • 在计算每个特征的误差后,您选择误差最远离 50% 的特征,我的意思是,如果您有一个特征有 90% 的误差,而另一个特征有 20% 的误差,那么您将选择具有 90% 错误的特征并将其添加到强分类器中
  • 您将更新每个训练数据的权重
  • 现在您将重复该过程,直到使用您构建的强分类器为您的验证数据获得很好的准确性
  • AdaBoost 是一种从弱分类器中生成强分类器的技术

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 2018-06-05
    • 1970-01-01
    • 2012-04-30
    • 2017-06-13
    • 2014-06-03
    • 2013-12-12
    • 1970-01-01
    • 2016-01-20
    相关资源
    最近更新 更多