Stable Diffusionで複数のキャラクター画像を生成する方法は?

2023年8月15日

広告

内容

記事内容

複数の人物を生成するプロンプトは沢山有りますが異なったキャラクターを同時に生成する事はガチャで当たりを引くようなものです。
少しでも確率を上げるためにStable Diffusionの拡張機能を使いながら同時生成を目指します。

キャラクター紹介

この記事で使用するキャラクターは「転生したらスライムだった件」の「リムルテンペスト」と「シオン」の2体を使用します。
この二体はLoRAを使い学習させたキャラクターでトリガーワードは「rimuru」と「sion」となります。

プロンプトのみでの生成結果

記載するプロンプトは(リムルとシオンの2ショット、記念撮影)+リムルのプロント+シオンのプロントで構成します。

2 shots of rimuru and sion, commemorative photo
rimuru is a boy with {{sharp eyes}}, long hair, light blue hair, ponytail, yellow eyes, beige fur scarf, long blue coat <lora:rimuru_1:1>
sion is a woman, {{Big}}, (purple business suit), pants, ((green shirt with collar, open shirt)), purple eyes, big eyes, lilac hair, long hair, ponytail, (single horn, black, forehead) <lora:sion_v3:1>

日本語訳

リムルとシオンの2ショット、記念撮影
リムルは{{鋭い目}}、長い髪、水色の髪、ポニーテール、黄色い目、ベージュの毛皮のスカーフ、長い青いコートの男の子です。 <lora:rimuru_1:1>
シオンは女性、{{Big}}、(紫色のビジネススーツ)、ズボン、((襟付き緑のシャツ、開いたシャツ))、紫色の目、大きな目、薄紫色の髪、長い髪、ポニーテール、(シングルホーン、黒、額)<lora:sion_v3:1>

プロンプトのみでの生成結果

プロンプトが混ざり合ってリムルに角が生えたりしています。瞳の色・髪色などの違いでイメージに合った画像は最初の一枚のみです、プロンプトをキャラクター別に分けるにはtable Diffusionの拡張機能を使う必要があります。

table Diffusionの拡張機能を使う

拡張機能「Latent Couple」を使用してプロンプトをキャラクター別に分けて設定させす、「Latent Couple」のインストールはtable Diffusionの拡張タブ(Extensions)を開き「Latent Couple」を検索してインストールするだけです。

インストールしたらLatent Coupleの項目が追加されますので有効化にチェックをいれます、今回は2体のみですので他の設定はデフォルトのままで大丈夫です。

「Latent Couple」用にプロンプトを書き換える

プロンプトを「AND」で結び付ける様にプロンプトを変更していきます。
撮影環境+キャラプロンプト+キャラプロンプトで分けてANDでつなげます。
注意:他のサイトで紹介されている記載方法とは異なります。

①撮影環境(通常は背景などの情報と2 girlなどを入れるらしい)

2 shots of Rimuru and Zion, commemorative photo AND

②リムルのプロント(通常は背景と2 girl~を入れるらしい)

rimuru is a boy with {{sharp eyes}}, long hair, light blue hair, ponytail, yellow eyes, beige fur scarf, long blue coat <lora:rimuru_1:1>AND

③シオンのプロント(通常は背景と2 girl~を入れるらしい)

sion is a woman, {{Big}}, (purple business suit), pants, ((green shirt with collar, open shirt)), purple eyes, big eyes, lilac hair, long hair, ponytail, (single horn, black, forehead) <lora:sion_v3:1>

Latent Couple適用後の生成結果

生成の結果は以下の通りです、リムルとシオンらしき人物が生成されました。
使用可能な画像は1点のみで同じような顔付きをしています。
これは「Latent Couple」がLoRAに対応していないのが原因で起こります、同じキャラで服装や髪色などを変化させる事は出来ますがキャラクター自体は生成する事は出来ません、ではどうすれば良いのかと言うと、追加の拡張機能を使います。

追加の拡張機能「Composable Lora」

拡張機能「Composable Lora」をインストールします。
インストるすると以下の様なチェックリストがでてきます、(注意:ここでは日本語に翻訳しています)
「Composable Lora」は「Latent Couple」機能にLoRAモデルを追加生成させることが出来る様になる拡張の拡張機能です、LoRA学習で設定したトリガーワードで機能させることが可能で<lora:sion_v3:1>の様な追記が不要になる利点もあります。

有効化にチェックを入れて生成します。

+Composable Lora適応後の生成結果

生成画像にLoRAが適応されました、シオンの角の状態で使用出来ない物が多くなるのですが特徴は掴めていますのであとはガチャ次第です、

ガチャ当たりの確率

バッチ回数を30回にして大量に画像を生成させます、ガチャを30回中、何回当たりが出るかの検証です。

結果は、ガチャ30回中 6枚 がイメージ通りに生成されました、その他の画像はシオンの角の位置が違う、リムルの頭に猫耳が生える、シオンが男になる、エッチなポーズになる でボツでした。 一応、否定プロンプトで「EasyNegativeV2、Undressing、Unwanted limbs」を入れて脱がないようにしていたのですが不思議です😍

角の位置を無視すれば11枚の画像が使用可能でしたので3枚に1枚の確率で使えるような画像が生成されます。プロンプトだけで生成した時と比べれば高確率でイメージ通りの画像になります。

おさらい

① プロンプトだけではキャラクター毎に設定を反映させる事が困難で有る

②拡張機能でプロンプトを振り分ける事は可能だがLoRAは適用されなくなる。

③拡張機能の記載方法が通常と異なり、更に検証が必要

④LoRAを適用させるには拡張機能を更に拡張する必要がある

特殊な記載方法になりましたが結果オーライでお許しください、他に良い解決方法が有るかも知れませんので分かり次第、記載させていただきます。

以上です。

じゃー またね!