ReCamMaster: herramienta de renderizado para generar vídeos multivista a partir de un único vídeo

Introducción general

ReCamMaster es una herramienta de procesamiento de vídeo de código abierto cuya función principal es generar nuevas vistas de cámara a partir de un único vídeo. Los usuarios pueden especificar la pista de la cámara y volver a renderizar el vídeo para obtener una imagen dinámica con distintos ángulos. Desarrollado por un equipo de la Universidad de Zhejiang y Racer Technology, y basado en un modelo de difusión de texto a vídeo, ReCamMaster admite la estabilización de vídeo, la mejora de la superresolución y la extensibilidad de fotogramas, y es adecuado para la creación de vídeo, la generación de datos de piloto automático y el desarrollo de realidad virtual. ReCamMaster admite la estabilización de vídeo, la mejora de la superresolución y la ampliación de fotogramas, y es adecuado para la creación de vídeos, la generación de datos de conducción autónoma y el desarrollo de realidad virtual. El código fuente abierto se basa en el modelo Wan2.1, pero debido a restricciones de la política de la empresa, el modelo completo aún no está disponible, por lo que es necesario pasar por el enlace oficial para experimentar los mejores resultados. El equipo también ha publicado el conjunto de datos MultiCamVideo, que contiene 136.000 vídeos multivista, para facilitar la investigación relacionada.

Próximamente disponible en eficaz Experiencia de la versión internacional. Actualmente sólo puede enviar su vídeo a la dirección oficial de la prueba y esperar a recibir los comentarios oficiales para generar resultados.

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

 

Lista de funciones

  • Control de la trayectoria de la cámara: trayectorias de cámara seleccionadas o personalizadas por el usuario para generar nuevos vídeos en perspectiva.
  • Estabilización de vídeo: convierte los vídeos movidos en imágenes fluidas para las tomas a pulso.
  • Super Resolution Enhancement: Mejora la claridad del vídeo a través de pistas de zoom para producir imágenes detalladas.
  • Extensión de pantalla: Amplía los límites del vídeo para generar contenido de escena más allá de la pantalla original.
  • Mejora de los datos: generación de datos de entrenamiento multivista para la conducción autónoma o la visión robótica.
  • Procesamiento por lotes: admite el procesamiento de varios vídeos al mismo tiempo y emite automáticamente los resultados de la nueva perspectiva.
  • Compatibilidad con conjuntos de datos: proporciona un conjunto de datos MultiCamVideo con vídeo multivista sincronizado.

 

Utilizar la ayuda

El núcleo de ReCamMaster es la capacidad de generar nuevas perspectivas a partir de un único vídeo mediante el control del seguimiento de la cámara. A continuación se incluye una guía de usuario detallada que abarca pruebas en línea, ejecuciones locales y uso de conjuntos de datos para ayudar a los usuarios a iniciarse rápidamente.

Proceso judicial en línea

ReCamMaster ofrece una cómoda versión de prueba en línea que permite a los usuarios probarlo sin necesidad de instalación. Los pasos son los siguientes:

  1. Visite el enlace de prueba::
    • Abre el enlace oficial de Google Forms: https://docs.google.com/forms/d/e/1FAIpQLSezOzGPbm8JMXQDq6EINiDf6iXn7rV4ozj6KcbQCSAzE8Vsnw/viewform?usp=dialog.
    • Introduzca una dirección de correo electrónico válida para recibir los resultados de la renderización.
  2. Cargar vídeo::
    • Prepare un vídeo en formato MP4 con una duración recomendada de al menos 81 fotogramas (aproximadamente 3 segundos) y una resolución no inferior a 480p.
    • Asegúrate de que el contenido del vídeo sea claro y la escena moderadamente dinámica, evitando imágenes demasiado oscuras, sobreexpuestas o puramente estáticas.
    • Sube el vídeo en el formulario, prestando atención al límite de tamaño del archivo (normalmente 100 MB, según las instrucciones del formulario).
  3. Seleccionar la pista de la cámara::
    • ReCamMaster ofrece 10 pistas preestablecidas para cubrir las variaciones habituales de los puntos de vista:
      • Panorámica derecha: Se desplaza horizontalmente para mostrar el ancho de la escena.
      • Pan Izquierdo: Se mueve horizontalmente en sentido inverso.
      • Inclinar hacia arriba: Inclina hacia arriba verticalmente para resaltar los detalles altos.
      • Inclinar hacia abajo: Inclinar verticalmente hacia abajo para mostrar el contenido del suelo.
      • Acercar: Acércate al sujeto para mejorar la definición local.
      • Alejar: aleja el objetivo para ampliar el campo de visión.
      • Translate Up: Mover hacia arriba con rotación.
      • Translate Down: Movimiento hacia abajo con rotación.
      • Arco Izquierdo: Gira alrededor del lado izquierdo del cuerpo.
      • Arco Derecho: gira alrededor del lado derecho del cuerpo.
    • Seleccione una trayectoria en el formulario o anote un requisito personalizado (debe ponerse en contacto con el equipo para confirmarlo).
  4. Presentar y recibir resultados::
    • Tras enviar el formulario, el sistema procesa automáticamente el vídeo. El tiempo de procesamiento suele ser de unas horas a un día, dependiendo de la carga del servidor.
    • Los resultados se envían en formato MP4 a la dirección de correo electrónico del usuario, con el asunto "Resultados de inferencia de ReCamMaster", y pueden dirigirse a jianhongbai@zju.edu.cn tal vez cpurgicn@gmail.com.
    • Compruebe la bandeja de entrada y la carpeta de correo no deseado. Si no lo recibe durante un día, póngase en contacto con el equipo.

tenga en cuenta::

  • Hay pruebas gratuitas disponibles para cada usuario, pero los envíos frecuentes pueden retrasar el procesamiento.
  • La calidad de los resultados depende del contenido del vídeo; las escenas dinámicas funcionan mejor.
  • En el futuro, el equipo tiene previsto lanzar un sitio de pruebas en línea, que será aún más fácil de manejar.

funcionamiento local

El código fuente abierto se basa en el modelo Wan2.1 y es adecuado para usuarios con formación técnica. A continuación se detallan los pasos de instalación y ejecución:

1. Preparación medioambiental

  • requisitos de hardwareSe recomiendan dispositivos equipados con GPU (por ejemplo, NVIDIA RTX 3060 o superior); el funcionamiento de la CPU puede ser más lento.
  • requisitos de software::
    • Python 3.10
    • Rust y Cargo (para compilar DiffSynth-Studio)
    • Git y pip

2. Pasos de la instalación

  • almacén de clones::
    git clone https://github.com/KwaiVGI/ReCamMaster.git
    cd ReCamMaster
    
  • Instalación de óxido::
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"
    
  • Creación de un entorno virtual::
    conda create -n recammaster python=3.10
    conda activate recammaster
    
  • Instalación de dependencias::
    pip install -e .
    pip install lightning pandas websockets
    
  • Descargar modelos de pesos::
    • Modelo Wan2.1:
      python download_wan2.1.py
      
    • Pesos preentrenados de ReCamMaster:
      Descargado de https://huggingface.co/KwaiVGI/ReCamMaster-Wan2.1/blob/main/step20000.ckpt step20000.ckptponer en models/ReCamMaster/checkpoints Carpeta.

3. Vídeo de ejemplo de prueba

  • Ejecute el siguiente comando para realizar una prueba utilizando una trayectoria preestablecida (por ejemplo, desplazamiento hacia la derecha):
    python inference_recammaster.py --cam_type 1
    
  • El resultado se guarda en el directorio del proyecto en la carpeta output en formato MP4.

4. Probar vídeos personalizados

  • Preparar los datos::
    • establecer custom_test_data carpeta, introduce el vídeo MP4 (al menos 81 fotogramas).
    • generando metadata.csvgrabar rutas de vídeo y subtítulos descriptivos. Ejemplo:
      video_path,caption
      test_video.mp4,"A person walking in the park"
      
    • Los subtítulos pueden escribirse manualmente o generarse con herramientas como LLaVA.
  • razonamiento en funcionamiento::
    python inference_recammaster.py --cam_type 1 --dataset_path custom_test_data
    

tenga en cuenta::

  • Las pruebas locales pueden no funcionar tan bien como las pruebas en línea, ya que el modelo de código abierto es diferente del modelo de tesis.
  • Asegúrese de que la memoria de la GPU es suficiente (al menos 12 GB).
  • Si obtiene un error, compruebe la versión de la dependencia o consulte los problemas de GitHub.

5. Modelos de formación

Si necesita un modelo personalizado, prepare el conjunto de datos MultiCamVideo y entrénelo:

  • Descargar conjunto de datos::
    Descárgalo de https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset y descomprímelo:

    cat MultiCamVideo-Dataset.part* > MultiCamVideo-Dataset.tar.gz
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Características de extracción::
    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
    
  • Generar subtítulos::
    Utilice una herramienta como LLaVA para generar una descripción para el vídeo, guárdela en la carpeta metadata.csv.
  • Iniciar la formación::
    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
    
  • Probar modelos de formación::
    python inference_recammaster.py --cam_type 1 --ckpt_path path/to/your/checkpoint
    

llamar la atención sobre algo::

  • Para el entrenamiento se necesitan varias GPU de alto rendimiento y puede ser necesario ajustar el tamaño de los lotes para el entrenamiento con una sola tarjeta.
  • Los hiperparámetros (por ejemplo, la tasa de aprendizaje) pueden optimizarse para mejorar los resultados.

Uso del conjunto de datos MultiCamVideo

El conjunto de datos MultiCamVideo contiene 136.000 vídeos que abarcan 13.600 escenas dinámicas, cada una de ellas captada por 10 cámaras sincronizadas. A continuación se ofrece una guía de uso:

1. Estructura del conjunto de datos

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ídeo: resolución 1280x1280, 81 fps, 15 FPS.
  • parámetros de la cámaraLongitudes focales (18 mm, 24 mm, 35 mm, 50 mm), aperturas (10, 5, 2,4).
  • Archivo de pistas::camera_extrinsics.json Registra la posición y rotación de la cámara.

2. Utilización de conjuntos de datos

  • Entrenamiento del modelo de generación de vídeo y verificación del efecto de control de la cámara.
  • Estudiar la producción de vídeo sincronizado o la reconstrucción 3D/4D.
  • Pruebas de algoritmos de generación de huellas de cámara.

3. Ejemplos de operaciones

  • Descomprimir el conjunto de datos::
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Visualización de las trayectorias de las cámaras::
    python vis_cam.py
    

    Genera un mapa de trayectoria que muestra la trayectoria de movimiento de la cámara.

tenga en cuenta::

  • El conjunto de datos es grande (se recomienda reservar 1 TB de almacenamiento).
  • La relación de vídeo (por ejemplo, 16:9) puede recortarse para ajustarla al modelo.

Funciones

1. Generación de nuevas perspectivas

  • funcionalidadGenerar nuevas perspectivas a partir de un único vídeo, por ejemplo, convirtiendo un vídeo frontal en una vista lateral o envolvente.
  • Funcionamiento en línea::
    • Sube el vídeo y selecciona la pista (por ejemplo, arco a la derecha).
    • El sistema vuelve a renderizar a partir de la trayectoria y genera un archivo MP4.
  • funcionamiento local::
    • estar en movimiento inference_recammaster.pyDesignación --cam_type(por ejemplo, 9 para el arco izquierdo).
    • sonda output resultados en la carpeta.
  • llamar la atención sobre algo: Las escenas dinámicas (por ejemplo, personajes caminando) funcionan mejor, los fondos estáticos pueden generarse de forma poco natural.

2. Estabilización de vídeo

  • funcionalidad: Elimina las fluctuaciones del vídeo portátil y genera imágenes fluidas.
  • plataforma::
    • En línea: cargue el vídeo, tenga en cuenta los requisitos "estables".
    • Local: por el momento no se dispone de comandos directos de estabilización, es necesario simularlos mediante trayectorias de traslación.
  • efectop. ej., vídeo trepidante grabado corriendo, procesado para aproximarse al efecto cardán.

3. Superresolución y divulgación

  • superresolución::
    • Selecciona la pista de zoom para realzar los detalles de la imagen.
    • Adecuado para vídeos de baja resolución, generando un contenido claro y localizado.
  • expandiéndose hacia el exterior::
    • Seleccione Reducir pista para ampliar los límites de la pantalla.
    • Se adapta a escenas estrechas y genera fondos adicionales.
  • plataforma::
    • En línea: Seleccione la pista "Acercar" o "Alejar".
    • Local: Configuración --cam_type 5(acercar) o --cam_type 6(Encogiéndose).

4. Mejora de los datos

  • funcionalidad: Genera vídeos multivista para el entrenamiento de pilotos automáticos o robots.
  • plataforma::
    • Sube vídeos y selecciona varias pistas en bloque.
    • O entrenar el modelo directamente con el conjunto de datos para generar datos diversos.
  • ejemplo típicoGeneración de vídeos de carretera con visión envolvente para modelos de conducción autónoma.

Preguntas frecuentes

  • Retraso en los resultados: Compruebe si hay spam o póngase en contacto con jianhongbai@zju.edu.cn.
  • ineficazAsegúrate de que el vídeo tiene un número suficiente de fotogramas (al menos 81) y de que la escena es dinámica.
  • mensaje de error local (LEM)Verifique la versión de Python (3.10), la instalación de Rust o actualice las dependencias.
  • Faltan ponderaciones del modelo: Descargue el archivo correcto de Hugging Face, compruebe la ruta.

ReCamMaster es fácil de usar y la versión de prueba en línea es especialmente adecuada para principiantes. El conjunto de datos constituye un rico recurso para los investigadores, y es de esperar que en el futuro se amplíen sus funciones.

 

escenario de aplicación

  1. Creación de vídeos
    ReCamMaster añade perspectivas dinámicas a vídeos cortos, anuncios o trailers de películas. Por ejemplo, convierte una toma fija en un efecto envolvente para mejorar el impacto visual.
  2. conducción automática
    Genera vídeos de escenas de conducción multivista para entrenar modelos de conducción automática. Puede simular las condiciones de la carretera desde distintos ángulos y reducir el coste de la recogida de datos.
  3. realidad virtual
    Proporcionar contenido multivista para el desarrollo de RV/RA, adaptándose a escenarios inmersivos. Por ejemplo, generar vídeos de entornos dinámicos para juegos de RV.
  4. Investigación y educación
    Los investigadores pueden validar algoritmos utilizando el conjunto de datos MultiCamVideo. Los educadores pueden utilizar los vídeos de New Perspective para demostrar procedimientos experimentales y mejorar la enseñanza y el aprendizaje.
  5. Reconstrucción 3D/4D
    El conjunto de datos admite estudios de vídeo sincronizados para ayudar a reconstruir modelos 3D de escenas dinámicas.

 

CONTROL DE CALIDAD

  1. ¿Qué formatos de vídeo admite ReCamMaster?
    Actualmente soporta MP4, sugiere al menos 81 fotogramas, resolución 480p o superior, el efecto de escena dinámica es mejor.
  2. ¿Es gratuita la prueba en línea?
    Actualmente es gratuito, pero la velocidad de procesamiento depende de la carga del servidor. Es posible que en el futuro existan servicios de aceleración de pago.
  3. ¿Qué configuración es necesaria para funcionar localmente?
    Se recomienda NVIDIA RTX 3060 o superior, al menos 12 GB de memoria de vídeo, entorno Python 3.10.
  4. ¿Cómo puedo descargar el conjunto de datos?
    Descargado de https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset, ocupa aproximadamente 1 TB de almacenamiento una vez descomprimido.
  5. ¿Es posible personalizar la pista?
    La prueba en línea admite 10 trayectorias preestablecidas, para personalizarlas es necesario ponerse en contacto con el equipo. La ejecución local puede modificar los parámetros de la trayectoria por código.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...