【Stable Diffusion】img2img内のinpaint機能の使い方を解説!
- ※当ブログはアフィリエイト・アドセンスによる収益で運営されています。
こういったお悩みにお答えします。
Stable Diffusionのimg2imgではinpaint機能によりイラストを修正することができます。この機能を知らないと、指などの一部分が気に入らないだけでガチャをやり直すハメに…。望みどおりのイラストを手に入れるのが難しくなってしまいます。
この記事では
- 【Stable Diffusion】img2imgで使えるinpaint機能の基礎知識
- 【実践!】inpaint機能の使い方
- もっとスムーズにイラストを生成したいなら…
- 生成した大量のイラストを簡単に管理する方法
これらについて解説していくので、最後まで読むとinpaint機能を使ってイラストを修正する方法がわかります。
img2imgの全般的な使い方を知りたい方は以下の記事も合わせてお読みください。実際に生成したイラスト付きで解説しています。
>>【Stable Diffusion】画像から画像を生成するimg2imgの使い方を解説!
【Stable Diffusion】img2imgで使えるinpaint機能の基礎知識
inpaintは画像を部分的に修正する機能。Stable Diffusionに描きなおしてほしい範囲をピンポイントで指示できるのがメリットですね。
『構図は良いけど、指が…』というときなど、イラストの一部を修正し全体としての完成度を上げるのに役立ってくれるでしょう。
inpaintの操作画面
inpaintはimg2imgモードの中の機能です。元となる画像に対して、プロンプトや各種設定を駆使しながら部分的に修正を加えていきます。
画像を放り込むと、右側に3つのアイコンが表示され
- 左上の矢印アイコン:ひとつ前の状態に戻す
- 右上の×アイコン:画像を削除する
- 右下のブラシアイコン:ブラシの大きさを変える
それぞれこんな役割を持っています。ちょっと小さいので見えづらいですが、頻繁に押すことになるので覚えておきましょう。
画面の下には以下のような設定項目があります。
- Mask blur
- Mask mode
- Masked content
- Inpaint area
- Only masked padding, pixels
これ以外の項目(Sampling methodやSampling stepsなど)はtxt2imgと共通しているため、詳しく知りたい方は以下の記事を合わせてお読みください。
>>Stable Diffusion基本操作のコツ!画面の見方や用語から解説!
Mask blur
マスクした範囲の境界線をどれだけぼかすかという値です。
このイラストを例に見ていきましょう。
画像右側のサイドテールをマスキングし、『マスク部分を周囲の色で塗る』という指示を出してみます。
Mask blur『0』だと、マスキング範囲を忠実に守っているのがよくわかりますね。
Mask blurを『10』まで上げると境界がぼやけ、どこまでがマスク範囲なのかわかりづらくなっています。
周りとなじませたい場合は数値を少し大きめにするといいでしょう。
Mask mode
- Inpaint masked
- Inpaint not masked
Mask modeはこの2種類から選ぶことができます。
Inpaint maskedでは、マスクで塗った範囲内の部分を描きなおしてくれます。
これに対して、Inpaint not maskedは
マスク以外の部分が描きなおされます。修正したくない部分が少ない場合に選ぶといいでしょう。
大部分を修正する必要があるなら、はじめから別の画像をベースにした方がいい気もしますが…。
Masked content
マスクされた範囲をどのように描きなおすか、という手法の種類です。
- fill
- original
- latent noise
- latent nothing
順番に見ていきましょう。なお検証環境ではDenoising strengthを0にしています。
数字を大きくするとStable Diffusionが良い感じに描画してくれるので便利です。
fill
マスクされた範囲に対して『周囲の色』をベースに埋める手法です。
マスク範囲を周囲の色で埋める=マスク内の要素が消えやすいため、余計な部分を消すときに適しています。
original
マスクされた範囲に対して『元の画像』をベースに埋める手法です。
現在はDenoising strength:0になっているため、元画像とまったく同じイラストを描画しています。
『fill』と違い元の画像を尊重するため、マスク範囲をアレンジ・修正してほしいときに選びましょう。筆者は基本的に『original』を使うことが多いです。
latent noise
マスクされた範囲に対して『ノイズ』をベースに埋める手法です。
一度ノイズに戻して、そこからまた再描画してくれます。
『original』のと違い元画像を一切考慮しないので、突飛な結果になることも(Denoising strength:0.7で描画)。
latent nothing
マスクされた範囲に対して『マスク範囲の色』をベースに埋める手法です。
髪の色が影響して『fill』のときよりも茶色っぽくなっていますね。
Inpaint area
- Whole picture
- Only masked
Only maskedを選択すると、マスク範囲だけを一度サイズ変更して描きなおし、それから元の画像に貼り付けるという作業を行ってくれます。高画質のイラストを生成するときに『描きなおした部分だけ解像度が低い!』なんてことにならないようにする機能ですね。
『マスクした部分をガッツリ描き込んでほしいな』という場合はOnly maskedを選択するといいでしょう。
Only masked padding, pixels
Only maskedを選択したときに、どのくらい余白を設けるかという数値です。ここを細かく調整するよりは、そもそものマスク範囲を正確に指定した方が効率良いと思います(筆者の私見)。
【実践!】inpaint機能の簡単な使い方
各項目の意味がわかったところで、実際にinpaintを使ってイラストを修正してみましょう。inpaintは凝りだすとキリがないので、簡単な実践方法だけお伝えします。
このイラストですが、右手の指が4本しかありません。AIイラストあるあるですね。
ちゃんと5本指になるように修正していきましょう。
inpaintに放り込み、右手全体を覆うようにマスキングします。
- Prompt:open hand
- Negativeprompt:missing finger
- Mask blur:4
- Inpaint masked
- original
- Denoising strength:0.5
こんな感じの設定で10枚くらい描くと
指が5本あるイラストが少なくとも数枚は生成されるはず。
このとき重要になるのがDenoising strengthの値。小さすぎると元のイラストを尊重するためいつまで経っても指が4本のままです。数字を調節しながら試してみてください。
今回は話を単純にするため余計なプロンプトは一切入れていませんが、品質アップ系のプロンプトやLoRAなども有効。適宜追加しましょう。
inpaintで修正した後のイラストを再度inpaintに放り込むことも可能なので、気が済むまで修正を重ねてお気に入りイラストのクオリティを上げていってくださいね。
もっとスムーズにイラストを生成したいなら…
もしあなたがもっと快適にAIイラストを生成したいなら、グラボを見直してみるのがおすすめです。
グラボはAIイラストを生成するうえで最も重要なパーツ。いくらCPUやメモリが高性能でもグラボがしょぼかったら致命的です。
本格的に取り組んでいくのなら、グラボにはケチらず投資しましょう。最低でも12GBのVRAMは確保しておきたいところ。VRAMが2GB・4GBくらいしかない古いグラボだと高解像度化や学習に大きな支障が出てしまいます。
コスパを重視する方・予算が5万円以下の方はRTX 3060一択と言っていいでしょう。
もう少し予算が確保できて、さらにハイスペックなグラボに興味がある方は以下の記事もお読みください。きっとあなたに合ったグラボが見つかりますよ。
>>【コスパ重視】Stable Diffusionにおすすめのグラボ3選!
PCごと買い替えを検討している方は以下の記事をお読みください。快適にStable Diffusionを使えるマシン3選を紹介しています。
>>Stable Diffusionにおすすめのパソコン3選と推奨スペックを解説!
生成した大量のイラストを簡単に管理する方法
Stable Diffusionで生成した大量のイラストを効率的に管理するなら『Eagle』というツールがおすすめ。
イラストを生成するとメタデータが自動でEagleに送られ、タグやメモとして保存されます。このタグを使うことで検索や管理がとても楽ちん。
例えば『a dog』というタグで検索すると、そのプロンプトで生成されたイラストだけを表示することができます。『あのイラストどんなプロンプトで生成したっけ?』『LoRAのトリガーワード忘れた』なんて迷わずに済みますよ。
Eagleは本来『約4,000円・買い切り型』の有料ツールですが、30日間の無料体験ができるので、とりあえず試してみてください。
『【Stable Diffusion】img2img内のinpaint機能の使い方を解説!』のまとめ
- 部分的な修正をしたいときに使えるのがinpaint
- 気に入ったイラストの品質をアップしよう
- Denoising strengthの値がめちゃ大事
ここまでお読みいただきありがとうございました!
他にもわからないことがあったら以下の記事をお読みください。初心者向けにStable Diffusionの使い方を一から解説しています。