Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

by shu223
1 / 53

monsters.png

Super Quest


DCGAN

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


アイドルの顔画像生成

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

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

sugyan.jpg


顔イラストの生成

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

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

illust.png


DCGAN-tensorflow

https://github.com/carpedm20/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用の発表資料なので、割愛しました 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした