haar cascade xml文件中"left"和"right"值的含义是什么?

use*_*046 6 opencv

在OpenCV的haar级联文件中,"左"和"右"值是什么,这是如何引用"阈值"值的?谢谢!

仅供参考,这是文件的结构:

<haarcascade_frontalface_alt type_id="opencv-haar-classifier">
  <size>20 20</size>
  <stages>
    <_>
      <!-- stage 0 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>3 7 14 4 -1.</_>
                <_>3 9 14 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.0141958743333817e-003</threshold>
            <left_val>0.0337941907346249</left_val>
            <right_val>0.8378106951713562</right_val></_></_>
        <_>
Run Code Online (Sandbox Code Playgroud)

use*_*046 2

“左”和“右”是指特定形状的梯度值。这些特定形状并不具体是左矩形和右矩形。相反,它仅指特定配置的部分(如果有超过 2 个部分,有时会超过一个部分)。David Haar 论文中有一个图表可以帮助解释这一点。

这是一个 ASCII 表示(= 已填充,- 未填充):

====    ==--   =--=
====    ==--   =--=
----    ==--   =--=
----    ==--   =--=
Run Code Online (Sandbox Code Playgroud)

总的来说,命名是不好的约定。相反,它应该被命名为“渐变顶部”,“渐变底部”(2),“渐变左”,“渐变右”(2),“渐变左”,“渐变中心”,“渐变底部”(3),分别。旋转、边缘和其他形状应命名以唯一标识这些部分。