キャラクター

キャラクター

  • 0

生成AIにておはミコする(この日記は削除するかもしれません)

公開
こんにちは

長期間に渡る絶攻略による疲れを癒やすため、私はどうすれば通常の生活に戻れるのか考えました。
その時の記録を残そうと思います。

________________
FF14における自キャラの立ち位置
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

古の時代からキャラクリには時間がかかり、リセマラをする人も少なからずいらっしゃいます。
キャラクターとは自分の分身であり、ぶっちゃけ自分のキャラが一番かわいいよね。
そんなふうにみんな考えていると思います。

そして世間では、おはミコと呼ばれる元気がでるつぶやきをしている人たちがいます。

自分のキャラクターがかわいく挨拶してくれたら、それって最高ですよね。

___
概要
 ̄ ̄ ̄

本検討では、最近世間を騒がせているAIを用いて、FF14のキャラクタに好きなシチュエーションでおはミコしているイラストを生成している。
手段としてはインターネット上の学習済みモデルを用い、自キャラの生成にはFF14のスクリーンショットを使用している。
自キャラの生成にはスクリーンショットから学習を行い、おはミコするためのプロンプトや、ミコッテ特有の問題を解決するためのネガティブプロンプトの検討を行った。結果としてある程度コントロールされた画像を生成することができた。

keyword : Stable Diffusion, WebUI, AUTOMATIC1111, ControlNet, sd-scripts, LoRA, Miqo'te

______
アプローチ
 ̄ ̄ ̄ ̄ ̄ ̄

制作手順です。

1. AUTOMATIC1111版 WebUIにて、好みのイラスト出力が可能なモデルを選定する
2. ControlNetにて好きなポーズになることを確認する
3. エオルゼアでキャラクターのスクリーンショットを撮る
4. スクリーンショットに紐づくプロンプトを生成する
5. LoRAにて学習する
6. おはミコするためのプロンプトを考える

技術の詳細はつまらないので省略してます。

モデル選定
アニメイラスト風のものを出力するモデルは、anythingやCounterfeitなどが有名ですが、今回はyesmixというものを使用しました。
著者が複数のモデルを使ったら偶然できたとのことですが、あまり深く調べるとグレーな気がしたので調べていません。
プロンプトに Miqo'te を指定すると猫耳になったので、モデルとしては良さそうです

ポーズ動作
いままで生成AIはガチャだったんですが、ControlNetの誕生により好きなポーズを取らせることができるようになりました。
かなりやばい性能です。棒画像でも、一般画像でもどちらも対応するので簡単に同じポーズを取らせることができます。

スクリーンショット
自キャラの学習に使用するスクリーンショットを撮ります。
SSをバシバシ撮ってるところを見られたくなかったので、フレンドがいなさそうなワールドにいって宿屋で撮りました。
あまり手間をかけたくなかったので、適当にバシャバシャ撮ってます。
適当すぎるのは承知の上なんですが、手間をかけたくなかったので30枚ぐらいでやめました。


スクリーンショットのキャプション生成
SSの画像に紐づくプロンプトをテキストファイルにしないといけないんですが、近年は画像から自動でプロンプトを生成してくれるツールがあります。
数年前は画像から意味抽出するだけの大会があってあれがいいとかそんな話題で盛り上がってたんですが、身近なローカル環境で単語ではありますが高精度に抽出できるようになったことは衝撃です。
wd14-taggerからプロンプトを自動生成して、本来であれば生成されたテキストファイル内のプロンプトの取捨選択をするんですが面倒なのでやってません。

LoRAにて学習
WebUI上でもできるらしいですがエラーを吐くので、Pythonの別環境を作ってそこで学習させました。
LoRA は Dreambooth by using captions で学習させています。そのためにさきほどテキストファイルを作りました。

おはミコのプロンプトを考える
法則性が正直よく分かりませんでした。
twitterのおはミコをAIに学習させればおはミコのプロンプトが作れそうですがコントロールできないような気もします。
また人様の画像を勝手に学習素材にすることは倫理違反だとも考えられます。
ここは雰囲気おはミコを目指して学習済みモデルを使って自キャラの評価を行いました。
_____
実験結果
 ̄ ̄ ̄ ̄ ̄

絶竜詩の時にモンクのDPSを上げるために買ったRTX3080(12G)を用いました。

サンプル1
おはミコプロンプトとしては morning, cheerleader, smile などが鉄板かと思い適用しました。

なかなか元気がでそうな感じです。

サンプル2

twitterの日曜日の挨拶をしているポーズを参考にしました。

サンプル3

これは一見イイポーズじゃんと思いますが、よくよくみると恐怖です。bad anatomy

サンプル4

AIが服の面積を減らしているような気がしますが気のせいでしょう。master piece

その他

___
課題
 ̄ ̄ ̄

本検討での最大の問題は、ミコッテの再現である。
ミコッテの最大の特徴は人間の耳の位置に耳がなく、頭の上に耳が存在することだが、学習済みモデルでこの部分がケアされているものは無さそうだ。
今回はネガティブプロンプトなどで人間の耳の生成を抑制したが、一般的によく使われる bad anatomy などの用途とぶつかっていると考えられる。
髪で隠したり、ガチャを引くことで今回は対応したが、正しくはケモナーモデルを作成することであろう。
また指の生成は難易度が高いため、今回は見送っている。
____
まとめ
 ̄ ̄ ̄ ̄

生成AIを用いておはミコの検討を行った。
工数を省いた箇所はいくつかあり、まず自キャラのコンセプトに基づいたSSをきっちり用意しなかったことが挙げられる。
これは外見や身なりの他にエモート時の顔の変化や動きによる躍動感が学習に必要だと感じたが、おはミコではほぼ無表情でややsmile的なSSが多かったため、本検討では見送っている。
またSSからの学習時にキャプションのプロンプトを自動生成したが、本来であれば素材の内容から学習させたいタグを削除しないといけないのだが、面倒なのでやってない。その分過学習気味にして、生成時にLoRAの割合とstep数の調整で破綻を防いでいる。

本検討では、今後限りなくグレーになりそうな生成AIで画像を生成した。

そして私のGWは終わってしまった。
___
P.S.
 ̄ ̄ ̄

課題の解決方法としてケモナーモデルを作ることと書きましたが、現時点でケモナーモデルの検討をしている方はいらっしゃいました。
その方の主張としては、耳の置換程度はケモナーではなく、生成AIが猫耳だけのような安直な生成をすること自体を打破しようといろいろ検討されていました。
ですので、私の課題の解決方法としては、ケモナーモデルを作るのではなく完全な猫耳モデルを作るに変更させて頂きます。
ケモナーモデルの研究レポートを読ませていただきましたが、私が立ち入るには少し早かったようでした。

後日、ちゃんと学習したら耳の問題は概ね解決した。FF14に関するプロンプトもかなりあったので、うまく制御できるようになりました。
コメント(0)
コメント投稿
  • モグステーション
  • フォーラム
  • 公式ブログ

コミュニティウォール

最新アクティビティ

表示する内容を絞り込むことができます。
※ランキング更新通知は全ワールド共通です。
※PvPチーム結成通知は全言語共通です。
※フリーカンパニー結成通知は全言語共通です。

表示種別
データセンター / ホームワールド
使用言語
表示件数