Regional prompterを利用してキャラクターの描き分けをする手順を紹介します。
今回生成したい画像は下図になります。テーブルをはさんで左右に女子学生がいて会話をしているシーンです。
左の学生は黒髪ポニーテール、右の学生は茶髪のショートヘアです。
左右で別々の特徴を持つキャラクターを生成しますので、Regional prompter を利用して左右に別のプロンプトを適用します。
ControlNetをインストールします。手順はこちらの記事を参照してください。
Regional prompterをインストールします。手順はこちらの記事を参照してください。
画像生成の手がかりとなるための画像を作成します。今回は下図の画像を作成しました。
絵柄を調整するためのLoRAを作成します。今回はガイド画像のキャラクターに似た絵柄のLoRAを作成します。
LoRAの作成はこちらの記事を参照してください。
Prodigyオプティマイザで強めに学習させます。
Stable Diffusionを設定します。
モデルは、プロンプト追従性とLoRAの効きのバランスの良さから、"AnimaPencil" を利用しています。
ControlNet の設定をします。[Enable]のチェックボックスをクリックしてチェックをつけます。
先ほど用意したガイドの画像をControlNetの入力に設定します。
今回はScribbleを利用します。[Preprocessor]に"scribble_xdog"を指定します。[Model]には "contorl-lora-sketch-rank256" モデルハッシュ[759a4f90]を設定します。
Contorl Weight は0.5とします。ウェイトを上げ過ぎるとガイドに忠実に画像が生成されてしまい、いい感じに補正してもらえなくなるため、やや低い値に設定します。
Ending Control Step は"0.8"とし、終盤はControlNetの影響を無くす動作とします。
Regional Prompterを設定します。[Active]のチェックボックスをクリックしてチェックをつけます。[Use base prompt]チェックボックスをクリックして、チェックをつけます。
Divide Ratioは 1,1
を指定し、左右に均等分割とします。[visualize and make template]ボタンをクリックし、分割状態を確認します。
プロンプトを入力します。以下のプロンプトを入力します。
最初のBREAKまでが全体の共通プロンプトです。
以降2番目のBREAKまでが左の領域のプロンプトです。2番目のBREAK以降が右の領域のプロンプトです。
2girls, profile, dining table, thick outline, bold outline,(white background:1.2), flat color, masterpiece, best quality <lora:(絵柄調整LoRA):0.5> BREAK
open mouth, from side, flat chest, young, pointing hands, comic style, from side, black hair with ponytail, hair clip, black blazer, gray skirt, red necktie, school uniform, sitting BREAK
open mouth, from side, flat chest, young, holding cup , comic style, from side, brown short hair, black blazer, gray skirt, red necktie, school uniform, sitting
text, caption, eyelashes, worst quality, low quality,
画像生成を実行します。下図の画像が生成されます。
キャラクターの表情を変更できるか試します。
ControlNetに入力するガイドの画像を以下の画像に変更します。
プロンプトを以下に変更します。
2girls, profile, dining table, thick outline, bold outline,(white background:1.2), flat color, masterpiece, best quality <lora:(絵柄調整LoRA):0.5> BREAK
open mouth, =_=, from side, flat chest, young, pointing hands, comic style, from side, black hair with ponytail, hair clip, black blazer, gray skirt, red necktie, school uniform, sitting BREAK
open mouth, -_-, from side, flat chest, young, holding cup , comic style, from side, brown short hair, black blazer, gray skirt, red necktie, school uniform, sitting
text, caption, eyelashes, worst quality, low quality,
画像生成結果は下図です。
絵柄調整LoRAを使用しない場合は下図の結果になります。微妙な違いしかありませんが、LoRAありのほうには絵柄や癖が反映されています。
2girls, profile, dining table, thick outline, bold outline,(white background:1.2), flat color, masterpiece, best quality BREAK
open mouth, from side, flat chest, young, pointing hands, comic style, from side, black hair with ponytail, hair clip, black blazer, gray skirt, red necktie, school uniform, sitting BREAK
open mouth, from side, flat chest, young, holding cup , comic style, from side, brown short hair, black blazer, gray skirt, red necktie, school uniform, sitting
2girls, profile, dining table, thick outline, bold outline,(white background:1.2), flat color, masterpiece, best quality BREAK
open mouth, =_=, from side, flat chest, young, pointing hands, comic style, from side, black hair with ponytail, hair clip, black blazer, gray skirt, red necktie, school uniform, sitting BREAK
open mouth, -_-, from side, flat chest, young, holding cup , comic style, from side, brown short hair, black blazer, gray skirt, red necktie, school uniform, sitting
顔を描かないガイド画像を入力すれば、いろいろな表情に対応できると見込んでいたのですが、この方法はあまりうまくいきませんでした。
生成した画像を利用した完成イメージです。