ちらつきのないビデオスタイル切り替えのための新しいアイデア

最近、成熟したアプリケーションである gen や Ebsynth など、ビデオ スタイル切り替えアプリケーションの人気が徐々に高まっています。しかし、これらのビデオ切り替えに共通する問題は、ビデオがちらつき、最終的な切り替え効果が低下することです。最近、オープンソース プロジェクト CoDeF が、このちらつきの問題を解決する新しいアイデアを提供しています。

出版された論文から判断すると、主なアイデアは次のとおりです。

論文によれば、CoDeFの具体的な手法は以下のように要約できます。

1. 1 つ目は、正準コンテンツ フィールドと時間変形フィールドを含むビデオの表現です。Canonical コンテンツ フィールドは、2D ハッシュ テーブルを使用して、ビデオ内のすべての静的コンテンツ情報を表します。時間的変形フィールドは、3D ハッシュ テーブルを使用して、正準画像から各フレームへの変形情報を表します。

2. 2 番目はモデルの構造で、各フィールドは多重解像度ハッシュ エンコーディングを使用して高周波の詳細をキャプチャし、2 つの小さな MLP を使用してそれぞれ正準フィールドと変形フィールドを実装します。

3. 次にトレーニング プロセスがあり、トレーニングの目標は入力ビデオを再構成することです。変形フィールドの滑らかさは、流れベースの一貫性損失を導入することによって規則化されます。アニーリングされたハッシュ エンコード戦略を使用して、低周波数から高周波数まで徐々にトレーニングして、意味的に合理的な正規イメージを取得します。

4. 最後はビデオ処理で、正準画像を最適化した後に得られた画像に画像アルゴリズムを適用します。次に、変形フィールドを使用してエフェクトをビデオ全体に広げ、ビデオ タスクを達成します。

したがって、これらの 4 つのステップを通じて、CoDeF は、コンテンツ フィールドと変形フィールドの表現を通じて、画像アルゴリズムのビデオ タスクへのシームレスな移行を実現します。

e0cf0764b25389243fd9401e5b9f4c31.png

具体的な効果については、次のとおりです。

なお、現在のコードは Linux システムでのみ動作するようですので、WSL を使用するのが適切な選択となっています。WSL 経由で Ubuntu をインストールする方法については、WSL | Ubuntu のインストールを参照してください。インストール後は次のように進めます。

まず、git ウェアハウス qiuyu96/CoDeF: CoDeF: Content Deformation Fields for Temporally Consistent Video Processing (github.com) の公式 PyTorch 実装にアクセスし、コードのクローンを作成してから、Python 環境をインストールします。 anaconda を使用してインストールできます。

CoDeF は画像マスクを取得する必要があるため、別のツールが使用されます zx-yang/Segment-and-Track-Anything: ビデオ内のオブジェクトを自動または対話的に追跡およびセグメント化することに特化したオープンソース プロジェクトです。使用される主なアルゴリズムには次のものがあります。キーフレーム セグメンテーション用の Segment Anything Model (SAM) と、効率的な追跡と伝達を目的とした Associating Objects with Transformers (AOT) (github.com) に加えて、Segment-and-Track-Anything もインストールし、必要な環境としてインストールしました。Python app.pyを起動します

033c2bce8d4f8b8facead25239d48495.png

次に、ビデオフレームをイメージシーケンスにインポートし、クリックして分割するオブジェクトを選択し、

cf784ec80dd8bf9f951b0cecec908dcb.png

次にクリックします

d5ad3c0b992b9ac580c4d934041cdf20.png

このようにして、目的のマスクを取得します

8674d39d157e87e1a26f65513d3d17bd.png

次に、CoDeF ディレクトリの all_sequences にマスク ファイルを置きます (all_sequences/{YOUR_SEQUENCE_NAME}/{YOUR_SEQUENCE_NAME}_masks)

次に、ビデオ ストリームをオプティカル フローに変換する必要がありますが、これには RAFT が必要なので、最初にモデルをダウンロードする必要があります。RAFT ウェアハウスを見つけてクローンを作成し、./download_models.sh を実行してモデルをダウンロードします。適切なモデルは、CoDeF ディレクトリの data_preprocessing/RAFT/models に配置されます。次に、次のコマンドを実行します

cd データ前処理/RAFT

./run_raft.sh

上記の手順を完了すると、独自のデータをトレーニングできます。

./scripts/train_multi.sh を直接実行します。スクリプト内のデータ名を変更する必要があることに注意してください。もちろん、面倒な場合は、スクリプトを変更して、変更するパラメータを取得する変数を追加することもできますデータ名。

0a520814d14aa72d5124e646e172b760.png

次に、ビデオ再構成テストを実行できます。/scripts/test_multi.sh. トレーニングしたモデルの名前を変更するか、スクリプト内のモデルの名前を変更して、次の名前と一致するようにする必要があることに注意してください。スクリプト。

最後に、ビデオ スタイルの変換が実行されます。ここで注意する必要があるのは、変換された画像のフレームが必要であるということです。これは、ControlNet を備えた SD を使用して実現する必要があります。以前の写真とテキストを参照して、変換後、画像はデータファイル内のbase_controlフォルダーに配置されます。そのようなフォルダーがない場合は、自分で新しいフォルダーを作成できます。これが私が使用している水墨画のスタイルです。

bcbe848ac890bdb8a99c41984bdae078.png

最後に、./scripts/test_canonical.sh を実行します。スクリプト内のデータ名とモデル名も変更する必要があります。

最終的なエフェクトはちらつきませんが、映像が少し浮いているように感じます。興味があれば、自分で試してみることもできます

おすすめ

転載: blog.csdn.net/wutao22/article/details/132506741