DSO: Ein von Oxford veröffentlichtes 3D-Modelloptimierungs-Framework mit Berücksichtigung physikalischer Gesetze 153

小编 ·

DSO: Ein von Oxford veröffentlichtes 3D-Modelloptimierungs-Framework mit Berücksichtigung physikalischer Gesetze

DSO (Direct Simulation Optimization) ist eine von der Universität Oxford veröffentlichte Methode zur Verbesserung von Image-to-3D-Generatoren wie TRELLIS. Durch direkte Simulationsoptimierung erhöht sie die Stabilität der erzeugten 3D-Objekte in physikalischen Simulationen und in der realen Welt. Sie verursacht keine zusätzlichen Kosten zur Testzeit und kann in kurzer Zeit stehende 3D-Objekte erzeugen.

DSO: Ein von Oxford veröffentlichtes 3D-Modelloptimierungs-Framework mit Berücksichtigung physikalischer Gesetze

Was ist DSO?

DSO (Direct Simulation Optimization) ist eine von der Universität Oxford veröffentlichte Methode zur Verbesserung von Bild-zu-3D-Modell-Generatoren (wie TRELLIS). Durch direkte Simulationsoptimierung erhöht sie die Stabilität der erzeugten 3D-Objekte in physikalischen Simulationen und in der realen Welt. Sie erfordert keine zusätzlichen Kosten zur Testzeit und kann in kurzer Zeit stehfähige 3D-Objekte erzeugen.

DSO是什么?.webp

Funktionsmerkmale von DSO

  • Verbesserung der 3D-Modellstabilität: Löst das Problem herkömmlicher Generatoren, die keine unter Schwerkraft stehfähigen 3D-Objekte erzeugen können, und verbessert die Stabilität der generierten 3D-Objekte in physikalischen Simulationen und beim 3D-Druck erheblich.

  • Hohe Effizienz: Zur Testzeit fallen keine zusätzlichen Kosten an; stabile 3D-Objekte werden im Sekundenbereich erzeugt.

  • Kompatibilität: Optimiert auf Basis bestehender Bild-zu-3D-Modell-Generatoren (wie TRELLIS) und lässt sich nahtlos integrieren, wobei deren ursprüngliche Funktionen und Vorteile vollständig genutzt werden.

  • Bereitstellung vortrainierter Modelle: Es werden zwei vortrainierte Modell-Checkpoints bereitgestellt, die jeweils durch Direct Preference Optimization (DPO) und Direct Reward Optimization (DRO) trainiert wurden, um Nutzern einen schnellen Einstieg zu ermöglichen.

Anwendungsszenarien von DSO

  • 3D-Druck: Die erzeugten 3D-Modelle stehen nach dem tatsächlichen Druck mit höherer Wahrscheinlichkeit stabil, wodurch Druckfehler oder die Notwendigkeit zusätzlicher Stützstrukturen aufgrund instabiler Modelle reduziert und die Erfolgsquote sowie Praxistauglichkeit des 3D-Drucks verbessert werden.

  • Virtuelle Realität und Erweiterte Realität: Erstellung realistischerer und stabilerer 3D-Objekte in virtuellen Umgebungen zur Verbesserung des Nutzererlebnisses, beispielsweise dass in virtuellen Szenen platzierte Objekte gemäß den physikalischen Gesetzen stabil existieren.

  • Spieleentwicklung: Bietet eine Lösung für die Generierung von 3D-Modellen in Spielen, die besser den physikalischen Regeln entspricht, sodass Objekte im Spiel unter Einfluss von Schwerkraft und anderen physikalischen Faktoren natürlicher wirken und der Realitätsgrad sowie die Immersion des Spiels gesteigert werden.

  • Architekturdesign und Industriedesign: Unterstützt Designer dabei, rasch 3D-Modellprototypen zu erstellen, die physikalische Stabilitätsanforderungen erfüllen, um erste Designbewertungen und Validierungen durchzuführen und die Anzahl designbezogener Änderungen und Iterationen aufgrund von Stabilitätsproblemen zu reduzieren.

DSO应用场景.webp

Anleitung zur Nutzung von DSO

1. Abhängigkeiten installieren:

  • TRELLIS-Abhängigkeiten installieren: Erstellen Sie eine Python-Umgebung und installieren Sie PyTorch in der angegebenen Version sowie zugehörige Abhängigkeitsbibliotheken, führen Sie das Skript zur Installation weiterer relevanter Bibliotheken aus und installieren Sie abschließend die Kaolin-Bibliothek.

  • Verbleibende Abhängigkeiten installieren mit dem Befehl pip install -r requirements.txt.

2. Vortrainierte Modelle herunterladen: Laden Sie die durch DPO und DRO trainierten vortrainierten Modelle mit den Befehlen git lfs install und git clone herunter.

3. Schnellstart zur Generierung: Verwenden Sie das Skript example.py, laden Sie das vortrainierte Modell und das Eingabebild, führen Sie die Vorverarbeitung und Generierung mit TrellisImageTo3DPipeline durch und exportieren Sie das erzeugte Modell schließlich im GLB-Format.

4. Evaluierung:

  • Laden Sie den Evaluierungsdatensatz herunter.

  • Erzeugen Sie mit den trainierten Checkpoints 3D-Modelle.

  • Berechnen Sie Stabilitäts- und geometrische Metriken.

5. Training:

  • Erzeugen Sie synthetische Trainingsdaten, einschließlich dem Beschaffen von Bildern, dem Erzeugen von 3D-Modellen sowie dem Hinzufügen von Simulationsfeedback und dem Speichern der physikalischen Plausibilitätsbewertungen.

  • Starten Sie den Trainingsvorgang, geben Sie das Datenverzeichnis an und führen Sie das Skript finetune.py aus.

Github-Adresse: https://github.com/RuiningLi/dso