【Stable Diffusion】Inpaintを使って生成したAIイラストの細部(手や指の崩れなど)を後から修正する方法!

こんにちは!悠です!

 

「Stable Diffusion」を使ってAIイラストを生成していると、顔も構図も背景も完璧なのに手(指)だけが崩れている時ってありませんか?

他の部分が完璧なだけに何とかうまく指だけを修正したいけれど、やり方がわからなくて困っている方もいらっしゃるはず。

 

そこで今回は、「Stable Diffusion WebUI」のInpaintという機能を使って、生成済みのAIイラストの細部を修正する方法をご紹介していきます。

Inpaintは、Google Colaboratory版とローカル版の両方で使用することができます。
スポンサーリンク
スポンサーリンク

Inpaint機能の使い方。

今回は例として、下記の画像の手の部分を修正していきます。

使ったモデルやプロンプトは下記の通りです。

  • Model: MeinaMix
  • embeddings: Corneo’s Power, EasyNegative, bad-hands-5,
  • Clip skip: 2
  • ENSD: 31337
  • Steps: 20
  • Sampler: DPM++ 2M Karras
  • CFG scale: 7
  • Denoising strength: 0.3
  • Hires upscale: 1.5
  • Hires steps: 20
  • Hires upscaler: R-ESRGAN 4x+ Anime6B

 

【Positive】
masterpiece, best quality, absurdres, ultra-detail, 1girl, upper body, orange eyes, +_+, (sharp_teeth:0.8), lustrous skin, seductive smile, detailed background, intricate background, corneo_power, looking at viewer, (red top), denim shorts,
【Negative】
(worst quality, low quality:1.4), monochrome, zombie, nude, bad-hands-5, EasyNegative, bad anatomy

 

 

構図や顔は完璧なのに、手だけが崩れてしまっている悔しい例です!

 

まず「img2img」タブを開き、「Inpaint」を選んだ後修正したい画像をドラッグアンドドロップします。

 

次に画像の右上にあるブラシマークをクリックし、修正したい箇所を黒く塗りつぶします。今回は手を修正したいので、下記の画像のように手の位置を塗りつぶします。(正確になぞる必要はありません)

 

画像下部にある各種設定を変更していきます。基本的に、元画像と同じ画像サイズやsampling methodを選択しましょう。

Denoising strengthは0.5~0.7あたりがおすすめです。

 

それ以外は初期設定のままでOKです。念のためmasked contentがoriginalになっているかだけ確認しましょう。

hires.fix等でアップスケールした画像を素材に使う場合、widthとheightを素材とする画像と同じサイズに設定しないとリサイズされてしまうので注意してください。

 

ここまで終わったらプロンプトを設定していきます。

今回は手の部分を修正したいので、私は下記のように設定しました。

【Positive】
masterpiece, best quality, absurdres, ultra-detail, highres, 1girl, perfect hands
【Negative】
(worst quality, low quality:1.4), monochrome, zombie, nude, bad-hands-5, EasyNegative, bad anatomy

 

これで設定は完了なので、オレンジ色のGenerateボタンを押してイラストを生成しましょう。

 

黒く塗りつぶした部分だけが修正された画像が生成されます。

上の画像を引き当てるまでに100回近くガチャをしました…きつかった…

 

生成される画像に合わせて、その都度プロンプトやDenoising strength、Sampling stepsを調整していくのがいいイラストを引けるコツだと思います。



拡張機能「Depth library」で手や指を修正する方法!

ControlNetと連動した拡張機能「Depth map library and poser」を使って、inpaintよりも簡単に手や指の修正をする方法について下の記事でまとめました。

【Stable Diffusion】手や指を修正できるControlNetの拡張機能「Depth map library and poser」の使い方を紹介!
「Stable Diffusion」で、生成したAIイラストの手や指を簡単に修復できる拡張機能「Depth map library and poser」の使い方について紹介した記事です。

 

Inpaintに送った画像を拡大して修正する方法

Inpaintタブにドラッグアンドドロップした画像のみを、拡大・縮小して表示してくれる拡張機能「Canvas Zoom」について下の記事で詳しく紹介しています。

キャラの瞳などの、小さい領域だけに限定して塗りつぶしたい時に便利ですよ!

【Canvas Zoom】InpaintやSketchに送った画像を拡大・縮小して修正できるようになる拡張機能【Stable Diffusion】
「Stable Diffusion WebUI」で、Inpaint・Sketch・Inpaint sketchタブにドラッグアンドドロップした画像を拡大・縮小して表示してくれる拡張機能「Canvas Zoom」について紹介した記事です。

 

まとめ

以上が、「Stable Diffusion WebUI」のInpaintという機能を使って、生成済みのAIイラストの細部を修正する方法でした。

なお、Gimpというフリーソフトを使ってより詳細なマスク画像(修正箇所を指定する画像)を作成することで、生成済みAIイラストの服装を任意のものに変えることもできるようです。

Stable Diffusion - inpaintingタスクによる服装変更

 

Impaint機能を使うことで、より理想に近い1枚を生成することができるので、ぜひ試してみてくださいね!

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

コメント

  1. 匿名 より:

    そもそも左腕に右手が付いてません?親指が下になってますよ。

    • 悠 より:

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

      おっしゃる通りですねw
      ただぱっと見ではわからないため、ちょっと妥協しました( ;∀;)

      100%を引くのは本当に難しいんですよね…