【AI】画像の背景除去ができる拡張機能やツールまとめ

金髪の女性イラストの背景除去前と除去後の比較

画像生成AIのhow to記事です。

今回は背景切り抜きができる拡張機能やツールをまとめて紹介します。

Rembg

おそらく一番メジャーなツールです。

u2netモデルを使用した背景処理が可能で、さまざまなプラットフォームで使えます。

WebUI(A1111・reforge)

新Forgeはなんかエラーが出て使えませんでした。

・インストール

Extensions→Install from URL→URL for~にgithubのURLを入力してinstallをクリックします。

https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.git
WebUIのInstall from URLにRembg拡張機能のGitHub URLを入力した画面

再起動してExtrasにRemove backgroundがあればインストール完了です。

Extrasタブに追加されたRemove backgroundのチェック項目

・使い方

Extrasタブで何らかの画像をセットします。

Rembgで背景を除去する女性イラストをExtrasタブに読み込んだ画面

Remove backgroundにチェックを入れてタブを開きます。

Remove backgroundにチェックを入れて背景除去を有効にした状態

Remove backgroundからモデルを選択してGenerateを実行すると背景が切り抜けます。

またモデルによって処理速度や精度、服だけ抜いたりなど用途が異なります。

Rembgのモデル選択メニューでu2netを選択した画面

・u2netで処理した画像

Rembgのu2netで背景を除去した金髪の女性イラスト

Return maskにチェックを入れるとマスクだけ返してくれます。

Return maskで出力した女性の輪郭を白く示す白黒マスク

Alpha mattingにチェックを入れると切り抜き度合いを調整できます。

・Erode size:切り抜きの境界部分を「削る」量 被写体の周りに背景が残っている場合、値を調整すると上手く抜けるかもしれません。

・Foreground threshold:アルファ値(透明度)が高い部分をどの程度「前景」として扱うかを指定 値を高くすると、被写体の境界付近や半透明部分が「背景」として認識されやすくなる。

・アルファ値(透明度)が低い部分をどの程度「背景」として扱うかを指定 値を低くすると、背景として認識される部分が減り、前景と混ざった部分が背景から外れる可能性がある。

ComfyUI

ComfyUIはシンプルなrembg-comfyui-nodeやrembg-comfyui-node-betterというカスタムノードがあったのですが、現在のバージョンに対応していない?のかnodeが使えません。

現状rembgで処理できるものだとComfyUI-GeekyRemBがあります。

ComfyUI-Managerをインストールしている方は、Manager→Custom Nodes Manager→検索にComfyUI-GeekyRemBと入力してinstallしてください。

ComfyUI-ManagerでComfyUI-GeekyRemBを検索したインストール画面

手動の場合はターミナルを開き、カスタムノードのパスに移動してからクローンします。

cd C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\custom_nodes
git clone https://github.com/GeekyGhost/ComfyUI-GeekyRemB.git

インストール後はリスタートしてください。

あとはLoad image、Geeky RemB、Preview Imageのノードを追加します。

右クリック、または空白部分をダブルクリックしてキーワード入力すると該当のノードを追加できます。

ComfyUIのノード検索でGeeky RemBを表示した画面

あとはこんな感じで繋げれば背景処理が可能です。

Load Image、Geeky RemB、Preview Imageを接続した背景除去の例

基本的にはA1111の拡張機能と同じく、モデルを切り替えればさまざまな用途で使用できます。

パラメータの使い方など詳細は公式で確認してください。

GitHub – GeekyGhost/ComfyUI-GeekyRemB: Custom Background Remover for ComfyUI to address some issues I’ve encountered with different background removers.
Custom Background Remover for ComfyUI to address some issues I've encountered with different background removers. – Geek…

Python

ターミナルを開いてrembgをインストールします。

pip install rembg[cli]

あとは「rembg i 元画像のパス 出力先のパス」で実行可能です。

rembg i "C:\sample.jpg" "C:\sample1.jpg"

これで実行するとCドライブにあるsample.jpgに背景処理が行われ、sample1.jpgとして保存されます。

pythonファイルやnotebookでも使用可能です。

from rembg import remove
from PIL import Image
input_path = 'input.jpg' #ここに元画像のファイル
output_path = 'output.png' #ここに出力先のファイル
with open(input_path, 'rb') as i:
    with open(output_path, 'wb') as o:
        o.write(remove(i.read()))

ABG Remover(拡張機能)

ABG Removerもu2netモデルで背景処理ができます。

anime-remove-backgroundをWebUIで使えるようにしたもので、名前の通りアニメキャラの切り抜きに適している?ようです。

ただ個人的にあまり精度の違いはわかりませんでした。

あとABG Removerは新forgeでも使えます。

・インストール

Extensions→Install from URL→URL for~にgithubのURLを入力してinstallをクリックします。

https://github.com/KutsuyaYuki/ABG_extension.git
WebUIのInstall from URLにABG RemoverのGitHub URLを入力した画面

再起動してimg2imgタブを開き、scriptにABG Removerがあればインストールは完了です。

img2imgのScriptに表示されたABG Remover

・使い方

img2imgに画像を取り込みます。

ABG Removerで処理する女性イラストをimg2imgに読み込んだ画面

Resize toで画像サイズを同じにします。

Resize toで画像サイズを幅832・高さ1216に合わせた設定画面

Denoising strengthを0.1にします。

ABG Remover用にDenoising strengthを0.1に設定した画面

あとはScriptでABG Removerを選んで、実行するだけです。

デフォルトのままだと3つ(元画像・マスク・背景処理)が出力されます。

ABG Removerの出力一覧と背景を除去した女性イラスト

背景処理されたものだけで良ければ「Only save background free pictures」にチェックを入れてください。

Custom Backgroundにチェックを入れると、Background Colorで指定した色を背景にできます。

Random Custom Backgroundはランダムで背景が設定されます。

BiRefNet

BiRefNetはu2netより高精度処理が可能なモデルです。

u2netの方が動作は軽いですが、BiRefNetの方が切り抜き精度は良いと言われています。

WebUI(A1111・forge・reforge)

・インストール

Extensions→Install from URL→URL for~にgithubのURLを入力してinstallをクリックします。

https://github.com/dimitribarbot/sd-webui-birefnet.git
WebUIのInstall from URLにsd-webui-birefnetのGitHub URLを入力した画面

再起動してExtrasタブを開き、「Remove background with BiRefNet」のタブが追加されていればインストール完了です。

Extrasタブに追加されたRemove background with BiRefNetの項目

・使い方

Extrasタブで画像を取り込みます。

BiRefNetで処理する女性イラストをExtrasタブに読み込んだ画面

Remove background with BiRefNetにチェックを入れてタブを開きます。

Remove background with BiRefNetにチェックを入れた状態

処理に使用するモデルを選択します。

基本のモデルはGeneralです。

BiRefNetの背景除去モデルにGeneralを選択した設定画面

これで実行すると背景を切り抜けます。

BiRefNetで背景を除去した金髪の女性イラスト

rembgの処理と並べて見ると精度の違いが分かりやすいです。

左:rembg 右:BiRefNet

左がRembg、右がBiRefNetの背景除去結果を並べた比較画像

オプションでリサイズしたり、出力画像を選択できるので、用途に合わせて使い分けてみてください。

ComfyUI

ComfyUI-Managerをインストールしている方は、Manager→Custom Nodes Manager→検索にBiRefNetと入力してください。

基本のBiRefNetや派生したものが出てきますが、私の環境だとComfyUI_BiRefNet_llしか動きませんでした。

なのでこの記事ではComfyUI_BiRefNet_llを使った処理を紹介します。

ComfyUI_BiRefNet_llをインストールしてください。

ComfyUI-ManagerでComfyUI_BiRefNet_llのインストール状態を確認した画面

手動の場合はターミナルを開き、カスタムノードのパスに移動してからクローンします。

cd C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\custom_nodes
git clone https://github.com/lldacing/ComfyUI_BiRefNet_ll.git

インストール後はリスタートしてください。

以下のパスにworkflowがあるのでComfyUIに取り込みます。

C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_BiRefNet_ll\example

githubからダウンロードも可能。

https://github.com/lldacing/ComfyUI_BiRefNet_ll/blob/main/example/workflow_base.png

なお、取り込むと画像処理と動画処理に分かれており、下の動画処理はノードが一部使えずに動きませんでした。

画像の切り抜きだけで良ければ下のGroupは削除してください。

Ctrl+範囲選択でノードを選択後、Deleteで削除可能です。

あとはLoad imageに画像を取り込んで実行するだけです。

モデルは初回使用時に自動的にダウンロードされます。

ComfyUI_BiRefNet_llで背景除去画像と白黒マスクを出力したワークフロー

Transparent-Background

こちらはRembgやBiRefNetとも異なる「InSPyReNet」というモデルを使用して背景除去ができます。

スタンドアローン

まずリポジトリをローカルにクローンします。

git clone https://github.com/plemeri/transparent-background

transparent-backbroundに移動します。

cd transparent-backbround

仮想環境を作成してアクティベートします(任意)

python -m venv venv
venv/scripts/activate

依存関係をインストールします。

pip install --extra-index-url https://download.pytorch.org/whl/cu118 .

インストールが終わったら以下のコマンドでGUIが起動できます。

transparent-background-gui

GUIのopen filesから切り抜きたい画像を取り込みます。

Transparent-BackgroundのOpen Fileで女性イラストを読み込んだ画面

Open destinationで出力先を指定できます。

Transparent-BackgroundのOpen Destinationで出力先をCドライブに設定した画面

あとはProcessをクリックすれば実行可能です。

Transparent-BackgroundのProcess実行後に表示された背景除去前後の画像

Typeで出力する形式を変えられます。

rgba:背景除去 map:マスクのみ green:グリーンバック white:白背景 blue:背景をぼかす overlay:マスクを重ねて出力 custum:任意の色を指定(RBG)

なお、動画も取り込んで処理が可能です。

ただrgbaは使えないのでgreenなどで出力し、編集ソフトのクロマキーで抜くとかが一般的かもしれません。

・お借りした動画 https://www.pexels.com/ja-jp/video/3959704/

・greenで処理した動画

ComfyUI

ComfyUI-Managerをインストールしている方は、Manager→Custom Nodes Manager→検索にComfyUI-Inspyrenet-Rembgと入力してinstallしてください。

ComfyUI-ManagerでComfyUI-Inspyrenet-Rembgを検索したインストール画面

手動の場合はターミナルを開き、カスタムノードのパスに移動してからクローンします。

cd C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\custom_nodes
git clone https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg.git

インストール後はリスタートしてください。

workflowはgithubのbasic workflowにある「inspyrenet-rembg-basic-workflow.json」からダウンロードできます。

ComfyUIに取り込んでください。

GitHub – john-mnz/ComfyUI-Inspyrenet-Rembg: ComfyUI node for background removal, implementing InSPyreNet the best method up to date
ComfyUI node for background removal, implementing InSPyreNet the best method up to date – john-mnz/ComfyUI-Inspyrenet-Re…

あとはLoad imageに画像をセットして実行すれば背景除去とマスクで出力できます。

ComfyUI-Inspyrenet-Rembgで背景除去画像と白黒マスクを出力したワークフロー

オンラインツール

photoroom

無料で使える背景除去ツールです。

上記のような方法が面倒な場合は、画像を取り込むだけで簡単に処理できます。

ただ処理後は元の画像サイズでダウンロードはできず、リサイズされます。

背景を除去して商品写真を作成できます | Photoroom
お使いのスマートフォンだけで商品やポートレートの写真を作成できます。バックグラウンドを削除し、バックグラウンドを変更して、商品を紹介できます。

remove.bg

こちらも同じオンラインで使える背景除去ツールです。

ほぼphotoroomと同じですが、こっちはphotoroomより解像度が小さくなります。

写真・画像の背景をワンクリックで消す方法 | まずは無料でお試し – remove.bg
remove.bgは写真の背景を消したい、写真から人物を切り抜きたい方に最適です。背景透過のやり方が分からない方でも、簡単に画像の切り抜きや背景の透過が可能。パソコンかスマホさえあればOKです。

まとめ

他にもいっぱいあるのですがうまく使えなかったり、試せてないものがあるので、触れたら徐々に追加してこうと思います。

以上画像の背景除去ができる拡張機能やツールをまとめて紹介しました。

参考になれば幸いです。

タイトルとURLをコピーしました