Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

ReCamMaster: ferramenta de renderização para gerar vídeos com várias visualizações a partir de um único vídeo

Introdução geral

O ReCamMaster é uma ferramenta de processamento de vídeo de código aberto com a função principal de gerar novas visualizações de câmera a partir de um único vídeo. Os usuários podem especificar a trilha da câmera e renderizar novamente o vídeo para obter uma imagem dinâmica com diferentes ângulos. Desenvolvido por uma equipe da Universidade de Zhejiang e da Racer Technology e com base em um modelo de difusão de texto para vídeo, o ReCamMaster é compatível com estabilização de vídeo, aprimoramento de super-resolução e extensibilidade de quadros, sendo adequado para a criação de vídeos, geração de dados de piloto automático e desenvolvimento de realidade virtual. O ReCamMaster é compatível com estabilização de vídeo, aprimoramento de super-resolução e expansão de quadros, sendo adequado para a criação de vídeos, geração de dados de direção autônoma e desenvolvimento de realidade virtual. O código-fonte aberto é baseado no modelo Wan2.1, mas devido às restrições da política da empresa, o modelo completo ainda não está disponível, portanto, é necessário acessar o link oficial para obter os melhores resultados. A equipe também lançou o conjunto de dados MultiCamVideo, que contém 136.000 vídeos com várias visualizações, para facilitar pesquisas relacionadas.

Em breve estará disponível em eficaz Experiência da versão internacional. Atualmente, você só pode enviar seu vídeo para o endereço oficial do teste e aguardar o feedback oficial para gerar resultados.

ReCamMaster: ferramenta de renderização para gerar vídeos com várias visualizações a partir de um único vídeo-1

 

Lista de funções

  • Controle da trilha da câmera: caminhos de câmera selecionados pelo usuário ou personalizados para gerar novos vídeos em perspectiva.
  • Estabilização de vídeo: transforma vídeos trêmulos em imagens suaves para cenários de filmagem com a câmera na mão.
  • Aprimoramento de super-resolução: aumenta a nitidez do vídeo por meio de faixas de zoom para produzir imagens detalhadas.
  • Extensão de tela: expanda o limite do vídeo para gerar conteúdo de cena além da tela original.
  • Aprimoramento de dados: geração de dados de treinamento com várias visualizações para direção autônoma ou visão de robô.
  • Processamento em lote: suporta o processamento de vários vídeos ao mesmo tempo e gera automaticamente os resultados da nova perspectiva.
  • Suporte ao conjunto de dados: fornece o conjunto de dados MultiCamVideo com vídeo de várias visualizações sincronizado.

 

Usando a Ajuda

No centro do ReCamMaster está a capacidade de gerar novas perspectivas a partir de um único vídeo por meio do controle de trilha da câmera. Abaixo está um guia do usuário detalhado que abrange testes on-line, execuções locais e uso do conjunto de dados para ajudar os usuários a começar rapidamente.

Processo de avaliação on-line

O ReCamMaster oferece um conveniente teste on-line que permite aos usuários experimentá-lo sem instalação. As etapas são as seguintes:

  1. Acesse o link de avaliação::
    • Abra o link oficial do Google Forms: https://docs.google.com/forms/d/e/1FAIpQLSezOzGPbm8JMXQDq6EINiDf6iXn7rV4ozj6KcbQCSAzE8Vsnw/viewform?usp=dialog.
    • Digite um endereço de e-mail válido para receber os resultados da renderização.
  2. Carregar vídeo::
    • Prepare um vídeo no formato MP4 com uma duração recomendada de pelo menos 81 quadros (aproximadamente 3 segundos) e uma resolução não inferior a 480p.
    • Certifique-se de que o conteúdo do vídeo seja claro e que a cena seja moderadamente dinâmica, evitando imagens muito escuras, superexpostas ou puramente estáticas.
    • Faça upload do vídeo no formulário, prestando atenção ao limite de tamanho do arquivo (geralmente 100 MB, dependendo das instruções do formulário).
  3. Seleção da trilha da câmera::
    • O ReCamMaster oferece 10 faixas predefinidas para cobrir variações comuns de pontos de vista:
      • Pan Right (Panorâmica direita): Move-se horizontalmente para mostrar a largura da cena.
      • Pan Left: Move-se horizontalmente na direção inversa.
      • Inclinação para cima: incline verticalmente para cima para realçar detalhes altos.
      • Inclinar para baixo: incline verticalmente para baixo para mostrar o conteúdo do solo.
      • Zoom In: Aproxime-se do objeto para melhorar a definição local.
      • Zoom Out: afasta a lente para expandir o campo de visão.
      • Translate Up (Traduzir para cima): move-se para cima com rotação.
      • Translate Down: movimento para baixo com rotação.
      • Arc Left (Arco esquerdo): gira em torno do lado esquerdo do corpo.
      • Arc Right (Arco direito): gira em torno do lado direito do corpo.
    • Selecione uma trajetória no formulário ou anote um requisito personalizado (é necessário entrar em contato com a equipe para confirmar).
  4. Enviar e receber resultados::
    • Após o envio do formulário, o sistema processa automaticamente o vídeo. O tempo de processamento é geralmente de algumas horas a um dia, dependendo da carga do servidor.
    • Os resultados são enviados em formato MP4 para o endereço de e-mail do usuário, com a linha de assunto "Inference Results of ReCamMaster", e podem ser enviados para jianhongbai@zju.edu.cn talvez cpurgicn@gmail.com.
    • Verifique a caixa de entrada e a pasta de spam. Se não for recebido por um dia, entre em contato com a equipe.

tomar nota de::

  • Avaliações gratuitas estão disponíveis para cada usuário, mas envios frequentes podem atrasar o processamento.
  • A qualidade dos resultados depende do conteúdo do vídeo, sendo que as cenas dinâmicas funcionam melhor.
  • No futuro, a equipe planeja lançar um site de testes on-line, que será ainda mais fácil de operar.

operação local

O código-fonte aberto é baseado no modelo Wan2.1 e é adequado para usuários com formação técnica. Veja a seguir as etapas detalhadas de instalação e execução:

1. preparação ambiental

  • Requisitos de hardwareDispositivos equipados com GPU (por exemplo, NVIDIA RTX 3060 ou superior) são recomendados; a operação da CPU pode ser mais lenta.
  • requisitos de software::
    • Python 3.10
    • Rust e Cargo (para compilar o DiffSynth-Studio)
    • Git e pip

2. etapas de instalação

  • armazém de clones::
    git clone https://github.com/KwaiVGI/ReCamMaster.git
    cd ReCamMaster
    
  • Instalação de ferrugem::
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"
    
  • Criação de um ambiente virtual::
    conda create -n recammaster python=3.10
    conda activate recammaster
    
  • Instalação de dependências::
    pip install -e .
    pip install lightning pandas websockets
    
  • Download dos pesos do modelo::
    • Modelo Wan2.1:
      python download_wan2.1.py
      
    • Pesos pré-treinados do ReCamMaster:
      Baixado de https://huggingface.co/KwaiVGI/ReCamMaster-Wan2.1/blob/main/step20000.ckpt step20000.ckptcolocar em models/ReCamMaster/checkpoints Pasta.

3. vídeo de exemplo de teste

  • Execute o seguinte comando para testar o uso de uma trajetória predefinida (por exemplo, panorâmica para a direita):
    python inference_recammaster.py --cam_type 1
    
  • A saída é salva no diretório do projeto no diretório output no formato MP4.

4. teste de vídeos personalizados

  • Preparar dados::
    • estabelecer custom_test_data coloque o vídeo MP4 (pelo menos 81 quadros).
    • gerando metadata.csvRegistre caminhos de vídeo e legendas descritivas. Exemplo:
      video_path,caption
      test_video.mp4,"A person walking in the park"
      
    • As legendas podem ser escritas manualmente ou geradas usando ferramentas como o LLaVA.
  • raciocínio de execução::
    python inference_recammaster.py --cam_type 1 --dataset_path custom_test_data
    

tomar nota de::

  • As execuções locais podem não funcionar tão bem quanto os testes on-line, pois o modelo de código aberto é diferente do modelo de tese.
  • Certifique-se de que a memória da GPU seja suficiente (pelo menos 12 GB).
  • Se você receber um erro, verifique a versão da dependência ou consulte os problemas do GitHub.

5. modelos de treinamento

Se for necessário um modelo personalizado, prepare o conjunto de dados MultiCamVideo e treine-o:

  • Baixar conjunto de dados::
    Faça o download em https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset e descompacte-o:

    cat MultiCamVideo-Dataset.part* > MultiCamVideo-Dataset.tar.gz
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Características de extração::
    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
    
  • Gerar legendas::
    Use uma ferramenta como o LLaVA para gerar uma descrição para o vídeo e salve-a no arquivo metadata.csv.
  • Iniciar o treinamento::
    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
    
  • Testar modelos de treinamento::
    python inference_recammaster.py --cam_type 1 --ckpt_path path/to/your/checkpoint
    

chamar a atenção para algo::

  • São necessárias várias GPUs de alto desempenho para o treinamento, e os tamanhos dos lotes podem precisar ser ajustados para o treinamento em um único cartão.
  • Os hiperparâmetros (por exemplo, taxa de aprendizado) podem ser otimizados para melhorar os resultados.

Uso do conjunto de dados MultiCamVideo

O conjunto de dados MultiCamVideo contém 136.000 vídeos que abrangem 13.600 cenas dinâmicas, cada uma capturada por 10 câmeras sincronizadas. A seguir, um guia para seu uso:

1. estrutura do conjunto de dados

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
  • formato de vídeoResolução de 1280x1280, 81 fps, 15 FPS.
  • parâmetros da câmeraComprimentos focais (18 mm, 24 mm, 35 mm, 50 mm), aberturas (10, 5, 2,4).
  • Arquivo de trilha::camera_extrinsics.json Registra a posição e a rotação da câmera.

2. uso de conjuntos de dados

  • Treinamento do modelo de geração de vídeo e verificação do efeito de controle da câmera.
  • Estude a produção de vídeo sincronizado ou a reconstrução 3D/4D.
  • Teste de algoritmos de geração de trilhas de câmera.

3. exemplos de operações

  • Descompacte o conjunto de dados::
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Visualização das trilhas da câmera::
    python vis_cam.py
    

    Emite um mapa de trajetória mostrando o caminho do movimento da câmera.

tomar nota de::

  • O conjunto de dados é grande (recomenda-se 1 TB de armazenamento reservado).
  • A proporção do vídeo (por exemplo, 16:9) pode ser cortada para se ajustar ao modelo.

Funções

1. geração de novas perspectivas

  • funcionalidadeGeração de novas perspectivas a partir de um único vídeo, por exemplo, transformando um vídeo frontal em uma visão lateral ou panorâmica.
  • Operação on-line::
    • Carregue o vídeo e selecione a trilha (por exemplo, arco direito).
    • O sistema faz a renderização novamente a partir da trajetória e gera um arquivo MP4.
  • operação local::
    • estar em movimento inference_recammaster.pyDesignação --cam_type(por exemplo, 9 para o arco esquerdo).
    • sonda output resultados na pasta.
  • chamar a atenção para algoCenas dinâmicas (por exemplo, personagens andando) funcionam melhor; fundos estáticos podem ser gerados de forma não natural.

2. estabilização de vídeo

  • funcionalidadeEliminação de tremores em vídeos portáteis e geração de imagens suaves.
  • equipamento::
    • Online: faça upload do vídeo, observe os requisitos "estáveis".
    • Local: não há comandos diretos de estabilização disponíveis no momento; eles precisam ser simulados por trajetórias de translação.
  • efeitoPor exemplo, vídeo instável gravado em uma corrida, processado para se aproximar do efeito do cardan.

3. super-resolução e alcance

  • super-resolução::
    • Selecione a faixa de zoom para aprimorar os detalhes da imagem.
    • Adequado para vídeos de baixa resolução, gerando conteúdo localizado claro.
  • expandindo para fora::
    • Selecione Shrink Track para estender os limites da tela.
    • Adapta-se a cenas estreitas e gera planos de fundo adicionais.
  • equipamento::
    • Online: selecione a faixa "Zoom In" ou "Zoom Out".
    • Local: Configurações --cam_type 5(zoom in) ou --cam_type 6(Encolhendo).

4. aprimoramento de dados

  • funcionalidadeGeração de vídeos de múltiplas visualizações para treinamento de pilotos automáticos ou robôs.
  • equipamento::
    • Faça upload de vídeos e selecione várias faixas em massa.
    • Ou use o conjunto de dados para treinar o modelo diretamente para gerar dados diversos.
  • exemplo típicoGeração de vídeos de estrada com visão surround para modelos de direção autônoma.

Perguntas frequentes

  • Atraso nos resultadosVerifique se há spam ou entre em contato com jianhongbai@zju.edu.cn.
  • ineficazVerifique se o vídeo tem um número suficiente de quadros (pelo menos 81) e se a cena é dinâmica.
  • mensagem de erro local (LEM)Verificar a versão do Python (3.10), a instalação do Rust ou atualizar as dependências.
  • Pesos de modelo ausentesDownload do arquivo correto do Hugging Face: verifique o caminho.

O ReCamMaster é fácil de usar, especialmente o teste on-line para iniciantes. O conjunto de dados oferece um recurso valioso para os pesquisadores, e espera-se que haja futuras extensões de funcionalidade.


 

cenário do aplicativo

  1. Criação de vídeos
    O ReCamMaster adiciona perspectivas dinâmicas a vídeos curtos, comerciais ou trailers de filmes. Por exemplo, transforme uma tomada fixa em um efeito envolvente para aumentar o impacto visual.
  2. direção automática
    Gere vídeos de cenas de direção com várias visualizações para treinar modelos de direção automática. Ele pode simular as condições da estrada de diferentes ângulos e reduzir o custo da coleta de dados.
  3. realidade virtual
    Fornecer conteúdo de múltiplas visualizações para o desenvolvimento de VR/AR, adaptando-se a cenários imersivos. Por exemplo, gerar vídeos de ambiente dinâmico para jogos de RV.
  4. Pesquisa e educação
    Os pesquisadores podem validar algoritmos usando o conjunto de dados MultiCamVideo. Os educadores podem usar os vídeos do New Perspective para demonstrar procedimentos experimentais e aprimorar o ensino e o aprendizado.
  5. Reconstrução 3D/4D
    O conjunto de dados oferece suporte a estudos de vídeo sincronizados para ajudar a reconstruir modelos 3D de cenas dinâmicas.

 

QA

  1. Quais formatos de vídeo são compatíveis com o ReCamMaster?
    Atualmente, suporta MP4, sugere pelo menos 81 quadros, resolução de 480p ou superior, efeito de cena dinâmica é melhor.
  2. A avaliação on-line é gratuita?
    Atualmente é gratuito, mas a velocidade de processamento depende da carga do servidor. Serviços de aceleração pagos poderão estar disponíveis no futuro.
  3. Que configuração é necessária para executar localmente?
    Recomendado NVIDIA RTX 3060 ou superior, pelo menos 12 GB de memória de vídeo, ambiente Python 3.10.
  4. Como posso fazer o download do conjunto de dados?
    Baixado de https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset, ele ocupa cerca de 1 TB de armazenamento quando descompactado.
  5. É possível personalizar a trilha?
    O teste on-line suporta 10 trajetórias predefinidas; para personalizá-las, é necessário entrar em contato com a equipe. A execução local pode modificar os parâmetros da trajetória por código.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " ReCamMaster: ferramenta de renderização para gerar vídeos com várias visualizações a partir de um único vídeo
pt_BRPortuguês do Brasil