##DCGAN
- Deep Convolutional Generative Adversarial Networks
- ディープラーニングで画像(等)を自動生成する技術
- データセットを学習して、データセットにありそうな画像を生成する
##例
##アイドルの顔画像生成
TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
- アイドルの顔画像を大量に集めて学習 → アイドルっぽい顔を自動生成
##顔イラストの生成
- 顔イラストを集めてきて学習 → 顔イラストを自動生成
##DCGAN-tensorflow
- TensorFlowを用いた実装
- READMEに書いてある通りに実行すれば簡単に試せる
##試してみた
DCGAN-tensorflowで自動画像生成をお手軽に試す - Qiita
- 付属のサンプルを実行
- セレブ顔のデータセットをダウンロード → 学習
- 「セレブっぽい顔」の画像を生成
##何か自前データを食わせてみたい
##スーパークエスト
友人とプライベートでつくった放置系ゲーム
##オリジナルのドット絵モンスター画像400枚
##これをDCGANに食わせて、新しいドット絵モンスターを自動生成できないか?
##ドット絵なので生成すべき画素数は少ない
これは結構いい題材なのでは・・・?
##やってみた
##データセットの前処理
- ドットを1x1に正規化したりとか
- 詳細は割愛
##DCGAN-tensorflowに食わせる
- 基本的にはフォルダに置いて指定するだけ
- ちょっとハマりどころもあったけど詳細は割愛 1
##途中経過を見ていきましょう
##epoch1
##(なんかバグってる・・・?)
##epoch3
##epoch5
##(なんか出てきた・・・!)
##epoch16
##epoch24
##epoch29
##epoch49
##epoch133
##(何かになりつつある・・・!?)
##epoch199
##ここらへんまで学習は順調に見えた
##しかし・・・
##epoch299
##epoch399
##epoch499
##epoch599
##同じような生成結果が目立つようになってきた
epoch699
##同じような生成結果が目立つようになってきた
epoch799
##どうやら過学習してるっぽい・・・
##ここらへんでやっと気づきました
##今回の試みは「失敗」ということに・・・
##うまくいってた事例と何が違ったのか?
##セレブ顔生成
学習データセット:セレブの顔 20万枚
- いずれも目があって鼻があって口がある
- 肌の色に多少の違いはあれど真っ赤や緑色はいない
##アイドル顔画像生成
学習データセット:アイドル90人の顔画像からそれぞれ120件を抽出した合計10800件
- 顔のみ
- 90人に限定
- 「日本人」かつ「女性」かつ「アイドル」に限定
→ 性別や国籍がバラバラな1万人の顔データではない
##顔イラスト生成
データセット:約30万枚の顔イラスト
- 顔だけに限定
- 圧倒的な量
##今回自分がやろうとしたことを考えてみる
- 手足がある、尻尾がある、羽がある、顔しかない、武器を持ってる、etc...
- 一つ目、三つ目、目なし、ザク目、兜で隠れている、etc...
- 岩、花、木、火、本、etc...
##多様過ぎる
##それらを学習するにはデータが少なすぎる
##せめてこうだったらよかったかもしれない
- 顔だけ、とか領域を限定する
- スライム系だけとか種族を限定する
- そしてもっと大量にデータセットを用意する
##まとめ
- DCGANでゲームアプリのドット絵を自動生成しようとしてみた
- 過学習っぽくなって全然ダメだった
- 問題設定が悪かった & データ量が少なすぎた
- 勉強になったのでやってよかった
-
本記事は5分のLT用の発表資料なので、割愛しました ↩