less than 1 minute read

画像を読み込み背景を削除して透過してくれる拡張機能です。処理時間は数秒で結構きれいに切り抜いてくれます。

準備

※既存の Stable Diffusion の環境があれば、準備は飛ばして「Rembg 拡張機能のインストール」の手順から実施できます。

Docker コンテナを起動します。

>$ docker run -it --gpus=all --rm -p 7860:7860 -v /home/tadashi/work:/work nvidia/cuda:11.8.0-base-ubuntu22.04 /bin/bash

apt で必要なパッケージをインストールします。

># apt update
># apt install -y git python3-venv libgl1-mesa-dev libglib2.0-0

git で WebUI をダウンロードします。また、コンテナの中だと root ユーザーになってしまい、WebUI の起動がブロックされるので、それを回避します。

># git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
># cd stable-diffusion-webui/
># sed -i -e s/can_run_as_root=0/can_run_as_root=1/ webui.sh

Rembg 拡張機能のインストール

WebUI を起動します。外部の拡張の読み込みを有効にするためのオプションも追加する必要があります。

># COMMANDLINE_ARGS="--listen --enable-insecure-extension-access" ./webui.sh

pip などで環境構築が走るので、場合によっては 10 分程度待つと、以下のように URL が表示されるので、ブラウザでアクセスします。

「Extension」>「Install from URL」を選択し、「URL for extension’s git repository」欄にhttps://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.gitと入力して「Install」をクリックします。

少し待って Install ボタンの下にInstalled into /stable-diffusion-webui/extensions/rembg. ~と表示されることを確認し、「Extensions」>「Installed」にあるApply and restart UIをクリックして WebUI を再起動します。

背景の削除

WebUI の再起動が終わったら、「Extras」タブを開きます。

Sourceに画像ファイルをドラッグ&ドロップします。

下へスクロールするとRemove backgroundがあるので、チェックをつけて黒三角矢印をクリックしてメニューを開きます。Remove backgroudnoneになっていると思うので、そこを変更します。

そして右上のGenerateをクリックすると、数秒で背景が削除された画像生成されます。

画像によってはうまく背景を切り取れない場合がありますが、その場合はRemove backgroundの選択を変更してみると、うまく切り取れる場合もありそうです。

画像を保存すると、透過された PNG ファイルになっているので、他の画像に重ねたりも簡単です。

更新日時: