
Remotionの動画作りをいろいろやってて、前回口パクを試しました。

背景透過させた動画素材作れれば、Remotionで使いやすいんじゃないかと思い、今回はその素材作りをSAM3で試してみます。
SAM3とは?
SAM3は、Metaが出しているSegment Anything(SAM)シリーズの新しいセグメンテーションモデルです。
残したい対象をテキストで指定すると、その部分を認識してマスクを作ってます。
今回はこれをComfyUIの「ComfyUI-RMBG」というカスタムノードから使って、動画の背景を透過していきます。
主な特徴
- 残したい対象をテキストで指定できる
- 人物・動物・オブジェクトなど幅広く対応
- SAM2より輪郭がシャープで推論も速いとのこと
- ComfyUI-RMBG経由で画像・動画どちらにも使える
ComfyUIのインストール
ComfyUIのインストールがまだの方はこちらを参考にしてみてください。

必要なカスタムノード
ComfyUI Managerある人は検索からインストールできます。
手動でクローンしてもOKです。
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
git clone https://github.com/1038lab/ComfyUI-RMBG.gitSAM3のモデルは、初めてSAM3 Segmentationノードを使うときにComfyUI/models/RMBG/へ自動でダウンロードされます。
使い方
ComfyUIを起動したらこんな風につなぎます。

・workflow
- Load Video (Upload)で透過させたい動画を取り込む
- SAM3 Segmentation (RMBG)に残したいものをテキストで指定(人物なら person など)
- Video Combine でProRes(profile4444)で保存
そうするとこんな感じで背景透過されます。
※movだとポストできなかったのでブラウザで再生して録画しました。
ダヴィンチリゾルブだとmovが取り込めるのでこんな感じに合成できます。

透過よりグリーンバックの方が使いやすい
これで背景透過はできるんですが、透過させた素材はちょっと扱いにくいです。
画像・動画に持たせられる透過情報はAlphaチャンネルと言います。
これはmp4だと持つことができません。
RGB:赤・緑・青
RGBA:赤・緑・青・透明度動画ならwebmやmov形式でAlphaチャンネルを保持できますが、Webm形式だとAlphaがあるのに透過されなかったり、movは動画編集ソフトによって取り込めなかったりします。
YMM4は表示できない、ダヴィンチリゾルブは表示できるなど。
なので透過させるより、背景グリーンバックにしてクロマキーで抜く方がおそらく無難です。
もしグリーンバックにするならSAM3 Segmentation (RMBG)のbackgroundをColorにして色を指定します。

mp4で保存します。

これならYMM4でも透過できます。
映像エフェクト→合成→クロマキー。

動画を透過、またはグリーンバック素材作りたいって人は良かったら試してみてください。
以上SAM3を使った透過、グリーンバック化について紹介しました。
参考になれば幸いです。

