opencv 级联分类器 stage.xml 和 cascade.xml 中的值是什么意思

What is the meaning of values in stage.xml and cascade.xml for opencv cascade classifier

我试图从教程中检测到一些东西。训练完成后,创建阶段文件和级联文件。我了解该算法,但我不知道这些文件中信息的含义。

<internalNodes>
        0 -1 13569 2.8149113059043884e-003</internalNodes>
      <leafValues>
        9.8837211728096008e-002 -8.5897433757781982e-001</leafValues></_>  

<rects>
        <_>
          0 0 3 1 -1.</_>
        <_>
          1 0 1 1 3.</_></rects>
      <tilted>0</tilted></_>

这些值的含义是什么?

让我们从第一个块开始:

<internalNodes>
        0 -1 13569 2.8149113059043884e-003</internalNodes>
<leafValues>
        9.8837211728096008e-002 -8.5897433757781982e-001</leafValues></_> 

它描述了一种弱分类器。在这种情况下,它是基于树桩的,即它的最大深度等于 1 的树。0-1 它是根节点的左右子节点的索引。如果索引小于或等于零,则表明它是叶节点。请注意,要计算叶索引,您需要将其取反。下一个数字 (13569) 是 <features> 部分中的特征索引。下一个数字 (2.8149113059043884e-003) 是节点阈值。在 leafValues 部分介绍了级联树中叶子的权重。

例如,在这个弱分类器中我们需要计算13569个特征的值。接下来,将此值与阈值 (2.8149113059043884e-003) 进行比较,如果它小于该阈值,则需要添加第一个叶值 (9.8837211728096008e-002),否则需要添加第二个叶值 (-8.5897433757781982e-001) .

下一节介绍其中一个 Haar 功能:

<rects>
        <_>
          0 0 3 1 -1.</_>
        <_>
          1 0 1 1 3.</_></rects>
<tilted>0</tilted></_>

很明显是描述了矩形的参数(x,y,width,height)和矩形的权重。它也可能是倾斜的,由 <tilted>0</tilted> 标志指示。

希望对您有所帮助。