日本語 · English · 简体中文 · 繁體中文 · 한국어 · Deutsch
Verwandelt eine MuJoCo-Simulationsszene in ein 3D-Gaussian-Splatting-Modell und erzeugt ein rundum drehbares GIF sowie Bilder aus neuen Blickwinkeln. Die Kameraposen stammen aus den Ground-Truth-Daten der Simulation, daher wird kein COLMAP benötigt.
Im imgevolve-Ordner:
3dgs go2 --open
Allein damit wird go2 (ein vierbeiniger Roboter) in 3DGS umgewandelt und das fertige Rundum-GIF automatisch geöffnet.
3dgs cassie / 3dgs apollo / 3dgs anymal / 3dgs spot3dgs <lokaler Arbeitspfad>\path\to\scene.xml3dgs --list3dgs go2 --quality fast :: 128px / 8.000 Gaussians (wenige Sekunden, für einen schnellen Blick)
3dgs go2 --quality balanced :: 256px / 20.000 Gaussians (Standard)
3dgs go2 --quality high :: 384px / 45.000 Gaussians (am saubersten)
3dgs go2 --quality high --densify --open
Mit --densify erhöht das Training automatisch die Anzahl der Gaußfunktionen, um mehr Detail zu erzeugen (nur bei nativem gsplat). Bei go2 wächst die Zahl von etwa 8.000 auf etwa 50.000, wodurch Rumpf und Beine deutlich glatter wirken. Das dauert wenige bis gut ein Dutzend Sekunden.
--backend torch / --backend gsplat lässt es sich auch explizit festlegenDie Umgebung (CUDA/Compiler) richtet der Launcher automatisch ein, sodass man sich nicht um vcvars & Co. kümmern muss.
spikes/studio_app.py starten → im Panel “Sim-Modell in 3D ansehen / in 3DGS umwandeln” den Szenennamen (Chip anklicken oder eintippen) und die Qualität wählen, dann “3DGS-Training 🎇” → nach Abschluss öffnet sich das Rundum-GIF.
Unter out/3dgs_<scene>/ (oder dem mit --out angegebenen Ziel) entstehen:
turntable.gif … Rundum-Vorschaunovelview.png … links = Ground Truth / rechts = Rendering aus neuem Blickwinkelgaussians.npz … trainierte Gaußfunktionen (npz)gaussians.ply … Standard-3DGS-.ply (bei nativem Backend). Lässt sich per Drag & Drop in einen Web-Viewer wie SuperSplat öffnenreport.json … Kennzahlen wie PSNR.venv-gsplat für das GPU-Training (torch cu128).gsplat-cuda (CUDA 12.8) sowie die C++-Werkzeuge von VS BuildTools. Details und Reproduktionsschritte stehen in docs/GSPLAT_NATIVE_WINDOWS.mdEhrlicher Hinweis: Wie stark
--densifyhilft, hängt von der Szene ab. Ein massiver Körper wie go2 wird sauber, aber ein dünner Zweibeiner wie cassie kann sich an die Trainingsansichten überanpassen, sodass der Hold-out-Blick etwas weicher ausfällt. Empfehlung: zunächst ohne die Option testen und sie nur bei Bedarf hinzufügen.
3dgs go2 --motion --open
Statt eines Standbilds entsteht hier ein 3DGS eines sich bewegenden Roboters. So funktioniert es:
motion.gifDa ein Roboter aus einer Menge starrer Glieder besteht, bewegt er sich natürlich, ohne dass volles 4D-GS nötig wäre. Mit --frames N lässt sich die Bildanzahl ändern.
Ehrlich: Die Standardbewegung ist eine Demo-Sinuswelle (keine echte Gangart-Policy). Da die Posen der Simulation Ground Truth sind, bricht nichts strukturell zusammen, aber in der Nähe der Füße kann leichtes Rauschen auftreten (Grenzbereich der Body-Zuordnung der Initialisierungspunkte).
3dgs go2 --motion --gait trot --open
Mit --gait trot wird automatisch ein Trab-Gangmuster für Vierbeiner erzeugt und abgespielt (diagonale Beine treten phasengleich). Die Beine werden anhand der Gelenknamen (FL/FR/RL/RR oder LF/RF/LH/RH + thigh/calf) automatisch erkannt, daher funktioniert es bei go2 und anymal. Nicht erkennbare Modelle fallen auf eine Sinuswelle zurück. Um die Ausgabe einer echten Gangart-Policy zu verwenden, nutzt man --motion-file traj.npy (eine qpos-Trajektorie (F,nq)).