5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(3) 平均画像作成編

Last updated at Posted at 2016-11-14

今回は、平均画像の作成に関してです。

平均画像

学習を行うとき、入力画像に偏りがあると、認識精度が悪くなることがあります。
そこで、明るさやコントラストの偏りを平均化するために、事前に平均画像というものを用意して、学習するときに利用します。

具体的には、まず全学習画像の平均画像と標準偏差を求めます。
そして学習する際に、学習する画像から平均画像の画素値を引き標準偏差で割ることで、各画像の画素の平均が0、分散が1になります。
ちなみにこれを、「平均化(標準化)」と呼びます。

※他の機械学習でも、この「平均化(標準化)」は重要になります。

Caffeでは、この平均画像を求めるために「compute_image_mean.exe」を使用します。

引数

「compute_image_mean.exe」のシンタックスは以下のようになっています。

compute_image_mean [FLAGS] INPUT_DB [OUTPUT_FILE]

FLAGS

代表的な引数は以下の通りです。
(全てを知りたい人は「compute_image_mean -help」を実行)

FLAGS 意味 設定例
-backend データベースの種類 -backend lmdb

INPUT_DB

学習に使用するDB名です。
前回の「convert_imageset」の「DB_NAME」になります。
※ファイル名ではない
また、通常DBにはトレーニング用とテスト用の2つがありますが、ここではトレーニング用のDBを指定します。

OUTPUT_FILE

出力する平均画像データのファイル名です。
フォーマットはProtocolBuffers(バイナリ)になります。

その他

実は平均画像なしでも学習は行うことができます。
しかし、認識精度を高めるためにも、是非とも用意するようにしてください。

関連記事

C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(1)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(2)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(4)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(5)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(6)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(7)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(8)

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?