$ show GGGHSL/GraphDreamer
GraphDreamer is a PyTorch-based system for generating compositional 3D scenes from scene graphs. It implements a coarse-to-fine approach where objects are represented as implicit signed distance functions (SDFs) and optimized using gradient signals from 2D diffusion models (DeepFloyd IF for coarse stage, Stable Diffusion for refinement). The system takes text prompts describing objects and their relationships, constructs a scene graph, and generates 3D meshes representing the composed scene. Architecture follows the threestudio framework with modular components for data handling, geometry, materials, guidance, rendering, and system orchestration. Key entry points are in launch.py which supports training, validation, testing, and export modes via command-line interface.
The LLM identified 3 files worth highlighting for reuse:
Provides flexible encoding and MLP components for neural field representations. Includes ProgressiveBandHashGrid for multi-resolution encoding, CompositeEncoding for combining encodings with spatial coordinates, and factory functions for creating MLPs with various initializations. These are general-purpose components that could be reused in many NeRF-like projects with minimal adaptation.
Contains essential utilities for neural rendering implementations. Includes TruncExp activation (from torch-ngp), chunk_batch utility for memory-efficient processing, ray operations (get_ray_directions, get_rays), and mathematical helpers for perpendicular/aligned component calculations. These solve common problems in 3D vision and rendering projects and are largely self-contained with minimal external dependencies.
Implements an ImportanceEstimator for neural rendering based on nerfacc. Provides importance sampling for efficient ray sampling in volumetric rendering. Cleanly adapted from nerfacc for use in this project and could be easily extracted for other neural rendering applications with only torch and nerfacc dependencies.