ComfyUI 標準ノード + α で画像編集! BiRefNet・Depth-Anything-V3・Lama Remover の使い方 【画像生成AI】
はじめに
こんにちは、きまま / Easygoing です。
今回は、ComfyUI の標準ノードに カスタムノード を少し加えた画像編集についてご紹介します。

SAM 3.1 は汎用モデル
前回は、SAM 3.1 モデルを使った背景除去をご紹介しました。
SAM 3.1 モデルは、テキスト入力すれば何でも検出できる 汎用モデル です。
SAM 3.1 モデルの使い方
汎用モデルは、どのような対象でも認識できるのでとても便利ですが、前景と背景の二分割 の用途のみに限ると、専用のモデル を使う方が精度が優れています。
そこでまず、ComfyUI の標準ノードで利用できる BiRefNet モデル の使い方をご紹介します。
BiRefNet は背景除去の専用モデル!
BiRefNet は、二分割画像セグメンテーション(前景と背景を分離する)専用の AI モデルです。
BiRefNet モデルシリーズにはいくつか種類があるのですが、オーソドックスな BiRefNet モデルは Comfy Org から公式版 が配布されているので、今回はこちらを使います。
ワークフロー

モデル
background_removal: birefnet.safetensors
birefnet.safetensors の設置場所
ComfyUI\models\background_removal(フォルダを新規作成)
カスタムノード

BiRefNet で背景除去
それでは、SAM 3.1 と BiRefNet の背景除去を比較してみます。
入力画像

SAM 3.1 で背景除去

BiRefNet で背景除去

SAM 3.1 と比較すると、BiRefNet の背景除去は 髪の毛 などの細部を正確に分類していることが分かります。
BiRefNet の境界はギザギザ
今度は、BiRefNet の境界部分をもっと拡大してみます。
BiRefNet の拡大図

BiRefNet の検出を拡大してみると、細い髪の部分が ギザギザ で 途切れたような表現 になっています。
ComfyUI の実装では、BiRefNet モデルは 1024 x 1024 の固定解像度 で処理を行うため、高解像度のイラストでは解像度が足りず、このようになってしまいます。
半透明の部分をマスク領域に含める
それでは、髪が途切れずに確実に前景に入るようにするため、BiRefNet が前景と後景の間の 半透明 に判定した部分を 全て前景 に含めてみます。
BiRefNet で作成したマスクを Threshold Mask ノードに接続し、Threshold を 最低値の 0.01 に設定します。
Threshold Mask = 0.01

前と比べると、髪は前景 にしっかり含まれるようになりましたが、今度は境界部分に 細く背景 が入り込んでしまいました。
Mask Refine ノードでマスク領域を調整!
ここから、カスタムノードを使ってマスク領域をさらに調整します。
ComfyUI-AutoMask の Mask Refine ノードは、pymatting と呼ばれる方法でオリジナルのイラストとマスクを比較して、マスク領域を調整するカスタムノードです。
Mask Refine ノードで境界を調整

Mask Refine ノードを使うと、マスクの境界をかなりきれいに修正することができました。
一方で、Mask Refine ノードは blur(ぼかし)をかけてから境界を調節するので 髪の細い部分は薄く なり、またマスクに囲まれた「角」の部分が丸まってしまう 欠点があります。
マスクを自動調整するノードは、どれも得手不得手があるので、利用するケースに応じて使い分けるのが良いでしょう。
BiRefNet が苦手な対象もある
BiRefNet は、主に 色 や テクスチャを中心に前景と背景を分離していますが、境界部分に似たような構造 があると分離の精度が低下してしまいます。
先ほどのワークフローを別のイラストで試してみます。
入力画像2

BiRefNet → Mask Threshold → Mask Refine

このイラストでは、髪と色や明るさが近い 花火の一部 が、誤って前景と判定されてしまいました。
また、右下の 髪に囲まれた細かい海 の領域も背景と認識されず、前景に含まれてしまっています。
そこで、別のモデルを使って分離の精度を上げる方法を考えてみます。
Depth-Anything-V3 は深さを推定する
Depth-Anything-V3 モデルは、中国の ByteDance が公開している 単眼深度推定(1枚のイラストから深さを推定) を行うモデルです。
深度推定を正確に行う場合、本来であれば 複眼以上 の入力が必要になりますが、Depth-Anything-V3 モデルは多くの画像を学習することにより、単眼でもかなりの精度 で深度推定を行うことができます。
Depth-Anything-V3 モデルも、先ほどの BiRefNet と同じように ComfyUI の標準ノード で利用できます。
Depth-Anything-V3 モデルを使ってみる!
それでは、実際に Depth-Anything-V3 モデルを使って深度推定を行ってみます。
ワークフロー

モデル
geometry_estimation: depth_anything_3_mono_large.safetensors
設置フォルダ
ComfyUI\models\geometry_estimation(フォルダを新規作成)
Depth-Anything-V3 の単眼深度推定

Depth-Anything-V3 モデルを使って 深度マップ を作成すると、キャラクターが手前に来て、花火や髪の毛に囲まれた海の領域が 正しく遠景 と認識されていることが分かります。
深度マップから前景を判定する
それでは、深度マップから実際に前景を取り出してみましょう。
ワークフロー

モデル
background_removal: birefnet.safetensors
カスタムノード
まず、Depth-Anything-V3 で作成した深度マップから、BiRefNet で検出した領域を除く 不要な部分を黒く 切り取ります。

続いて、深度マップは黒から白までの グラディエーション で存在するので、前景と背景を分ける 閾値 を探します。
Convert Image to Mask ノードで深度マップをマスクに変換した後に、Auto Mask Threshold ノードに接続します。

Auto Mask Threshold ノードは、マスクのヒストグラム(度数分布)を分析して、適切な 閾値の候補を8つ提案 してくれます。
今回は、中央の 5番目 の出力が良さそうだったので、threshold を 5 に設定して実行します。

最後に Mask Refine を通して境界を調整します。
こうして、BiRefNet と Depth-Anything-V3 を 組み合わせる ことで、花火と髪に囲まれた領域を 正しく背景 に分離することができました。
Lama Remover で不要物を消去する!
最後に、Lama Remover の使い方をご紹介します。
Lama Remover は、以前にご紹介した 画像修復モデル の LaMa を ComfyUI で使えるようにしたカスタムノードです。
LaMa モデル の画像修復について
ワークフロー

モデル
checkpoints: sam3.1_multiplex_fp16.safetensors
lama: big-lama.pt
sam3.1_multiplex の設置フォルダ
ComfyUI\models\checkpoints
big-lama.pt の設置フォルダ
ComfyUI\models\lama(フォルダを新規作成)
カスタムノード
comfyui-lama-remover (revived)

SAM 3.1 で消去したい対象を検出する
まず、SAM 3.1 モデルで消去したい対象を検出します。
今回は、次のイラストから 花火 と ボケ照明 を消去してみます。
入力画像3

プロンプト
fireworks:10, bokeh lights:30
SAM 3.1 モデルで、複数の対象を同時に検出 したいときは、コロンのあとに 個数 を書くと最大でその個数まで一度に検出してくれます。

Lama Remover で不要物を消去する!
続いて、Big Lama Remover ノードに元のイラストとマスク領域を繋いで対象を消去します。

こうして、SAM 3.1 と LaMa の2つの AI モデル を組み合わせて使うことで、簡単に不要な対象を消去することができました。
SAM 3.1 と LaMa は、いずれも軽量で高速のモデルなので、イラスト編集の下処理 の過程で大いに活用できるのではないでしょうか。
まとめ:AI を組み合わせて利用する!
BiRefNet は背景を分離
Depth-Anything-V3 は深さを推定
SAM 3.1 と LaMa を組み合わせて不要物を消去
今回は、ComfyUI での SAM 3.1・BiRefNet・Depth-Anything-V3・LaMa モデルの使い方をご紹介しました。
今日では、数多くの AI モデルがオープンウェイトで公開されていて、画像から領域を検出する segmentation の技術に限っても、性能の優劣 を単純に決めることはできません。
Bracer Jack 氏の segmentation モデルの比較動画
AI モデル には、それぞれ 得手・不得手 がありますが、複数のモデルを 組み合わせて利用する ことで、足りない部分をお互いにカバーしながら利用することができます。
最近では、ComfyUI が公式に対応するモデルも多くなり、新しいモデルを試すのが簡単になったので 無限の可能性 が広がっています。

みなさんもこれを機会に、新しいモデルにチャレンジしてみてはいかがでしょうか?
最後までお読みいただきありがとうございます!
更新履歴
2026.8.10
ワークフローを一部更新しました

