ComfyUI Krea2 Referenceの使い方|参照画像を手がかりに、キャラクターの新たな一場面を描く

チュートリアル

使い方1:同じキャラクターを別の場面に描く

キャラクター画像をimage1へ接続し、character1を主語にして場面を指定します。最初は、1人・1場面の簡単な内容から試すと比較しやすくなります。

The character1 is sitting on a park bench and reading a book.
A green park in spring, soft afternoon light, medium shot, one person.

この例は「参照キャラクターが、公園のベンチで本を読んでいる」という指示です。髪型や服装は参照画像から読み取り、動作や背景は文章で指定します。

「彼女は〜」と続けたい場合は、最初にThe character1で対象を特定し、その後にShe ...と続けられます。複数の人物を扱う場合は、代名詞だけで曖昧にせず、対応するcharacterNを使うと指示を追いやすくなります。

参照画像には、できるだけ1人・1ポーズが写った画像を使います。複数方向の立ち絵をまとめたキャラクターシートは、生成結果にも複数の人物や立ち絵の並びが出る要因になります。

背景が参照画像に引っ張られています。背景まで引き継いでしまう場合の対処で対処方法を説明します。

使い方2:画風だけを参照する

画風の見本をimage1へ接続し、プロンプトにin the style1と書きます。新しく描く被写体は、文章で具体的に指定します。

A small bookstore on a quiet street after rain, in the style1.
Warm window light, reflections on the pavement, a wide view.

この場合は、参照画像の人物を指定しているわけではありません。本屋や道路、光の条件は文章で指定し、画風の手がかりを画像から与えます。

内部ではstyle1が画風を指定する文言へ展開されます。同時に、参照画像の小さな領域を並べ替え、元画像全体の形や配置を崩してからエンコーダーへ渡します。これは、被写体や構図の持ち込みを抑えつつ、局所的な色・線・質感を使うための処理です。

並べ替えは、生成画像をモザイクにするための指示ではありません。ただし、生成結果にタイル状の質感が現れる場合は、参照処理や画像の選び方の影響を切り分ける必要があります。単に書き方が間違っているとは限りません。

画風が弱い、またはモザイク状になる場合

  • image1_detailをlowまたはnormalから試します。これは作者が画風の手がかり向けに挙げている設定です。
  • layout_splitを0.10-0.25程度に設定します。これは、画像生成に至るステップのどの段階から画像を参照するかという設定です。
  • 画風の特徴を文章でも補います。例えば、柔らかい水彩、紙の質感、細い線など、目標とする見た目を具体化します。
  • 参照画像を変えます。タイル模様や複数コマの画像を避け、画風を示す1枚の絵で比較します。
  • style1を使う方法と、in the exact art style of Picture 1と書く方法を、seedを固定して比較します。

最後の2つは、実装を踏まえた切り分け案です。特にin the exact art style of Picture 1という文章は、画風を参照する指示ですが、コード上ではstyle1用の並べ替えを有効にしません。その分、元画像の被写体や配置が影響する可能性にも注意してください。改善を保証する設定ではありません。

使い方3:キャラクターと画風を別々に指定する

人物の画像をimage1、画風の見本をimage2に接続します。プロンプトでは、character1とstyle2を組み合わせます。

The character1 drinking coffee at a café. In The style2.

ポイントは、「誰を描くか」と「どう描くか」を別々の画像に担当させることです。画風用の画像に人物がいる場合でも、style2による並べ替えで、その形や構図の持ち込みを抑える処理が入ります。ただし、完全に分離できるとは限りません。

作者のREADMEでは、2枚参照の場合、画風が背景には強く反映されても、人物への反映は部分的になることがあると説明されています。人物にも画風を寄せたい場合は、目標とする線や塗り方を文章で補って比較します。

bg_removalを使用しています

背景まで引き継いでしまう場合の対処

キャラクター参照として渡した画像には、人物だけでなく背景も含まれます。「人物だけを使う」と文章で指定しても、背景の影響が残ることがあります。こうした場合は、参照画像をエンコーダーへ渡す前に、人物部分へ絞る方法を試します。

方法1:bg_removalへ背景除去モデルを接続する

LoadBackgroundRemovalModelでBiRefNetなどの対応モデルを読み込み、BACKGROUND_REMOVAL型の出力をReference Encodeのbg_removalに接続します。ここに接続するのは、画像やマスクではなく、背景除去モデルです。

ComfyUI公式のBiRefNetテンプレートでは、birefnet.safetensorsをmodels/background_removal/に置く構成が示されています。ノードが見つからない環境では、この機能に対応するComfyUI本体が必要です。

Reference Encode側で、キャラクター側の参照画像からマスクを取得し、被写体の周辺を切り出して背景を白くした画像を使います。styleN指定の画像には、この自動背景除去を適用しません。画風の手がかりは背景にも含まれるためです。

方法2:image1_maskへ被写体マスクを渡す

人物が複数いる場合など、残したい対象を自分で指定したいときは、image1_maskへマスクを接続します。この入力では、白が残す部分、黒が除く部分です。マスクを作成するノードによって白黒の意味が異なるため、接続前にプレビューし、必要に応じてInvert Maskで反転します。

白と黒両方で試しましたが、どちらも人物が描かれました。色はあまり関係ないようです

コードでは、指定したマスクの範囲をもとに参照画像を切り出し、背景を白くしてからエンコードしています。画像ごとのマスクを接続した場合は、自動背景除去よりもそのマスクが優先されます。

透過PNGを使う場合も、Load ImageのMASK出力をそのまま接続してよいとは限りません。透明部分が白いマスクなら、人物を残す目的に合わせて反転します。透過PNGをIMAGE入力へ渡すだけでは、透明度による人物抽出は行われません。

imageN_detailとlayout_splitの調整

detailは、参照画像を処理する解像度です

imageN_detailは、参照画像を画像エンコーダーへ渡す際の長辺サイズを指定します。生成画像の解像度や、LoRAの強度を直接指定するものではありません。

設定長辺の目標サイズ使い始める場面
low256px画風やポーズの大まかな手がかり
normal512px画風をもう少し詳しく参照したい場合
high1024px人物の顔・髪型・服装などの参照
max1280pxより細かく参照したい場合の比較用

値を上げると画像トークンが増え、参照の影響や処理負荷も増える傾向があります。最大値にすれば必ず良くなるわけではありません。背景や構図まで引き継ぐ場合は、detailを上げる前に参照画像の役割やマスクを見直します。

layout_splitは、参照を使い始めるタイミングです

layout_splitが0.0の場合は、最初から参照画像を含む条件を使います。0.25なら、生成過程の最初の25%は画像なしの文章条件を使い、その後に参照条件へ切り替えます。

元画像を横に並べたような構図になる場合の調整に使えます。作者はLoRAなしで使う場合の対策として0.25を挙げていますが、参照用LoRAを併用する本記事の基本構成では、まず0.0から確認します。

この設定は、背景を除去したり、人物だけを抽出したりする機能ではありません。参照を使うタイミングが変わるため、結果を見ながら調整してください。

以下は1枚の画像でキャラクターとスタイルを参照した例です。normalの0.20を見ると譜面に顔が現れていることが分かります

low

normal

うまくいかないときの確認ポイント

症状まず確認すること
人物の特徴があまり反映されない画像スロットとcharacter番号の一致、bf16エンコーダー、参照用LoRAの適用、参照画像の人物の大きさを確認します。
元の背景まで出る人物マスクやbg_removalを使い、参照画像を人物中心に絞ります。
人物が増える・画像が並ぶ複数ポーズの参照画像を避けます。まず1024×1024、人物1人の構成で比較します。
画風参照から別の人物が混ざるstyle番号を明示します。特定の人物や作品の特徴が強い見本は、別の参照画像でも比較します。
モザイク・タイル状の質感が出るdetail、画風の文章指定、参照画像、並べ替えを使わないPicture表記を順に比較します。
ネガティブプロンプトが効かないTurboでCFG 1.0なら、ネガティブ側が使われない設定です。positiveと参照画像を見直します。
髪や服の色を変えにくい参照画像の色を引き継ぐことがあります。作者は色変更を参照画像側で行う方法を挙げています。
サンプルにimageN_roleがあるが、ノードに項目がない古いサンプルと現在の実装の差です。現在はプロンプト内のcharacterN/styleNで役割を指定します。

参照用LoRAのstrength_dit_bodyを上げれば、すべての問題を解消できるわけではありません。作者は場面の指示を補強する場合に約0.3を挙げていますが、人物の特徴が変わる可能性も説明しています。基本値から少しずつ比較してください。

同梱サンプルを使う場合の注意

リポジトリのexamples/には、生成情報を埋め込んだPNGがあります。作者はComfyUIへドラッグ&ドロップしてワークフローを読み込む方法を案内しています。

ただし、確認したPNGにはpromptメタデータがあり、通常のUI配置情報を含むworkflowキーはありませんでした。ComfyUIのバージョンや読み込み方法によって、ワークフローの復元状況は変わり得ます。読み込めない場合でも、前述の接続表から基本構成を組めます。

また、同梱JSONやPNGには、現在のノードにないimageN_roleが残っています。JSONには参照用LoRAが含まれていない構成もあるため、モデル・参照画像の差し替えに加え、ノードの設定項目とLoRA経路を確認してください。

参考リンク

コメント

タイトルとURLをコピーしました