Canvas Anvil

ガイド

AI生成画像におけるキャラクターの一貫性を保つ方法

なぜAI生成のキャラクターは毎回見た目が異なるのか、そして一貫性をどのように強制するのか。

キャラクターが毎回異なるのは、拡散モデルが各プロンプトを独立したインスタンスとして扱い、過去の出力を記憶しないためです。一貫性を強制するには、生成パスの制御、視覚的リファレンスの提供、そしてアイデンティティの特徴を固定する構造的記述子の作成が必要です。

根本原因:なぜ拡散モデルはすべてのプロンプトを新しいインスタンスとして扱うのか

拡散モデルには永続的な状態がありません。画像を生成する際、モデルはランダムノイズから開始し、プロンプト、ランダムシード、モデル内部の重みによって決定されるパスをたどります。これらの変数を制御しないと、モデルは毎回わずかに異なる解釈で記述を処理します。

問題はモデルがキャラクターを「忘れる」ことではありません。モデルにはキャラクターを永続的なエンティティとして捉える概念がなく、テキスト記述に一致する画像を生成する方法しか知らないのです。記述が曖昧だと、モデルは独自の統計的バイアスで隙間を埋めます。「赤毛の女性」と記述した場合、ある生成では髪が左側になり、別では右側になり、さらに別の生成では髪のテクスチャ自体が変わることがあります。モデルは一貫性を欠いているのではなく、曖昧な指示に忠実であるだけです。

これを解決するには、キャラクターを描写するのではなく、指定する必要がある。これには3つのレバーが必要だ。シード、リファレンス画像、そして構造的記述子である。

一貫性を保つための3つのレバー:シード、リファレンス画像、構造的記述子

シードは開始時のノイズパターンを決定する乱数です。シードを固定すれば、モデルはノイズ空間内で同じパスをたどります。ただし、プロンプトをわずかに変更してもパスは逸脱します。シードだけでは不十分です。

リファレンス画像は視覚的なアンカーです。キャラクターの画像を提供し、アイデンティティとスタイルのガイドとして使用するようモデルに指示します。これは言語の曖昧性を回避するため、テキストよりも強力です。モデルは鼻の具体的な形状、ジャケットのカット、目の色などを確認できます。

構造的記述子は、キャラクターのアイデンティティ特徴を正確かつ幾何学的に記述するものです。「クール」といった曖昧な表現ではなく、「非対称なメガネ、左レンズはひび割れ、右レンズは無傷」といった具体的な記述を用います。これにより、モデルは安定した目標に向かって生成を進めることができます。

シード値を用いて生成パスを固定する

MidjourneyやStable Diffusionのようにシード値を設定できるツールを使用する場合、生成パスを固定できます。まず、良いベース画像を生成するシード値を見つけます。次に、そのシード値を固定したままプロンプトを調整します。これにより、プロンプトの変更によってモデルが全く異なる解釈に逸脱することを防げます。

ただし、シード値は繊細であることに注意が必要です。アスペクト比、モデルバージョン、プロンプト構造を変更すると、同じ結果が得られなくなる場合があります。シード値はグローバルな制御ではなく、ローカルな制御として扱ってください。これは狭いパラメータ範囲内でのみ機能します。

反復的な改良のためのイメージトゥイメージワークフローの実装

一貫性を維持するための最も信頼性の高い方法は、イメージトゥイメージワークフローを用いた反復的な改良です。まずキャラクターの良い画像を用意します。次に、その画像を次の生成のためのリファレンス画像として使用します。キャラクターのアイデンティティ特徴を維持しながら、シーン、ポーズ、ライティングを変更するためにプロンプトを調整します。

Adobe Firefly、Krea、Runwayなどのツールがこの種の作業に適しています。これらのツールでは、特定のキャラクター画像をアップロードし、その視覚入力を基に新しい生成をガイドできます。これらのツールを使用する際は、顔の形状、服装のスタイル、カラーパレットなど、重視する特定のアイデンティティ特徴がどれだけ保持されているかを基準に出力を評価してください。出力がずれる場合は、リファレンス画像の重みを増やすか、構造的記述子をより厳密にしてください。

アイデンティティ特徴を固定する構造的記述子の作成

プロンプトには、誤解釈の余地がない構造的記述子を含める必要があります。「美しい」「クール」「神秘的」といった主観的な形容詞は避けてください。代わりに、幾何学的で具体的な記述子を使用します。

  • 「短い切り揃えた髪とストレートな前髪」は「短い髪」よりも良い記述です。
  • 「ハイカラーでフードなしのレザージャケット」は「ジャケット」よりも良い記述です。
  • 「離れ目でやや下がり気味の目」は「悲しげな目」よりも良い記述です。

これらの記述子がアイデンティティを固定します。これによりモデルは安定したターゲットを持つことになります。Stable DiffusionやComfyUIを使用している場合は、特定のキャラクターデータセットに対するLoRAトレーニングとこれらの記述子を組み合わせることができます。これにより、モデルはキャラクター固有の視覚的特徴を学習し、異なるシーンで一貫して適用できるようになります。

よくある間違い:名前に過度に依存すること vs. ジオメトリの指定不足

最も一般的な間違いは名前に依存することです。キャラクターを「Alice」と名付けると、モデルはAliceが誰なのかを認識できません。汎用的な女性が生成されるだけです。モデルにとって名前は意味を持ちません。

2つ目の間違いは、ジオメトリの指定が不十分な点だ。「青い目の女性」と記述すると、モデルは目の形、瞳孔の大きさ、視線の角度を変えてしまう。ジオメトリを具体的に指定する必要がある。「上まぶたがわずかに覆いかぶさったアーモンド形の目」といった具合だ。

アイデンティティとスタイルを混同しないこと。アイデンティティは安定したコアであり、顔、髪、体型のことだ。スタイルは変数であり、ライティング、背景、ポーズのことだ。プロンプトではこの2つを分離する必要がある。アイデンティティの特徴は正確に記述し、スタイルの特徴はより柔軟に設定できる。

ワークフロー:シーン作成前にキャラクターシートを生成する

シーンを作成する前に、キャラクターシートを生成します。これはキャラクターを複数の角度(正面、横、背面、クローズアップ)で示す画像セットです。固定シードと固定リファレンス画像を使用してこれらを生成します。キャラクターシートが一貫するまでプロンプトを調整します。

一貫したキャラクターシートができたら、それをすべての後続の生成におけるリファレンスとして使用します。シーンを作成する際は、キャラクターシート画像をリファレンス入力として使用します。シーンを記述するためにプロンプトを調整しますが、構造的な記述子によってアイデンティティの特徴を固定したままにします。

このワークフローはツールを問わず適用可能です。モデルトレーニング機能を持つLeonardo.aiを使用する場合でも、詳細なプロンプトエンジニアリングを行うDALL-E 3を使用する場合でも、原則は同じです:まずアイデンティティを確立し、その後シーンを変化させます。キャラクターシートを省略すると、コンテンツを作成するよりも不整合を修正するのに多くの時間を費やすことになります。

広告
広告

The AI Creative Workflow Guide

You will be able to design a repeatable, high-quality creative workflow using AI tools for images, video, and design tasks.

Get it — $29