LordLiang/DrawingSpinUp

(SIGGRAPH Asia 2024) This is the official PyTorch implementation of SIGGRAPH Asia 2024 paper: DrawingSpinUp: 3D Animation from Single Character Drawings

DrawingSpinUp:単一のキャラクター描画から3Dアニメーションを作成

概要: 単一の2Dキャラクター描画を、元の手描きスタイルを維持したまま、完全にアニメーション化された3Dバージョンに変換する研究プロジェクト (SIGGRAPH Asia 2024) です。

課題: 通常、2D描画を3Dアニメーションにするには、3Dモデルの手動構築、テクスチャの追加、アニメーション用のリギングが必要です。このプロジェクトでは、1枚の平面画像からプロセス全体を自動化します。

仕組み(3つの主要ステップ):

  1. 輪郭の除去 — システムはまず、ニューラルネットワーク(LaMa inpaintingプロジェクトから借用したFFC-ResNet)を使用して描画の暗い輪郭を除去します。これにより、色のみのクリーンなキャラクター画像が得られます。

  2. 3Dキャラクター再構成 — クリーンアップされた画像は、マルチビュー生成モデル(Wonder3Dベース)に入力され、キャラクターがさまざまな角度からどのように見えるかを推測します。これらのビューは、テクスチャ付きの単一の3Dメッシュ(.objファイル)に統合されます。

  3. スタイル化されたアニメーション — 3Dキャラクターはリギング(無料の自動リギングツールであるMixamoを使用)され、モーションクリップ(ジャンプやダビングなど)でアニメーション化されます。その後、システムはキャラクターごとのスタイル変換モデルをトレーニングし、元の描画の手描き風の外観をレンダリングされた3Dフレームに再適用します。これにより、最終的なアニメーションは一般的な3Dモデルではなく、元のスケッチが動いているように見えます。

技術的な注意点:

  • スタイル変換器はキャラクターごとにトレーニングされます(単一のGPUで数分)。一度トレーニングすれば、再トレーニングなしで新しいアニメーションフレームに適用できます。
  • RTX 4090 または 2080 Ti GPU、Python 3.8、PyTorch 2.0、CUDA 11.8が必要です。
  • リポジトリには、すぐにエンドツーエンドのパイプラインを実行できるように、事前にリギングされたアニメーションを含むサンプル(ff7ab74a67a443e3bda61e69577f4e80 という名前のキャラクター)が含まれています。
  • ユーザーは、独自の512×512のキャラクター描画と前景マスクを提供することもできます。

対象読者: 3D再構成、キャラクターアニメーション、スタイル転送に関心のある研究者や愛好家。このコードは研究レベルであり、Python、GPUセットアップ、コマンドラインワークフローに関するある程度の知識が必要です。

主な依存関係: LaMa (inpainting), Wonder3D (multi-view 3D reconstruction), Few-Shot-Patch-Based-Training (style transfer), Blender (for rendering frames), および Mixamo (auto-rigging)。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト