2016-01-20 31 views
2

我试图从教程中检测到某些东西。培训结束后,创建阶段文件和级联文件。我有关于算法的知识,但我不知道这些文件中的信息的含义。对于opencv级联分类器,stage.xml和cascade.xml中的值的含义是什么

<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></_> 

这些是什么值的含义?

回答

3

让我们先从第一个块:

<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) 。

enter image description here

接着介绍哈尔特征之一:

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

它明显描述矩形(X,Y,宽度,高度)和矩形的重量的参数。它也可能是倾斜的,表示由<tilted>0</tilted>标志。

我希望这会有所帮助。

+0

是否有任何compresensive教程或书籍解释所有这些计算和算法? – Gokhan

+0

@Gokhan不知道是否存在。我只是探讨[此代码](https://github.com/akarsakov/opencv/blob/master/modules/objdetect/src/cascadedetect.cpp#L1396)了解它。 – akarsakov

+0

仍然留下了很多未解决的问题,但是,不管你信不信,你的信息到目前为止是我在网上找到的最好的描述。感谢您的解释! – user1932890

相关问题