ReCamMaster: 단일 동영상에서 멀티뷰 동영상을 생성하기 위한 렌더링 도구

堆友AI

일반 소개

ReCamMaster는 하나의 동영상에서 새로운 카메라 뷰를 생성하는 핵심 기능을 갖춘 오픈 소스 동영상 처리 도구입니다. 사용자는 카메라 트랙을 지정하고 동영상을 다시 렌더링하여 다양한 각도의 역동적인 영상을 얻을 수 있습니다. 절강대학교와 레이서 테크놀로지의 팀이 개발하고 텍스트-비디오 확산 모델을 기반으로 하는 ReCamMaster는 비디오 안정화, 초고해상도 향상 및 프레임 확장성을 지원하며 비디오 제작, 자동 조종 데이터 생성 및 가상 현실 개발에 적합합니다. ReCamMaster는 동영상 안정화, 초고해상도 향상 및 프레임 확장을 지원하며 동영상 제작, 자율 주행 데이터 생성 및 가상 현실 개발에 적합합니다. 오픈 소스 코드는 Wan2.1 모델을 기반으로 하지만 회사 정책상 제한으로 인해 아직 전체 모델을 사용할 수 없으므로 공식 링크를 통해 사용해야 최상의 결과를 경험할 수 있습니다. 또한 개발팀은 관련 연구를 용이하게 하기 위해 136,000개의 멀티뷰 동영상이 포함된 멀티캠비디오 데이터셋을 공개했습니다.

곧 다음에서 사용 가능 효과적 해외 버전 체험. 현재는 공식 테스트 주소로만 동영상을 제출하고 공식 피드백을 기다렸다가 결과를 확인할 수 있습니다.

ReCamMaster:从单一视频生成多视角视频的渲染工具

 

기능 목록

  • 카메라 트랙 제어: 사용자가 선택하거나 사용자 지정한 카메라 경로를 통해 새로운 시점의 동영상을 생성할 수 있습니다.
  • 동영상 흔들림 보정: 핸드헬드 촬영 시나리오에서 흔들리는 동영상을 부드러운 이미지로 변환합니다.
  • 초고해상도 향상: 줌 트랙을 통해 비디오 선명도를 향상시켜 디테일한 이미지를 생성합니다.
  • 화면 확장: 동영상 경계를 확장하여 원래 화면 너머로 장면 콘텐츠를 생성합니다.
  • 데이터 향상: 자율 주행 또는 로봇 비전을 위한 멀티뷰 트레이닝 데이터 생성.
  • 일괄 처리: 여러 개의 동영상을 동시에 처리하고 새로운 시점 결과를 자동으로 출력하는 기능을 지원합니다.
  • 데이터 세트 지원: 동기화된 멀티뷰 비디오가 포함된 멀티캠비디오 데이터 세트를 제공합니다.

 

도움말 사용

ReCamMaster의 핵심은 카메라 트랙 제어를 통해 단일 영상에서 새로운 관점을 생성하는 기능입니다. 아래는 사용자가 빠르게 시작할 수 있도록 온라인 평가판, 로컬 실행 및 데이터 세트 사용법을 다루는 자세한 사용 안내서입니다.

온라인 평가판 절차

ReCamMaster는 사용자가 설치 없이 체험할 수 있는 편리한 온라인 평가판을 제공합니다. 단계는 다음과 같습니다:

  1. 평가판 링크 방문하기::
    • 공식 Google 설문지 링크를 엽니다(https://docs.google.com/forms/d/e/1FAIpQLSezOzGPbm8JMXQDq6EINiDf6iXn7rV4ozj6KcbQCSAzE8Vsnw/viewform?usp=dialog).
    • 렌더링 결과를 받을 수 있는 유효한 이메일 주소를 입력합니다.
  2. 동영상 업로드::
    • 권장 길이가 81프레임(약 3초) 이상이고 해상도가 480p 이상인 MP4 형식의 동영상을 준비합니다.
    • 동영상 콘텐츠가 선명하고 장면이 적당히 동적인지 확인하여 지나치게 어둡거나 노출이 과다하거나 완전히 정적인 이미지를 피합니다.
    • 파일 크기 제한(일반적으로 양식 지침에 따라 100MB)에 주의하여 양식에 동영상을 업로드합니다.
  3. 카메라 트랙 선택::
    • ReCamMaster는 일반적인 시점의 변화를 커버할 수 있는 10개의 프리셋 트랙을 제공합니다:
      • 오른쪽 이동: 가로로 이동하여 장면의 너비를 표시합니다.
      • 왼쪽으로 이동: 반대 방향으로 수평으로 이동합니다.
      • 위로 기울이기: 세로로 기울여 디테일을 강조할 수 있습니다.
      • 아래로 기울이기: 지면 콘텐츠를 표시하려면 수직으로 아래로 기울입니다.
      • 확대: 피사체에 더 가까이 다가가 국부적 선명도를 높입니다.
      • 줌아웃: 렌즈를 당겨 시야를 넓힙니다.
      • 위로 번역: 회전하여 위로 이동합니다.
      • 아래로 번역: 회전과 함께 아래쪽으로 이동합니다.
      • 왼쪽 원호: 몸의 왼쪽을 중심으로 회전합니다.
      • 오른쪽 원호: 몸의 오른쪽을 중심으로 회전합니다.
    • 양식에서 궤적을 선택하거나 사용자 지정 요구 사항을 기록하세요(확인을 위해 팀에 문의해야 함).
  4. 결과 제출 및 수신::
    • 양식을 제출하면 시스템이 자동으로 동영상을 처리합니다. 처리 시간은 서버 부하에 따라 보통 몇 시간에서 하루 정도 걸립니다.
    • 결과는 MP4 형식으로 사용자의 이메일 주소로 전송되며, 제목은 "ReCamMaster의 추론 결과"이며 다음 주소로 전송할 수 있습니다. jianhongbai@zju.edu.cn 어쩌면 cpurgicn@gmail.com.
    • 받은 편지함과 스팸 폴더를 확인하세요. 하루 동안 받지 못하면 팀에 문의하세요.

다음 사항에 유의하십시오.::

  • 무료 평가판은 사용자별로 사용할 수 있지만 자주 제출하면 처리가 지연될 수 있습니다.
  • 결과물의 품질은 동영상 콘텐츠에 따라 달라지며, 동적인 장면이 더 잘 작동합니다.
  • 향후에는 더 쉽게 운영할 수 있는 온라인 평가판 사이트를 출시할 계획입니다.

로컬 운영

오픈 소스 코드는 Wan2.1 모델을 기반으로 하며 기술적인 배경 지식이 있는 사용자에게 적합합니다. 다음은 자세한 설치 및 런타임 단계입니다:

1. 환경 준비

  • 하드웨어 요구 사항GPU가 장착된 장치(예: NVIDIA RTX 3060 이상)를 권장하며, CPU 작동 속도가 느려질 수 있습니다.
  • 소프트웨어 요구 사항::
    • Python 3.10
    • 러스트 및 카고(DiffSynth-Studio 컴파일용)
    • Git 및 pip

2. 설치 단계

  • 클론 창고::
    git clone https://github.com/KwaiVGI/ReCamMaster.git
    cd ReCamMaster
    
  • Rust 설치::
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"
    
  • 가상 환경 만들기::
    conda create -n recammaster python=3.10
    conda activate recammaster
    
  • 종속성 설치::
    pip install -e .
    pip install lightning pandas websockets
    
  • 모델 가중치 다운로드::
    • Wan2.1 모델:
      python download_wan2.1.py
      
    • ReCamMaster 사전 훈련된 웨이트:
      https://huggingface.co/KwaiVGI/ReCamMaster-Wan2.1/blob/main/step20000.ckpt 에서 다운로드 step20000.ckpt에 넣어 models/ReCamMaster/checkpoints 폴더.

3. 테스트 예시 동영상

  • 다음 명령을 실행하여 미리 설정된 궤적(예: 오른쪽으로 이동)을 사용하여 테스트합니다:
    python inference_recammaster.py --cam_type 1
    
  • 출력은 프로젝트 디렉토리의 output 폴더에 MP4 형식으로 저장합니다.

4. 맞춤 동영상 테스트

  • 데이터 준비::
    • 설정 custom_test_data 폴더에 MP4 동영상(최소 81프레임)을 넣습니다.
    • 생성 metadata.csv를 클릭하고 동영상 경로와 설명 캡션을 녹화합니다. 예시:
      video_path,caption
      test_video.mp4,"A person walking in the park"
      
    • 자막은 수동으로 작성하거나 LLaVA와 같은 도구를 사용하여 생성할 수 있습니다.
  • 추론 실행::
    python inference_recammaster.py --cam_type 1 --dataset_path custom_test_data
    

다음 사항에 유의하십시오.::

  • 오픈 소스 모델은 논문 모델과 다르므로 로컬 실행은 온라인 평가판처럼 잘 작동하지 않을 수 있습니다.
  • GPU 메모리가 충분한지 확인합니다(최소 12GB).
  • 오류가 발생하면 종속성 버전을 확인하거나 GitHub 이슈를 참조하세요.

5. 교육 모델

사용자 지정 모델이 필요한 경우 멀티캠비디오 데이터 세트를 준비하여 학습시킵니다:

  • 데이터 세트 다운로드::
    https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset 에서 다운로드하여 압축을 풉니다:

    cat MultiCamVideo-Dataset.part* > MultiCamVideo-Dataset.tar.gz
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • 추출 특성::
    CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" python train_recammaster.py --task data_process --dataset_path path/to/MultiCamVideo/Dataset --output_path ./models --text_encoder_path "models/Wan-AI/Wan2.1-T2V-1.3B/models_t5_umt5-xxl-enc-bf16.pth" --vae_path "models/Wan-AI/Wan2.1-T2V-1.3B/Wan2.1_VAE.pth" --tiled --num_frames 81 --height 480 --width 832 --dataloader_num_workers 2
    
  • 자막 생성::
    LLaVA와 같은 도구를 사용하여 동영상에 대한 설명을 생성한 다음 metadata.csv.
  • 교육 시작::
    CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" python train_recammaster.py --task train --dataset_path recam_train_data --output_path ./models/train --dit_path "models/Wan-AI/Wan2.1-T2V-1.3B/diffusion_pytorch_model.safetensors" --steps_per_epoch 8000 --max_epochs 100 --learning_rate 1e-4 --accumulate_grad_batches 1 --use_gradient_checkpointing --dataloader_num_workers 4
    
  • 교육 모델 테스트::
    python inference_recammaster.py --cam_type 1 --ckpt_path path/to/your/checkpoint
    

STH에 주목하세요.::

  • 트레이닝에는 여러 대의 고성능 GPU가 필요하며, 단일 카드 트레이닝의 경우 배치 크기를 조정해야 할 수도 있습니다.
  • 하이퍼파라미터(예: 학습 속도)를 최적화하여 결과를 개선할 수 있습니다.

멀티캠비디오 데이터 세트 사용

멀티캠비디오 데이터 세트에는 10대의 동기화된 카메라로 각각 캡처한 13,600개의 동적 장면이 포함된 136,000개의 동영상이 포함되어 있습니다. 다음은 사용 가이드입니다:

1. 데이터 세트의 구조

MultiCamVideo-Dataset
├── train
│   ├── f18_aperture10
│   │   ├── scene1
│   │   │   ├── videos
│   │   │   │   ├── cam01.mp4
│   │   │   │   ├── ...
│   │   │   └── cameras
│   │   │       └── camera_extrinsics.json
│   │   ├── ...
│   ├── f24_aperture5
│   ├── f35_aperture2.4
│   ├── f50_aperture2.4
└── val
└── 10basic_trajectories
├── videos
│   ├── cam01.mp4
│   ├── ...
└── cameras
└── camera_extrinsics.json
  • 비디오 형식1280x1280 해상도, 81fps, 15 FPS.
  • 카메라 매개변수초점 거리(18mm, 24mm, 35mm, 50mm), 조리개(10, 5, 2.4).
  • 파일 추적::camera_extrinsics.json 카메라 위치 및 회전을 기록합니다.

2. 데이터 세트 사용

  • 비디오 생성 모델을 학습하고 카메라 제어 효과를 검증합니다.
  • 동기화된 비디오 제작 또는 3D/4D 재구성을 공부하세요.
  • 카메라 트랙 생성 알고리즘을 테스트합니다.

3. 작업의 예

  • 데이터 집합의 압축을 풉니다.::
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • 카메라 트랙 시각화::
    python vis_cam.py
    

    카메라 이동 경로를 보여주는 궤적 맵을 출력합니다.

다음 사항에 유의하십시오.::

  • 데이터 집합이 큽니다(1TB의 저장 공간을 확보하는 것이 좋습니다).
  • 동영상 비율(예: 16:9)을 모델에 맞게 잘라낼 수 있습니다.

기능

1. 새로운 관점 생성

  • 기능정면 영상을 측면 또는 랩어라운드 뷰로 전환하는 등 하나의 동영상에서 새로운 시점을 생성할 수 있습니다.
  • 온라인 운영::
    • 동영상을 업로드하고 트랙(예: 오른쪽 호)을 선택합니다.
    • 시스템은 궤적에서 다시 렌더링하여 MP4 파일을 생성합니다.
  • 로컬 운영::
    • 움직여야 합니다. inference_recammaster.py지정 --cam_type(예: 왼쪽 호의 경우 9).
    • 프로브 output 폴더에 결과를 표시합니다.
  • STH에 주목하세요.동적인 장면(예: 캐릭터가 걷는 장면)이 가장 적합하며, 정적인 배경은 부자연스럽게 생성될 수 있습니다.

2. 동영상 안정화

  • 기능핸드헬드 비디오 지터를 제거하고 부드러운 이미지를 생성합니다.
  • rig::
    • 온라인: 동영상을 업로드하고 '안정' 요구 사항을 참고합니다.
    • 로컬: 현재 직접 안정화 명령을 사용할 수 없으며, 병진 궤적으로 시뮬레이션해야 합니다.
  • 효과예: 달리면서 촬영한 흔들리는 동영상, 짐벌 효과에 가깝게 처리한 동영상.

3. 초해상도 및 아웃리치

  • 초고해상도::
    • 줌 트랙을 선택하여 사진의 디테일을 향상시킵니다.
    • 저해상도 동영상에 적합하며 선명한 현지화 콘텐츠를 생성합니다.
  • 외부로 확장::
    • 트랙 축소를 선택하여 화면 경계를 확장합니다.
    • 좁은 장면에 적합하고 추가 배경을 생성합니다.
  • rig::
    • 온라인: '줌인' 또는 '줌아웃' 트랙을 선택합니다.
    • 로컬: 설정 --cam_type 5(확대) 또는 --cam_type 6(축소).

4. 데이터 향상

  • 기능자동 조종 또는 로봇 교육을 위한 멀티뷰 비디오를 생성합니다.
  • rig::
    • 동영상을 업로드하고 여러 트랙을 일괄적으로 선택합니다.
    • 또는 데이터 세트를 사용하여 모델을 직접 학습시켜 다양한 데이터를 생성할 수도 있습니다.
  • 일반적인 예자율주행 모델용 서라운드 뷰 도로 비디오 생성.

자주 묻는 질문

  • 결과 지연스팸 확인 또는 문의 jianhongbai@zju.edu.cn.
  • 비효율적동영상에 충분한 프레임 수(최소 81개)가 있고 장면이 동적인지 확인합니다.
  • 로컬 오류 메시지(LEM)파이썬 버전(3.10), Rust 설치 또는 업데이트 종속성을 확인합니다.
  • 누락된 모델 가중치허깅 페이스에서 올바른 파일을 다운로드하고 경로를 확인합니다.

특히 초보자를 위한 온라인 평가판은 사용하기 쉽습니다. 데이터 세트는 연구자를 위한 풍부한 리소스를 제공하며 향후 기능 확장을 기대할 수 있습니다.

 

애플리케이션 시나리오

  1. 동영상 제작
    ReCamMaster는 짧은 동영상, 광고 또는 영화 예고편에 역동적인 시점을 추가합니다. 예를 들어 고정된 장면을 랩어라운드 효과로 전환하여 시각적 효과를 높일 수 있습니다.
  2. 자동 운전
    멀티뷰 주행 장면 비디오를 생성하여 자동 주행 모델을 훈련하세요. 다양한 각도에서 도로 상황을 시뮬레이션하고 데이터 수집 비용을 절감할 수 있습니다.
  3. 가상 현실
    몰입형 시나리오에 맞춰 VR/AR 개발을 위한 멀티뷰 콘텐츠를 제공합니다. 예를 들어 VR 게임용 동적 환경 비디오를 생성할 수 있습니다.
  4. 연구 및 교육
    연구자는 멀티캠비디오 데이터 세트를 사용해 알고리즘을 검증할 수 있습니다. 교육자는 새로운 관점 비디오를 사용하여 실험 절차를 시연하고 교육 및 학습을 향상시킬 수 있습니다.
  5. 3D/4D 재구성
    이 데이터 세트는 동기화된 비디오 연구를 지원하여 역동적인 장면의 3D 모델을 재구성하는 데 도움을 줍니다.

 

QA

  1. ReCamMaster는 어떤 동영상 포맷을 지원하나요?
    현재 MP4를 지원하며, 최소 81프레임, 해상도 480p 이상, 동적 장면 효과가 더 좋다고 권장합니다.
  2. 온라인 평가판은 무료인가요?
    현재 무료이지만 처리 속도는 서버 부하에 따라 달라집니다. 향후 유료 가속 서비스가 제공될 수 있습니다.
  3. 로컬에서 실행하려면 어떤 구성이 필요하나요?
    NVIDIA RTX 3060 이상, 최소 12GB의 비디오 메모리, Python 3.10 환경이 권장됩니다.
  4. 데이터세트를 다운로드하려면 어떻게 해야 하나요?
    https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset 에서 다운로드할 수 있으며, 압축을 풀면 약 1TB의 용량을 차지합니다.
  5. 트랙을 사용자 지정할 수 있나요?
    온라인 평가판은 10개의 사전 설정 궤적을 지원하며, 사용자 지정은 팀에 문의해야 합니다. 로컬 실행은 코드를 통해 궤적 매개변수를 수정할 수 있습니다.
© 저작권 정책

관련 문서

댓글 없음

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