【Stable Diffusion】絵柄や構図はそのままで背景を追加し画像サイズを変更できる「Poor man’s outpainting」の使い方!【img2img】

こんにちは!悠です!

 

「Stable Diffusion」で、最初は512×512で画像を生成していたけれど、後になって画像サイズを768×512に大きくしたくなる時ってありませんか?

アップスケーラーを使って画像サイズを拡大する時は基本的に比率を変えないので、正方形の画像を横長にする場合には、意外と苦戦している方が多いのではないでしょうか。

 

今回はそんな場合に役に立つ、img2imgを使って絵柄や構図はほぼそのままに、背景を追加して画像サイズを変更できるスクリプト「Poor man’s outpainting」の使い方を紹介します。

今回は拡張機能ではなく、WebUIに最初から備わっている標準機能なので、別途導入する必要はありません!

 

アイキャッチ画像は「AbyssHellVer3」で生成しています。
スポンサーリンク
スポンサーリンク

「Poor man’s outpainting」の使い方

今回は例として「Poor man’s outpainting」を使って、下記の512×512の画像を768×512に自動補完する方法を紹介いたします。

なお、モデルには「AbyssHellVer3」を使用しています。

 

まずimg2imgタブを開いて、背景を追加したい画像をドラッグアンドドロップし、画像を生成するのに使ったプロンプトと全く同じものを入力します。

次にResize modeをCrop and resizeに設定し、Sampling Methodを素材画像生成時と同じものにした後、Denoising strengthを0.60.8程度に設定します。

今回の「Poor man’s outpainting」では、Denoising strengthを高画質化の時によく使う0.3~0.4にしてもほとんど意味がないので注意して下さい。

 

img2imgタブの一番下にあるScriptのプルダウンメニューを開き、Poor man’s outpaintingを選択します。

今回は幅を768-512 = 256ピクセル追加するので、Pixels to expandにその半分の128を入力します。

次にOutpainting directionにleftとrightを選択しましょう。これで素材画像の左と右に128ピクセルずつ続きを追加してくれます。

 

逆に512×512を512×768にしたい時は、upとdownを選択しましょう。

なお、Mask blurは元画像と拡張部分の境界をどの程度ぼかすかを決める値で。大きくすると境界線がよりあいまいになるそうです。基本的にはデフォルトの4でいいと思います。

 

これで設定は完了なので、Generateボタンを押すと下記のように768×512になるよう背景を自動補完してくれます。

 

 

100%継ぎ目を目立たなくすることは難しいので、80%くらい満足いくものができたら、後は下記の記事で紹介しているinpaintを使って修正しましょう。

【Stable Diffusion】Inpaintを使って生成したAIイラストの細部(手や指の崩れなど)を後から修正する方法!
「Stable Diffusion WebUI」のInpaintという機能を使って、生成済みのAIイラストの細部(顔や手、指など)を修正する方法についてまとめた記事です。

 

画像の境界部分が気になる場合は、一度img2imgに送ってDenoising strength低めで再度生成するといい感じになるとコメント欄で教えていただきました!



まとめ

以上が、img2imgを使って絵柄や構図はほぼそのままに、背景を追加して画像サイズを変更できるスクリプト「Poor man’s outpainting」の使い方でした。

WebUIに最初から備わっている便利機能ですが知らない方も多いと思うので、ぜひこれを機に使ってみてくださいね!

では、ここまで読んでいただきありがとうございました。

コメント

  1. ふぁるこん より:

    記事を楽しみにしています。
    Poor man’s outpaintingは境界が気になることが多いので、一度 i2i に送って、Denoising strength低めで出力するといい感じになることが多いです。

    Local環境でできるチャットAIについては記事にされないのですか?
    oobaboogaに連動させたTavernAIをさらにStable Diffusionと連携させて、チャットAIに画像を出力させると、面白い発想の絵を出してくれるので楽しいです。あくまで息抜き程度の使い方しかできてませんが。。

    AI関連で日々新しい発表が続くのでとてもついていけませんね。そういえば、Stability AIが数日前に発表したDeepFloyd IFのデモを使ってみましたが、なかなかいい感じでした。手はまだ苦手なようです。将来的にオープンソース化するようで楽しみですが、必要なGPU性能がきっとすごいことになるのでしょうね。。

    • 悠 より:

      コメントありがとうございます!

      img2imgによる再生成すごくいいですね!記事内に追記させていただきました!

      チャットAIについてもすごく興味がありますね~。AIにプロンプトを考えさせるのも面白そうですし、イラストに沿ったセリフを作らせて簡単な漫画とかできそうな妄想をしていますw
      チャットAI関係とmov2movはいつか絶対記事にしたいと思っています!(ただ処理が重そうなのでGPUが欲しいw)
      そういえばStability AIが最近チャットAIを発表してた気が…あれも気になりますね!

      DeepFloyd IFいいらしいですね!文字を綺麗に出力できるとかでしたよね。今のAIイラストが生成する異世界文字も個人的には味があって好きなんですが、完全な文字を出力できるようになればいつかAIだけで漫画もかけるんじゃないですかね~。

  2. ふぁるこん より:

    StableLMですね。言語モデルが多数出てきて、うれしいですが、uncensoredにして欲しいです。ネット環境だと難しいのでしょうが、Localなら個人的にはそういう言語モデルを使います。

    pygmalionを使ったAI小説は、文字入力に対して臨機応変にストーリーが変わっていくので、Dungeons & Dragonsをしているようで一時はまっていましたが、ストーリーがまだまだで今はよい言語モデルが出てくれるのを待っている状態です。
    流行りの?テキストアドベンチャーのように、感情に応じてキャラの挿絵が自動で変わってくれることなどもできるようです。

    記事への反映をありがとうございました♪ 
    AIで漫画! きっとできますね。来年あたりとか?(笑) アニメーターさんの仕事も既にかなり楽になっているのかもしれません。

    また、遊びにきます。記事の更新も楽しみにしています (^^)/  でも無理はされないで下さいね。

  3. ふぁるこん より:

    と言っていたら、さっそくpygmalion 7Bが出てました(笑)
    ロールプレイに適したモデルもあるようなので、連休中にその実力をみてみます。

    Segment AnythingとSDを連携させるのも面白そうですよね。inpaintにも革命が起こせそうです。

    • 悠 より:

      おお!segment anythingはマークしていまして、近々記事化する予定だったんですよ!
      かなりの多機能で難しそうですが、これcontrolnetとも連携できそうなんですよね~!

      inpaintで使うという発想すごくいいですね!実際にこれ試してみます!ありがとうございます”(-“”-)”