記事内に広告が表示されます

「Inpaint」を利用した手指の修正【Stable Diffusion web UI】

Inpainting機能の使い方 スマホ・PC
スポンサーリンク

 「Stable Diffusion web UI(ステーブル・ディフュージョン・ウェブ・ユーアイ)」には特定の箇所を修正するための「Inpaint(インペイント)」と呼ばれる機能が標準で搭載されています。「Stable Diffusion web UI」を使い始めて間もない方は、この機能を一度使ってみてはいかがでしょうか。

 AIイラストを生成していると全体的には良いイラストであっても、よく見てみると特定の部位にだけ問題があるといったことは枚挙に暇がありません。そういうときに「Inpaint」をうまく活用することで、画像の一部を修正することができるのです。

 この「Inpaint」は先頃の「ControlNet」バージョンアップによって「ControlNet 1.1」にも追加されました。できることは標準のものと同様ですが、使い方が異なる上に生成される画像にも差があります。そこで、ここでは両方の「Inpaint」を利用して生成された画像を簡単に比較してみます。

 ↓ちびキャラの記事も見てね!

ちびキャラの生成【Stable Diffusion web UI】
「ちびキャラ」は適したモデルを使うことで簡単に生成することができます。ここでは実際に色々な「ちびキャラ」たちを作成してみました。かわよ。
スポンサーリンク

標準の「Inpaint」機能を活用する

「Inpaint」を使うための準備

img2imgに転送する

 「txt2img」内でプロンプトを入力・変更しながら画像を生成していると、全体的に良さそうなイラストが生成されることがあります。

 しかし、細部を見てみると問題があることも少なくありません。手指の描写は問題が特に出やすいところです。以下の画像も指先(中指)の表現にやや違和感が残っています。

 なお、こちらの画像の解像度は512×512です。高解像度補助(Hires.fix)は行っていません。

オリジナルのAIイラスト

 ここではこの画像を例に「Inpaint」を利用して修正してみます。「img2imgに転送」をクリックすることで、画像が「img2img」に転送されます。

 「inpaintに転送」をクリックしても問題ないと思います。こちらの環境では画像を直接「inpaintに転送」すると、転送後の画像がおかしくなったので上記の手順で進めています。

img2imgからInpaintへ

 画像を「img2img」に転送してから「Inpaint」に移動します。

 画面内に「Start drawing」とありますが、マウスカーソルを画像の上に持っていくと黒いペン(ブラシ)に切り替わります。

マスク機能 画像の右上にある「やり直し」ボタンをクリックすると
マスクを除去することができます。「×」は画像の削除です。
「ペン」ボタンはペンの太さをスライダーで変更することが
できます。

 画像の右上にあるボタンはどれもよく使います。

ペンでマスクする

 描き直したい箇所を上の例のように黒く塗っていきます。

 マスクをかける範囲はどういう風に描き直すかによっても変わりますので、何度かチャレンジして上手くいかなければ改めて塗り直してみてください。

標準の設定

 こちらが設定画面です。いくつかの項目を変更する必要があります。

 「Inpaintを行う領域」は特定の部分のみを描き直すときは「画像全体」から「マスクのみ」に変更しておきます。「サンプリング方法」を適当なものに変更します。「ノイズ除去強度」は「0.5~0.75」あたりで適当な数値に変更します。特定の部位をごくわずかに変更するときは「0.5」程度でも問題ないようです。

 その他の項目はとりあえずそのままの設定でもいけるようです。「マスクのぼかし」の程度を変更するとこで画像も微妙に変わります。また、「幅」と「高さ」は必要に応じて変更します。

 なお、画像のプロンプトは以下のとおりです。誰でも再現しやすいように最低限のプロンプトで試しています。LoRA 等も使用していません。モデルは「anything-v4.0」です。

転送された元のプロンプト

 手指のみを描き直す場合は特に変更しなくても問題ありません。効果があるかどうかは別として「perfect fingers」などのプロンプトを追加してもよいかもしれません。

 この他に、顔を黒く塗りつぶして表情を変更すると言うときには表情のプロンプトを追加または変更します。また、手に持っているものを別のものに変更するといった場合には持ち物のプロンプトを追加または変更します。

 ここまで「Inpaint」を利用するための準備はできました。それでは実際に画像を生成してみましょう。

「EasyNegative」の導入とその使い方【Stable Diffusion web UI】
「EasyNegative」を導入することで、ネガティブプロンプト入力の負担を最小限に抑えることができます。また公開されている画像を再現するときに必要になることも稀にあります。

「Inpaint」を利用した手指の修正 その1(ノイズ除去強度0.5)

ノイズ除去強度を0.5へ

 ここでは「Inpaintを行う領域」を「マスクのみ」、サンプリング方法は「DPM++2M Karras」に変更した上で、「ノイズ除去強度」は「0.5」に設定しています。

オリジナルのAIイラスト 修正後の画像1
元の画像 修正例1
修正後の画像2 修正後の画像3
修正例2 修正例3

 画像の生成を繰り返し行ってパッと見て違和感の少ないものを取り上げてみました。「Inpaint」はとても便利な機能ではありますが万能ではありません。今回は時間の都合上、画像の生成を20回程度しか行っていませんが、実際には納得のいく修正ができるまでガチャを回す必要があります。

 「Inpaint」を利用しても数回で修正が完了とはいきません。けれども、「Inpaint」機能は元のイラストを活かすことができるという最大のメリットがあります。

 削除するには惜しいという画像を「Inpaint」で部分的に修正することで視聴に耐えるものにすることは十分に可能です。

「negative hand」の適用と手指の表現【Stable Diffusion web UI】
AI画像生成時における手指の表現の改善として「negative hand」などの「Embeddings」を試してみる手があります。

「Inpaint」を利用した手指の修正 その2(ノイズ除去強度0.6)

ノイズ除去強度を0.6へ

 今度は「ノイズ除去強度」を「0.6」に設定しています。

オリジナルのAIイラスト  
元の画像  
修正後の画像1 修正後の画像2
修正例1 修正例2

 こちらも画像の生成を数回しか行っていませんが、パッと見た感じでは最初の画像よりマシになっていると思います。そのあたりは生成回数をもっと増やせば何とかなるでしょう。

 このように「Inpaint」を活用することで手指の描写に後から修正を加えることができます。それなりに時間をかけると満足のいく結果を得られるのではないかと思います。

 そうはいっても、大幅な修正は難しいこともあります。そういうときは画像をさっさと削除するというかたちで割り切ることも必要です。

「bad hands 5」の適用と手指の表現【Stable Diffusion web UI】
AI画像生成時における手指の表現の改善策として、今度は「bad hands 5」という「Embeddings」を試してみました。
スポンサーリンク

「ControlNet 1.1」の「Inpaint」機能を活用する

「ControlNet 1.1」の導入

 「ControlNet」内の「Inpaint」機能は「ControlNet 1.1」から導入されています。したがって、「ControlNet 1.1」を事前に導入しておく必要があります。

 「ControlNet」の導入と利用については以下の解説をご覧ください。

「ControlNet」の導入とその使い方【Stable Diffusion web UI】
ControlNet の導入方法と使い方を初心者向けに紹介しています。ControlNet を導入することでAI画像の構図や人物のポーズを自由に設定できます。
「ControlNet 1.1」の新モデルを使用する【Stable Diffusion web UI】
「ControlNet」は今ではAI画像生成に必要不可欠の技術です。その新バージョンである「ControlNet 1.1」の新モデルを色々と試してみました。
ControlNet 1.1 「reference」による参照元画像と類似した画像の生成
「ControlNet 1.1」のプリプロセッサ 「reference only」「reference adain」「reference adain attn」を利用することで参照元と同じスタイルの画像の生成が可能になります。

「ControlNet 1.1」の「Inpaint」を利用するための準備

CN1.1のInpaint機能

 「txt2img」内の拡張機能から「ControlNet v1.1.X.X.X」をクリックします。

 こちらの画面内でいくつかの設定を行います。

詳細設定とマスク処理

 まず「有効化」をクリックします。「低VRAM」や「Pixel Perfect」も必要に応じてチェックを入れます。

 次に「プリプロセッサ」から「inpaint_global_harmonic」を、「モデル」から「control_v11p_sd15_inpaint」を選びます。

 「Control Mode」は「Balanced」でも構いませんが、修正したい内容に応じて別の設定に変更します。その他の項目はとりあえずデフォルトのままで大丈夫です。 

元画像のプロンプト

 プロンプトは最初と同じです。

 プロンプトは修正または変更に応じて追加または変更してもよいと思います。

特殊効果に関するプロンプト【Stable Diffusion web UI】
このページでは背景を無地にしたり吹き出しを表現したりするなどの特別な背景や特殊な効果などに関するプロンプトをまとめて掲載しています。

「ControlNet 1.1」の「Inpaint」を利用した手指の修正

 上記の設定で画像を何度か生成してみました。時間の都合上、生成回数はそこまで多くはありません。

オリジナルのAIイラスト 修正後の画像1
元の画像 修正例1
修正後の画像2 修正後の画像3
修正例2 修正例3

 「ControlNet 1.1」の「Inpaint」でも先ほどと同じように特定の部位の修正を行うことができます。

 こちらの「Inpaint」を利用した場合には、先ほどまでと違ってマスク部分以外にも微妙な変化が生じています。画像を連続で表示すると全体的に変わっていることが分かります。ここではパッと見ただけでは分からないかもしれませんが、たとえばヘッドホンの光沢をそれぞれ比較してみてください。

 また、いずれの画像も元の画像と色味が変わっています。この点はそういうものなのかもしくは設定が悪かったのかは分かりません。時間のあるときに使い込んでみて何か分かったらまた追記します。

 「Inpaint」は特定の部位に対する軽微な修正であれば期待に応えてくれるでしょう。けれども、元の画像よりもひどい画像が出てくることも多々あります。そういったこともあって、画像の生成は何度も行う必要があります。時間対効果を考慮するならば、画像を厳選してどうしても修正を加えたいものだけを「Inpaint」にかけることが妥当といえます。

 なお、簡単な修正は「Lama Cleaner」が重宝します。Web版はインストール不要で利用できます。詳しくは以下のページをご覧ください。

「Lama Cleaner」を利用した手指の修正【Stable Diffusion web UI】
画像内の異物を除去できる「Lama Cleaner」は手指の修正にも応用できます。ここではインストール不要のWeb版を紹介しています。

 本格的な画像編集は以下の拡張機能を追加することで実現可能です。これはむちゃくちゃ便利です!!

高機能画像編集ツール「Photopea」を Stable Diffusion web UI に導入する
無料の高機能画像編集ツール「Photopea」を Stable Diffusion web UI に導入することで画像編集とAI画像生成がシームレスに連携できます。
髪を虹色に変えて華やかに【Stable Diffusion web UI】
キャラクターの髪の色は定番の色に設定しがちです。そこであえて華美な虹色を採用することで新鮮みが生まれます。
AIイラストの画像生成におすすめのグラフィックボード
「Stable Diffusion」のようなAI画像生成に最適なグラフィックボードを選ぶ際の注意点を簡潔にまとめています。