1

Viola Jones algorithm의 교육 단계를 이해하는 데 문제가 있습니다.Viola Jones/AdaBoost 학습 단계

# learning phase of Viola Jones 
foreach feature # these are the pattern, see figure 1, page 139 
    # these features are moved over the entire 24x24 sample pictures 
    foreach (x,y) so that the feature still matches the 24x24 sample picture 
     # the features are scaled over the window from [(x,y) - (24,24)] 
     foreach scaling of the feature 
      # calc the best threshold for a single, scaled feature 
      # for this, the feature is put over each sample image (all 24x24 in the paper) 
      foreach positive_image 
       thresh_pos[this positive image] := HaarFeatureCalc(position of the window, scaling, feature) 
      foreach negative_image 
       thresh_neg[this negative image] := HaarFeatureCalc(position of the window, scaling, feature) 
      #### what's next? 
      #### how do I use the thresholds (pos/neg)? 

이,이 SO 질문에서와 같이 BTW 프레임입니다 : Viola-Jones' face detection claims 180k features

이 알고리즘은 HaarFeatureCalc 함수 호출

나는 지금까지 내가 그것을 이해, 의사 코드의 알고리즘을 제공 내가 이해했다고 생각합니다 :

function: HaarFeatureCalc 
    threshold := (sum of the pixel in the sample picture that are white in the feature pattern) - 
     (sum of the pixel in the sample picture that are grey in the feature pattern) 
    # this is calculated with the integral image, described in 2.1 of the paper 
    return the threshold 

지금까지 어떤 실수가 있었습니까?

Viola Jones의 학습 단계는 기본적으로 어떤 기능/감지기가 가장 중요한지를 감지합니다. 나는 AdaBoost가 어떻게 작동하는지 이해하지 못한다.

질문 : AdaBoost는 종이의 의사 코드와 어떻게 다릅니 까?

+0

metaoptimize에서 m1 관련 질문을합니다.이 질문에 대한 자세한 내용은 거기에 적합합니다 :) – Fraz

+0

내가 한, http://metaoptimize.com/qa/questions/9931/learning-phase-of-viola-jones-adaboost –

답변

0

비올라 존스 :

  • 먼저 하드 코드 180K 분류 (feartures)
  • 그리고 처음에 모든 훈련 데이터 지금 같은 무게
  • 각 분류 (기능)을해야합니다이 적용됩니다됩니다 가지고있는 모든 교육 데이터
  • 각 기능은 교육 데이터를 얼굴 또는 얼굴이 아닌 것으로 분류합니다.
  • 모든 기능에 대해이 분류를 기반으로합니다.
  • 각 기능의 오류를 계산 한 후 50 %에서 가장 멀리 떨어져있는 기능을 선택합니다. 이는 90 % 오류가있는 기능 하나와 20 % 오류가있는 다른 기능이있는 경우를 의미합니다 그 후에 당신은 90 % 오차를 가진 특징을 선택하고 강한 classififer에 그것을 추가 할 것입니다
  • 각 훈련 자료의 무게를 새롭게 할 것입니다
  • 당신은 강한 정확도를 가진 당신을위한 좋은 정확도를 얻을 때까지 과정을 반복 할 것입니다 당신이 만든 분류 자 ​​
  • AdaBoost는 약한 분류 자에서 강한 분류자를 만드는 기술입니다.