1. ComfyUIの背景の除去|BiRefNet

ComfyUI

ComfyUIの背景の除去|BiRefNet

編集部 読了 約9分

  • ComfyUI で背景削除はできる?
  • 画像の背景を透過して、物だけを切り抜きたい
  • BiRefNet のモデルの入れ方と使い方を知りたい

ComfyUI(コンフィユーアイ)で作った家具の画像を、ほかの画像に重ねて使いたいときがあります。しかし、背景を消すために画像を別のソフトへ持ち出すと、手間が1つ増えます。

BiRefNet は、画像の背景を取り除くためのモデルです。この記事では、BiRefNet で背景を取り除き、物だけを切り抜く方法を解説します。

背景を透明な PNG にして保存する方法と、別の背景に重ねる方法も分かります。

画面:ComfyUI v0.37.0 ポータブル版(Windows・2026年9月)

背景の除去を始める前に

背景除去モデルの読み込みのノード。「bg_removal_name」の欄を赤い枠で囲んでいる
BiRefNet のモデルは、「背景除去モデルの読み込み」で読む

背景の除去は、画像の中の主な物(前景)を見つけて、それ以外を消すことです。

ComfyUI の「背景を除去」(RemoveBackground)のノードは、前景を白、背景を黒にしたマスク(白黒で範囲を示す画像)を出します。

始める前に知っておくことは、次の4つです。

  • モデルのファイルは birefnet.safetensors の1つ。Hugging Face(AI のモデルを配るサイト)の Comfy-Org/BiRefNet で配られていて、ライセンスは MIT
  • 配布の場所の background_removal のフォルダの中の birefnet.safetensors を落とし、ComfyUI/models/background_removal に置く。画像を作るモデルの checkpoints には置かない。ポータブル版では ComfyUI_windows_portable\ComfyUI\models\background_removal にあたり、フォルダは初めからある。ComfyUI を開いたまま置いたときは、キャンバスの上でRキーを押すとモデルの一覧が読み直される
  • ノード(処理を1つずつ受け持つ部品)は、キャンバス(ノードを並べる真ん中の広い所)の何も無い所をダブルクリックして開く「ノード検索」に、名前を打って置く。初めからあるノードは、そのまま残しておいてかまわない
  • マスクの形は、マスクを白黒で見せるノード「MaskPreview」で見る。日本語の表示でも、名前は英語のまま
ComfyUIの画面の全体。左の列、真ん中のキャンバス、右上の「実行する」
ComfyUI の画面。左の列・真ん中のキャンバス・右上の実行する

この記事では、ノードの名前を日本語の表示で書きました。画面が英語なら、左の列の設定(歯車)を押し、Language を日本語にしてください。

有料のサービスで背景を取り除くノード(Bria・Recraft)は、「ComfyUIの画像のPartner Nodes|生成・編集・アップスケール」(準備中)の記事で解説します。

BiRefNetで背景を除去する

左が元の画像、右が背景を除去で作ったマスク
512×512 の椅子の画像(左)と、背景を除去で作ったマスク(右)。脚や肘掛けの細い所までマスクになった

椅子の画像から、椅子の形の白いマスクを作ります。使うのは、組み込みのノード(ComfyUI に初めから入っているノード)だけで、手順は次の4つです。

BiRefNetのモデルを読む

ノード検索で背景除去モデルの読み込みを置き、bg_removal_nameの欄で birefnet.safetensors を選びます。

bg_removal_nameの欄に birefnet.safetensors が入りました。

画像を読み込む

ノード検索で画像を読み込むを置き、アップロードするファイルを選択を押して、背景を消したい画像(ここでは椅子の画像)を選びます。

ノードの中に、椅子の画像が出ました。

「背景を除去」をつなぐ

ノード検索で背景を除去を置きます。

「背景除去モデルの読み込み」のbg_modelの出力の点を、「背景を除去」のbg_removal_modelの入力の点へドラッグします。

「画像を読み込む」の画像の出力の点も、「背景を除去」の画像の入力の点へドラッグしてください。

「背景を除去」の左の2つの入力が、つながりました。

MaskPreviewにつないで実行する

「背景を除去」のマスクの出力から線を引き出し、何も無い所で離して開くノード検索でMaskPreviewを選びます。右上の実行するを押してください。

背景除去モデルの読み込み・画像を読み込む・背景を除去・MaskPreview をつないだところ。背景を除去のノードを赤い枠で囲んでいる
赤い枠が「背景を除去」。MaskPreview に、椅子の形のマスクが出ている

MaskPreview に、椅子の形の白いマスクが出ました。

これで、背景を取り除くためのマスクができました。

アルファで画像を結合して背景を透明にする

マスクを反転とアルファで画像を結合をつないだところ。この2つのノードを赤い枠で囲んでいる
赤い枠の2つで背景を透明にした。画像を保存に、背景の消えた椅子が出ている

「アルファで画像を結合」(JoinImageWithAlpha)は、画像とマスクを、透明な所を持つ1枚の画像にまとめるノードです。アルファは、画像の透明さを表す値です。

このノードは、つないだマスクの白い所を透明にします。

「背景を除去」のマスクは椅子の所が白いので、そのままつなぐと椅子のほうが透明になってしまいます。

そのため、先に「マスクを反転」で白と黒を入れ替えてからつなぐのが、この節の組み方です。手順は次の3つです。

「マスクを反転」をつなぐ

ノード検索でマスクを反転を置き、「背景を除去」のマスクの出力を、置いたノードのマスクの入力へドラッグします。

「マスクを反転」に、椅子のマスクが入るようになりました。

「アルファで画像を結合」をつなぐ

ノード検索でアルファで画像を結合を置きます。

「画像を読み込む」の画像の出力を画像の入力へ、「マスクを反転」のマスクの出力をアルファの入力へドラッグしてください。1つの出力からは、何本でも線を引けます。

「アルファで画像を結合」の画像とアルファの2つに、線がつながりました。

「画像を保存」につないで実行する

「アルファで画像を結合」の出力から線を引き出し、ノード検索で画像を保存を選びます。続けて、右上の実行するを押します。

背景が透明な PNG の画像が、ComfyUI/output のフォルダ(ポータブル版では ComfyUI_windows_portable\ComfyUI\output)に保存されました。

保存した画像は透明な所を持つので、ほかのソフトで別の画像に重ねてもそのまま使えます。

左の列のテンプレートから開ける公式のテンプレート「背景除去: BiRefNet」も、中で同じ4つのノード(背景除去モデルの読み込み・背景を除去・マスクを反転・アルファで画像を結合)の組み合わせです。

切り抜いた物を別の背景に重ねる

左が背景を透明にした画像、右が明るい灰色の背景に重ねた画像
左の市松模様は、透明な所を表す。右は、明るい灰色の無地の背景に重ねた

背景を透明にしなくても、ComfyUI の中で別の背景に重ねられます。「マスクされた画像合成」(ImageCompositeMasked)で、明るい灰色の無地の背景に椅子を重ねる手順は、次の3つです。

「空の画像」で背景を作る

ノード検索で空の画像を置き、幅と高さを元の画像と同じ 512 に、色を 15263976 にします。

色の欄が 15263976 になりました。この値は赤・緑・青がどれも 232 の明るい灰色で、色の値は 赤×65536+緑×256+青 で求めます。

「マスクされた画像合成」をつなぐ

ノード検索でマスクされた画像合成を置きます。「空の画像」の画像を宛先(下になる画像)へ、画像を読み込むの画像をソース(上に重ねる画像)へ、背景を除去のマスクをマスクへドラッグしてください。

3つの入力が、つながりました。

画像プレビューにつないで実行する

「マスクされた画像合成」の出力から線を引き出し、ノード検索で画像プレビューを選びます。選んだら、右上の実行するを押します。

空の画像とマスクされた画像合成をつないだところ。マスクされた画像合成のノードを赤い枠で囲んでいる
赤い枠が「マスクされた画像合成」。xとyで、ソースを重ねる位置を決める

灰色の背景の上に、椅子だけが重なりました。

「マスクされた画像合成」はマスクの白い所にソースを乗せるので、ここではマスクを反転せずにつなぎます。

xとyは宛先の左上から数えた重ねる位置のピクセルで、ソースのリサイズを true にするとソースが宛先の大きさにそろう仕組みです。

「空の画像」の代わりに「画像を読み込む」で部屋の写真を読み、宛先につなぐと、部屋の写真の上に重ねられます。

BiRefNetで背景を除去して、透明なPNGで保存しよう

左が背景を透明にした画像、右が明るい灰色の背景に重ねた画像
背景を透明にした椅子(左)と、灰色の背景に重ねた椅子(右)

背景の除去で作ったマスクの使い道は、透明な PNG と、別の背景への重ね合わせの2つです。この記事の要点は、次の3つです。

  • BiRefNet のモデルを models/background_removal に置き、「背景除去モデルの読み込み」と「背景を除去」で物の形のマスクを作る
  • マスクを反転して「アルファで画像を結合」につなぐと、背景が透明な PNG になる
  • 「マスクされた画像合成」で、マスクの所だけを別の背景に重ねられる

まずは家具の画像を読み込んで、背景が透明な PNG を保存してみてください。

あわせて読みたい

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい