Stable Diffusionで画像を生成した際に、背景を消したい場合、”no background”や”white background”などのプロンプトを入力して、白色の背景の画像を生成した後、別のソフトウェアを使用して背景透過などの処理を行う方法が一般的ですが、拡張機能を用いることで簡単に背景を消すことが出来ます。
今回PROMPTYでは、Stable Diffusion WebUIで使用できる、背景を無くすための拡張機能『ABG
remover』『sd_katanuki』『Rembg』について、比較も交えて詳しくご紹介します。
背景を透過させる拡張機能の導入方法
ここでは、3つの拡張機能の導入方法について、画像付きで解説します。
紹介する3つの拡張機能の導入手順は非常に簡単です。他の多くの拡張機能と同じように、一覧からインストールするだけで利用できます(もちろん無料です)。具体的な手順は以下の通りです。
- Stable Diffusion web UIの操作画面で『Extension』→『Install from URL』タブを選択します。
- URLの部分に該当の拡張機能のアドレスを貼り付けます。
- 表示されたリストからを見つけ、インストールボタンを押すだけです。
これでインストールは完了です。ただし、拡張機能を使用するにはweb UIを再起動する必要があります。
『ABG Remover』
https://github.com/KutsuyaYuki/ABG_extension
『sd_katanuki』
https://github.com/aka7774/sd_katanuki.git
『Rembg』
https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.git
Stable Diffusionで背景を透過するための方法3選
ここでは、それぞれの拡張機能の使い方をご紹介します。元画像は、モデル『AnythingV5』を使用して、以下の設定で生成します。
Sampling method:Euler a
Sampling steps:20
Width:512
Height:512
Batch count:1
Batch size:1
CFG Scale:7
Seed:-1
Script:None
①ABG removerを用いて背景をなくす方法
まずは、背景を消したい画像を用意します。今回は以下の画像を使用します。
img2imgにイラストをアップロードします。
設定を以下の通りにして、『Generate』ボタンを押します。
実際に画像を使用して背景を透過してみた場合、以下のようになりました。
問題なく背景を透過した画像を生成することが出来ました。
②sd_katanuki用いて背景をなくす方法
最初に、Katanukiタブに移動し、使用する機能を選択します。
以下の機能が選択できます:
Transparent:素材画像の背景を透明化します。
White:素材画像を白背景化します。
Mask:素材画像から深度マップを作成します。
「Alt mode」は通常、チェックを入れたままで問題ありませんが、白背景化時に色が正しくならない場合は、チェックを外してみることをおすすめします。
必要な機能を選択したら、素材画像を「Single Image」タブにドラッグアンドドロップするだけで、背景処理が実行されます。
生成した画像は以下のようになりました。
ABG removerとほぼ同じように背景を透過した画像が生成されました。
③Rembg用いて背景をなくす方法
Rembgの使い方は簡単とても簡単で、「Extras」タブの下の方に出現する「Remove background」というドロップダウンメニューで「none」以外の項目を選び、「Generate」ボタンを押すだけです。
メニューの選択肢は以下のようになります。
なし:Rembgを使用しない。
u2net:一般用のモデルを使用して背景を削除する。
u2netp:上記のu2netの軽量版。
u2net_human_seg:人物向けのモデルを使用する。
u2net_cloth_seg:人物の肖像から布を解析するモデルを使用。
silueta:u2netと同じだがサイズが小さい。
実際に画像を生成してみます。使用した設定は『u2netp』です。
生成した画像は以下の通りになります。
上の二つの拡張機能と比較して、背景にトリミングしきれていない部分が残ってしまいました。
それぞれの拡張機能を画像で比較
上で生成した画像の他に、自動車の画像を生成して比較してみます。
ABGremoverとKatanukiの二つの拡張機能は、人物の画像をトリミングする際には問題なく行えていますが、一方で自動車の画像では本来必要な部分までトリミングされてしまっています。
逆にrembgでは、人物画は綺麗にトリミング出来ていませんが、自動車の画像の場合、一番問題なくトリミング出来ています。
まとめ
人物画のトリミングとそれ以外の画像のトリミングでは、それぞれの拡張機能で得意と不得意があることが分かりました。自分のニーズに合わせて、使用する拡張機能を選択してみてください。
~Stable Diffusionで素早く画像生成するには~
Stable Diffusionの画像生成スピードや画像サイズは、グラフィックボード(GPU)の性能によって大きく変わります。
このため、より効率的かつ快適な画像生成を望むユーザーにとって、最適なグラフィックボードの選択が重要となります。
推論処理やLoRAなどの追加学習処理といった大量の計算を効率よく行うためには、12GB以上のVRAMを持つグラフィックボードを選ぶことを強くおすすめします。
2GBや4GBのVRAMを持つグラフィックボードでは、学習プロセスや高解像度の画像生成に支障が出る可能性が高いです。
コスパを重視する方は、RTX 3060を選ぶと良いでしょう。 このグラフィックボードを使えば、Stable Diffusionの画像生成機能を最大限に活用することが可能となります。