Papers
Topics
Authors
Recent
Search
2000 character limit reached

DistScene Framework: 3D Scene Generation

Updated 8 October 2026
  • DistScene is a framework for generating 3D scenes from a single RGB image, encompassing environments and objects in a shared coordinate frame, effectively modeling object interactions and detailed geometries.
  • The model utilizes Scene-Frame Generation to produce initial scene layouts and structural representations, followed by Object-Centric Refinement to enhance object detail and ensure scene coherence.
  • Adapting synthetic training scenes made from language-model descriptions and generated environments that match up with dependable environments, offers reliable, intricate scene compositions.

DistScene is a framework for single-image compositional 3D scene generation that jointly models an explicit environment and multiple independently addressable objects. Given one RGB image, it generates a decomposable scene in which the environment, object geometry, spatial arrangement, and object–environment relationships are represented in a shared coordinate frame. Its principal components are Scene-Frame Generation, Object-Centric Refinement, and Object-to-Scene Distillation. The method uses sparse voxel representations, structured latent features, image-conditioned flow-matching transformers, and automatically composed synthetic training scenes (Luo et al., 3 Oct 2026).

1. Problem formulation and design objectives

Given an RGB image II, DistScene aims to infer a decomposable 3D scene

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},

where E^\widehat E is an environment component and each O^i\widehat O_i is an independently recoverable object. Every object is assigned a scene-space position, scale, and orientation. The generated scene is intended to preserve spatial coherence, support object-level editing and rendering, and provide sufficiently detailed geometry for downstream simulation or interaction.

Single-image 3D generation is intrinsically underdetermined. The image does not uniquely specify the number or identity of objects, their occluded geometry, metric depth and scale, object poses, object–object relationships, or support relationships with floors, walls, roads, and other environmental surfaces. DistScene treats these ambiguities as a joint generative problem rather than as a sequence of independently estimated quantities.

The framework is motivated by limitations in three classes of prior systems. Modular reconstruction methods such as SAM3D, 3D-Fixer, and CAST commonly perform segmentation or detection, depth and pose estimation, object reconstruction, and scene composition in sequence. Errors in earlier stages propagate to later stages, and independently predicted coordinate decisions may be mutually inconsistent. Object-centric feed-forward systems such as MIDI and SceneGen jointly generate multiple objects but generally do not model the surrounding environment as an explicit geometric component. Single-object generators such as TRELLIS.2, TRELLIS, Hunyuan3D, and Craftsman3D provide canonical object geometry but do not directly determine scene placement, relative scale, support, or interaction with environmental geometry.

DistScene addresses these limitations through the decomposition

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),

where G\mathcal{G} denotes Scene-Frame Generation and R\mathcal{R} denotes object-centric refinement. The intermediate scene is

S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.

The environment is therefore not treated as an image-only background. It is generated as a spatially represented 3D component that participates in the same scene-level modeling process as the objects.

2. Sparse voxel and structured-latent representation

DistScene uses sparse voxels as the common representation for objects and environments. A component consists of active voxel coordinates, learned geometry features, and learned appearance or material features. The active coordinates form the component’s support, which captures its coarse spatial occupancy and extent but does not contain all geometric or appearance information.

For component ii, the sparse support is decoded from a structure latent HiH_i:

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},0

where S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},1 is the sparse-structure decoder. Geometry and appearance use structured latent representations:

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},2

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},3

Here, S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},4 denotes decoded geometry or mesh and S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},5 denotes appearance or material. The per-voxel latent features are referred to as Structured Latents, or SLATs.

During Scene-Frame Generation, all components are represented in a common scene coordinate system:

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},6

with one index corresponding to the environment and the remaining indices corresponding to objects. Scene-frame generation consequently encodes object translation, scale, orientation, spatial extent, proximity, contact, and relationships with the environment directly in the generated representation.

The underlying single-asset formulation represents an asset as

S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},7

where S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},8 is the number of active voxels, S′={O^1,…,O^N,E^},S'=\{\widehat O_1,\ldots,\widehat O_N,\widehat E\},9 and E^\widehat E0 are shape and material features, and E^\widehat E1 is a voxel coordinate. A sparse VAE encodes this representation as E^\widehat E2, while an image-conditioned flow-matching generator produces E^\widehat E3 and a sparse decoder reconstructs the asset.

DistScene extends this formulation from one asset to multiple objects and an environment. Sparse supports provide coarse spatial structure, while SLATs encode more detailed geometry and appearance. This separation permits global placement to be modeled at scene scale and individual object detail to be recovered at higher effective local resolution.

3. Scene-Frame Generation

Scene-Frame Generation jointly produces the environment and objects in a shared scene frame. For an input image, DistScene initializes one latent for each object and one latent for the environment:

E^\widehat E4

The latent sequences are flattened and concatenated:

E^\widehat E5

Learnable component or type embeddings identify object slots and the environment slot. A sparse diffusion or flow transformer, implemented as a sparse DiT, performs self-attention over the concatenated sequence. Objects can attend to other objects, objects can attend to the environment, and the environment can attend to the objects. The environment latent consequently functions as a coupling component for scene-level coordination.

The supplementary formulation separates scene generation into joint sparse-structure generation and scene-frame geometry generation. Starting from noise, the structure transformer generates

E^\widehat E6

which are decoded into scene-frame supports:

E^\widehat E7

A second sparse flow transformer then generates scene-frame shape SLATs conditioned on the image and generated supports:

E^\widehat E8

The scene-frame geometries are decoded as

E^\widehat E9

The environment and objects remain separate components, but their coordinates are already expressed in the same scene frame. This avoids requiring an external placement module after independent object generation.

DistScene supports a fixed maximum number of components. Training scenes are capped at 30 components, including the environment, and are randomly padded with empty object slots. Empty supports are discarded during inference, which allows scenes with different numbers of visible objects to use a fixed transformer structure. Inference uses 20 component slots by default.

The scene generator is adapted using LoRA while the pretrained sparse transformer backbone remains frozen. For component O^i\widehat O_i0, with noise latent O^i\widehat O_i1, target latent O^i\widehat O_i2, interpolated latent O^i\widehat O_i3, and predicted velocity O^i\widehat O_i4, the scene flow-matching objective is

O^i\widehat O_i5

The objective is applied across object and environment components. Although the compact expression does not explicitly display the image condition, the architecture is image-conditioned and processes the component sequence jointly.

4. Object-Centric Refinement

Scene-frame generation provides global placement and relationships, but an object occupying a small part of a scene-scale sparse voxel grid may receive insufficient spatial resolution. Object-Centric Refinement addresses this problem by transforming each object into a normalized local frame, refining it with scene context, and mapping it back to its original scene position.

For object O^i\widehat O_i6, the procedure extracts the object from the scene-frame representation, estimates its scene-space extent, re-centers it, applies uniform scaling, and voxelizes it in a local coordinate frame. If O^i\widehat O_i7 denotes the scene-to-local transformation,

O^i\widehat O_i8

The local transform preserves object orientation while increasing its effective spatial resolution. After refinement, the geometry is transformed back into the scene frame:

O^i\widehat O_i9

Refinement is not independent object super-resolution. The refinement model receives the input image, all scene-frame latents, the local support of the target object, and a learnable marker embedding S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),0 identifying the corresponding scene-frame component:

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),1

The marker establishes correspondence between the local object being refined and its global scene-frame token. This is relevant when several objects have similar categories or appearances.

In the more detailed formulation, the refined local latent is

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),2

The final decomposable scene is

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),3

The environment remains in its original scene frame, while each refined object replaces its coarse scene-frame geometry at the same location. Refinement therefore combines global scene consistency with object-level geometric detail.

Refinement training uses self-supervised coarse-to-fine pairs. A high-quality object latent S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),4 is downsampled, passed through the sparse VAE encoder and decoder, and upsampled or voxelized to obtain a degraded latent S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),5. The refinement model learns to recover S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),6 from S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),7 using

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),8

This training procedure does not require manually annotated high-resolution refinement pairs.

5. Object-to-Scene Distillation and synthetic data

Scene-Frame Generation requires decomposed scenes containing an environment, multiple objects, scene-frame transformations, rendered conditioning images, and geometry and appearance targets for every component. Existing scene datasets are limited in scale and object diversity and may not provide all of these aligned signals. DistScene therefore constructs a synthetic corpus from a pretrained object generator through Object-to-Scene Distillation.

A LLM generates structured descriptions for an environment and its objects, including approximate object sizes and composition information. A pretrained object generator, instantiated as TRELLIS.2, generates the environment and objects:

S′=R(G(I)),S'=\mathcal{R}\bigl(\mathcal{G}(I)\bigr),9

G\mathcal{G}0

The same generator produces the environment and objects, making the environment a geometrically detailed 3D asset rather than an empty background.

An adjustment procedure places the objects:

G\mathcal{G}1

subject to a physical plausibility constraint

G\mathcal{G}2

The composed scene is

G\mathcal{G}3

The physical plausibility procedure estimates valid floor regions and support surfaces, drops objects onto valid supports, rejects floating or penetrating placements, performs axis-aligned bounding-box intersection tests, inspects overlapping mesh regions, adjusts positions when possible, rejects unresolved object–object intersections, and checks collisions against non-floor environment surfaces.

For each accepted scene, multiple camera views are rendered. Views are retained when all objects are visible. The resulting training data contain rendered conditioning images, scene-frame geometry and structure targets, scene-frame object and environment latents, canonical object latents, component transforms, local object supports, and shape and texture targets.

The reported synthetic corpus contains approximately:

  • G\mathcal{G}4 synthetic training scenes;
  • G\mathcal{G}5 generated objects;
  • G\mathcal{G}6 empty environments;
  • G\mathcal{G}7 indoor scenes;
  • G\mathcal{G}8 outdoor scenes.

The generated data are rendered at resolution G\mathcal{G}9. The model is trained at this resolution and supports R\mathcal{R}0-resolution inference.

Object-to-Scene Distillation transfers object-generation priors into scene-level generation without requiring manually annotated decomposable scene data. The ablation comparing distilled data with the MIDI training set indicates stronger cross-domain scene-level generalization for the distilled-data model: on Gen3DSR-test, scene CD decreases from R\mathcal{R}1 to R\mathcal{R}2 and scene F-score increases from R\mathcal{R}3 to R\mathcal{R}4.

6. Training, inference, evaluation, and limitations

Training and inference

DistScene uses TRELLIS.2 as its pretrained object generator, LoRA adapters of rank R\mathcal{R}5, frozen pretrained transformer backbones, AdamW optimization, learning rate R\mathcal{R}6, global batch size R\mathcal{R}7, and R\mathcal{R}8 iterations per adapted module. Structure, scene-frame geometry, refinement, and texture branches are trained with flow-matching objectives.

At inference, the system initializes R\mathcal{R}9 noise latents, jointly samples sparse-structure latents, decodes scene-frame supports, generates scene-frame shape SLATs, and decodes the environment and coarse object geometries. Each object is then transformed into a local frame, refined using the image and all scene-frame latents, decoded, and transformed back. Separate texture branches generate environment and object appearance. The final output is

S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.0

Benchmarks and metrics

Indoor evaluation uses MIDI-test and Gen3DSR-test. For MIDI-test, the authors re-rendered scenes with floor, walls, and objects because the original inputs did not contain the complete background required by DistScene. They also rendered aligned masks and depth maps for methods requiring such inputs.

Reported indoor metrics include scene-level Chamfer distance S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.1, scene-level F-score S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.2, object-level Chamfer distance S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.3, object-level F-score S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.4, and scene-coordinate bounding-box IoU. The F-score threshold is S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.5 and is reported in percent. Outdoor evaluation uses UrbanScene3D with CD-L1 and F-score at threshold S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.6.

On UrbanScene3D, DistScene reports CD-L1 S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.7 and F-score S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.8. On MIDI-test, it reports scene CD S=G(I)={O1,…,ON,E}.S=\mathcal{G}(I)=\{O_1,\ldots,O_N,E\}.9, scene F-score ii0, object CD ii1, object F-score ii2, and box IoU ii3. On Gen3DSR-test, it reports scene CD ii4 and scene F-score ii5.

The principal ablations support the framework’s three design choices. Adding an explicit environment improves scene-level geometry and object-level metrics. Object-centric refinement improves object detail and scene quality. Removing scene context from refinement degrades scene CD, object CD, bounding-box IoU, and scene F-score, indicating that refinement should not be treated as an isolated object super-resolution operation.

A user study with 43 participants and 20 randomly selected text-to-image-generated input images compared five anonymized methods. DistScene received preference rates of ii6 for image consistency, ii7 for geometry quality, and ii8 for appearance quality, with an average preference rate of ii9.

Limitations

DistScene’s indoor synthetic environments may omit ceilings because the pretrained object generator has difficulty producing fully enclosed rooms with reliable ceilings. The resulting model may therefore learn an open-top room prior and omit ceilings even when the input depicts a closed room.

Large outdoor scenes are more difficult because a finite number of scene-frame voxels must cover a larger spatial extent. This reduces local geometric resolution and can produce holes, missing fine structures, and incomplete environment geometry. The outdoor training set is also smaller than the indoor set, with approximately HiH_i0 outdoor scenes compared with HiH_i1 indoor scenes.

Inference is computationally expensive. Scene generation at HiH_i2 resolution takes approximately HiH_i3 seconds, and refinement takes approximately HiH_i4 seconds per object, with peak memory of approximately HiH_i5 GB. Since objects are refined independently, scenes with many objects can have high total inference time. The HiH_i6-resolution scene-plus-refinement configuration provides a more favorable efficiency–quality trade-off.

The framework also depends on the quality and biases of language-model descriptions, text-to-image conditioning images, the pretrained object generator, generated empty environments, and procedural placement and collision checks. Synthetic compositions may not represent all real-world arrangements, materials, visibility patterns, or unusual geometries.

Finally, single-image generation cannot guarantee unique recovery of occluded geometry, exact depth, metric scale, or hidden object structure. DistScene generates a plausible scene consistent with the visible image and learned priors rather than claiming metric-perfect reconstruction in every case. Its central contribution is the integration of explicit environment generation, shared scene-frame modeling, context-aware local refinement, and object-to-scene distillation into a decomposable 3D scene-generation framework.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to DistScene.