SDXL アスペクト比
SDXL NPU モデルは生成時に任意のアスペクト比をサポートし、解像度ごとに別モデルファイルを用意する必要はありません。
仕組み
SDXL UNet の入力は常に 1024×1024 で固定されており、同一バイナリがすべてのアスペクト比を処理します。非正方形画像を生成するために、アプリは inpaint 形式の巧妙な手法を使用しています:
- 1024×1024 のラテント空間内に、目標出力領域を中央矩形として配置。
- 各デノイズステップで、矩形の外側はマスクされ、モデルは目標領域内のピクセルのみを更新。
- サンプリング完了後、中央矩形を切り出して最終画像として返します。
結果として、モデルは「1024×1024 を生成している」と認識しつつ、デノイズ計算は中央の目標矩形内に制限され、指定したアスペクト比のクリーンな画像が得られます。
サイズルール
- 長辺は常に 1024。
- 短辺は選択したアスペクト比に応じて比例計算された後、8 の倍数に切り上げ —— モデルは 8 の倍数の寸法しか受け付けません。
例:3:2 → 1024 × 2/3 ≈ 682.67、切り上げて 1024×688。9:16 → ちょうど 576×1024。
パフォーマンス
下層の計算グラフが常に 1024×1024 で実行されるため:
- 生成時間は選択したアスペクト比に関係なく同一。
- より小さい解像度による高速化は存在しない —— 縦長や横長のキャンバスを選んでも速くも遅くもならない。
SD1.5 との比較
SD1.5 は逆のアプローチを採用しています:各解像度(512×768、768×512、768×1024、1024×768 …)が個別のパッチモデルであり、キャンバスサイズを変更するにはモデルを切り替える必要があります。SD1.5 NPU 高解像度 を参照してください。
| SD1.5 NPU | SDXL NPU | |
|---|---|---|
| 解像度ごとのモデルファイル | あり(サイズごとに 1 つ) | なし(単一の 1024×1024 モデル) |
| キャンバスサイズ切替 | 異なるパッチを再読み込み | 瞬時、再読み込み不要 |
| キャンバスサイズと生成時間 | 解像度に応じて変化 | 一定 |
注意事項
- アスペクト比選択は SDXL NPU モデルにのみ適用されます。SD1.5 NPU は引き続き解像度ごとのパッチ方式です。
- 極端なアスペクト比では 1024×1024 キャンバス内の使用領域が小さくなり、非常に細長い/横長の比率では構図品質に影響する可能性があります。