takminの書きっぱなし備忘録 @はてなブログ

主にコンピュータビジョンなど技術について、たまに自分自身のことや思いついたことなど

OpenCVのAdaBoostのソース読解中

どうもViola & Johnsで使っているAdaBoostとOpenCVのCvBoostクラスは若干使われ方が違うっぽい。

VJでは1特徴が1弱識別器だけど、CvBoostでは全ての特徴を元に弱識別器が構成されているみたい。(CvBoostTreeという決定木)
あとVJでは、1サイクル毎に全ての弱識別器の中から、最もエラーの低い識別器をピックアップしていくのに対して、CvBoostでは1サイクルごとに1つの弱識別器をトレーニングしている。

でも、OpenCVのObjectDetectionではViola & Johnsのアルゴリズムで顔検出とかしてるはずだから、CvBoostでも同様のことができるはず。どうすれば1つの特徴に絞れるか、もうちょい調べてみます。(Cascade Haar Trainingのコードとか読まないといかんかも)

あと、CvBoostの学習結果の弱識別器への重みを取得したいんだけど、これもどうすればよいのかわからないなあ。