Allgemeine Einführung
ReCamMaster ist ein Open-Source-Videobearbeitungstool mit der Kernfunktion, neue Kameraansichten aus einem einzigen Video zu erzeugen. Die Benutzer können die Kameraspur festlegen und das Video neu rendern, um ein dynamisches Bild mit verschiedenen Blickwinkeln zu erhalten. ReCamMaster wurde von einem Team der Zhejiang University und Racer Technology entwickelt und basiert auf einem Text-zu-Video-Diffusionsmodell. Es unterstützt Videostabilisierung, Super-Resolution-Enhancement und Frame-Extensibility und eignet sich für die Erstellung von Videos, die Generierung von Autopilot-Daten und die Entwicklung von virtueller Realität. ReCamMaster unterstützt Videostabilisierung, Super-Resolution-Enhancement und Frame-Expansion und eignet sich für die Erstellung von Videos, die Generierung von Autopilot-Daten und die Entwicklung von Virtual Reality. Der Open-Source-Code basiert auf dem Wan2.1-Modell, aber aufgrund von Einschränkungen durch die Unternehmenspolitik ist das vollständige Modell noch nicht verfügbar, so dass Sie über den offiziellen Link gehen müssen, um die besten Ergebnisse zu erzielen. Das Team hat auch den MultiCamVideo-Datensatz veröffentlicht, der 136.000 Videos mit mehreren Ansichten enthält, um die damit verbundene Forschung zu erleichtern.
Demnächst verfügbar auf Wirksam Internationale Version Erfahrung. Derzeit können Sie Ihr Video nur bei der offiziellen Testadresse einreichen und auf das offizielle Feedback warten, um Ergebnisse zu erzielen.
Funktionsliste
- Steuerung der Kameraspur: vom Benutzer gewählte oder benutzerdefinierte Kamerapfade zur Erzeugung neuer perspektivischer Videos.
- Videostabilisierung: Verwackelte Videos werden in ein ruhiges Bild für Aufnahmen aus der Hand umgewandelt.
- Super Resolution Enhancement: Verbessert die Videoklarheit durch Zoomspuren, um detaillierte Bilder zu erzeugen.
- Bildschirmerweiterung: Erweitern Sie die Videogrenze, um Szeneninhalte zu erzeugen, die über den ursprünglichen Bildschirm hinausgehen.
- Datenanreicherung: Generierung von Trainingsdaten mit mehreren Ansichten für autonomes Fahren oder Robotersehen.
- Stapelverarbeitung: Unterstützung der gleichzeitigen Verarbeitung mehrerer Videos und automatische Ausgabe der neuen perspektivischen Ergebnisse.
- Datensatzunterstützung: Bietet einen MultiCamVideo-Datensatz mit synchronisiertem Multi-View-Video.
Hilfe verwenden
Das Herzstück von ReCamMaster ist die Möglichkeit, durch die Steuerung der Kameraspur neue Perspektiven aus einem einzigen Video zu erzeugen. Nachfolgend finden Sie ein detailliertes Benutzerhandbuch, das Online-Versuche, lokale Läufe und die Verwendung von Datensätzen behandelt, um den Benutzern einen schnellen Einstieg zu ermöglichen.
Online-Verfahren
ReCamMaster bietet eine bequeme Online-Testversion, mit der Sie das Programm ohne Installation ausprobieren können. Die Schritte sind wie folgt:
- Besuchen Sie den Link zur Studie::
- Öffnen Sie den offiziellen Google Forms-Link: https://docs.google.com/forms/d/e/1FAIpQLSezOzGPbm8JMXQDq6EINiDf6iXn7rV4ozj6KcbQCSAzE8Vsnw/viewform?usp=dialog.
- Geben Sie eine gültige E-Mail-Adresse für den Empfang der Rendering-Ergebnisse ein.
- Video hochladen::
- Bereiten Sie ein Video im MP4-Format mit einer empfohlenen Dauer von mindestens 81 Bildern (ca. 3 Sekunden) und einer Auflösung von nicht weniger als 480p vor.
- Achten Sie darauf, dass der Inhalt des Videos klar und die Szene mäßig dynamisch ist, vermeiden Sie zu dunkle, überbelichtete oder rein statische Bilder.
- Laden Sie das Video in das Formular hoch und beachten Sie dabei die maximale Dateigröße (in der Regel 100 MB, je nach den Anweisungen im Formular).
- Auswählen der Kameraspur::
- ReCamMaster bietet 10 voreingestellte Spuren, um gängige Blickwinkelvarianten abzudecken:
- Nach rechts schwenken: Bewegt sich horizontal, um die Breite der Szene anzuzeigen.
- Nach links schwenken: Bewegt sich horizontal in umgekehrter Richtung.
- Nach oben neigen: Vertikal nach oben neigen, um hohe Details hervorzuheben.
- Nach unten kippen: Kippen Sie vertikal nach unten, um den Bodeninhalt anzuzeigen.
- Heranzoomen: Gehen Sie näher an das Motiv heran, um die örtliche Schärfe zu erhöhen.
- Herauszoomen: Zieht das Objektiv weg, um das Sichtfeld zu erweitern.
- Nach oben verschieben: Mit Rotation nach oben bewegen.
- Nach unten übersetzen: Abwärtsbewegung mit Drehung.
- Bogen links: Dreht sich um die linke Seite des Körpers.
- Bogen rechts: Dreht sich um die rechte Seite des Körpers.
- Wählen Sie im Formular eine Flugbahn aus, oder notieren Sie eine benutzerdefinierte Anforderung (zur Bestätigung müssen Sie das Team kontaktieren).
- ReCamMaster bietet 10 voreingestellte Spuren, um gängige Blickwinkelvarianten abzudecken:
- Ergebnisse einreichen und erhalten::
- Nach dem Absenden des Formulars verarbeitet das System das Video automatisch. Die Bearbeitungszeit beträgt in der Regel ein paar Stunden bis zu einem Tag, je nach Serverauslastung.
- Die Ergebnisse werden im MP4-Format an die E-Mail-Adresse des Benutzers mit der Betreffzeile "Inference Results of ReCamMaster" gesendet und können an folgende Adresse gerichtet werden
jianhongbai@zju.edu.cn
vielleichtcpurgicn@gmail.com
. - Überprüfen Sie den Posteingang und den Spam-Ordner. Wenn Sie einen Tag lang keine Nachricht erhalten haben, wenden Sie sich an das Team.
zur Kenntnis nehmen::
- Kostenlose Testversionen sind für jeden Nutzer verfügbar, aber häufige Einreichungen können die Bearbeitung verzögern.
- Die Qualität der Ergebnisse hängt vom Videoinhalt ab, wobei dynamische Szenen besser funktionieren.
- Für die Zukunft plant das Team die Einführung einer Online-Testseite, die noch einfacher zu bedienen sein wird.
lokaler Betrieb
Der Open-Source-Code basiert auf dem Wan2.1-Modell und ist für Benutzer mit technischem Hintergrund geeignet. Nachfolgend finden Sie die detaillierten Installations- und Laufzeitschritte:
1. die Vorbereitung der Umwelt
- Hardware-Voraussetzung: Geräte mit GPU (z. B. NVIDIA RTX 3060 oder höher) werden empfohlen; der CPU-Betrieb kann langsamer sein.
- Software-Anforderung::
- Python 3.10
- Rust und Cargo (zum Kompilieren von DiffSynth-Studio)
- Git und pip
2. die Installationsschritte
- Klon-Lager::
git clone https://github.com/KwaiVGI/ReCamMaster.git cd ReCamMaster
- Einbau von Rost::
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env"
- Erstellen einer virtuellen Umgebung::
conda create -n recammaster python=3.10 conda activate recammaster
- Installation von Abhängigkeiten::
pip install -e . pip install lightning pandas websockets
- Download Modellgewichte::
- Wan2.1-Modell:
python download_wan2.1.py
- ReCamMaster vortrainierte Gewichte:
Heruntergeladen von https://huggingface.co/KwaiVGI/ReCamMaster-Wan2.1/blob/main/step20000.ckptstep20000.ckpt
hineinsteckenmodels/ReCamMaster/checkpoints
Mappe.
- Wan2.1-Modell:
3. ein Beispielvideo testen
- Führen Sie den folgenden Befehl aus, um mit einer voreingestellten Flugbahn zu testen (z. B. Schwenken nach rechts):
python inference_recammaster.py --cam_type 1
- Die Ausgabe wird im Projektverzeichnis in der Datei
output
Ordner im MP4-Format.
4. benutzerdefinierte Videos testen
- Daten vorbereiten::
- einrichten.
custom_test_data
Ordner das MP4-Video (mindestens 81 Bilder) einfügen. - Erzeugung von
metadata.csv
Video-Pfade und beschreibende Untertitel aufzeichnen. Beispiel:video_path,caption test_video.mp4,"A person walking in the park"
- Untertitel können manuell oder mit Hilfe von Tools wie LLaVA erstellt werden.
- einrichten.
- logische Schlussfolgerung::
python inference_recammaster.py --cam_type 1 --dataset_path custom_test_data
zur Kenntnis nehmen::
- Lokale Versuche funktionieren möglicherweise nicht so gut wie Online-Versuche, da sich das Open-Source-Modell von dem der Diplomarbeit unterscheidet.
- Stellen Sie sicher, dass der GPU-Speicher ausreichend ist (mindestens 12 GB).
- Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie die Version der Abhängigkeit oder lesen Sie die GitHub Issues.
5. die Ausbildungsmodelle
Wenn ein benutzerdefiniertes Modell erforderlich ist, bereiten Sie den MultiCamVideo-Datensatz vor und trainieren ihn:
- Datensatz herunterladen::
Laden Sie es von https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset herunter und entpacken Sie es:cat MultiCamVideo-Dataset.part* > MultiCamVideo-Dataset.tar.gz tar -xzvf MultiCamVideo-Dataset.tar.gz
- Merkmale der Extraktion::
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
- Erzeugen von Untertiteln::
Verwenden Sie ein Tool wie LLaVA, um eine Beschreibung für das Video zu erstellen, und speichern Sie sie in dermetadata.csv
. - Beginn der Ausbildung::
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 Trainingsmodelle::
python inference_recammaster.py --cam_type 1 --ckpt_path path/to/your/checkpoint
auf etw. aufmerksam machen::
- Für das Training sind mehrere Hochleistungs-GPUs erforderlich, und die Stapelgrößen müssen möglicherweise für das Training auf einer einzigen Karte angepasst werden.
- Die Hyperparameter (z.B. Lernrate) können optimiert werden, um die Ergebnisse zu verbessern.
Verwendung des MultiCamVideo-Datensatzes
Der MultiCamVideo-Datensatz enthält 136.000 Videos mit 13.600 dynamischen Szenen, die jeweils von 10 synchronisierten Kameras aufgenommen wurden. Im Folgenden finden Sie einen Leitfaden zu seiner Verwendung:
1. die Struktur des Datensatzes
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
- VideoformatAuflösung: 1280x1280, 81 fps, 15 FPS.
- Kamera-ParameterBrennweiten (18mm, 24mm, 35mm, 50mm), Blendenöffnungen (10, 5, 2,4).
- Datei verfolgen::
camera_extrinsics.json
Zeichnet Kameraposition und -drehung auf.
2. die Verwendung von Datensätzen
- Training des Videogenerierungsmodells und Überprüfung des Kamerakontrolleffekts.
- Studie zur synchronisierten Videoproduktion oder 3D/4D-Rekonstruktion.
- Testen von Algorithmen zur Erzeugung von Kameraspuren.
3 Beispiele für Maßnahmen
- Entpacken Sie den Datensatz::
tar -xzvf MultiCamVideo-Dataset.tar.gz
- Visualisierung von Kameraspuren::
python vis_cam.py
Ausgabe einer Trajektorienkarte, die den Bewegungspfad der Kamera zeigt.
zur Kenntnis nehmen::
- Der Datensatz ist groß (empfohlen wird 1 TB reservierter Speicherplatz).
- Das Videoformat (z. B. 16:9) kann an das Modell angepasst werden.
Funktionen
1. neue Perspektiven schaffen
- FunktionalitätGenerierung neuer Perspektiven aus einem einzigen Video, z. B. Umwandlung eines Frontalvideos in eine Seiten- oder Rundumansicht.
- Online-Betrieb::
- Laden Sie das Video hoch und wählen Sie die Spur (z. B. Rechtsbogen).
- Das System rendert die Flugbahn neu und erzeugt eine MP4-Datei.
- lokaler Betrieb::
- in Bewegung sein
inference_recammaster.py
Bezeichnung--cam_type
(z. B. 9 für den linken Bogen). - Sonde
output
Ergebnisse in dem Ordner.
- in Bewegung sein
- auf etw. aufmerksam machenDynamische Szenen (z. B. laufende Figuren) funktionieren am besten, statische Hintergründe können unnatürlich generiert werden.
2. die Videostabilisierung
- FunktionalitätEliminiert Handheld-Videowackler und erzeugt glatte Bilder.
- Rigg::
- Online: Video hochladen, Anforderungen "stabil" beachten.
- Lokal: derzeit keine direkten Stabilisierungsbefehle verfügbar, müssen durch translatorische Trajektorien simuliert werden.
- Wirkung: z.B. verwackelte Videoaufnahmen beim Laufen, die so bearbeitet werden, dass sie dem Kardan-Effekt nahe kommen.
3) Super-Resolution und Öffentlichkeitsarbeit
- Superauflösung::
- Wählen Sie die Zoomspur, um die Details des Bildes zu vergrößern.
- Geeignet für Videos mit niedriger Auflösung, die klare lokalisierte Inhalte erzeugen.
- nach außen expandierend::
- Wählen Sie Spur schrumpfen, um die Bildschirmgrenzen zu erweitern.
- Passt in schmale Szenen und erzeugt zusätzliche Hintergründe.
- Rigg::
- Online: Wählen Sie die Spur "Vergrößern" oder "Verkleinern".
- Lokal: Einstellungen
--cam_type 5
(Vergrößern) oder--cam_type 6
(Schrumpfung).
4. die Anreicherung der Daten
- FunktionalitätGenerierung von Videos mit mehreren Ansichten für das Autopilot- oder Robotertraining.
- Rigg::
- Laden Sie Videos hoch und wählen Sie mehrere Titel in großen Mengen aus.
- Oder verwenden Sie den Datensatz, um das Modell direkt zu trainieren und vielfältige Daten zu erzeugen.
- typisches BeispielGenerierung von Straßenvideos mit Umgebungsansicht für selbstfahrende Modelle.
Häufig gestellte Fragen
- Verzögerung der ErgebnisseSpam-Überprüfung oder Kontakt
jianhongbai@zju.edu.cn
. - unwirksamVergewissern Sie sich, dass das Video über eine ausreichende Anzahl von Bildern (mindestens 81) verfügt und dass die Szene dynamisch ist.
- lokale Fehlermeldung (LEM)Überprüfen Sie die Python-Version (3.10), die Rust-Installation oder aktualisieren Sie die Abhängigkeiten.
- Fehlende Modellgewichte: Laden Sie die richtige Datei von Hugging Face herunter, überprüfen Sie den Pfad.
ReCamMaster ist einfach zu benutzen, insbesondere die Online-Testversion für Anfänger. Der Datensatz stellt eine reichhaltige Ressource für Forscher dar, und zukünftige Funktionserweiterungen sind zu erwarten.
Anwendungsszenario
- Video-Erstellung
ReCamMaster verleiht kurzen Videos, Werbespots oder Filmtrailern dynamische Perspektiven. Verwandeln Sie zum Beispiel eine feste Aufnahme in einen Wrap-Around-Effekt, um die visuelle Wirkung zu verstärken. - automatisches Fahren
Generieren Sie Videos von Fahrszenen mit mehreren Ansichten, um automatische Fahrmodelle zu trainieren. Es kann Straßenbedingungen aus verschiedenen Blickwinkeln simulieren und die Kosten der Datenerfassung reduzieren. - virtuelle Realität
Bereitstellung von Multiview-Inhalten für die VR/AR-Entwicklung, die sich an immersive Szenarien anpassen lassen. Zum Beispiel die Erstellung dynamischer Umgebungsvideos für VR-Spiele. - Forschung und Bildung
Forscher können Algorithmen mit Hilfe des MultiCamVideo-Datensatzes validieren. Pädagogen können New Perspectives-Videos nutzen, um experimentelle Verfahren zu demonstrieren und das Lehren und Lernen zu verbessern. - 3D/4D-Rekonstruktion
Der Datensatz unterstützt synchronisierte Videostudien, um 3D-Modelle von dynamischen Szenen zu rekonstruieren.
QA
- Welche Videoformate werden von ReCamMaster unterstützt?
Derzeit unterstützt MP4, schlägt mindestens 81 Frames, Auflösung 480p oder höher, dynamische Szene Effekt ist besser. - Ist der Online-Test kostenlos?
Derzeit kostenlos, aber die Verarbeitungsgeschwindigkeit hängt von der Serverauslastung ab. In Zukunft werden möglicherweise kostenpflichtige Beschleunigungsdienste verfügbar sein. - Welche Konfiguration ist für die lokale Ausführung erforderlich?
Empfohlen: NVIDIA RTX 3060 oder höher, mindestens 12 GB Videospeicher, Python 3.10 Umgebung. - Wie kann ich den Datensatz herunterladen?
Nach dem Herunterladen von https://huggingface.co/datasets/KwaiVGI/MultiCamVideo-Dataset nimmt die Datei nach dem Dekomprimieren etwa 1 TB Speicherplatz in Anspruch. - Ist es möglich, die Strecke individuell zu gestalten?
Der Online-Versuch unterstützt 10 voreingestellte Flugbahnen, für eine individuelle Anpassung muss das Team kontaktiert werden. Der lokale Lauf kann die Parameter der Trajektorie per Code ändern.