2013-02-24 4 views
3

Было бы лучше, если бы кто-нибудь мог полностью объяснить числа/значения в файле cascade.xml. Пример в:Пояснение cascade.xml в классификаторе haar

<!-- stage 0 --> 
<_> 
    <maxWeakCount>3</maxWeakCount> 
    <stageThreshold>-8.8384145498275757e-001</stageThreshold> 
    <weakClassifiers> 
    <_> 
     <internalNodes> 
     0 -1 66 5.1593100652098656e-003</internalNodes> 
     <leafValues> 
     -8.0555558204650879e-001 8.0694979429244995e-001</leafValues></_> 
    <_> 
     <internalNodes> 
     0 -1 108 1.5044789761304855e-002</internalNodes> 
     <leafValues> 
     -6.2940740585327148e-001 7.5122624635696411e-001</leafValues></_> 
    <_> 
     <internalNodes> 
     0 -1 99 -4.7172707127174363e-005</internalNodes> 
     <leafValues> 
     5.5112153291702271e-001 -8.6111217737197876e-001</leafValues></_></weakClassifiers></_> 

Каковы значения этих величин

 <internalNodes> 
     0 -1 99 -4.7172707127174363e-005</internalNodes> 

Другой вопрос, как это знают программа, которые показывают, чтобы использовать для конкретной стадии? Насколько я знаю, особенности в форме, как показано ниже

<_> 
    <rects> 
    <_> 
     21 6 3 5 -1.</_> 
    <_> 
     22 6 1 5 3.</_></rects> 
    <tilted>0</tilted></_> 

Причем это координаты двух прямоугольников, образуя что-то вроде ниже:

=-= = Black colored rectangle 
=-= - White colored rectangle 
=-= 
=-= 
=-= 

Какие значения -1. и 3. означает? Я знаю, что это вес, но как он используется для вычисления функции?

Резюме

  1. Что смысл значений внутри <internalNodes>?
  2. Как рассчитана функция? Как используются весы в <rects>?
  3. Самое главное, какое поле обозначает, какие функции используются в конкретной стадии/узле.

Спасибо!

+0

http://stackoverflow.com/questions/4482123/whats-inside-a-haar-cascade-classifier-in-open-cv-computer-vision –

+0

@AbidRahmanK спасибо за ссылку. FYI, я уже прочитал это, прежде чем публиковать это. Он не дает ответов на мои вопросы. –

+0

@Alvin Вы поняли, что означает .Он имеет четыре значения при тренировке с функциями типа HAAE. И он имеет 11 значений при тренировке с функциями типа HAAE. – Samuel

ответ

5

После копания в исходном коде OpenCV я, наконец, получаю ответы на свои вопросы.

  • Значения заключены withtin internalNodes теги

node.left node.right node.featureIdx node.threshold

Я не уверен, что node.left и node.right потому что я не вижу, чтобы их называли где угодно.

  • Веса используются для вычисления функции, как в ниже:

поплавка RET = Rect [0] .Weight * CALC_SUM (р [0], _offset) + Rect [1] .weight * CALC_SUM (p [1], _offset);

  • Как уже упоминалось в первой пули, то есть node.featureIdx индекс функции, которая оценивается в этом конкретном узле.
Смежные вопросы