Dai-Wenxun/MotionLCM

[ ECCV 2024 ] MotionLCM: This repo is the official implementation of "MotionLCM: Real-time Controllable Motion Generation via Latent Consistency Model"

MotionLCM – 실시간 제어 가능한 인간 운동 생성

무엇인가요

  • MotionLCM는 텍스트 프롬프트 및 선택적 제어 신호(특정 관절의 원하는 궤적 등)에서 3차원 인간 운동 시퀀스를 생성하는 연구용 코드베이스입니다. 이는 운동 잠재 공간에 적용된 잠재 일관성 모델(확산 모델의 빠른 대안)을 운동 잠재 확산 백본에 적용하여 1단계 또는 소수 단계 추론을 가능하게 하며, 실시간 생성을 실현합니다.

핵심 아이디어

  • 잠재 일관성 모델(LCM): 수많은 확산 단계를 단일(또는 소수) 결정론적 업데이트로 대체하여 실행 시간을 극적으로 단축합니다.
  • Motion ControlNet: 명시적인 제어 신호(초기 운동 또는 관절 궤적)를 잠재 공간에 주입하는 조건부 네트워크로, 빠른 추론을 유지하면서도 제어성을 유지합니다.
  • Motion VAE 및 Motion 잠재 확산(MLD): 파이프라인은 먼저 인간 운동의 컴팩트한 잠재 표현(VAE)을 학습하고, 그 공간에서 확산 모델을 구축합니다. 이후 MotionLCM는 이 확산 모델을 빠른 샘플링을 위해 미세 조정합니다.

할 수 있는 일

  • 운동 재구성 – 실제 운동을 잠재 공간에 인코딩하고 다시 디코딩하여 표현 품질 평가에 유용합니다.
  • 텍스트에서 운동으로 – 자연어 설명(예: "사람이 점프하고 손을 흔든다")을 제공하면 타당한 3차원 운동을 생성합니다.
  • 운동 제어 – 관절(골반, 손목 등)의 희소 궤적을 제공하고, 텍스트 프롬프트를 존중하면서 해당 경로를 따르는 전신 운동을 생성합니다.
  • SMPL 메시 렌더링 – 생성된 관절 궤적을 전체 SMPL 신체 메시로 변환하고 Blender로 렌더링합니다.

빠른 시작(개요)

  1. conda 환경 생성 (python=3.10, requirements.txt 설치).
  2. 시스템 도구 설치 – ffmpeg (GIF용) 및 git-lfs.
  3. 자산 다운로드 – GloVe 임베딩, T5 텍스트 인코더, SMPL 모델, 사전 학습된 체크포인트를 제공된 prepare/*.sh 스크립트를 통해 다운로드.
  4. HumanML3D 데이터셋 준비 (또는 미니 데모 데이터셋 사용). 리포지토리는 README에 표시된 데이터셋 레이아웃을 기대합니다.
  5. 데모 실행:
    # 재구성
    python demo.py --cfg configs/vae.yaml
    # 텍스트에서 운동으로
    python demo.py --cfg configs/motionlcm_t2m.yaml --example assets/example.txt
    # ControlNet 사용한 운동 제어
    python demo.py --cfg configs/motionlcm_control_s.yaml
    
    출력물(GIF + .pkl 파일)은 experiments_*_test/.../demo_<timestamp>에 저장됩니다.
  6. SMPL 렌더링 – chumpy 설치 후 python fit.py --pkl assets/example.pkl을 실행하여 메시 데이터를 얻고, 동봉된 Blender 스크립트로 이미지 또는 동영상을 생성합니다.

자신의 모델 학습하기

  • 원하는 작업(VAE, MLD, MotionLCM, ControlNet)에 따라 YAML 설정 파일(configs/*.yaml)을 업데이트합니다.
  • 해당 학습 모듈을 실행합니다. 예:
    python -m train_vae --cfg configs/vae.yaml
    python -m train_motionlcm --cfg configs/motionlcm_t2m.yaml
    
  • 평가는 python -m test --cfg <config>로 동일한 패턴을 따릅니다.

어디에 위치하는가

  • 텍스트 조건부 인간 운동 합성이라는 새로운 분야의 일부로, MotionDiffuse, TEMOS, OmniControl과 유사한 연구들과 연결됩니다.
  • LCM을 활용함으로써, 지연 시간이 중요한 인터랙티브 실시간 응용(예: 가상 아바타, 게임 애니메이션, 로봇 시뮬레이션)으로의 경계를 확장하고 있습니다.

자원

  • 논문(arXiv:2404.19759) – https://arxiv.org/abs/2404.19759
  • YouTube / Bilibili의 데모 영상(배지 바 내 링크).
  • 온라인 데모를 위한 Hugging Face Space.
  • 더 많은 시각적 결과를 포함한 프로젝트 웹사이트.

라이선스

  • 비영리 사용만 허용(자세한 내용은 LICENSE 참조). 종속 라이브러리는 각각의 자체 라이선스를 유지합니다.

위의 모든 세부 정보는 리포지토리의 README에서 직접 인용된 것이며, 추가 기능은 추측되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트