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の質問です: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でml関連の質問をしています。この質問はそこにもっと適しています:) – Fraz

+0

私は、http://metaoptimize.com/qa/questions/9931/learning-phase-of-viola-jones-adaboost –

答えて

0

ビオラ・ジョーンズ:

  • まず、すべての学習データは同じ重み
  • を持つことになりますが、ハードコード180K分類(feartures)
  • 、当初は今、各分類器(機能が)に適用されますでしょうあなたが持っているすべてのトレーニングデータ
  • 各機能は、あなたのトレーニングデータを顔としても顔でもなく、すべての機能のこの分類に基づいて
  • と分類します
  • 各フィーチャのエラーを計算した後、50%から最も離れたエラーでフィーチャを選択します。これは、90%のエラーと20%のエラーを持つ1つのフィーチャがある場合を意味します
  • 各トレーニングデータの重みを更新します
  • これで、検証データが強くなるまでプロセスを繰り返すことになります。あなたが作成したクラシファイア
  • AdaBoostは、弱判別器から強い判別子を作る手法です。