ReCamMaster : outil de rendu permettant de générer des vidéos multi-vues à partir d'une seule vidéo

Introduction générale

ReCamMaster est un outil de traitement vidéo open source dont la fonction principale est de générer de nouvelles vues de caméra à partir d'une seule vidéo. Les utilisateurs peuvent spécifier la trajectoire de la caméra et restituer la vidéo pour obtenir une image dynamique avec différents angles. Développé par une équipe de l'université de Zhejiang et de Racer Technology, et basé sur un modèle de diffusion texte-vidéo, ReCamMaster prend en charge la stabilisation vidéo, l'amélioration de la super-résolution et l'extensibilité des images, et convient à la création de vidéos, à la génération de données de pilotage automatique et au développement de la réalité virtuelle. ReCamMaster prend en charge la stabilisation vidéo, l'amélioration de la super-résolution et l'extension du cadre, et convient à la création vidéo, à la génération de données de conduite autonome et au développement de la réalité virtuelle. Le code open source est basé sur le modèle Wan2.1, mais en raison des restrictions imposées par la politique de l'entreprise, le modèle complet n'est pas encore disponible, vous devez donc passer par le lien officiel pour obtenir les meilleurs résultats. L'équipe a également publié l'ensemble de données MultiCamVideo, qui contient 136 000 vidéos multi-vues, afin de faciliter la recherche dans ce domaine.

Bientôt disponible sur efficace Expérience de la version internationale. Actuellement, vous ne pouvez soumettre votre vidéo qu'à l'adresse de test officielle et attendre les réactions officielles pour obtenir des résultats.

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

 

Liste des fonctions

  • Contrôle de la trajectoire de la caméra : trajectoires de la caméra sélectionnées par l'utilisateur ou personnalisées pour générer de nouvelles vidéos en perspective.
  • Stabilisation vidéo : transforme les vidéos instables en images fluides pour les prises de vue à main levée.
  • Amélioration de la super résolution : améliore la clarté de la vidéo grâce aux pistes de zoom pour produire des images détaillées.
  • Extension de l'écran : étendre les limites de la vidéo pour générer un contenu de scène au-delà de l'écran d'origine.
  • Amélioration des données : génération de données d'entraînement multi-vues pour la conduite autonome ou la vision des robots.
  • Traitement par lots : permet de traiter plusieurs vidéos en même temps et de produire automatiquement les résultats de la nouvelle perspective.
  • Prise en charge des ensembles de données : fournit l'ensemble de données MultiCamVideo avec des vidéos multi-vues synchronisées.

 

Utiliser l'aide

Au cœur de ReCamMaster se trouve la possibilité de générer de nouvelles perspectives à partir d'une seule vidéo grâce au contrôle de la trajectoire de la caméra. Vous trouverez ci-dessous un guide d'utilisation détaillé couvrant les essais en ligne, les essais locaux et l'utilisation des ensembles de données afin d'aider les utilisateurs à démarrer rapidement.

Procédure d'essai en ligne

ReCamMaster propose une version d'essai en ligne pratique qui permet aux utilisateurs de l'expérimenter sans l'installer. Les étapes sont les suivantes :

  1. Visitez le lien de l'essai: :
    • Ouvrez le lien officiel de Google Forms : https://docs.google.com/forms/d/e/1FAIpQLSezOzGPbm8JMXQDq6EINiDf6iXn7rV4ozj6KcbQCSAzE8Vsnw/viewform?usp=dialog.
    • Saisissez une adresse électronique valide pour recevoir les résultats de l'équarrissage.
  2. Télécharger la vidéo: :
    • Préparez une vidéo au format MP4 d'une durée recommandée d'au moins 81 images (environ 3 secondes) et d'une résolution d'au moins 480p.
    • Veillez à ce que le contenu de la vidéo soit clair et que la scène soit modérément dynamique, en évitant les images trop sombres, surexposées ou purement statiques.
    • Téléchargez la vidéo dans le formulaire, en faisant attention à la taille limite du fichier (généralement 100 Mo, selon les instructions du formulaire).
  3. Sélection de la piste de la caméra: :
    • ReCamMaster propose 10 pistes prédéfinies pour couvrir les variations de points de vue les plus courantes :
      • Panoramique à droite : se déplace horizontalement pour montrer la largeur de la scène.
      • Panoramique vers la gauche : se déplace horizontalement dans le sens inverse.
      • Inclinaison vers le haut : Inclinez vers le haut verticalement pour mettre en évidence les détails élevés.
      • Inclinaison vers le bas : Inclinez verticalement vers le bas pour afficher le contenu du sol.
      • Zoom avant : rapprochez-vous du sujet pour améliorer la définition locale.
      • Zoom arrière : éloigne l'objectif pour élargir le champ de vision.
      • Translate Up : se déplace vers le haut avec une rotation.
      • Translate Down : mouvement vers le bas avec rotation.
      • Arc gauche : tourne autour du côté gauche du corps.
      • Arc droit : tourne autour du côté droit du corps.
    • Sélectionnez une trajectoire dans le formulaire, ou notez une exigence personnalisée (vous devez contacter l'équipe pour confirmer).
  4. Soumettre et recevoir les résultats: :
    • Après avoir envoyé le formulaire, le système traite automatiquement la vidéo. Le délai de traitement est généralement de quelques heures à un jour, en fonction de la charge du serveur.
    • Les résultats sont envoyés au format MP4 à l'adresse électronique de l'utilisateur, avec pour objet "Inference Results of ReCamMaster", et peuvent être adressés à jianhongbai@zju.edu.cn peut-être cpurgicn@gmail.com.
    • Vérifiez la boîte de réception et le dossier spam. Si vous n'avez rien reçu pendant un jour, contactez l'équipe.

prendre note: :

  • Des essais gratuits sont disponibles pour chaque utilisateur, mais les soumissions fréquentes peuvent retarder le traitement.
  • La qualité des résultats dépend du contenu de la vidéo, les scènes dynamiques donnant de meilleurs résultats.
  • À l'avenir, l'équipe prévoit de lancer un site d'essai en ligne, qui sera encore plus facile à utiliser.

opération locale

Le code source ouvert est basé sur le modèle Wan2.1 et convient aux utilisateurs ayant un bagage technique. Vous trouverez ci-dessous les étapes détaillées de l'installation et de l'exécution :

1. préparation à l'environnement

  • exigences en matière de matérielLes appareils équipés d'un GPU (par exemple NVIDIA RTX 3060 ou supérieur) sont recommandés ; le fonctionnement du CPU peut être plus lent.
  • exigence logicielle: :
    • Python 3.10
    • Rust et Cargo (pour compiler DiffSynth-Studio)
    • Git et pip

2. les étapes de l'installation

  • entrepôt de clones: :
    git clone https://github.com/KwaiVGI/ReCamMaster.git
    cd ReCamMaster
    
  • Installation de la rouille: :
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"
    
  • Créer un environnement virtuel: :
    conda create -n recammaster python=3.10
    conda activate recammaster
    
  • Installation des dépendances: :
    pip install -e .
    pip install lightning pandas websockets
    
  • Télécharger le modèle de poids: :
    • Modèle Wan2.1 :
      python download_wan2.1.py
      
    • Poids pré-entraînés de ReCamMaster :
      Téléchargé à partir de https://huggingface.co/KwaiVGI/ReCamMaster-Wan2.1/blob/main/step20000.ckpt step20000.ckptmettre en models/ReCamMaster/checkpoints Dossier.

3. vidéo d'exemple de test

  • Exécutez la commande suivante pour tester l'utilisation d'une trajectoire prédéfinie (par exemple, un panoramique vers la droite) :
    python inference_recammaster.py --cam_type 1
    
  • Le résultat est enregistré dans le répertoire du projet dans le fichier output au format MP4.

4. tester des vidéos personnalisées

  • Préparer les données: :
    • établir custom_test_data placer la vidéo MP4 (au moins 81 images).
    • générant metadata.csvenregistrer des chemins vidéo et des sous-titres descriptifs. Exemple :
      video_path,caption
      test_video.mp4,"A person walking in the park"
      
    • Les sous-titres peuvent être écrits manuellement ou générés à l'aide d'outils tels que LLaVA.
  • raisonnement en cours d'exécution: :
    python inference_recammaster.py --cam_type 1 --dataset_path custom_test_data
    

prendre note: :

  • Les essais locaux peuvent ne pas fonctionner aussi bien que les essais en ligne, car le modèle de l'open source est différent de celui de la thèse.
  • Assurez-vous que la mémoire du GPU est suffisante (au moins 12 Go).
  • Si vous obtenez une erreur, vérifiez la version de la dépendance ou référez-vous à GitHub Issues.

5. les modèles de formation

Si un modèle personnalisé est nécessaire, préparez l'ensemble de données MultiCamVideo et entraînez-le :

  • Télécharger la base de données: :
    Téléchargez-le à partir de https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset et décompressez-le :

    cat MultiCamVideo-Dataset.part* > MultiCamVideo-Dataset.tar.gz
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Caractéristiques d'extraction: :
    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
    
  • Générer des sous-titres: :
    Utilisez un outil tel que LLaVA pour générer une description de la vidéo, enregistrez-la dans le fichier metadata.csv.
  • Commencer la formation: :
    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
    
  • Test des modèles de formation: :
    python inference_recammaster.py --cam_type 1 --ckpt_path path/to/your/checkpoint
    

attirer l'attention sur qqch.: :

  • Plusieurs GPU haute performance sont nécessaires pour l'entraînement, et la taille des lots peut devoir être ajustée pour l'entraînement sur une seule carte.
  • Les hyperparamètres (par exemple le taux d'apprentissage) peuvent être optimisés pour améliorer les résultats.

Utilisation du jeu de données MultiCamVideo

L'ensemble de données MultiCamVideo contient 136 000 vidéos couvrant 13 600 scènes dynamiques, chacune capturée par 10 caméras synchronisées. Voici un guide d'utilisation :

1) Structure de l'ensemble des données

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
  • format vidéoRésolution : 1280x1280, 81 images/seconde, 15 images/seconde.
  • paramètres de la caméra: Longueurs focales (18 mm, 24 mm, 35 mm, 50 mm), ouvertures (10, 5, 2,4).
  • Fichier de suivi: :camera_extrinsics.json Enregistre la position et la rotation de la caméra.

2. utilisation d'ensembles de données

  • Entraînement du modèle de génération vidéo et vérification de l'effet de contrôle de la caméra.
  • Étudier la production vidéo synchronisée ou la reconstruction 3D/4D.
  • Test d'algorithmes de génération de pistes de caméra.

3. exemples d'opérations

  • Décompresser le jeu de données: :
    tar -xzvf MultiCamVideo-Dataset.tar.gz
    
  • Visualisation des trajectoires des caméras: :
    python vis_cam.py
    

    Produire une carte de trajectoire montrant la trajectoire du mouvement de la caméra.

prendre note: :

  • L'ensemble de données est volumineux (1 To de stockage réservé est recommandé).
  • Le ratio vidéo (par exemple 16:9) peut être recadré pour s'adapter au modèle.

Fonctions

1. la génération de nouvelles perspectives

  • FonctionnalitéLes vidéos de la série "La vie en rose" : Générer de nouvelles perspectives à partir d'une seule vidéo, par exemple en transformant une vidéo frontale en une vue latérale ou enveloppante.
  • Fonctionnement en ligne: :
    • Téléchargez la vidéo et sélectionnez la piste (par exemple, l'arc droit).
    • Le système effectue un nouveau rendu à partir de la trajectoire et génère un fichier MP4.
  • opération locale: :
    • être en mouvement inference_recammaster.pyDésignation --cam_type(par exemple 9 pour l'arc gauche).
    • sonde output dans le dossier.
  • attirer l'attention sur qqch.Les scènes dynamiques (par exemple, des personnages qui marchent) sont les plus efficaces ; les arrière-plans statiques risquent d'être générés de manière non naturelle.

2. stabilisation vidéo

  • FonctionnalitéLa technologie de l'image : elle élimine le sautillement de la vidéo de poche et génère des images fluides.
  • gréement: :
    • En ligne : télécharger la vidéo, noter les exigences "stables".
    • Local : aucune commande de stabilisation directe n'est disponible pour l'instant, il faut simuler des trajectoires de translation.
  • effetLes effets de l'effet de balancier : par exemple, une vidéo saccadée prise en courant, traitée pour s'approcher de l'effet de balancier.

3. super-résolution et vulgarisation

  • super-résolution: :
    • Sélectionnez la piste de zoom pour améliorer les détails de l'image.
    • Convient aux vidéos de faible résolution, générant un contenu localisé clair.
  • expansion vers l'extérieur: :
    • Sélectionnez Shrink Track pour étendre les limites de l'écran.
    • S'adapte aux scènes étroites et génère des arrière-plans supplémentaires.
  • gréement: :
    • En ligne : Sélectionnez la piste "Zoom In" ou "Zoom Out".
    • Local : Paramètres --cam_type 5(zoom avant) ou --cam_type 6(rétrécissement).

4. l'amélioration des données

  • FonctionnalitéVidéos multi-vues : générez des vidéos multi-vues pour la formation au pilotage automatique ou à la robotique.
  • gréement: :
    • Téléchargez des vidéos et sélectionnez plusieurs pistes en vrac.
    • Vous pouvez également utiliser l'ensemble de données pour former directement le modèle afin de générer des données diverses.
  • exemple typique: Générer des vidéos de la route avec vue panoramique pour les modèles de conduite autonome.

Problèmes courants résolus...

  • Retard dans les résultats: Vérifier s'il y a des spams, ou contacter jianhongbai@zju.edu.cn.
  • inefficaceLa vidéo doit comporter un nombre suffisant d'images (au moins 81) et la scène doit être dynamique.
  • message d'erreur local (LEM)Vérifier la version de Python (3.10), l'installation de Rust, ou mettre à jour les dépendances.
  • Pondérations manquantes du modèleTélécharger le bon fichier depuis Hugging Face, vérifier le chemin d'accès.

ReCamMaster est facile à utiliser, en particulier la version d'essai en ligne pour les novices. L'ensemble de données constitue une ressource riche pour les chercheurs, et des extensions de fonctionnalités sont à prévoir.

 

scénario d'application

  1. Création de vidéos
    ReCamMaster ajoute des perspectives dynamiques aux vidéos courtes, aux publicités ou aux bandes-annonces de films. Par exemple, transformez un plan fixe en un effet enveloppant pour améliorer l'impact visuel.
  2. conduite automatique
    Générer des vidéos de scènes de conduite multi-vues pour former des modèles de conduite automatique. Il permet de simuler les conditions routières sous différents angles et de réduire le coût de la collecte de données.
  3. réalité virtuelle
    Fournir du contenu multi-vues pour le développement VR/AR, en s'adaptant aux scénarios immersifs. Par exemple, générer des vidéos d'environnement dynamiques pour les jeux VR.
  4. Recherche et éducation
    Les chercheurs peuvent valider des algorithmes à l'aide de l'ensemble de données MultiCamVideo. Les éducateurs peuvent utiliser les vidéos de Nouvelles perspectives pour démontrer des procédures expérimentales et améliorer l'enseignement et l'apprentissage.
  5. Reconstruction 3D/4D
    L'ensemble des données permet des études vidéo synchronisées pour aider à reconstruire des modèles 3D de scènes dynamiques.

 

QA

  1. Quels sont les formats vidéo pris en charge par ReCamMaster ?
    Prend actuellement en charge le format MP4, suggère au moins 81 images, une résolution de 480p ou plus, un meilleur effet de scène dynamique.
  2. L'essai en ligne est-il gratuit ?
    Actuellement gratuit, mais la vitesse de traitement dépend de la charge du serveur. Des services d'accélération payants pourraient être disponibles à l'avenir.
  3. Quelle est la configuration requise pour fonctionner localement ?
    Recommandé : NVIDIA RTX 3060 ou supérieur, au moins 12 Go de mémoire vidéo, environnement Python 3.10.
  4. Comment puis-je télécharger l'ensemble des données ?
    Téléchargé à partir de https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset, il occupe environ 1 To de stockage une fois décompressé.
  5. Est-il possible de personnaliser la piste ?
    L'essai en ligne prend en charge 10 trajectoires prédéfinies ; pour les personnaliser, il faut contacter l'équipe. L'essai local peut modifier les paramètres de la trajectoire par code.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...