鹿児島ハードチル同好会

情報学部の大学生です。深層学習(Tensorflow)とかUbuntuとか音楽とかガジェットに興味があります。バンドもしてたりする

【ディープラーニング】DCGANでポケモンのドット絵を生成してみた【Tensorflow】

はじめに

Deep Learningのネタ系記事はn番煎じではありますが一応記録として。
DCGANはDeep Convolutional Generative Adversarial Networksの略で、画像なんかを生成するアルゴリズムです。
画像認識において効果的な畳み込み層の構造を逆にして、ベクトル列を拡張しながら画像を生成します。

f:id:fuchami:20170715162313p:plain
詳しいアルゴリズムは僕が説明するより良い記事はたくさんあるので割愛。

実行環境

学習モデル

自分で作れるほど技術力がないのでTensorflowで動かせるDCGANのデモを使用。
github.com

gitから持ってきました。

学習用データセット収集

bohemia.hatenablog.com

こちらの記事の方はPokemon Goスクリーンショットにてポケモンを生成してるのですが、これを見た僕は「ドット絵の方でもできるんじゃ」
なんて思いつき試してみました。


ひこちゃんず!│ドット絵一括ダウンロード

有志の方がドット絵データセット作られていました。感謝、、、
カラードット(金銀)以降の対面画像のものだけを抽出、
さらに左右反転などの水増し処理を行ったものをデータセットとして学習に用いました。

その結果フシギダネだけで184枚のデータセットが出来上がりました。
画像総数は80,622枚です。いい具合に集まったと思われます。

f:id:fuchami:20170715163606p:plain

学習結果

epoch 99

f:id:fuchami:20170715164110p:plain

まあ最初はこんな感じ、、


epoch 600

f:id:fuchami:20170715164144p:plain

お?それっぽいぞ




最終的にうまくできたやつ

f:id:fuchami:20170715164318p:plainf:id:fuchami:20170715164733p:plain
f:id:fuchami:20170715164458p:plainf:id:fuchami:20170715164543p:plainf:id:fuchami:20170715164311p:plain

gifにした

f:id:fuchami:20170715165935g:plain

まとめ

どことなくそれっぽいのが出来ました。
アンノーンのデータが多い(A〜Zの形のやつがいる)のでアンノーンっぽいのがちょこちょこ混じってます。

データ整形がうまくいってないような気もするのでぼちぼちまたいじりないおします。