はじめに
DragAnythingは、エンティティ表現によって任意のオブジェクトのモーションコントロールを実現することを目的としたオープンソースプロジェクトです。Showlabチームによって開発され、ECCV 2024に採択されたDragAnythingは、オブジェクトの動きを制御するために軌跡線を描くだけで、オブジェクトと対話するユーザーフレンドリーな方法を提供します。このプロジェクトは、前景、背景、カメラの動きを含む複数のオブジェクトの同時運動制御をサポートしています。DragAnythingは、特にオブジェクトの運動制御において、多くのメトリクスで既存の最先端手法を凌駕しています。
機能一覧
- エンティティ表現:あらゆるオブジェクトを表現するためにオープンフィールド埋め込みを使用する。
- 軌跡制御:軌跡線を描くことで物体の動きを制御する。
- マルチオブジェクト制御:前景、背景、カメラの同時モーション制御をサポート。
- インタラクティブ・デモ:Gradioを使ったインタラクティブ・デモをサポート。
- データセットのサポート: VIPSegとYoutube-VOSデータセットをサポートします。
- 高い性能:FVD、FID、ユーザースタディに優れている。
ヘルプの使用
設置プロセス
- プロジェクトコードをクローンする:
git clone https://github.com/showlab/DragAnything.git
cd DragAnything
- Conda環境を作成し、アクティベートする:
conda create -n DragAnything python=3.8
condaはDragAnythingを起動する。
- 依存関係をインストールします:
pip install -r requirements.txt
- データセットを準備する:
- VIPSegとYoutube-VOSデータセットのダウンロード先
./データ
カタログ
- VIPSegとYoutube-VOSデータセットのダウンロード先
使用方法
- インタラクティブなデモを行う:
python gradio_run.py
ブラウザを開き、提供されたローカル・アドレスにアクセスしてインタラクティブ・デモを開始してください。
- オブジェクトの動きを制御する:
- 入力画像に軌跡線を引き、コントロールしたいオブジェクトを選択します。
- スクリプトを実行してビデオを生成する:
python demo.py --input_image --trajectory
- 生成されたビデオは指定されたディレクトリに保存されます。
- 動きの軌道をカスタマイズする:
- Co-Trackツールを使用して、独自のモーショントラックアノテーションファイルを処理します。
- 処理したファイルを指定のディレクトリに置き、スクリプトを実行してビデオを生成する。
主な機能
- 物理的表現ユーザーが手動でオブジェクトに注釈を付けることなく、オープンフィールド埋め込みによってあらゆるオブジェクトを表現します。
- 軌道制御入力画像に軌跡を描くだけで、物体の動きを制御することができます。
- マルチオブジェクト制御前景、背景、カメラなど複数のオブジェクトの動きを同時に制御できます。
- インタラクティブ・プレゼンテーションGradioが提供するインタラクティブなインターフェースを通じて、ユーザーはモーションコントロールの効果をリアルタイムで見ることができます。
- ハイパフォーマンスFVD、FID、ユーザースタディ、特に物体運動制御において優れたパフォーマンスを発揮。