GenXD: 임의의 3D 및 4D 장면의 동영상을 생성하기 위한 오픈 소스 프레임워크

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
2.3K 00

일반 소개

GenXD는 싱가포르 국립대학교(NUS)와 Microsoft 팀이 개발한 오픈 소스 프로젝트입니다. 이 프로젝트는 데이터 부족과 복잡한 모델 설계로 인한 실제 3D 및 4D 생성의 문제를 해결하여 임의의 3D 및 4D 장면을 생성하는 데 중점을 둡니다. 이 프로젝트는 카메라 및 물체의 움직임을 분석하고 이를 대규모 실제 데이터와 결합하여 유연한 생성 프레임워크를 구축하며, GenXD는 3만 개 이상의 동영상에서 카메라 포즈와 모션 정보를 포함하는 최초의 오픈 소스 4D 데이터 세트인 CamVid-30K를 제공합니다. 사용자는 이를 사용하여 카메라의 궤적과 일치하는 동영상 또는 일관된 3D 뷰를 생성할 수 있습니다. 이 프로젝트는 2025년 1월 ICLR 2025에 의해 승인되었으며 연구자와 개발자를 위해 GitHub에서 널리 팔로우되고 있습니다.

GenXD:生成任意3D和4D场景视频的开源框架

 

기능 목록

  • 임의의 3D 장면을 생성하고 여러 시점의 일관된 3D 뷰 출력을 지원합니다.
  • 4D 모션 장면을 생성하여 시간에 따라 변화하는 동영상을 제작하세요.
  • 카메라 및 오브젝트 모션을 분해하여 생성된 콘텐츠의 자연스러운 흐름을 보장합니다.
  • CamVid-30K 데이터 세트는 동적 3D 및 4D 미션 연구를 지원하는 데 사용할 수 있습니다.
  • 생성된 결과를 유연하게 조정하기 위해 여러 조건부 입력(예: 이미지 또는 적은 수의 조회 수)을 지원합니다.
  • 3D 뷰를 편집 가능한 디지털 에셋으로 변환합니다.
  • 3D 및 4D 데이터 융합을 최적화하는 통합 멀티뷰 시간 모듈.

 

도움말 사용

GenXD는 연구용 오픈 소스 프레임워크이므로 사용자가 로컬에서 환경을 구축해야 사용할 수 있습니다. 다음은 사용자가 빠르게 시작할 수 있도록 자세한 설치 및 운영 가이드입니다.

설치 프로세스

GenXD는 프로그래밍 환경 지원이 필요하며 어느 정도 기술적 기반이 있는 사용자에게 적합합니다. 설치 단계는 다음과 같습니다:

  1. 기본 환경 준비
    • 컴퓨터에 Python 3.10 이상이 설치되어 있는지 확인합니다.
    • 코드 다운로드를 위해 Git을 설치합니다. 터미널에서 실행합니다:
      git clone https://github.com/HeliosZhao/GenXD.git
      
    • 프로젝트 카탈로그로 이동합니다:
      cd GenXD
      
  2. 핵심 종속성 설치
    • PyTorch를 설치합니다(CUDA를 지원하는 2.1.2 버전 권장). 실행합니다:
      pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
      
    • 다른 종속성(예: 디퓨저 0.30.3)을 설치합니다. 실행합니다:
      pip install -r requirements.txt
      
    • 다음과 같은 경우 requirements.txt 제공되지 않는 경우 공식 지침을 참조하여 NumPy, OpenCV 및 기타 라이브러리를 설치하세요.
  3. 사전 학습된 모델 다운로드
    • 허깅 페이스에서 모델을 다운로드하세요:
      pip install -U "huggingface_hub[cli]"
      huggingface-cli download Yuyang-z/genxd --local-dir ./genxd-model
      
    • 모델 파일을 프로젝트 디렉토리의 genxd-model 폴더.
  4. 데이터 세트 다운로드
    • 캠비드-30K 데이터 세트는 허깅 페이스에서 다운로드할 수 있습니다:
      • VIPSeg 하위 집합과 OpenVid 하위 집합은 https://huggingface.co/datasets/Yuyang-z/CamVid-30K 에서 확인할 수 있습니다.
      • WebVid-10M 하위 집합은 제한으로 인해 사용할 수 없으므로 직접 구해야 합니다.
    • 다운로드하여 다음 주소로 압축을 풉니다. data/camvid-30k 폴더.
  5. 환경 확인
    • NVIDIA GPU가 실행 중인지 확인하세요:
      python -c "import torch; print(torch.cuda.is_available())"
      

      수출 True 정상 환경을 나타냅니다.

주요 기능 사용

GenXD는 다양한 생성 작업을 지원하며, 그 방법은 다음과 같습니다.

1. 이미지를 사용자 지정하여 3D 장면 생성하기

  • 입장 준비: 이미지(PNG 또는 JPG 형식)를 example-images 폴더.
  • 카메라 모드 설정하기: 지원 forward(앞으로) 및 orbit(서라운드) 두 가지 모드.
  • 명령 실행::
DATA_ROOT="example-images"
OUTPUT_DIR="outputs/example-images"
accelerate launch --main_process_port 1223 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="$OUTPUT_DIR" 
+evaluator.data_name="static_cam_single" 
+evaluator.data_root="$DATA_ROOT" 
+evaluator.camera_info.mode="forward" 
+evaluator.camera_info.elevation=0. 
+evaluator.camera_info.azimuth_range=[-30,30] 
+evaluator.focal=1.0938 
+evaluator.camera_info.radius=2.0
  • 결과 보기생성된 멀티뷰 3D 뷰는 생성된 멀티뷰 3D 뷰가 outputs/example-images첫 번째는 블렌더와 같은 도구로 파일을 여는 것입니다.

2. 샘플 적은 3D 장면 생성

  • 데이터 준비ReconFusion 데이터 세트(https://huggingface.co/datasets/Yuyang-z/reconfusion-torch)를 다운로드하고 추출하여 data/reconfusion-torch/re10k.
  • 1단계: 카메라 트랙 생성::
python tools/pose_traj_generate.py -d data/reconfusion-torch/re10k -o outputs/pose_dataset --save_data_pose -sx 0.2 0.4 -0.2 -0.4 -sz 0.2 0.4 -0.2 -0.4 -n 18
  • 2단계: 조회수 생성::
accelerate launch --main_process_port 1224 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="outputs/re10k-group" 
+evaluator.data_name="reconfgroup" 
+evaluator.data_root="data/reconfusion-torch/re10k" 
+evaluator.pose_dir="outputs/pose_dataset/re10k" 
+evaluator.num_context_views=3 
+evaluator.n_views=3 
+evaluator.save_target_only=True 
+evaluator.pad_to_square=True
  • 결과 보기생성된 3D 보기는 outputs/re10k-group.

3. 4D 동적 장면 생성

  • 데이터 준비CamVid-30K 데이터 세트에 있는 비디오를 사용하고 이를 data/camvid-30k.
  • 명령 실행: 특정 작업에 따라 매개 변수를 조정해야 하며, 예제 명령은 GitHub 업데이트를 참조하세요.
  • 결과 보기생성된 동영상은 지정된 출력 디렉토리에 저장됩니다.

주요 기능 작동

카메라 및 오브젝트 모션 분해

  • GenXD는 멀티뷰 시간 모듈을 사용하여 카메라와 오브젝트 모션을 분리합니다.
  • 실행 예제::
python motion_decompose.py --input data/camvid-30k/sample_video --output outputs/motion_data
  • 사용생성된 모션 데이터는 4D 장면을 조정하는 데 사용할 수 있습니다.

CamVid-30K 데이터 세트 사용

  • 데이터 구조: 압축을 풀면 이미지와 COLMAP 파일(예 cameras.bin).
  • 데이터 로드입력 data/camvid-30k를 클릭하고 테스트 스크립트를 실행합니다:
python test_dataset.py --dataset data/camvid-30k

주의

  • GPU 메모리는 16GB 이상이어야 하며, 4D 작업을 생성하는 데 시간이 오래 걸립니다.
  • 2025년 3월 26일 사전 학습 모델의 공식 출시에 대한 최신 코드 업데이트를 확인하세요.
  • 궁금한 점이 있으면 로 문의하세요.

 

애플리케이션 시나리오

  1. 연구 실험
  • 연구원들은 3D 및 4D 생성 알고리즘을 테스트하고 새로운 모델을 검증하기 위해 GenXD를 사용했습니다.
  1. 가상 콘텐츠 제작
  • 크리에이터는 애니메이션 또는 가상 현실 프로젝트에 사용할 동적 장면을 생성합니다.
  1. 교육 및 훈련
  • 학생들은 CamVid-30K 데이터 세트를 사용하여 컴퓨터 비전과 생성 기술을 배웁니다.

 

QA

  1. GenXD는 무료인가요?
  • 예, Apache-2.0 라이선스에 따른 오픈 소스 프로젝트입니다.
  1. 사용하려면 인터넷 연결이 필요한가요?
  • 필요하지 않으며 로컬에서 설치 및 실행할 준비가 되어 있습니다.
  1. 생성된 결과가 실제인가요?
  • 이 모델은 완벽한 사실감을 구현하지 못하며 연구용으로만 사용됩니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...