アーキテクチャ
図のソース:
media/matanyone-architecture-ja.drawiomedia/matanyone-architecture-ja.svg
リポジトリ構成
hugging_face/app.py: Gradio の起点、CLI 引数処理、ffmpeg 検出、モデル選択hugging_face/matanyone2_wrapper.py: image / video の matting ループをまとめるラッパーhugging_face/tools/: クリック入力、マスク生成、ダウンロード補助などの UI 周辺コードmatanyone2/: upstream 由来のモデル本体と推論実装pretrained_models/: 実行時に取得されるチェックポイントresults/: 生成された出力や検証結果
実行フロー
hugging_face/app.pyが CLI 引数を解釈し、ffmpeg を見つけます。- 必要な SAM と MatAnyone のチェックポイントがなければ
pretrained_models/に取得します。 - Gradio UI か
scripts/run_pipeline_check.pyが入力フレームと point prompt を渡します。 hugging_face/tools/interact_tools.pyが SAM ベースのマスクを作り、template mask を用意します。hugging_face/matanyone2_wrapper.pyがフレーム列を処理し、matanyone2/の推論コアを呼び出します。- 出力は UI プレビュー、動画ファイル、実験用の生成物として返されます。
図の見どころ
- Gradio と CLI 検証スクリプトは、途中から同じ実行パスを通ります。
- SAM のマスク生成段と MatAnyone の推論段を分けてあるので、別々に最適化しやすい構造です。
pretrained_models/は SAM と MatAnyone の両方から参照される共有のランタイム依存です。- README と docs に載せる画像は、無視される
results/ではなく追跡されるmedia/に置いています。
docs を分けている理由
このリポジトリは README 1 枚では収まらない説明が増えていく前提なので、docs/ を次の情報の受け皿として使っています。
- セットアップ手順
- アーキテクチャ解説
- モデル運用メモ
- リリースノートや移行ガイド
- コントリビュータ向けの補足説明
デプロイ
docs は VitePress で build され、GitHub Actions の Docs Pages workflow から GitHub Pages へ公開されます。