【AI男の娘イラスト】LoRAモデルの層別適用の紹介 (Pixiv Fanbox)
Content
1.はじめに
以前の記事では、LoRAモデルを適用することで、男の娘画像が生成されやすくなることをお伝えしました。
AI男の娘イラスト生成術入門2(初級編)
1. はじめに 今回の記事は初級編です。 前回のチュートリアル編に引き続き、AI男の娘イラスト生成術の解説をしていきます。 今回はNSFW画像(男の娘がメインで画面脇に竿役がいるようなもの)をターゲットにします。 前回と同じ環境(Stable Diffusion web UIから「Counterfeit-V2.5」を「EasyNegative」とともに使用)...
しかし、この方法には副作用と言えるものがあります。
単純に男の娘画像が生成されやすくなるのではなく、そのLoRAモデルの学習に使ったであろう教師データの特徴(絵柄や構図など)に寄った形で生成されやすくなります。
どういうことかと言うと、次のようなことです。
この三つの画像はLoRAモデルの適用加減以外は、同じ条件(プロンプト・Seed等)でtxt2imgしています。
一つ目が0(適用無し)、二つ目が0.6、三つ目が1.0です。
### プロンプト ###
femboi, masterpiece, best quality, beautiful, fine, delicate,
astolfo, completely nude, solo, navel, penis, testicles, barefoot,
squatting, spread legs,
outdoors, beach
### ネガティブプロンプト ###
EasyNegative, extra fingers, fewer fingers, (worst quality, low quality:1.4)
適用を強めるほどに男の娘キャラ的にはなるのですが、それ以外の特徴も大きく変化するのが分かります。
変化後の特徴が意図するものなら良いのですが、そうでないなら何らかの対応が必要です。
その対応方法の一つとして、LoRAモデルの層別適用を紹介します。
これにより、完全ではありませんが、意図せぬ変化を抑えられます。
その原理を正確に理解しているわけではないのですが、LoRAモデルの中には複数の層があり、各層はそれぞれ生成画像に影響を及ぼす範囲が違うそうです。
そのため、いくつかの層を使わなくしたり、使うにしても弱めて使うことで、副作用と言える特徴を抑え込むことが期待できるそうです。
2.準備
1. WebUIの拡張機能「LoRA Block Weight」をインストールします。
「https://github.com/hako-mikan/sd-webui-lora-block-weight」
※WebUIの拡張機能のインストール手順が分からない方は、次の記事を参考にしてください。
AI男の娘イラスト生成術入門3(中級編)
1. はじめに 今回の記事は中級編です。 前回の初級編に引き続き、AI男の娘イラスト生成術の解説をしていきます。 今回はNSFW画像(2人の男の娘にフォーカスを当てたもの)をターゲットにします。 前回と同じ環境を引き続き使いますが、これに加えて「Extension」(Stable Diffusion web UIの拡張機能)も複数ダウンロー...
インストールに成功した場合は、txt2img画面やimg2img画面に次の欄が表示されます。
2. この欄のWeights setting項目で、次の内容を追記します。
### 追記内容 ###
A:0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0
NP:1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0
※この項目では、各層の使用加減(Weights)の設定に名前を付けて管理できます。
例えば、「NP:1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0」は、「NP」の部分が名前で「1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0」の部分が各層の使用加減を表しています。「IN07」「IN08」「MID」「OUT10」「OUT11」と呼ばれる層を0にして使わない設定です。
※Aは、人体(局部)に関連するとされる層のみを有効にする設定です。
※NPは、デフォルト傾向の絵柄で生成したい場合に使えるとされている設定です。
※本来は他にも設定が入っています。ただ、私は使わないので削除しています。
3. 追記が完了したら、Save Presetsボタンを押し、設定を記録します。
その後、Reload Tagsボタンを押し、プロンプト欄でその設定が使えるようにします。
これで、準備は完了です。
3.生成
1. プロンプトのLoRA用タグの後ろに、先ほど設定した名前を入れ、生成します。
例えば、次のような感じです。
※コロンの後に名前を入れています。
:A>
:NP>
:A>
:NP>
これは私の印象ですが、1.0でも安定感が増し、また、0.6でも元の絵柄や構図に近いものが出ています。
4.おわりに
ちなみに、LoRAモデルの層別適用は大沼です。
上の例では層ごとに0か1を設定していますが、その間の数値(例:0.2)も設定できます。
更にLoRAモデルは複数適用できますから、組み合わせ方も研究できるでしょう。
この沼への誘いをして、この記事は締めさせていただきます。
(おわり)