ふらふら Diary (仮)

興味のあることを適当に書いていく感じです

人検出における識別器構築 -その2-

前回の記事の続きです.

人画像,背景画像を用意した後,これらから特徴量を抽出し,学習した識別器を構築します.今回は,画像特徴としてHOG特徴量を使用し,識別器にSVMを用います*1.なお,本記事では,HOG特徴量の算出については省きます.いろいろなサイトをご覧になれば,詳しく記載されていますので.

SVMについてはSVM-Light (http://svmlight.joachims.org/)を使用します.SVM-Lightで使用できるようにHOG特徴量は以下のように記述できるようにしておきます.

+1 1:0.059147 2:0.047999 3:0.053404 4:0.060847 5:0.041208...
...
-1 1:0.150525 2:0.046580 3:0.052251 4:0.104595 5:0.045420...

+1には人画像,-1には背景画像のHOG特徴量をそれぞれ算出します.これをHOG2.datとし,ファイルに書き込みます.
そして,コマンドプロンプトを開き,SVM-Lightのあるディレクトリに移動します.その後,以下のように記述します.

> svm_learn HOG2.dat model_file

このようにすると以下のように出力され,model_fileというファイルが作られます.今回は,人画像10枚,背景画像10枚で学習しています.実際はもっと画像枚数が多いほうが良いです.画像枚数を増やすほど学習には時間がかかるようになります.
HOG2.datがSVM-Lightと別のディレクトリに保存している場合は

C:\○○\HOG2.dat

とします.model_fileを保存するディレクトリを指定する場合も同様です.

f:id:jetarinA:20150212195512p:plain


識別器構築については以上です.
次回は評価指標などにすることとします.

*1:N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. Proceedings of 2005 IEEE Computer Society on Computer Vision and Pattern Recognition, Vol. 1, pp. 886-893, June 2005.