【问题标题】:Extracting features using MB-LBP for multi-view face detection使用MB-LBP提取特征进行多视图人脸检测
【发布时间】:2015-02-07 03:23:52
【问题描述】:

我正在从事多视图人脸检测。我在开发人脸检测方面有两个步骤,

(1)决策树决定运行哪个分类器并

(2) 运行一个选定的分类器来检测人脸的特定方向。

我有 9 个使用 Ada-boost 算法训练的分类器,用于 9 个面部视图。

现在我的问题是用 MB-LBP(多尺度块局部二进制模式)特征训练决策树。 我为不同的 x、y 位置和不同的矩形大小选择了 100 个矩形。 我喜欢使用那些矩形来使用 MB-LBP 提取特征。 我知道如果我们使用 MB-LBP 概念,我们可以为一个矩形添加一个 0-255 的标签。在 OpenCV 中,它被实现为(在第 217 行,cascadedetect.hpp)

inline int Feature :: calc( int _offset ) const
{
    int cval = CALC_SUM_(p[5], p[6], p[9], p[10], _offset);
    return (CALC_SUM_( p[0], p[1], p[4], p[5], _offset ) >= cval ? 128 : 0) |   // 0
           (CALC_SUM_( p[1], p[2], p[5], p[6], _offset ) >= cval ? 64 : 0) |    // 1
           (CALC_SUM_( p[2], p[3], p[6], p[7], _offset ) >= cval ? 32 : 0) |    // 2
           (CALC_SUM_( p[6], p[7], p[10], p[11], _offset ) >= cval ? 16 : 0) |  // 5
           (CALC_SUM_( p[10], p[11], p[14], p[15], _offset ) >= cval ? 8 : 0)|  // 8
           (CALC_SUM_( p[9], p[10], p[13], p[14], _offset ) >= cval ? 4 : 0)|   // 7
           (CALC_SUM_( p[8], p[9], p[12], p[13], _offset ) >= cval ? 2 : 0)|    // 6
           (CALC_SUM_( p[4], p[5], p[8], p[9], _offset ) >= cval ? 1 : 0);
}

此代码可以提取标签。从那里,我无法弄清楚如何继续为每个矩形获取有意义的特征。 我在 CascadeTraining 检查了 OpenCV 的代码。这真的很复杂。我可以知道如何使用 MB-LBP 生成有用的功能吗? 谢谢

【问题讨论】:

    标签: opencv face-detection feature-detection feature-extraction


    【解决方案1】:

    看了this paperthis paper后,明白我可以直接使用MB-LBP功能。如果我们使用 MB-LBP 特征,对于每个矩形,我们可以有 0~255 之间的值。这些值是特征,可用于识别图像。在级联分类器中,强分类器的每一步都是弱分类器的总和。每个弱分类器都是从这些 MB-LBP 特征中衍生出来的,它是如何衍生出来的,我们可以向this paper 学习。 谢谢

    【讨论】:

      猜你喜欢
      • 2013-08-21
      • 2013-12-02
      • 2016-01-24
      • 2017-08-08
      • 2011-06-22
      • 2012-04-04
      • 2015-08-12
      • 1970-01-01
      • 2016-07-16
      相关资源
      最近更新 更多