[英]Viola-Jones in Python with openCV, detection mouth and nose
[英]haar cascade XML for 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>
分别是什么?
我认为每个弱分类器都具有一个类似haar的特征
但是当我看到这个XML代码时,有两个节点,我很困惑。
结束我也没有得到right / left_node或right / left_val的意思。
训练样本有不同的方法。 一种方法是使“ nsplits”选项小于2,其中仅生成根节点,每个根节点对应于一个haar特征,但是如果“ nsplits”大于1,则将根节点分为叶节点这样,根节点+叶节点= nsplits值,并具有1个与以回归决策树形式(CART)排列的“节点”相关联的haar特征。
为了简短地回答您的问题,即使在这里每个分类器都是haar特征,但以具有多个叶子的目标树形式排列。 对于此特定示例,使用nsplits = 2进行训练。
OpenCV代码不是Viola-Jones特定算法的通用代码,因此XML文件具有树状结构,而Viola-Jones具有多个阶段的线性结构。 简而言之,您会发现每个根节点都是一个阶段,而内部节点当然是要素,而每个要素都有2或3个矩形。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.