結論を先に言うと、「見た目はLoRA、ポーズと構図はControlNet」と役割を分離すると、キャラの同一性を保ったまま狙ったポーズを安定して出せます。 LoRA単独ではポーズが暴れ、ControlNet単独では顔が安定しません。両者をスタックして使うことで、ライティング・パレット・構図を揃えながらキャラを固定できます。本記事ではComfyUI上での具体的なノード構成と推奨パラメータを、2026年6月時点の知見でまとめます。
なぜLoRAとControlNetを併用するのか
LoRAとControlNetは「制御する対象」が異なります。役割を混同すると、どちらも中途半端な結果になります。
| ツール | 制御する対象 | 単独使用時の弱点 |
|---|---|---|
| LoRA | キャラの見た目(顔・髪・服・画風) | ポーズや構図が安定しない |
| ControlNet | ポーズ・構図・輪郭・深度 | キャラの同一性は保証されない |
つまり、LoRAで「誰か」を固定し、ControlNetで「どう写るか」を固定するのが正しい分担です。両者を重ねると、ライティング・配色・構図を一致させつつ、同じキャラを別ポーズで量産できます。
役割分担の考え方
- LoRA = 見た目担当: 顔立ち、髪型・髪色、服装、画風を再現する
- ControlNet = ポーズ・構図担当: OpenPoseでポーズ、Depthで奥行き、Cannyで輪郭を固定する
実務では「キャラLoRA+OpenPose」が最も使用頻度が高い組み合わせです。立ち絵を量産するときも、ポーズ集の画像をControlNetに通し、LoRAでキャラを乗せれば、同一キャラの全身ポーズバリエーションが安定します。
推奨ワークフロー(ComfyUIノード構成)
基本構成
1. Load Checkpointでベースモデルをロード
2. Load LoRAでキャラLoRAを適用(weight 0.7〜0.9)
3. ポーズ参照画像をControlNet Preprocessor(OpenPose等)に通す
4. Apply ControlNetでポーズ情報を条件付けに注入
5. KSamplerで生成
LoRAとControlNetを重ねる順序
LoRAはモデル本体に適用し、ControlNetは条件付け(conditioning)側に適用します。両者は干渉しないレイヤーで効くため、同時適用が可能です。複数LoRAを重ねる場合は、キャラLoRAを先、画風LoRAを後に積むと破綻が減ります。
LoRA訓練パラメータの目安
併用前提でLoRAを自前訓練する場合の、2026年時点の推奨値です。
| パラメータ | 推奨値 | 補足 |
|---|---|---|
| 学習データ枚数 | 20〜30枚 | ポーズ・アングルに多様性を持たせる |
| ネットワークrank | 32 | 大半の被写体はこれで十分 |
| 学習率 | 1e-4 | まず保守的な値から開始 |
| エポック数 | 10〜15 | 小規模データセットの目安 |
| テキストエンコーダ停止 | 全体ステップの0.6〜0.8 | 例: 2000ステップなら1200付近で停止 |
| 混合精度 | mixed precision有効 | VRAMを40〜50%削減、品質影響は最小 |
過学習を防ぐには、対象キャラだけでなく「一般的な概念」の画像も少量混ぜる(正則化画像)のが有効です。これにより、モデルが学ぶべきでない要素まで固着するのを防げます。
ControlNet設定値の目安
| パラメータ | 推奨値 | 用途 |
|---|---|---|
| Preprocessor | OpenPose | ポーズ固定(最頻出) |
| Preprocessor | Depth | 奥行き・空間構成の固定 |
| Preprocessor | Canny / Lineart | 輪郭・線画の固定 |
| ControlNet weight | 0.6〜0.9 | 強すぎるとLoRAの見た目を上書きする |
| start / end | 0.0〜0.8 | 終盤を早めに切るとディテールがLoRA寄りに戻る |
ポイントは、ControlNet weightを上げすぎないことです。weight 1.0近くまで上げると構図は固定されますが、顔がポーズ参照画像に引っ張られてLoRAの同一性が崩れます。0.6〜0.8あたりで、ポーズは固定しつつ顔はLoRA優先という配分にするのが安定です。
トラブルシュート
- ポーズは合うが顔が別人 → ControlNet weightを下げ(0.6前後)、endを0.7程度で切ってLoRAに主導権を戻す
- 顔は合うがポーズが崩れる → ControlNet weightを上げ、Preprocessorがポーズを正しく抽出できているか確認
- LoRAが効きすぎて画風が固い → LoRA weightを0.7前後まで下げる
- 複数LoRAで破綻 → 積む順序を見直し、合計weightが過大にならないよう調整する
まとめ
LoRA×ControlNetの併用は、「見た目=LoRA」「ポーズ・構図=ControlNet」という分離が肝です。LoRAはrank32・学習率1e-4・10〜15エポックを起点に、ControlNetはweight0.6〜0.9で顔の同一性を優先する配分に調整します。キャラの全身ポーズ集や、同一キャラの差分量産を安定させたい実務者にとって、この分離制御は基本テクニックとして押さえておく価値があります。
FAQ
Q. LoRAとControlNetは同時に使っても干渉しませんか?
干渉しません。LoRAはモデル本体に、ControlNetは条件付け側に適用されるため、別レイヤーで効きます。同時適用が前提のワークフローです。
Q. ControlNet weightはどのくらいが最適ですか?
0.6〜0.9が実務の目安です。1.0近くまで上げるとポーズは固まりますが、顔が参照画像に引っ張られてLoRAの同一性が崩れやすくなります。
Q. キャラ固定にはどのPreprocessorが一番使われますか?
OpenPoseが最頻出です。全身ポーズの量産や立ち絵バリエーション作成で、キャラLoRA+OpenPoseの組み合わせが定番になっています。
Q. LoRAの学習データは何枚必要ですか?
20〜30枚が目安です。枚数よりも、ポーズ・アングル・表情の多様性のほうが重要です。少量の正則化画像を混ぜると過学習を防げます。
Q. FLUX.2のポーズ制御があればControlNetは不要ですか?
ざっくりしたポーズ指定ならFLUX.2標準機能で足りますが、ピクセル単位で構図を固定したい場合はControlNet併用が依然として安定します。用途で使い分けるのが正解です。