DCGANで家紋を自動生成する

  • 23
    いいね
  • 0
    コメント

背景

家紋(かもん)とは、日本固有の紋章である。
https://ja.wikipedia.org/wiki/%E5%AE%B6%E7%B4%8B
真田丸を見ていたら、家紋の自動生成をしたくなったのでやってみた。

【参考】これまで生成されてきた画像たち

データ収集

探してみると、下記のサイトに結構な量の家紋画像を発見。
http://www.benricho.org/kamon/
サイトのソースをみつつ、ダウンロードするスクリプトを作成。

https://github.com/yu4u/kamon
上記リポジトリのdl.shで画像データのダウンロード、convert.shで学習用にリサイズができる(要imagemagick)。
元画像は約250MB、画像数は約9000。
利用したDCGANの実装がカラー画像前提だったので、モノクロ画像にならないように変換。モノクロ画像として実行したほうが効率的だが、色々いじらないといけないようなのでカラー画像とした。むしろ2値画像として学習してみたい。

DCGANによる画像生成

下記のTensorFlowの実装を利用。
https://github.com/carpedm20/DCGAN-tensorflow
画像フォルダを指定して実行するだけでOK。

結果

ちょっと学習画像が少なかったかな、という結果。ノイズのような領域ができるので、やはり2値画像として扱うべきなのか。円を学習しているのがそれっぽい。

movie.gif

train_924_0067.png

train_929_0052.png

train_944_0107.png

train_999_0142.png