見出し画像

あつ森キャラをAIで画像生成してみる

こんにちは。
CDLE(シードル)という日本ディープラーニング協会の資格試験に合格した合格者コミュニティがあるのですが、先日、そのCDLE関西支部主催のオンライン勉強会でちょっとした小話をさせていただきました。
そのときに発表した資料が以下のリンクにあるので合わせて確認してみてください。
発表タイトルは「オートエンコーダで画像生成してみる」です。

話の内容としては、タイトルの通りオートエンコーダを用いて画像生成をしてみようという主旨の内容になります。
今回、画像生成してみる題材として「どうぶつの森」というゲームのキャラを取り上げました。
著作権的に大丈夫か不安ではありますが、noteでもまとめておきたいなと思い、簡単に話した内容を要約していきます(営利目的ではないから、大丈夫だよね?笑)。

VQ-VAE

画像生成を行うにあたり、「VQ-VAE」というモデルを使用しました。
VQ-VAEはオートエンコーダの一種になります。
元論文はこちらになります。

潜在変数に離散的な値を持たせることができるようになったのがVQ-VAEの特徴です。
これを行うことにより、単純なVAEで発生していた「posterior collapse」という問題を解消し、高品質な画像生成や、音声生成が可能になりました。
posterior collapseは潜在変数の事後分布が事前分布と一致し、データの特性を捉えられなくなる現象のことをいいます。
VQ-VAEを大きい画像サイズにも適用させた「VQ-VAE2」と呼ばれるモデルも存在します。

画像生成と言えばGANですが、このVQ-VAE2はGANにも匹敵するような高品質な画像を生成することができると上の記事でも取り上げられているように、VQモデルは非GANの画像生成モデルとして注目されているモデルの一つなのです。

データセットと学習

データはあつ森キャラの顔画像を使用します。
画像は攻略サイトから取得してきました。

実装はPythonを使用し、フレームワークとしてPyTorchを採用しました。
別の方のGitHubのソースコードを参考に、あつ森キャラ生成用に少し修正したのち、Google Colaboratory上で実行しました。
参考にしたGitHubのソースコードは以下になります。

結果

学習過程の画像生成の様子を以下に紹介しておきます。
上段が入力画像で、下段がAIによって再構成された画像になります。
1~15epochまでの間に徐々にAIがきれいな画像を生成していく様子を示しています。

画像1

最終的に生成された画像は以下になります。
40epochまで学習させました。

画像2

エッジが少しぼんやりした印象になってしまいましたが、比較的きれいな画像を生成することができたかなと思っています。
特に375枚というディープラーニングにしては少ない画像枚数で、各画像の特徴もバラバラといった状況下でも、これだけの画像を生成できるのであればビジネスにおいても十分活用していけるのではないかと期待しています。

まとめ

今回は簡単ではありますが、AIを使った画像生成を紹介しました。
発表時には他のゲームキャラを入力画像にしてどのような画像が出力されるのか確かめたりしたのですが、あまり面白い結果にはなりませんでした。
使ってみたもののVQ-VAEについて技術的な知見がまだまだ少ないのも事実です。
特定の種族っぽく(例えば犬っぽくとか馬っぽく)画像を出力できたりするんでしょうかね。
知ってる方いれば、教えて下さい!

また、今度あつ森内で初のAIワークショップが開催されるみたいですね!

アバターとしてあつ森内に参加者が集まってそこでAIに関する技術的な発表を行うようです。
実際の音声やスライドはZoomを介して参加者全員に配信するみたいなので、あつ森を持っていない方でも参加可能なようです。
なかなか面白い企画です。
僕もタイミングがあえば参加してみようかと思います(世界中から参加者が集まったら開始時間はどうするんだろうという素朴な疑問がありますが。笑)。

最後までお読みいただきありがとうございました。
皆さんも良い無人島ライフをお楽しみくださいね!

この記事が気に入ったらサポートをしてみませんか?