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

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

画像認識用Data Augmentationツールと物体検出評価ツールを自作した

思いっきり車輪の再発明っぽいツールを2つほど作りました。

Data Augmentationツール

Deep Convolutional Neural Networkとかで画像を学習させる際、学習画像をずらしたりぼかしたり、色々と変形を加えて学習画像を増やすことで、認識をロバストにするというテクニックが良く使われています。(Caffeなんかにも実装されている。)


でまあ、そういうテクニックってDeep Learning以外のケースでも学習データ増やすのに有効だろうってことで、コマンドラインから使えるツールをC++で自作しました。

https://github.com/takmin/DataAugmentation


学習画像に対して、アスペクト比の変更、回転(ロール・ピッチ・ヨー)、ぼかし、ノイズ付加、ずらしなどの処理をランダムに加えます。

詳しくはreadmeJ.txtを読んで下さい。


一般物体検出評価ツール

PASCAL VOCの物体検出の評価方法(矩形のオーバーラップが0.5以上)をMatlabではなくコマンドラインから使えるようにしました。
オレオレ自作データセットなんかにも使えるようにしたいなということで、入力のフォーマットをとりあえずOpenCVCascade Classifierの学習器と同じにしてあります。

https://github.com/takmin/EvalLocalization


入力に、検出結果とGround Truthを記したテキストファイルを与えると、以下を出力してくれます。

  • Average Precision (標準出力)
  • Recall-Precision Curve (CSVファイル)
  • True PositiveとFalse Positive(テキストファイル or 画像ファイル)


こちらも使い方はreadmeJ.txtを参照して下さい。


なんか他に良いツールがありそうな気もするけど、誰かのお役に立てれば幸いです。