project
ToonCrafter - テンセントなどが開発した、オープンソースの漫画アニメーション動画フレーム補間ツール。
ToonCrafterは、Tencent AI Lab、香港中文大学、香港城市大学の研究者によって開発されたオープンソースのアニメーション動画補間ツールです。従来のアニメーション制作における直線運動の仮定という制約を打破し、革新的な手法を採用しています。
ToonCrafterとは何ですか?
ToonCrafterは、Tencent AI Lab、香港中文大学、香港城市大学の研究者によって開発された、アニメーション動画の中間フレームを生成するためのオープンソースツールです。従来のアニメーション制作における直線運動の仮定という制約を打破し、革新的な生成補間技術を用いて、わずか2枚のキーフレーム画像から中間の動的フレームを自動生成することで、滑らかなアニメーション効果を実現します。フレームごとの描画を必要とする従来のアニメーション手法と比較して、ToonCrafterはアニメーション制作の効率を大幅に向上させ、アニメーターの作業負荷を軽減し、制作時間を短縮すると同時に、アニメーションの品質と創造性を維持します。
Toon Crafterの機能
- 生成漫画補間:ToonCrafterは、ディープラーニングモデルを用いて、指定された2つのキーフレーム画像から中間フレームを自動的に計算・生成し、アニメーションにおける滑らかな遷移とダイナミックな効果を実現します。この補間手法は、フレーム間のギャップを埋めるだけでなく、キャラクターの動きやシーンの切り替えといった複雑なモーションパターンもシミュレートします。
- 細部の保存と強化:ToonCrafter高度なデュアルリファレンス3Dデコーダ技術を採用することで、新しいフレームの生成時に画像のディテールが保持され、さらに向上することが保証されます。この仕組みは、シャープな線と鮮やかな色彩を特徴とするアニメーション作品に特に適しています。アニメーション作品では、補間処理中にディテールのぼやけや歪みが生じることを避ける必要があるためです。
- スケッチガイドアニメーションに対応:ToonCrafterは、ユーザーが簡単なスケッチ入力でアニメーション生成をガイドできるスケッチエンコーダーを提供します。ユーザーは、キャラクターの動きの軌跡や特定の強調スタイルなど、アニメーションの特定の側面を指定することで、パーソナライズされたアニメーション効果を実現できます。
- 障害物エリアの処理:ToonCrafterは、アニメーションにおける遮蔽(キャラクターやオブジェクトが他のキャラクターやオブジェクトを部分的または完全に遮蔽する場合など)を効果的に識別し、処理します。このツールは、遮蔽された領域の動きや変化を適切に推測し、視覚的な論理に合致したフレームを生成します。
- 複数のアプリケーションシナリオ:ToonCrafterは幅広い用途に対応しています。完全なアニメーション動画を制作できるだけでなく、漫画のスケッチからアニメーションを生成したり、既存のアニメーションに色を付けたり、スタイルを変更したりすることもでき、アニメーション制作に多様性をもたらします。
ToonCrafterの公式サイトへの入り口
- 公式プロジェクトホームページ:https://doubiiu.github.io/projects/ToonCrafter/
- GitHubリポジトリ:https://github.com/ToonCrafter/ToonCrafter
- Hugging Face Demo:https://huggingface.co/spaces/Doubiiu/tooncrafter
- arXivの技術論文:https://arxiv.org/abs/2405.17933v1
ToonCrafterの技術原則
- 生成補間フレームワークToonCrafterは、斬新な生成補間手法を採用しています。従来の対応関係に基づく補間手法とは異なり、明示的なフレーム間の対応関係に依存するのではなく、ビデオデータの潜在表現を学習することでフレームを生成します。
- ドメイン適応(トゥーン補正学習):ToonCrafterは、そのドメイン適応戦略により、実世界の動画の動きの事前情報をアニメーション動画のドメインに適応させることができ、ドメインの違いの問題を解決し、アニメーション以外のコンテンツの意図しない合成を回避することができます。
- デュアルリファレンス3Dデコーダー:ToonCrafterは、デュアルリファレンス3Dデコーダーを採用することで、潜在空間圧縮によって生じるディテールの損失を補償します。このデコーダーは、ハイブリッドアテンション残差学習(HAR)メカニズムを通して、入力画像からの詳細情報を生成フレームの潜在表現に注入します。
- ハイブリッド注意残余学習 (HAR):デコード処理中、HARはクロスアテンション機構を介して入力画像の特徴をデコーダの浅層に注入する一方、深層では残差学習を用いて詳細の復元を強化する。
- 擬似3D畳み込み:時間的な一貫性を高めるため、ToonCrafterはデコーダーに擬似3D畳み込みを導入しました。これにより、時系列フレーム間の一貫性が向上します。
- スケッチエンコーダー:これはスタンドアロンのスケッチエンコーダーを提供し、ユーザーはスケッチを入力することで生成されるアニメーションの動きやスタイルを制御できるため、生成プロセスのインタラクティブ性と制御性が向上します。
- 拡散モデル:ToonCrafterは拡散モデルに基づいています。拡散モデルとは、データに徐々にノイズを加え、その後、その逆のプロセスを学習してノイズを除去し、データを復元する生成モデルです。ビデオ生成においては、この手法によってランダムノイズから連続したビデオフレームを生成することが可能になります。
- 反復的なノイズ除去処理:ToonCrafterは、各フレームが生成されるたびに、反復的なノイズ除去処理を通して生成された画像を段階的に洗練させ、ノイズから鮮明なフレームを復元します。
- エンドツーエンドのトレーニングと最適化:ToonCrafterの各コンポーネントは、補間処理全体のスムーズな動作と最終的に生成されるビデオの品質を保証するために、エンドツーエンドでトレーニングおよび最適化されています。
- マルチモーダル入力のサポート:ToonCrafterは、開始フレームと終了フレームに加えて、スケッチや参照画像などのマルチモーダル入力もサポートしており、生成されるアニメーションの表現力と制御性を向上させます。
ToonCrafterの使い方と体験方法
方法1:オンラインデモ体験
- Hugging Faceのオンラインデモをご覧ください。https://huggingface.co/spaces/Doubiiu/tooncrafter
- 入力画像に入力画像を追加する
- プロンプトワードを入力し、シード値、ステップサイズ、FPSなどを調整します。
- 最後に、「生成」ボタンをクリックして動画を生成します。
方法2:ローカルコード展開
開発者は、ToonCrafterをローカル環境にデプロイして実行することもできます。具体的な手順は以下のとおりです。
- コードを取得:ToonCrafterをご覧くださいプロジェクトページあるいは、Gitコマンドを使用してコードをローカルマシンにクローンまたはダウンロードすることもできます。
git clone https://github.com/ToonCrafter/ToonCrafter.git - 環境準備Anacondaを使用して、必要なPython環境と依存関係をインストールします。
conda create -n tooncrafter python=3.8.5 conda activate tooncrafter pip install -r requirements.txt - 事前学習済みモデルをダウンロード: 事前学習済みモデルをダウンロードToonCrafter_512 モデルそして
model.ckpt入れるcheckpoints/tooncrafter_512_interp_v1/model.ckpt。 - コマンドラインから実行
sh scripts/run.sh - ローカルの Grado UI を実行する: コマンドを実行してローカルの Grado UI を実行することもできます。
python gradio_app.py - 次に、オンライン版で上記の手順に従って画像を入力し、画像を生成するためのパラメータを設定します。