生成AIでエッチな画像を作る探求
Inpaintをやったのだから次はOutpaintでしょう。ということでOutpaintをやってみます。
ワークフローの用意
いつものように標準で作成されるワークフローに対してノードを追加していきます。

- Load Image
- Upscale Image By
- Pad Image for Outpainting
- Expand Mask
- InpaintModelConditioning
OutpaintでもInapintModelConditioning使うんですねって感じです。まぁ、確かにマスク個所書き足すのでやってることとしては変わりないのかもしれません。
ノードを配置しましたら接続します。青色マーカーは既存のノードです。
| From | To | ||
|---|---|---|---|
| Load Image | IMAGE | Upscale Image By | image |
| Upscale Image By | IMAGE | Pad Image for Outpainting | image |
| Pad Image for Outpainting | MASK | Expand Mask | mask |
| Pad Image for Outpainting | IMAGE | InpaintModelConditioning | pixels |
| Expand Mask | MASK | InpaintModelConditioning | mask |
| CLIP Text Encorde (Prompt) | CONDITIONING | InpaintModelConditioning | positive |
| CLIP Text Encorde (Prompt) | CONDITIONING | InpaintModelConditioning | negative |
| Load Checkpoint | VAE | InpaintModelConditioning | vae |
| InpaintModelConditioning | positive | KSampler | positive |
| InpaintModelConditioning | negative | KSampler | negative |
| InpaintModelConditioning | latent | KSampler | latent_image |
完成形は以下のようになるはずです。Empty Latent Imageは削除しておきます。

各種設定
ノードに対してパラメーターを設定します。
Upscale Image By
- upscale_method : area
- scale_by : 0.5
Pad Image for Outpainting
- bottom :
12864 - feathering : 0
128だと破綻しやすいので64にします。
Expand Mask
- grow : 30
- blur : 15
KSampler
- steps : 30
- cfg : 7.0
- sampler_name : dpmpp_2m_sde
- scheduler : karras
Outpaint元画像を用意する
今回はHentAIjを使用します。728 x 576で生成して、2倍にアップスケールします。
masterpiece, best quality, highres, photorealistic, 1girl, lingerie, street, cowboy_shot,
worst quality, normal quality, ugly, bad_anatomy, watermark, text, logo
Outpaint元画像

Outpaintingを実行する
作成したワークフローに元画像をアップロードし、プロンプトを設定したうえで実行します。
プロンプトは元画像と同じものを使用します。

このままだと縮小されたままなのでアップスケールするフローを追加します。ここは特別なことをしていないので手法は省きます。
完成形ワークフロー

実行しましょう。なお、Expand Maskの設定ですが、境界が気になる場合はgrowや、blurを増やすと良いです。
実際にOutpaintingした画像

まとめ
上手くOutpaintingできましたでしょうか。正直、なかなかうまくいかないのではないかと思います。
特に書き足した部分との境で人体がズレることが結構ありました。そこについては前述したようにExpand Maskを設定して対応したのですが、必ずしもこれで解決するわけでもありません。
ここは根気強くやってみるしかないかなと思います。
また、今回はInapintModelConditioningのnoise_maskをonにしていますが、offにしてみても 良いかもしれません。
参考
noise_maskをoffにして、最初のKSamplerのdenoiseを0.7にしてみました。意外といいかもしれません。



コメント