mieki256's diary



2024/08/23(金) [n年前の日記]

#1 [cg_tools] Stable Diffusion web UIでアウトペインティングをする際の手順をメモ

画像生成AI、Stable Diffusion web UI を使ってアウトペインティングを試していた。手順については覚えたぞ、と思ったけれど3日後には全部忘れてそうだなと不安になってきたので、一応念のために手順をメモしておこうかなと…。

環境は Windows10 x64 22H2 + Stable Diffusion web UI 1.6.0 / Stable Diffusion web UI Forge。

元画像 :

今回は以下の画像をアウトペインティングの元画像とした。

01_sample_image01.png

Mosaic outpainting拡張を使った事例 :

Mosaic outpainting という拡張を使えば、Stable Diffusion web UI Forge版でもアウトペインティングが使える。一応手順をメモ。

インストールは、Extension タブから行える。

インストール後は、Mosaic タブが増える。以下のような感じで指定。

02_mosaicoutpainting_ss01.png

  • 処理したい画像をドラッグアンドドロップすると読み込ませることができる。
  • Directions で、上下左右のどちらにアウトペインティングするかを指定。
  • Horizontal / Vertical Expand % で、元画像の幅や高さの何%分を増やすのかを指定。
  • Process Mosaic で、モザイク画像を作成。
  • できたモザイク画像でまあまあ良さそうなら、Send to Inpaint で、img2img に結果画像を送る。


続いて、img2img タブでの作業になる。

03_mosaicoutpainting_ss02.png

赤丸がついているあたりを操作していけば、それらしくなるかなと…。
  • Inpaint upload タブの中に、モザイク画像とマスク画像の2つが読み込まれる。
  • プロンプトにはそれらしい内容を記述しておくこと。
  • Mask blur は、境界をどれだけぼかすか。
  • Mask mode は、Inpaint masked に。
  • Masked content は、Original に。
  • Inpaint area は、Whole picture に。
  • Soft inpainting にチェックを入れておく。
  • Sampling method と Sampling steps は任意の種類、値に。
  • Resize by を選んで、Scale は 1 に。
  • Denoising strength は任意の値に。

Generate をクリックして処理を開始。

今回は、以下のような画像が生成できた。元画像に比べると、横幅が増えて、それらしい内容が描画されていることが分かる。

04_sample_image01_outpainting.png

スクリプト Poor man's outpainting による事例 :

img2imgタブの一番下のほうにあるスクリプトの中に、アウトペインティングを簡単にできるようにするスクリプトがある。

注意点。スクリプトを使ったアウトペインティングは、Stable Diffusion web UI 本家版(A1111版)で行うこと。Forge版では正常動作しなかった。


img2imgタブで、ドラッグアンドドロップで元画像を読み込む。プロンプトには、適切な内容を記述しておく。

05_outpaintingscript_ss01.png


一番下のほうにある Script の中からスクリプトを選ぶ。

06_outpaintingscript_ss02.png


以下の2つが選べる。
  • Outpainting mk2
  • Poor man's outpainting

07_outpaintingscript_ss03.png


今回は、Poor man's outpainting を選んでみた。

08_outpaintingscript_ss04.png

  • Pixels to expand で、増やしたいドット数を指定する。
  • Mask blur は、境界をどれだけぼかすか。
  • Masked content は、fill に。
  • Outpainting direction で、上下左右のどちらに増やすかを指定。

いきなり上下左右の全部を指定してもいいのだけど…。満足できる生成結果が出てくるまで何回かガチャを回すことになるだろうから、一方向ずつ生成して結果が良ければ次の方向に、と作業していったほうが良さそう。ちなみに、複数の方向を指定しても、結局は一方向ずつ順々に処理されていくことになる。


今回は、左、右、上、下、の順番でアウトペインティングをしてみた。

09_poormansoutpainting_ss01.png

10_poormansoutpainting_ss02.png

11_poormansoutpainting_ss03.png

12_poormansoutpainting_ss04.png

よく見ると境界のあたりが不自然…。

スクリプト Outpainting mk2 による事例 :

Outpainting mk2 も使ってみた。これも、左、右、上、下、の順番で処理してみた。

13_outpaintingmk2_ss01.png

14_outpaintingmk2_ss02.png

15_outpaintingmk2_ss03.png

16_outpaintingmk2_ss04.png

下をアウトペインティングしたら、腕や腹のあたりが…。こういう状態で処理するのは難しいということなのだろうな…。ざっくり手描きで色を塗って処理したほうがいいのかもしれない。

img2img の Resize and fill による処理 :

img2img の Resize and fill を使っても似たようなことができる。

以下の事例は、変えたくないところをマスクして背景だけを差し替える事例。

17_resizeandfill_tuto_ss01.png


以下のような結果が得られた。左右を増やしてから、上下も増やした。

18_resizeandfill_result_ss01.png

19_resizeandfill_result_ss02.png

処理するたびに、マスクされてない背景部分がガラリと変わってることが分かる。

以上、1 日分です。

過去ログ表示

Prev - 2024/08 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project