【Stable Diffusion】Inpaintの使い方|画像の一部を修正する方法

こんにちは、タカムネ(@takamune_ai)です。

この記事では、Stable Diffusion WebUIのInpaint(インペイント)を使って画像の一部分だけを修正する方法を解説します。

実際にイラストの目の色を青から赤に変更しながら、マスクの塗り方や設定項目、うまく修正できない場合の調整方法まで紹介します。

目次

Stable DiffusionのInpaint(インペイント)とは?

この記事で扱うStable Diffusion WebUI(AUTOMATIC1111系)のInpaintは、img2imgタブから利用できる部分修正機能です。

修正したい部分をブラシで塗りつぶして「マスク」を作り、その範囲を中心に画像を再生成します。画像全体を作り直さず、気になる箇所だけを調整したいときに便利です。

変更したい内容はプロンプトで指示できます。例えば、次のような修正に使えます。

  • 目の色を青色から赤色に変えたい
  • 無表情な口を笑っている口に変えたい
  • 不要なものを消す

ただし、どんな修正でも思い通りにできるわけではありません。特に手の形など、複雑な構造の修正は難しい場合があります。

この記事で実践すること

青い目を赤い目に変更することを例に、画像の転送からマスク作成、プロンプトの変更、再生成まで順番に説明します。

Inpaintの使い方|目の色を部分修正する手順

ここからは、実際の操作画面を使って手順を紹介します。画面や項目名は、WebUIのバージョンや日本語化の状態によって異なる場合があります。

使わせていただいたモデルは、Vすき焼き様(@Vsukiyaki_AIArt)の「ShiratakiMix」です。

以下で紹介しているStable Diffusion WebUIの画面は、日本語化しています。

Inpaintの画面

まず、WebUIのimg2imgタブを開き、その中にあるInpaintタブを選びます。

inpaint画面(上)

修正したい画像を直接読み込むこともできますが、私はtxt2imgで生成した画像をそのままInpaintへ転送する方法をよく使っています。

画像上で修正したい部分をブラシで塗ると、そこがマスク範囲になります。具体的な塗り方は後ほど説明します。

画面を下へスクロールすると、マスクのぼかしやノイズ除去強度などの設定項目があります。

inpaint画面(下)

Inpaintの使い方

Inpaintの始め方はいくつかあります。ここでは、txt2imgで画像を生成し、その画像をInpaintへ転送する方法を使います。

操作の流れ
  1. txt2imgで修正元の画像を生成する
  2. 「inpaintに転送」で画像を送る
  3. 修正したい部分を塗り、プロンプトと設定を調整する
  4. 「生成」を押して結果を確認する
今回の例:青い目を赤い目に変更
STEP
Inpaint画面に画像を転送

txt2imgタブで修正元の画像を生成し、生成結果の「inpaintに転送」をクリックします。

STEP
修正したい部分にマスクを塗る

Inpaint画面に移動すると、修正元の画像が読み込まれます。

ブラシで修正したい部分を塗りつぶします。今回は目の色だけを変えたいので、目の部分にマスクを塗ります。必要以上に広い範囲を塗ると、周囲まで変化しやすくなるため注意しましょう。

なお、画像の左上にあるマークの意味は、以下の通りです。

  • ペンマーク:ペンの太さを変更
  • 更新マーク:マスクを元に戻す(アンドゥ)
  • ×マーク:読み込んだ画像を消去
STEP
プロンプト・設定を調整

画面上にあるプロンプトには、txt2imgで作成時に使ったプロンプトがそのまま入力されています。

今回は目を青色から赤色に変えるため、プロンプト内の色指定をblueからredへ変更します。ほかの指定は、まず元のままで試してみましょう。

まずはほかの設定を大きく変えずに試します。主な項目の意味を確認しておきましょう。

  • マスクのぼかし:修正範囲と周囲の境界をなじませる
  • マスクの方式:通常は塗った部分を修正する。反転すると塗っていない部分が対象になる
  • マスクされたコンテンツ:修正部分の生成を何を基準に始めるかを指定する。「元の画像」は元の形を残したい場合の候補
  • ノイズ除去強度(Denoising strength):小さいほど元画像を保ちやすく、大きいほど変化が強くなる。まずは0.5前後を目安に試し、結果を見ながら調整する
STEP
画像を生成

画面右上にある「生成」ボタンをクリックします。

生成すると、目の色を赤色に変更できました。

目のハイライトなどが気に入らない場合は、再生成して結果を比較してみてください。生成条件によって仕上がりが変わることがあります。

Inpaintでうまく修正できないときの対処法

思い通りに変化しない場合は、次の項目を一つずつ見直してみましょう。

  • マスク範囲を調整する:修正したい箇所が塗れているか、範囲が広すぎないかを確認する
  • プロンプトを見直す:変更したい内容を明確にし、矛盾する色や形の指定を減らす
  • 不要なものを消したい:ネガティブプロンプトの調整も試す。ただし、マスク範囲や「マスクされたコンテンツ」の設定も重要
  • 生成設定を変える:「マスクされたコンテンツ」やノイズ除去強度を調整する

今回の目の色変更では、「マスクされたコンテンツ」を「元の画像」にして試しました。形をなるべく残して色を変えたい場合には、まず試しやすい設定です。

一方、不要なものを消すなど、元画像から大きく変えたい場合は「埋める」など別の設定も試してみてください。「元の画像」では、元の形や色が残りやすいことがあります。

Inpaintだけでは修正が難しいケースもある

Inpaintは手軽に使える反面、マスクやプロンプトを調整しても思い通りに修正できない場合があります。

例えば、指の本数や手の形など、構造が複雑な部分は何度試しても改善しないことがあります。

そのような場合は、Inpaintだけにこだわらず、ControlNetなど別の機能と組み合わせる方法も選択肢になります。

この記事の手順と画面は、筆者が使用したStable Diffusion WebUIの環境をもとにしています。モデルやWebUIのバージョン、生成条件によって、同じ設定でも結果が異なる場合があります。

まとめ

Inpaintは、イラスト全体を作り直さずに、目の色など気になる部分だけを修正できる機能です。まずは「画像を転送 → マスクを塗る → プロンプトを変更 → 生成」の流れを試し、結果に応じてマスク範囲やノイズ除去強度を調整してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次