我想训练一个人脸检测数据集。
我将使用 LBP 作为弱分类器,并使用 Adaboost 将它们提升为一个强分类器。
我有正样本和负样本。它们的大小为 18x18 像素。我将每张图片分成 9 个子区域。在每个 block 中,我正在计算每个像素的 LBP 值。并计算它们在 block 中的频率。所以每个 block 有 256 个值作为频率。
我的问题是,如何在 Adaboost 中使用 LBP? Adaboost 需要一个弱分类器,但 LBP 本身无法对图像进行分类。我如何修改 Adaboost 以从每个 block 中选择最重要的值?
最佳答案
您需要将 LBP 转换为返回 bool 值的东西,或者可能是 +1/-1,或者可能是 float ,具体取决于您使用的 AdaBoost 的风格。人们通常通过将阈值应用于浮点值来实现这一点。然后就可以在AB中作为弱分类器使用了。如果更详细地描述您的 LBP 计算,我可以告诉您更多。
关于face-detection - 结合 LBP 和 Adaboost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16654027/