为Viola-jones haar cascade XML

时间:2013-08-28 12:08:25

标签: xml opencv viola-jones

<!-- tree 0 -->
-<_>
**<!-- root node -->**
-<feature>
    -<rects>
        <_>2 7 16 4 -1.</_>
        <_>2 9 16 2 2.</_>
    </rects>
    <tilted>0</tilted>
</feature>
<threshold>4.3272329494357109e-003</threshold>
<left_val>0.0383819006383419</left_val>
<right_node>1</right_node>
</_>
-<_>
    **<!-- node 1 -->**
-<feature>
    -<rects>
        <_>8 4 3 14 -1.</_>
        <_>8 11 3 7 2.</_>
    </rects>
    <tilted>0</tilted>    
</feature>
<threshold>0.0130761601030827</threshold>
<left_val>0.8965256810188294</left_val>            
<right_val>0.2629314064979553</right_val>

分别是<root node><node 1>是什么?

我认为每个弱分类器都与一个类似哈尔的特征匹配

但是当我看到这个XML代码时,有两个节点,我很困惑。

结束我没有得到right / left_node或right / left_val也意味着什么。

2 个答案:

答案 0 :(得分:0)

您可以采用不同的方式训练样本。一种方法是使“nsplits”选项小于2,其中只生成根节点,每个根节点对应一个haar特征,但如果“nsplits”大于1,则将根节点拆分为叶节点使得根节点+叶节点= nsplits值并且具有与以回归决策树形式(CART)排列的每个“节点”相关联的1个哈尔特征。

简单地回答你的问题,即使在这里,每个分类器都是一个haar功能,但是以具有多于1片叶子的desision树形式排列。对于这个特定的例子,训练是用nsplits = 2完成的。

答案 1 :(得分:0)

OpenCV代码不适用于Viola-Jones特定算法,因此XML文件具有树状结构,而Viola-Jones具有多个阶段的线性结构。简而言之,您会发现每个根节点都是一个阶段,当然内部节点是特征,而每个特征都有2或3个矩形。