Stable Diffusion web UI + Rembg (WSL + Ubuntu利用)
ブログの引っ越し
当ブログはtakemi.blogに移行しました。
より見やすいRembgの使い方 (WSL+Ubuntu環境)をご利用ください。
作成日時
2023/03/18
概要
どんどん便利になる画像生成。少し目を離すと機能が増えてます。
今回はRembgを利用した背景削除の紹介です。
Stable Diffusion web UIのインストール方法はこちら
拡張機能のインストール
Stable Diffusion web UIに拡張機能として簡単に追加できます。
UIの「Extensions -> Install from URL」を選択してください。
そしたら上側のテキストボックスに
https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.git
と入力します。入力後はInstallボタンを選択して、完了したらweb UIを再起動してください。
利用方法
再起動するとExtrasタブに機能が追加されています。
後は画像を指定した後に赤枠部分の設定値で有効/無効が選択できます。
背景削除
Remove backgroundから背景削除に利用する手法を選択します。u2net辺りを選べば概ね大丈夫です。
以下に選択肢でどんな変化が起きるのかをまとめたので参考にしてください。
元画像
u2net
u2netp
u2net_human_seg (削除されすぎ)
u2net_cloth_seg (削除されすぎ)
sliueta
背景削除のテクニック
大雑把に言うと「背景の削除(透過)」は「プログラムが背景と認識した場所を削除している」となります。
つまり綺麗に背景を削除したいのであれば、背景を識別しやすい画像を使うことで成功率が上がります。
それを踏まえて作った画像が以下です。当然、プロンプト自体が異なるので見た目も若干は変わります。
これを作るのは簡単で、元の画像を生成する時に以下みたいなプロンプトを追加で指定します。
solid green background
とか
background with solid green
です。ただし、強調や指定位置で画像が変わるので、書いたら必ず緑一色になるわけじゃないです。
ポイントは透過する境界が判断できれば良いので、境目が分かるような画像なら何でも良いです。
後は以下の赤枠の部分で透過の閾値が設定できます。この辺を変更しても綺麗に透過されたりします。
おわりに
これでキャラクターと背景を別に作って組み合わせれば完璧ね