-
Notifications
You must be signed in to change notification settings - Fork 2
Identity Edit Explained
Identity Edit LoRAは、Krea 2に「参照画像を見ながら、新しい画像を生成する方法」を教える追加学習データです。
通常のKrea 2は、主に文章を条件として画像を生成します。Identity Editでは、参照画像の見た目と編集指示の意味を同時に利用します。
flowchart LR
reference["参照画像"] --> appearance["見た目の情報"]
instruction["編集指示"] --> semantics["意味の情報"]
appearance --> krea["Krea 2"]
semantics --> krea
krea --> output["新しい画像"]
たとえば、人物の参照画像と次の指示を与えます。
この人物を、赤いジャケットを着て東京の夜道に立たせる
このとき、モデルは次の処理を行います。
- 元の人物の顔、髪、服装などを参照画像から読み取る
- 「赤いジャケット」「東京の夜道」という変更指示を理解する
- 元の人物らしさを残しながら、新しい画像を生成する
Identity Edit LoRAは、Krea 2の内部に「参照画像のどこを読み、生成中の画像とどう組み合わせるか」を教えます。
LoRA自身が特定の人物を記憶しているわけではありません。実行時に与えられた参照画像から、その人物のidentityを読み取る方法を学習しています。
通常のimg2imgは、元画像にノイズを加えてから描き直します。
そのため、構図やポーズが元画像に引っ張られやすくなります。
Identity Editは異なる方式です。
flowchart TB
subgraph img2img["通常のimg2img"]
direction LR
original["元画像"] --> noise["ノイズを加える"] --> redraw["描き直す"]
end
subgraph identity_edit["Identity Edit"]
direction LR
random["ランダムノイズ"] --> generated["新しい画像を生成"]
reference["参照画像"] -.->|生成中に参照| generated
end
参照画像は「描き直すキャンバス」ではなく「横に置いた資料」です。元の顔や衣装を維持しながら、構図、ポーズ、背景を大きく変更しやすくなります。
Identity Editでは、参照画像を2つの異なる経路で利用します。
参照画像をVAEでlatentへ変換し、Krea 2のTransformerへ直接渡します。
flowchart LR
reference["参照画像"] --> vae["VAE encode"]
vae --> latent["clean latent"]
latent --> transformer["Krea 2 Transformer"]
この経路は、主に次のような視覚情報を伝えます。
- 顔の形
- 髪型や髪色
- 衣装
- 色や質感
- 背景や構図
「clean」と呼ぶのは、この参照latentには生成用のノイズを加えないためです。
モデル内部では、おおむね次の順序で情報が並びます。
[文章 | 参照画像 | これから生成する画像]
生成中の画像tokenは、attentionを使って参照画像tokenを見ることができます。
同じ参照画像を、編集指示と一緒にQwen3-VLへ渡します。
参照画像 + 編集指示
↓
Qwen3-VL
↓
画像内容を踏まえた文章conditioning
Qwen3-VLは画像を理解できる言語モデルです。編集指示を読むだけでなく、「この画像に写っている人物の何を変更するのか」を画像と対応づけて理解します。
この対応づけがgroundingです。
Groundingとは、文章中の言葉を、実際の画像内容と結びつけることです。
たとえば、次の指示だけでは「彼女」が誰なのか分かりません。
彼女の服を赤くして、背景を夜にする
参照画像もQwen3-VLへ渡すことで、モデルは次の対応を理解しやすくなります。
「彼女」 → 画像に写っている人物
「服」 → その人物が着ている服
「背景」 → 人物の後ろにある領域
これが「画像にgroundされた編集指示」です。
Groundingがない場合、文章は一般的な意味として処理されます。
「黒い髪の人物」
↓
一般的な黒髪人物を生成
Groundingがある場合は、参照画像との関係を含んだ条件になります。
「この画像にいる黒髪の人物」
↓
参照人物を対象として編集
Qwen3-VLのgroundingだけでは、顔や質感などの細かな見た目を完全には保持できません。反対に、clean latentだけでは「何を残し、何を変更するか」という編集指示との対応が弱くなります。
そこで、2つの経路を組み合わせます。
| 経路・要素 | 主な役割 |
|---|---|
| clean latent | 顔、衣装、色、形などの具体的な見た目を伝える |
| Qwen3-VL grounding | 誰の何をどう変更するかという意味を伝える |
| Identity Edit LoRA | 2種類の情報を編集として利用する方法をモデルに教える |
簡単に言えば、次のような役割分担です。
- clean latentは「参照画像をよく見る」
- groundingは「指示の対象を理解する」
- Identity Edit LoRAは「両方を使って正しく編集する」
Identity Edit LoRAをロードせずに参照latentだけを追加しても、通常のKrea 2は、その特殊な入力形式を編集条件として十分に学習していません。
そのため、次のような結果になる可能性があります。
- 参照画像を無視する
- 参照画像と生成画像を不自然に混ぜる
- identityを十分に維持できない
- 編集指示と参照画像の関係を正しく解釈できない
Identity Edit LoRAは、参照画像、groundingされた文章、生成対象の画像を結びつけ、この特殊な入力形式を意味のある編集操作に変える役割を持っています。