2016-01-20 66 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