戯けた姿も生きる道ですか?

鬱屈とした学生の記録。備忘録。メモ。基本的に冗談。

画像データの水増し

顔認識をするにあたって精度のよい分類器を作るには学習データの量が必要.でも手に入る画像の枚数には限りがある(もちろん労力にも).そこで,手元の画像データを使って学習データの量を水増しする.

 

はじめに

以下の記事で,橋本愛前田敦子の顔識別を試みたが高い精度は実現できなかった.その理由の一つに学習データ量が少ないことがあげられる.

odoketasugata.hatenablog.com

TensorFlowの関数を用いて画像に加工を施し,データ数を増やす.

 

画像データの水増し

もともとの顔画像データ数は,橋本愛前田敦子それぞれ161枚,119枚であった.そこから同じ画像を消去し,10%をテスタデータとしてとっておく.残りの画像をランダムに明るさとコントラストを変更して訓練データに加える.

f:id:kenijl1116:20170212024008j:plain

例えばこの画像をランダムに明るさとコントラストを変更すると,

f:id:kenijl1116:20170219225934p:plain

ひえっ...

他の画像もこんな感じ

f:id:kenijl1116:20170219230414p:plain

これで学習できるのか...?

"""画像データ水増し"""
sess = tf.InteractiveSession()

x = tf.placeholder(tf.float32, shape=[None, width * height * channel])
image = tf.reshape(x, [-1, width, height, channel])
bri_image = tf.image.random_brightness(image, max_delta=63)
bri_con_image = tf.image.random_contrast(bri_image, lower=0.2, upper=1.8)

 

参考

画像の水増し方法をTensorFlowのコードから学ぶ - Qiita

 

おわりに

画像水増しの方法には明るさ,コントラストのほかに左右反転がある.が,今回はやらない.なぜなら,僕は橋本愛の口の右下のほくろが好きだからだ.そういう僕の意思もニューラルネット君に理解してほしい...

現在,学習モデル変更検討中...自分のPCでは無理があるから研究室のおもちゃ借りるかAWSやってみるか...