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 모델을 수동으로 구축하고, 텍스처를 추가하며, 애니메이션을 위한 리깅을 수행해야 합니다. 이 프로젝트는 단 한 장의 평면 이미지에서 전체 파이프라인을 자동화합니다.
작동 방식 (3가지 주요 단계):
윤곽선 제거 — 시스템은 먼저 신경망(LaMa inpainting 프로젝트에서 차용한 FFC-ResNet)을 사용하여 드로잉의 어두운 윤곽선을 제거합니다. 이를 통해 색상만 남은 깔끔한 캐릭터 이미지를 얻습니다.
3D 캐릭터 재구성 — 정리된 이미지는 다중 뷰 생성 모델(Wonder3D 기반)에 입력되어 캐릭터가 다양한 각도에서 어떻게 보이는지 추론합니다. 이러한 뷰들은 텍스처가 입혀진 단일 3D 메시(.obj 파일)로 통합됩니다.
스타일화된 애니메이션 — 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).
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트