LoginSignup
339
250

More than 5 years have passed since last update.

ゲームアプリの「ドット絵」をディープラーニングで自動生成する

Last updated at Posted at 2017-05-24
1 / 53

monsters.png

Super Quest


DCGAN

  • Deep Convolutional Generative Adversarial Networks
  • ディープラーニングで画像(等)を自動生成する技術
  • データセットを学習して、データセットにありそうな画像を生成する


アイドルの顔画像生成

TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ

  • アイドルの顔画像を大量に集めて学習 → アイドルっぽい顔を自動生成

sugyan.jpg


顔イラストの生成

Chainerで顔イラストの自動生成 - Qiita

  • 顔イラストを集めてきて学習 → 顔イラストを自動生成

illust.png


DCGAN-tensorflow

  • TensorFlowを用いた実装
  • READMEに書いてある通りに実行すれば簡単に試せる

試してみた

DCGAN-tensorflowで自動画像生成をお手軽に試す - Qiita

  • 付属のサンプルを実行
    • セレブ顔のデータセットをダウンロード → 学習
    • 「セレブっぽい顔」の画像を生成

train_01_1833.png


何か自前データを食わせてみたい


スーパークエスト

友人とプライベートでつくった放置系ゲーム

2017-05-24 07_46_50.gif


オリジナルのドット絵モンスター画像400枚

monsters.png


これをDCGANに食わせて、新しいドット絵モンスターを自動生成できないか?


ドット絵なので生成すべき画素数は少ない

これは結構いい題材なのでは・・・?

Screen Shot 2017-05-23 at 20.30.07.png


やってみた


データセットの前処理

  • ドットを1x1に正規化したりとか
  • 詳細は割愛

DCGAN-tensorflowに食わせる

  • 基本的にはフォルダに置いて指定するだけ
  • ちょっとハマりどころもあったけど詳細は割愛 1

途中経過を見ていきましょう


epoch1

train_01_0003.png


(なんかバグってる・・・?)


epoch3

train_03_0001.png


epoch5

train_04_0005.png


(なんか出てきた・・・!)


epoch16

train_16_0003.png


epoch24

train_24_0004.png


epoch29

train_29_0005.png


epoch49

train_49_0004.png


epoch133

train_133_0000.png


(何かになりつつある・・・!?)


epoch199

train_199_0004.png


ここらへんまで学習は順調に見えた



しかし・・・


epoch299

train_299_0004.png


epoch399

train_399_0004.png


epoch499

train_499_0004.png


epoch599

train_599_0004.png


同じような生成結果が目立つようになってきた

epoch699

train_699_0004.png


同じような生成結果が目立つようになってきた

epoch799

train_799_0004.png


どうやら過学習してるっぽい・・・


ここらへんでやっと気づきました


今回の試みは「失敗」ということに・・・


うまくいってた事例と何が違ったのか?


セレブ顔生成

学習データセット:セレブの顔 20万枚

  • いずれも目があって鼻があって口がある
  • 肌の色に多少の違いはあれど真っ赤や緑色はいない



アイドル顔画像生成

学習データセット:アイドル90人の顔画像からそれぞれ120件を抽出した合計10800件

  • 顔のみ
  • 90人に限定
  • 「日本人」かつ「女性」かつ「アイドル」に限定

→ 性別や国籍がバラバラな1万人の顔データではない


顔イラスト生成

データセット:約30万枚の顔イラスト

  • 顔だけに限定
  • 圧倒的な量

今回自分がやろうとしたことを考えてみる


Screen Shot 2017-05-24 at 8.40.35.png

  • 手足がある、尻尾がある、羽がある、顔しかない、武器を持ってる、etc...

Screen Shot 2017-05-24 at 8.45.24.png

  • 一つ目、三つ目、目なし、ザク目、兜で隠れている、etc...

Screen Shot 2017-05-24 at 8.52.18.png

  • 岩、花、木、火、本、etc...

多様過ぎる


それらを学習するにはデータが少なすぎる


せめてこうだったらよかったかもしれない

  • 顔だけ、とか領域を限定する
  • スライム系だけとか種族を限定する
  • そしてもっと大量にデータセットを用意する

まとめ

  • DCGANでゲームアプリのドット絵を自動生成しようとしてみた
  • 過学習っぽくなって全然ダメだった
  • 問題設定が悪かった & データ量が少なすぎた
  • 勉強になったのでやってよかった

  1. 本記事は5分のLT用の発表資料なので、割愛しました 

339
250
7

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
339
250