/KoikatuGen

A Program to Generate Koikatsu Character Data with Deep Learning Models / コイカツのキャラクターデータを深層学習モデルで生成するプログラム

Primary LanguagePython

KoikatuGen

このプログラムはコイカツのキャラクターデータを学習し、キャラクターのランダム生成を可能とすることを目的としています。 現状のところ、VariationalAutoEncoderで生成を行っています。 また、学習対象とするデータはコイカツ公式アップローダーにあるMod無しのデータのみとしています(学習の安定性のため)。

ゲーム中から呼び出すMOD

このプログラムで得られた学習モデルを使ってゲーム中からキャラクターを生成するMOD、KoikatuGen-Pluginを作りました。 学習パラメータを使用する方法はKoikatuGen-PluginのREADME.mdに記載してあります。

生成データの例

90epochの学習が終わった状態でのモデルで生成しています。 他の例は生成データ一覧にあります。

実行準備

Python 3.9とpoetryが実行できる環境が必要です

$ git clone https://github.com/tropical-362827/KoikatuGen
$ poetry install

上のコマンドでモジュールをインストールしたあと、

$ poetry run python ./koikatugen/vae_train.py

のようにプログラムを実行します。

create_dataset.py

kk_charasフォルダ内のキャラクターデータを順番に開き、データのベクトル化を行います。 ベクトル化したデータはkk_charas.csvに出力されます。 公式アップローダーから削除されているかどうかの判定を行うため、公式アップローダーの情報を取得する処理を含みます。 さらに、png画像の名前は全て公式アップローダーで振られているidの数字でなければなりません。(この辺の処理は面倒なので、2021/02/21時点でベクトル化したデータをkk_charas.rarに入れてあります。解凍して使ってください。)

vae_train.py

kk_charas.csv のデータを学習し、学習モデルを5epoch毎にvae_modelsに出力します。

vae_generate.py

学習モデルからキャラクターデータを生成します。プログラムのオプションは

$ poetry run python ./koikatugen/vae_generate.py (vae_models内のフォルダ名:"20210222_0328"など)

のように指定します。 服やキャラクター情報などはdefault.pngのものが使用されます。(デフォルトではちかりんです😄)

生成データ一覧

  • 10epoch
  • 20epoch
  • 30epoch
  • 40epoch
  • 50epoch
  • 60epoch
  • 70epoch
  • 80epoch
  • 90epoch
  • 100epoch

使用モジュール

を使用しています。