Stable Diffusionで画像生成すると、基本的には512*512のサイズで生成されます。
いい感じの画像ができてきたぞ!
でも、今回は動画で使いたいから、横長の画像が欲しいんだよな...
あーあ、今手元にある正方形の画像に、生成した画像によくマッチした背景を追加できたらいいのになぁ( 'ω')
...それ、アウトペインティング機能でできます。
アウトペインティング機能
既存で入っているOutpainting mk2またはPoor man's outpaintingという機能を使います。
Outpainting mk2は、かなりダイナミックに新しい画像を生成してくれて、
Poor man's outpaintingは、元のイメージに寄せて、比較的おとなしめの描き足しをしてくれる印象です。
使い方
img2imgを開いて、描き足ししたい画像をアップします。
この時、この元画像のプロンプトを入れておくことをおすすめします。
プロンプトを忘れてしまった場合は、こちらを参考にプロンプトを復元してください。
下にスクロールして、最下部にあるScriptから、Outpainting mk2またはPoor man's outpaintingを選択します。
Outpainting mk2の場合、
Pixels to expandで描き足す幅のピクセル数を決められます。
8刻みで、最小8から設定できますが、最低でも64ピクセル描き足されてしまうようですので、64を選択するのがおすすめ(後述)。
Mask blurは、元のイラストとの境目のぼかし具合を選択できます。
Outpainting directionで描き足す方向を決められます。
全部選択して、一度に生成することも可能ですが、一方向ずつ着実に生成した方が、ガチャ失敗しにくいです。
Poor man's outpaintingの場合の設定値も、上記とほぼ同じです。
Pixels to expandとMask blurをよしなに設定しましょう。
Masked contentはfillでOKです。
ちなみにPoor man's outpaintingでは、Batch countを上げても、毎回1枚しか生成されないようです。
生成時のコツ
少しずつ描き足しましょう。
いきなり欲張ってたくさん描き足すとカオスになりがち。
![Stable Diffusionのoutpaintingの出力画像 Stable Diffusionのoutpaintingの出力画像](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1JLwgGE9oKgcfQ2lw_b9nZAqd-SK5ucWi2mT-8-b95BErFCilgPn_QgZKIHbjGcuCeHOADkpN60Jsom_ENdxpRb_pNGx0sQ_CON5OMDeQgwCYllChZ5-ieHL8jOnQh-9ci9reapTliM_-TmjIyEWNA90UXJnGCgwFO42Z6qL8RYykfQ-Z5maF1GpoY4Rf/w400-h214-rw/00144-101641661.png) |
左右128pxを同時に描き足した結果。 |
たとえば最終的に横長画像を作りたいのであれば、右64pxで生成→出力結果から左64pxで生成→さらにその出力結果から右64pxで生成...という形で、バランスよく交互に広げていくのがおすすめ(この後、具体的にどのように拡張していったかを画像添付します)。
![Stable Diffusionのoutpaintingの出力画像(失敗) Stable Diffusionのoutpaintingの出力画像(失敗)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisXXZF3SYglZTejbwzodbCOmWFF7fltyZg_AkD7BkqRQpYItA6TJ1470ZYkqYcTSfO7Y6Ncb8K6Xp3UZFeNtmYMGt8cVWkHBP-LtaNoMeb1JQdj2aOqRcyqIKPbGyn0WSkZkZ2GwcFxs6QZPh45g8GMboPz9fAC6nTDMzUeyvoBI1KVyxTmayYSEo9qIJR/w400-h320-rw/00151-3902433558.png) |
左右いっぺんに作ると、片方が良くてももう片方が惜しいな〜となることも。 |
思った画像が全然仕上がらない場合、思い切ってプロンプトを一旦全消去して、描き足したいものの名前だけをプロンプトに入れて生成する、というのもおすすめです。
今回、私の元絵のプロンプトには、 a goddess of the sunとかtempleとかという単語が入っていたので、拡張された絵にも人や建造物が入り込んで、謎の絵が生成されがちでした。
![Stable Diffusionのoutpaintingの出力画像(失敗) Stable Diffusionのoutpaintingの出力画像(失敗)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiomOQKfspoZPZGfCXvWfkgopZitOOsdaKYRd9pVEVz271YcfPye3gixzAUHf_6MhrtqNQzTai9R_CorvluZ0yoK-MXE3i4pQEsnkfDcYrq3J_6ucunGmoFqY7GPhff8Vi7dNCgSfJ2zrZJitQDcSZ9C1pvx4y2Gwl5KglFdzN-rAcXM34Ca8ZdWjlgYL96/w400-h355-rw/00206-1149942098.png) |
違う、そうじゃない |
シンプルにskyとだけ入れたら、むしろいい感じに生成してくれました。
うまく生成できない時のトラブルシューティング
Denoising strengthが低すぎると、全然画像を描き足してくれません。
0.5-0.8くらいで色々試してみましょう。
![Stable Diffusionのoutpaintingの出力画像(失敗) Stable Diffusionのoutpaintingの出力画像(失敗)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKIZdLGP1B0KSg37q2GAyJ07vt7sh-kgE41e7F2uS5II1Am_xxlK3iq2dBlc5IHbgUGCyX1nC3qfkUxHQziacySIbHl0y2irEruhuihQNLHPI5yjox25JYTj9o3l0ugGiAZrq7Fik0W-4YWlsFVpYzWXLioSfugQEwJMOlOmLTxPjwpk-GWxF7DvLkQ2LS/w400-h355-rw/00002-1748271244.png) |
左側を64px描き足したつもりで、全然描き足せなかった |
Seedが-1になっていることを確認してください。
-1以外の固定の数値が入っていると、何回やっても同じ画像になります。
元画像と同じCheckpointを使ってください。
別のモデルを使うと、書き足した部分だけ絵の雰囲気やタッチが変わってしまいます。
描き足しの様子
参考までに、私の書き足しの様子はこんな感じでした。
![Outpainting mk2を使って拡張した画像 Outpainting mk2を使って拡張した画像](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDMVZB8u3trPz1_qVc3lvGhpg9LK0dnWJ_fpapp5UEqLkp-0DNHoYk1nowU5nqwGzk4k2XGfDSf-8wSp3ftLO-hpopMqZXAui9qyHDPo5OmeNfPCyDCIkB4Bpo81J1NUrL4uPqNZz3m_uSJbs03iviQdM4xJiCjakAxdj-0SGUU-1uuXP_9rOBzTRQ5e5L/w400-h400-rw/00167-1396614.png) |
元画像 |
![Outpainting mk2を使って拡張した画像 Outpainting mk2を使って拡張した画像](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgew_N9xi1dZzWLyY6UQk4AiSOPMEkhtPpnjCaqqqA8ZclSTbaoyArmaEKe47fRJOXYE_JpWQpI156OVg-hdMTpxntAkyeeQCMhlci1zYZ1JukTeq1tVJbmyTZDCQHvBTwc3mA1FXg7vPGGjEeNl41r86pi8lfLi2H2r6qn_xfWjoebq3YYoj3fKIRAlGr-/w400-h355-rw/00214-4175337323.png) |
(顔周りもついでにinpaintで修正してます) |
![Outpainting mk2を使って拡張した画像 Outpainting mk2を使って拡張した画像](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2atsEHrCZGe1zoJMzplNh455nF1mNZTCLC0qgcldLMUFmP2ymG4P8rKwjtnbS9IMWvgh5jxl2cnC1Z96heVZwWqU91Rik_LSmAF6gQReGq7v_PutpWKK9Rg2rRQllUSZOX1I0aPL94EmXmYpYSydjVjr4EECDeM7mIacdDth2a7PVINk_-8F_fZuhm83Z/w400-h320-rw/00267-1377804150.png) |
左側の空が気に食わなかったので方針転換 |
![Outpainting mk2を使って拡張した画像 Outpainting mk2を使って拡張した画像](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj06kuIso6SrVmdAolT_N1m_RzRGizhmi2HqS3XthY-aPVrkEzyODduckkyFXEv_oGk9yB_OKD2sxXa8D9uPEB_U3Y749eirb0p_NKt1B6UGLoeLPlDTo6J0hrnugiJPvRvtye6Thc_2-JWhYClei9KWzGJ040fCnRyWj0TqnbL6oUxZFZfLT09m1l_i1-b/w400-h246-rw/00317-3025340248.png) |
アハ体験みたいにちょっとずつ拡張していきます |
まとめ
前回、動画用に画像を作ったときは、正方形の画像をどうにかサイズ拡大して...と試行錯誤していたのですが、
アウトペインティング機能を使えば、だいぶ楽に、そして綺麗に画像を拡張できるとわかったので、めちゃくちゃありがたいな〜と感じました。
今後も積極的に使っていきたいです。
0 コメント