プロンプトガイド付きセグメンテーション、バウンディングボックスプレビュー、およびビデオトラッキングのためのSAM 3.1 ComfyUIワークフロー#
このSAM 3.1 ComfyUIワークフローは、瞬時のバウンディングボックスビジュアライゼーションとフレーム精度のビデオオブジェクトトラッキングを備えたネイティブな、プロンプト可能な画像セグメンテーションを提供します。内蔵のcomfy-core SAM 3.1ノードを使用するため、サードパーティのカスタムノードなしで一流のパフォーマンスと安定性を得ることができます。その結果、静止画像やフルビデオ全体で合成、分離、または下流編集のための高速で再利用可能なマットが得られます。
アーティスト、編集者、パイプラインエンジニア向けに設計されたSAM 3.1 ComfyUIは、テキストキューまたはバウンディングボックスから始めて、選択をその場で検証し、その後クリップ全体にクリーンなマスクを伝播させることが簡単です。内部ではsam3.1_multiplex_fp16チェックポイントをロードし、ComfyUIにネイティブサポートとして追加された公式のSAM3_Detect、SAM3_VideoTrack、SAM3_TrackToMask、およびSAM3_TrackPreviewノードを実行します。詳細はHugging FaceのモデルファイルとComfyUIプルリクエストをご覧ください:Comfy-Org/sam3.1, ComfyUI PR #13408。
Comfyui SAM 3.1 ComfyUIワークフローの主要モデル#
- Comfy-Org SAM 3.1 Multiplex FP16チェックポイント。sam3.1_multiplex_fp16の重みは、SAM 3.1ノードによって使用されるプロンプト可能な画像セグメンテーションとトラッカーを駆動します。
CheckpointLoaderSimpleでロードし、ワークフロー全体で使用されるモデルとテキスト条件を提供します。ソース:Comfy-Org/sam3.1。
Comfyui SAM 3.1 ComfyUIワークフローの使用方法#
グラフには2つの独立したレーンがあります。Image Maskingでは、静止画像をセグメント化し、迅速なQAのためにバウンディングボックスをプレビューできます。Video Maskingでは、参照フレームにマスクを初期化し、クリップ全体でオブジェクトをトラックし、トラックをプレビューし、編集または合成のためにマスクをエクスポートします。
Image Masking#
このレーンは、単一のフレームやトラッキングを実行する前にプロンプトをプロトタイプするのに理想的です。LoadImage (#4)で画像をロードし、CLIPTextEncode (#3)に短いテキストキューを書きます。例えば「鳥」や「赤い車」です。テキスト条件と画像はSAM3_Detect (#1)に送られ、検出された対象物の周りにマスクと自動バウンディングボックスを返します。MaskPreview+ (#5)を使用してマットを視覚的に検査し、DrawBBoxes (#6)とPreviewImage (#7)を使用してボックスの配置を確認します。選択が曖昧な場合は、テキストを改善したり、正のポイントや負のポイントを追加したり、SAM 3.1 ComfyUIを対象物に向けるためにより厳しいボックスを提供したりします。
Video Masking#
このレーンは、同じプロンプト可能なセグメンテーションをフルクリップに拡張します。VHS_LoadVideoPath (#12)でビデオをロードし、フレームとメタデータをグラフの残りに提供します。参照フレームはImageFromBatch (#15)で選択され、CLIPTextEncode (#14)を介してテキストで説明されます。SAM3_Detect (#13)はそのフレームに初期マスクを生成し、それがSAM3_VideoTrack (#8)により残りのフレームでオブジェクトを追跡するためのシードとして機能します。同じモデルとテキスト条件を使用します。結果のトラックをフレームごとのマットに変換するためにSAM3_TrackToMask (#9)を使用します。クイックバイナリプレビューや前景/背景を反転させるために、マスクはInvertMask (#19)とMaskToImage (#16)を通過し、その後VHS_VideoCombine (#17)がシンプルなマスクビデオをレンダリングできます。元のフレームに重ねた結果をインタラクティブに見るために、SAM3_TrackPreview (#10)がVHS_VideoInfoLoaded (#18)が提供するソースフレームレートでオーバーレイを再生します。ドリフトが見られる場合は開始フレームやプロンプトを調整し、エクスポート前にトラックを固定するために再実行します。
Comfyui SAM 3.1 ComfyUIワークフローの主要ノード#
SAM3_Detect (#1)#
プロンプトとオプションのポイントやボックスに基づいて、静止画像にオブジェクトマスクとバウンディングボックスを生成します。SAM 3.1 ComfyUIで素早く対象物の選択を検証するために使用します。マスクが広すぎるまたは類似品を含むと感じる場合は、テキスト記述を絞り込むか、より制約のあるボックスを描いて分離を改善します。
SAM3_Detect (#13)#
選択した参照フレームにクリーンなマスクを生成することでビデオトラッカーをシードします。SAM 3.1 ComfyUIでのトラッキング品質はこのシードに大きく依存するため、目標が見えるかつ最小限に遮蔽されているフレームを選択します。後でオブジェクトが外観を変える場合は、別のフレームから再初期化し、エディタで結果を連結します。
SAM3_VideoTrack (#8)#
同じモデルとテキストキューを使用して、クリップ全体に初期マスクを伝播します。シードと条件を一致させて、類似のオブジェクトに捕まらないようにします。小さなまたは高速移動する対象物を追跡する際は、自信のあるシードがあるフレームから開始し、照明やスケールが劇的に変わる場合はセグメントを短縮することを検討します。
SAM3_TrackToMask (#9)#
トラッカーの出力をマスクシーケンスに変換してエクスポートします。すべてのフレームを出力するか、インデックスまたはシンプルな範囲を入力してサブセットを選択できます。これはビデオプレビューを書き込むか、好みのツールで合成するためにPNGシーケンスを保存するための引き渡しポイントです。
SAM3_TrackPreview (#10)#
元のフレームに重ねたトラック結果を即時の品質管理のために再生します。プレビューはVHS_VideoInfoLoaded (#18)で報告されたソースフレームレートを使用するため、タイミングがクリップに一致します。ドリフト、遮蔽失敗、またはアイデンティティの入れ替えをエクスポートにコミットする前に検出するために使用します。
オプションのエクストラ#
- フレーム内でテキストプロンプトが複数の対象物に一致する場合にバウンディングボックスを使用して曖昧さを解消します。
- ターゲットが中間クリップでスケールや照明を変える場合、ビデオを論理的なセグメントに分割し、セグメントごとに
SAM3_Detect(#13)を再シードして安定したトラッキングを実現します。 - マットを画像シーケンスとしてエクスポートする場合、
SAM3_TrackToMask(#9)をVHS_VideoCombine(#17)ではなくSaveImageノードにルートします。 - プロンプトは短く具体的に保ちます。SAM 3.1 ComfyUIでは、キー属性を持つ簡潔な名詞が長い散文を上回ることが多いです。
- 特定のフレームから静止マスクのみが必要な場合、そのフレームでImage Maskingを実行してトラッキングをバイパスし、時間を節約します。
謝辞#
このワークフローは、以下の作品やリソースを実装および基にしています。ComfyUIとSAM 3.1セグメンテーションワークフローのためのInnovate Futures @ Benji、SAM 3.1モデルファイルのためのComfy-Org、そしてネイティブComfyUI SAM 3.1サポートPRのためのComfy-Orgに感謝の意を表します。詳細については、以下のリンクされたオリジナルのドキュメントとリポジトリを参照してください。
リソース#
- Innovate Futures @ Benji/ワークフローソース
- Comfy-Org/SAM 3.1 モデルファイル
- GitHub: facebookresearch/sam3
- Hugging Face: Comfy-Org/sam3.1
- arXiv: SAM 3: Segment Anything with Concepts (2511.16719)
- ドキュメント / リリースノート: RELEASE_SAM3p1.md
- Comfy-Org/ネイティブComfyUI SAM 3.1サポートPR
- GitHub: Comfy-Org/ComfyUI#13408
注意: 参照元のモデル、データセット、およびコードの使用は、それぞれの著者および管理者によって提供されたライセンスおよび条件に従うものとします。
