画像生成AIを使って画像を作成した際、顔のパーツや指など、一部分だけ納得いかない崩れがおこることもあります。
例えば気に入った人物をそのまま活かしつつ、部分修正を行いたい時、Stable Diffusionでは「Inpaint」という機能を使って、指定範囲のみ再生成できます。
今回はStable Diffusionの「Inpaint」機能の使い方や実際に範囲指定した修正画像を使って、初心者にもわかりやすく説明します。
Stable Diffusionの「Inpaint」機能は無料で使うことができます。
ぜひ参考にしてみてください。
Stable Diffusion『Inpaint』とは何か
「Inpaint」とは、Stable Diffusionの機能のひとつで、範囲指定した部分をプロンプトに従って生成する機能です。
つまり、生成した画像の手や顔のパーツを範囲指定し、修正を行うことができます。
また、指定範囲外も生成できることから、背景を変えたりなどもできます。
「Inpaint」の使用用途
- 指の本数を正しく再生成する
- 表情を変更する
- 上手くいかなかった生成部分を修正する
- 解像度の低い画像を修正する
など
Stable Diffusionではテキストからの画像生成だけでなく、画像から画像を生成できる「img2img」という生成方法があり、「Inpaint」はその機能のひとつです。
Stable Diffusionの『Inpaint』の場所
Stable Diffusionの「Inpaint」のある場所について説明します。
Stable Diffusionを立ち上げると以下のような画面が表示されます。
画面上部にあるタグから「img2img」をクリックします。
(いつものテキストから画像生成できる機能は「txt2img」のタグになります)
以下の画像は「txt2img」の機能メニューになります。
最初に開いている機能は「txt2img」の項目になります。
「txt2img」は画像から画像を生成する機能なので、元画像をアップロードするスペースが設けられています。
「Generation」タブの下の項目にある「Inpaint」をクリックすると、今回紹介する機能が使えます。
生成した画像に直で「Inpaint」機能を使う
「txt2img」で画像生成した直後に「Inpaint」機能を使いたい時は、「txt2img」も項目からも直接使えます。
生成した画像のプレビュー画面の下にアイコンがいくつかあります。
絵具パレットのアイコンをクリックすると、生成した画像を「Inpaint」機能の操作画面に送ることができ、タグも切り替わります。
Inpaintの使い方
例えば生成した画像の「表情を変更したい」「目の色を変えたい」「背景を変えたい」という一部分の変更、修正を行う方法について説明します。
「Inpaint」に修正したい画像をアップロードします。
すると画像の右上にいくつかのアイコンが表示されています。
「Inpaint」の部分指定はブラシツールを使って指定します。
「Inpaint」のツールアイコン
- Undo(元に戻す)
- clear(塗った箇所の削除)
- Remove image(アップロードした画像の削除)
- Use Brush(ブラシの太さを変更)
マウスで変更したい部分を塗りつぶします。
画面上部には、「txt2img」と同じくプロンプトとネガティブプロンプトの入力欄があります。
プロンプトの入力欄に修正内容のプロンプトを入力し、「Generate」をクリックして画像生成します。
「Inpaint」で洋服の変更
【before】
【After】
服を変更したい部分をざっくりと範囲指定し、プロンプトは「navy dress」とだけ入れました。
洋服の変更は服の種類にもよりますが、上記のようなレースが付いている場合、身体から膨らんだ部分も修正範囲で取ってしまうため、複数回生成した結果、バランスが取れましたが、首の部分に髪の毛が入ってしまったり、左肩の上の膨らんだ部分に余計なものが入ってしまいました。
「Inpaint」で目の色をと口を変更
【before】
【After】
口は開いたことも想定して範囲を気持ち大き目にとりました。
プロンプトは「blue eyes」「laugh」を使いました。
inpaintの詳細設定について
上記の画像は指定範囲の選択とプロンプトのみで修正しましたが、「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
画像のノイズを除去するための強度や効果を設定します。
数値が低いと変化はあまり起こりませんが、上げすぎると元画像のテイストと離れた画像が生成されます。
ただし、数値が低すぎるとノイズの多い画像が生成されるので気を付けてください。
まとめ
Stable Diffusionの「inpaint」を使えば、簡単に修正や変更ができます。
細かな設定機能もありますが、さほど変更しなくても修正できたので、まずは生成して微調整するのが良さそうです。
またプロンプトについては、修正したいプロンプトのみで上手くいく場合もありますが、崩れてしまう場合はクオリティを上げるためのプロンプトも使ったり、順番も変えています。
「inpaint」は非常に便利ですが、1回の生成で成功すると思わず、数回生成してみるのがよいでしょう。
Stable Diffusion関連記事
Stable Diffusionの拡張機能について
Stable Diffusionでの画像生成の質を上げたり、作業効率化を狙う場合、拡張機能の導入がおすすめです。
導入方法や、おすすめの拡張機能については、こちらの記事で解説しています。
-
【Stable Diffusion】拡張機能の導入方法・おすすめ【Extensions】
続きを見る
Stable Diffusion関連書籍
AI技術を活用して画像を高解像度化し、ノイズ除去やぼかし修正、スケールアップなど、短時間で驚異的な改善を実現
\ 無料お試しアリ!使えば分かるクオリティ差 /