OpenCVで画像学習したときのメモ

コマンドのオプションすぐ忘れそうなので、自分用のメモ。

参考ページ
http://gihyo.jp/dev/feature/01/opencv/0004

サンプルを作成する

  • ubuntuの場合は、opencv_createsamplesのように、コマンドの頭にopencvが付く
  • コマンドに渡す画像領域の情報は、ググって見つけたWebのツールを使った
  • createsamplesコマンドの実行
    • -info
      • ファイルから情報を読ませる場合に使う
    • -vec
      • 出力ファイル名。適当に付ける
    • -num
      • サンプル画像の数。今回はサイト通り4000で
    • -bgcolor
      • 背景色を指定する。
      • 今回で言えば壁の色を指定する必要があるってことかな?
    • -w, -h
      • 作成するサンプル画像のサイズを指定するらしい
      • これはどう決定するのが最適なのかな?

作ったサンプルを学習させる

  • haartrainingコマンドの実行
    • -data
      • 学習結果の名前をつける、任意でよい
    • -vec
      • サンプルvecファイル名を指定
    • -bg
      • 非オブジェクト画像のリストを指定
      • 要はNG画像だよね?
    • -npos, -nneg
      • number of positive
      • number of negative
      • の略でいいのかな?正解画像数と不正解画像数
    • -w, -h
      • 画像サイズ。vec作成時のサイズに準ずる
    • -mode
      • 使用するオブジェクト検出特徴の種類を指定するらしい

その他

  • 思ったよりも学習速度早かった
  • ステージが0~13の計14ステージだったのかな
  • dataに指定した名前のxmlファイルとディレクトリが作成された
    • ディレクトリには数字のディレクトリが出来てた
    • 各ステージの途中経過は保存されるとか書いてあったので、これがそうだと思われる