Img2Imgにおけるインペイント(Inpaint)の仕組み
Stable DiffusionのWebUIでは、画像の一部を再生成する「インペイント」機能がImg2Imgタブ内に用意されています。この機能は主にマスク(選択範囲)の適用方法によって異なる3つのタブに分類されますが、ここでは基本的な操作と設定パラメータに関する詳細な技術解説を行います。
キャンバス操作とショートカットキー
画像のアップロードやText-to-Imageからの送信後、インペインタブで編集作業を行います。編集効率を向上させるためのキーボードショートカットは以下の通りです。
| 操作 | ショートカット |
|---|---|
| キャンバスの拡大・縮小 | Alt + マウスホイール |
| ブラシサイズの調整 | Ctrl + マウスホイール |
| ズームのリセット | R |
| 全画面モードの切替 | S |
| キャンバスの移動 | F |
ブラシでキャンバス上を塗りつぶす行為は、再生成領域を定義する「マスク」を作成するプロセスと同等です。白色または半透明で表示される部分が、再生成の対象となる領域です。
マスク設定の詳細
インペイントの精度を左右する重要なパラメータを以下に定義します。
マスクのぼかし (Mask blur)
マスクの境界線におけるぼかしの強度を制御します。再生成された部分と元の画像との境界を滑らかにするための設定であり、特に理由がなければデフォルト値を維持することが推奨されます。
マスクモード (Mask mode)
- マスクされた部分を再描画 (Inpaint masked): ブラシで塗った領域(マスク内)のみを再生成します。一般的な修正作業で使用されます。
- マスクされていない部分を再描画 (Inpaint not masked): 塗った領域を除外し、その背景部分のみを再生成します。オブジェクトを保持したまま背景を変更したい場合に利用します。
マスク領域のコンテンツ処理 (Masked content)
マスク内の画像データを生成前にどのように処理するかを決定します。
- fill (埋める): 元の画像の色を基にブラーで埋めます。微細な調整に適しています。
- original (原版): 前処理を行わず、元の画像情報をそのまま使用します。
- latent noise (潜在空間ノイズ): 領域内にノイズを充填してから再生成します。大きな変更を加えたい場合に有効ですが、結果の変動が大きくなります。
- latent nothing (空白潜空間): 領域の内容を完全に消去し、新たなノイズを充填します。
運用ガイドライン: 軽微な修正には「fill」または「original」、大きな構図の変更や完全な生成替えには「latent noise」または「latent nothing」を選択します。
再描画領域とエッジの処理
「再描画領域 (Inpaint area)」設定は、処理対象の範囲を決定します。
全体
画像全体を考慮して再描画を行います。解像度が元画像と異なる場合、設定されたスケーリングモードに従って処理されます。基本的には元の解像度と一致させるか、画像送信時に解像度情報を引き継ぐのが安定した結果を得るコツです。
マスク部分のみ
ここでは「ピクセル (Padding pixels)」という重要なパラメータが機能します。これはマスク領域の外側に、どれだけの余白(コンテキスト)を含めるかを決定します。
- 低い値(例: 4ピクセル): 非常に密度の高い情報のみを参照するため、生成結果が「画像の中に画像を貼り付けた」のような不自然な見た目(切り抜き感)になる傾向があります。
- 高い値(例: 200ピクセル): 周囲の広い範囲から文脈を読み取るため、背景との統合感が高まり、自然な結果が得られやすくなります。
マスク範囲が広い場合は低い数値を、マスク範囲が狭い場合は高い数値を設定すると良いバランスが取れます。なお、「全体」モードを選択している場合、このピクセル設定は無効化されます。
プロンプト入力
インペイントを行う際は、正のプロンプト(Positive Prompt)欄に、マスク内で生成させたい具体的な内容を記述する必要があります。これにより、意図した変更が適用されます。