StableDiffusionで生成した画像イラストの背景を抜き取る拡張機能「Rembg」をご紹介します。
背景はいらずキャラ単体でほしい場合便利そうではありますが現状綺麗に抜き取ってくれるわけではないようです。
紹介する方法はStableDiffusion web uiローカル版を使います。
生成イラストの背景だけ抜き取る手順
背景透過のため拡張機能をインストールする
Extensionsタブ内のさらにInstall from URLタブ内の
URL for extension’s repository内に下記URLを入れる
https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg
Installボタンを押してしばらくするとローカルフォルダ内にInstalled into~と出てきます。
Apply and restart UIを押してリスタートする
そして左側のInstalledタブのExtension項目内にstable-diffusion-web-rembgがあればOKです。
背景を透過してみる
Extrasタブ内のSingle Image内に画像を読み込み下にあるRemove backgroundをu2netに設定
u2netでGenerate①背景描写が複雑ではない画像
人間だけ切り抜いてほしいのに後ろの丸い部分や尻尾のようなものを残し、黒い部分の背景や明るい地面だけが抜き取られた。
u2netでGenerate②背景描写が複雑な画像
一部消えていたり、ぼやけているなどうまく切り抜きが出来ていない
u2netでGenerate③別のイラストモデルを使う
うまく抜き取れていない箇所やぼやけている部分がある
u2netpでGenerate
背景の透過モデルをu2netpに変更すると多少良くなった。
対象の境目や背景によってうまく切り抜けるか変わってくるようです。
綺麗に背景を抜きたい場合はPhotoshopで「選択とマスク」機能を使ったり、時間はかかりますがマスク機能でブラシを使い消していく方法をとった方がよさそうですね。
Rembgで抜き取りたい場合はRemove backgroundの設定をいろいろと試してみましょう。
Remove background各設定はこちら
- u2net:一般的な使用を想定した学習済みモデル
- u2netp:u2netの軽量版
- u2net_human_seg:人間を想定した事前に学習されたモデル
- u2net_cloth_seg:人間の被写体とした画像から服を解析するために事前に学習されたモデル。衣服は3つのカテゴリに分類される: 上半身、下半身、全身の3つのカテゴリに分類
- silueta :u2netと同じですが、サイズが43Mbに縮小されている
最後に
画像にもよりますがこの拡張機能を使うことで画像の消えてほしくない箇所が一部消えてしまう可能性がありますね。
私の場合綺麗なイラストを求める際は、うまい具合にポーズが取れている画像を生成できたらPhotoshopやCripstudioを使い背景削除、手の書き込み、他加筆などを行っています。
ですがこの方法は多くのイラストが必要な方には効率が悪いです。
プロンプトで背景を複雑化しないようにしたり、輪郭がとりずらいイラストにしないように工夫する必要がありそうです。
ある程度綺麗に抜くことに成功したらペイントソフトでちょっと編集するだけで済みますので一度試してみることをお勧めします。