Stable Diffusion inpaint

Stable Diffusion

【Stable Diffusion】inpaintで画像の一部を修正・変更

※ 当サイトは、プロモーションが含まれます

画像生成AIを使って画像を作成した際、顔のパーツや指など、一部分だけ納得いかない崩れがおこることもあります。

例えば気に入った人物をそのまま活かしつつ、部分修正を行いたい時、Stable Diffusionでは「Inpaint」という機能を使って、指定範囲のみ再生成できます。

今回はStable Diffusionの「Inpaint」機能の使い方や実際に範囲指定した修正画像を使って、初心者にもわかりやすく説明します。

Stable Diffusionの「Inpaint」機能は無料で使うことができます。

ぜひ参考にしてみてください。

スポンサーリンク

「inpaint」とは何か

Stable Diffusion『Inpaint』とは何か

範囲指定した部分をプロンプトに従って生成する機能です。

つまり、生成した画像の手や顔のパーツを範囲指定し、修正を行うことができます。

また、指定範囲外も生成できることから、背景を変えたりなどもできます。

「Inpaint」の使用用途

  • 指の本数を正しく再生成する
  • 表情を変更する
  • 上手くいかなかった生成部分を修正する
  • 解像度の低い画像を修正する
    など

Stable Diffusionではテキストからの画像生成だけでなく、画像から画像を生成できる「img2img」という生成方法があり、「Inpaint」はその機能のひとつです。

Stable Diffusionの『Inpaint』の場所

Stable Diffusionの「Inpaint」のある場所について説明します。

Stable Diffusionを立ち上げると以下のような画面が表示されます。

Stable Diffusion_タグメニュー

画面上部にあるタグから「img2img」をクリックします。

(いつものテキストから画像生成できる機能は「txt2img」のタグになります)

以下の画像は「txt2img」の機能メニューになります。

Stable Diffusion txt2img画面

最初に開いている機能は「txt2img」の項目になります。

「txt2img」は画像から画像を生成する機能なので、元画像をアップロードするスペースが設けられています。

「Generation」タブの下の項目にある「Inpaint」をクリックすると、今回紹介する機能が使えます。

生成した画像に直で「Inpaint」機能を使う

「txt2img」で画像生成した直後に「Inpaint」機能を使いたい時は、「txt2img」も項目からも直接使えます。

生成した画像のプレビュー画面の下にアイコンがいくつかあります。

Stable Diffusion 生成後プレビュー画面アイコン

絵具パレットのアイコンをクリックすると、生成した画像を「Inpaint」機能の操作画面に送ることができ、タグも切り替わります。

Inpaintの使い方

例えば生成した画像の「表情を変更したい」「目の色を変えたい」「背景を変えたい」という一部分の変更、修正を行う方法について説明します。

「Inpaint」に修正したい画像をアップロードします。

すると画像の右上にいくつかのアイコンが表示されています。

inpaintブラシツール

「Inpaint」の部分指定はブラシツールを使って指定します。

「Inpaint」のツールアイコン

  • Undo(元に戻す)
  • clear(塗った箇所の削除)
  • Remove image(アップロードした画像の削除)
  • Use Brush(ブラシの太さを変更)

マウスで変更したい部分を塗りつぶします。

画面上部には、「txt2img」と同じくプロンプトとネガティブプロンプトの入力欄があります。

プロンプトの入力欄に修正内容のプロンプトを入力し、「Generate」をクリックして画像生成します。

inpaintの使い方①生成した画像にinpaint機能を使う

いつも通りプロンプトを入力し、画像を生成します。

生成画像後プレビュー下ボタン

プレビュー画面下にあるアイコンの中からパレットのアイコン(inpaint tab)を選びます。

inpaint tabから開いたページ

img2imgの「Inpaint」が開きます。

ブラシで修正や加工したい部分を塗り、修正、加工に関するプロンプトを入力。

パラメーターを設定して最後に[Generate」をクリックします。

元々のプロンプト、ネガティブプロンプトはそのままにしておき、修正や、変更部分などの指示に書き換え、追記する方が上手くいくと思います。

inpaintの使い方②画像をアップロードしてinpaintを使う

注意点として、元素材のプロンプトがないと、同じような顔の画像が作りにくいという問題があります。

なるべく同じようなプロンプトになるよう作成するようにしましょう。

[img2img]のタブをクリックして開きます。

プロンプト入力の下にある[Generation]タブの中にある[inpaint]を開きます。

sd_img2img_画面全体

修正、または加工したい元となる画像をアップロード、または画像をドロップします。

修正箇所をブラシで塗り指定、プロンプトなどの設定を行い画像を生成していくことになります。

inpaintのパラメーターについて

上記の画像は指定範囲の選択とプロンプトのみで修正しましたが、「inpaint」は、詳細な設定もできるようになっています。

Stable Diffusion inpaint 詳細設定

ここでは「inpaint」で使う各設定について説明します。

範囲指定の再生成で、満足しない時は以下の設定を調整してみてください。

Mask Blur

指定した部分の境目のぼかし具合の設定。

「0」で境目がハッキリしますが、ある程度はブラーをかけた方が画に馴染みます。

デフォルトは「4」で、最大「64」まで上げれます。

逆に数値を上げすぎてしまうと、境目がわからなくなるので注意してください。

Mask mode

指定範囲のどちらに変化をつけるかの設定です。

項目効果
Inpaint masked指定した部分を生成する
Inpaint not masked指定した部分以外を全て生成する

Masked Content

指定した範囲にどのような方法で変化を加えるかを指定します。

項目効果
fill周囲の色を参照にして変更を加える
original元の画像を参照して変更を加える
latent noise一度ノイズに戻してから再度生成する
latent nothing元の色を参照して変更を加える

Inpain area

Inpaintでの変更の範囲の設定です。

項目効果
Whole picture全体を再生成すると同時に、範囲指定した部分にも変更を加える
Only masked範囲指定した部分にのみ変更を加える

Only masked padding, pixels

塗りつぶし部分に対する余白の数値を設定します。

デフォルトは「32」で最大「256」になりますが、特に設定しなくても大丈夫です。

Sampling method

どのように画像を生成するかの処理方法で、サンプラーとも呼ばれます。

Denoising strength

画像のノイズを除去するための強度や効果を設定します。

数値が低いと変化はあまり起こりませんが、上げすぎると元画像のテイストと離れた画像が生成されます。

ただし、数値が低すぎるとノイズの多い画像が生成されるので気を付けてください。

inpaint使用例①服を変更する

Stable Diffusion_inpaint1
Stable Diffusion_inpaint1 after

服を変更したい部分をざっくりと範囲指定し、プロンプトは「navy dress」とだけ入れました。

洋服の変更は服の種類にもよりますが、上記のようなレースが付いている場合、身体から膨らんだ部分も修正範囲で取ってしまいます。

複数回生成した結果、バランスが取れましたが、首の部分に髪の毛が入ってしまったり、左肩の上の膨らんだ部分に余計なものが入ってしまいました。

inpaint使用例②目の色をと口を変更

Stable Diffusion_inpaint2
Stable Diffusion_inpaint1 after

口は開いたことも想定して範囲を気持ち大き目にとりました。

プロンプトは「blue eyes」「laugh」を使いました。

inpaint使用例③背景を変える

背景のみ再生成

人物周りの背景をInpaintを使って変更してみました。

プロンプトは

  • Flower Background
  • Tokyo

という変更のみを入力し、パラメーターで以下を選択しました。

  • Inpaint not masked
  • latent noise

ブラーの数値なども直しましたが、輪郭はぼやかしても、髪の毛の部分がマスクがかかったまま、前の画像の絵が残っています。

あと、ネガティブプロンプトを入力しても、指示のないものが入り込んだりするので、複数回生成する必要があります。

ただ、マスクで保護した人物はそのままになっていました。

「Denoising strength」も0.75のままで、強めかと思いましたがマスクはしっかりかかっている印象です。

背景を変えたい時は、人物を切り抜き、他で加工する方が綺麗に出来て作業効率も良さそうです。

まとめ

Stable Diffusionの「inpaint」を使えば、簡単に修正や変更ができます。

細かな設定機能もありますが、さほど変更しなくても修正できたので、まずは生成して微調整するのが良さそうです。

またプロンプトについては、修正したいプロンプトのみで上手くいく場合もありますが、崩れてしまう場合はクオリティを上げるためのプロンプトも使ったり、順番も変えています。

「inpaint」は非常に便利ですが、1回の生成で成功すると思わず、数回生成してみるのがよいでしょう。

Stable Diffusionおすすめ書籍

Stable Diffusion関連書籍

Stable Diffusionスタートから応用まで学べる1冊

Stable Diffusion LORAの使い方までしっかりカバー

Stable Diffusionまとめ

Embedding

VAE

拡張機能

Stable Diffusion記事一覧

関連記事

-Stable Diffusion
-