Skip to content
AI.info

Research

Class-Partitioned VQ-VAE and Latent Flow Matching for Point Cloud Scene Generation

Overview Research area: Computer Vision / 3D generative modeling, specifically point cloud scene generation using vector-quantized autoencoders and latent-space flow matching. Technical level: Interme

arXiv
2601.12391
Published
2026-01-18
Authors
Dasith de Silva Edirimuni, Ajmal Saeed Mian

AI summary

Overview

Research area: Computer Vision / 3D generative modeling, specifically point cloud scene generation using vector-quantized autoencoders and latent-space flow matching.

Technical level: Intermediate — readers will benefit from familiarity with autoencoders, diffusion models, vector quantization, and flow matching, but the core ideas can be grasped without deep mathematical background.

Scope: The paper proposes a class-partitioned VQ-VAE combined with a latent flow matching model to generate complete 3D point cloud scenes (bounding boxes, class labels, and object shapes) without depending on an external object retrieval database.

What This Paper Is About

Most existing 3D scene generation methods only predict object bounding box parameters, or they generate latent codes that are then used to retrieve an object mesh from a predefined database filtered by class. The paper's authors show that for complex scenes (such as living rooms and dining rooms), latents produced by diffusion models cannot be reliably decoded by a standard VAE into point clouds that match the target class. The goal is a pure point cloud scene generation framework that directly decodes generated latents into class-consistent point cloud objects, with no external object database retrieval needed.

Key Contributions

  1. A pure point cloud scene generation method that simultaneously generates object bounding box parameters (translation, rotation, size), class labels, and latent features, and decodes them directly into point clouds rather than retrieving from a database.
  2. A novel Class-Partitioned VQ-VAE (CPVQ-VAE) whose codebook codevectors are labeled by class. During inference, the model uses generated class labels to perform a class-aware inverse lookup that maps 32-dimensional latent features to the correct 128-dimensional codebook entries, which are then decoded into class-consistent point clouds.
  3. A class-aware running average update mechanism that reinitializes dead codevectors within each class partition during training, addressing codebook collapse in the VQ-VAE.
  4. A 3D latent-space Flow Matching Model (LFMM) designed specifically for scene generation, which converges to plausible scene layouts in fewer sampling steps while producing object features that the CPVQ-VAE can successfully decode.

Main Findings

  • Large improvement on complex scenes: On living room generation, the method achieves up to 70.4% reduction in Chamfer Distance (CD) and 72.3% reduction in Point2Mesh (P2M) error compared to Diffuscene. Relative to the authors' own LFMM+VAE variant, reductions of 63.2% (CD) and 64.7% (P2M) are reported.
  • Diffuscene struggles on complex scenes: Diffuscene produced CD/P2M of 30.63 / 29.87 on living rooms, while the full LFMM+CPVQ-VAE reached 9.06 / 8.27. On the dining room, LFMM+VAE already improved substantially (CD 2.66, P2M 2.62) compared to Diffuscene (CD 30.60, P2M 29.49), and the full model reached 2.38 / 2.17. On bedrooms, Diffuscene recorded CD 45.01 / P2M 44.88 versus 2.46 / 2.06 for the full model.
  • Retrieval performance: Flow-matching-based retrieval generally outperformed diffusion (Diffuscene) and autoregressive (ATISS) baselines. The full model achieved the best average FID (24.34) and average KID (3.107), compared to ATISS (26.21 / 3.686) and Diffuscene (27.58 / 4.775).
  • Runtime efficiency: The method runs in 0.892 seconds, versus 9.153 seconds for Diffuscene and 0.024 seconds for ATISS. This makes the method 90.3% faster than Diffuscene.
  • Codebook collapse is real: In ablations, a plain VQ-VAE (V2) performed worse than a standard VAE (V1) — CD 36.27 vs 4.24 — and a class-partitioned VQ-VAE without the running average update (V3) reached CD 5.00. Only the full CPVQ-VAE with class partitioning and the class-aware running average update (V4) dramatically improved to CD 2.46 and P2M 2.06.
  • Sampling iterations matter: For the bedroom set, N_t̂ = 10 sampling steps gave FID 21.79, KID 1.324, SCA 0.537, CKL 3.954 at 0.094 s; N_t̂ = 100 gave FID 21.34, KID 0.794, SCA 0.534, CKL 3.837 at 0.892 s; and N_t̂ = 1000 gave FID 21.75, KID 0.967, SCA 0.517, CKL 2.411 at 8.963 s. The authors identify N_t̂ = 100 as the best balance of quality and speed.

Methodology in Plain English

The framework has two main stages:

  1. The CPVQ-VAE (autoencoder stage): A standard VQ-VAE encodes a point cloud into a latent vector and quantizes it by finding the nearest codevector in a learned codebook. The authors partition this codebook by class, so each class has its own set of codevectors (total codevectors = number of classes × codevectors per class). An indicator function restricts the quantization search to the correct class's partition. Because VQ-VAEs tend to suffer from "codebook collapse" (only a few codevectors get trained while many remain unused), the authors track how often each codevector is used per training step and use an exponential decay formula to reinitialize "dead" codevectors with features from the current mini-batch — done in a class-aware way so a codevector from class A is never overwritten with a feature from class B.

  2. The LFMM (generation stage): A U-Net-based flow matching model is trained to map noise to clean scene attribute vectors. Each object attribute vector is a concatenation of translation, rotation, size, class one-hot vector, and latent feature. The model learns a constant velocity field along optimal-transport linear interpolation paths between noise and data, and sampling uses a simple Euler method. At inference, the generated object features are truncated from 128 to 32 dimensions, and a class-aware inverse lookup finds the closest matching codevector in the codebook using cosine similarity restricted to the predicted class partition. The decoded codevector becomes the final point cloud.

The method was trained on the 3D-FRONT dataset (using the version and preprocessing from ATISS and LEGO-Net), with splits of 2338/587 (living room), 2071/516 (dining room), and 5668/224 (bedroom). Live/dining models were trained for 100K epochs and bedroom for 40K epochs on an NVIDIA RTX 4090. CD and P2M metrics are reported ×10³, KID ×10³, and CKL ×10², with SCA scores closer to 0.5 being better.

Why This Matters

This work moves 3D scene generation from "generate a layout, then retrieve objects from a database" toward "generate the actual geometry directly." This eliminates database dependence and the class-mismatch failures that plague retrieval pipelines. It also establishes that discrete, class-partitioned representations can be effectively paired with modern flow-matching generators.

Real-world applications:

  • Interior design and furniture layout tools — generating complete room scenes with correctly typed furniture (sofas, tables, beds) directly as point clouds.
  • Virtual and augmented reality content creation — rapid generation of 3D environments for games and simulations without hand-modeling or asset libraries.
  • Robotics and embodied AI — generating plausible obstacle arrangements and scene configurations for training and testing navigation or manipulation policies.
  • Architecture and real-estate visualization — quickly producing layout previews for unbuilt or unfurnished spaces.

Industry relevance: Any sector that relies on 3D scene synthesis — gaming, film pre-visualization, AR/VR, home furnishing e-commerce, and simulation for robotics — could benefit from a faster, database-free scene generation pipeline. The reported 90.3% speed-up over Diffuscene is directly relevant to interactive or iterative design workflows.

Future Directions

  • Scaling to denser point clouds: The authors note that current autoencoders cannot process dense point clouds, so the work is limited to objects of N_P = 2025 points. Improving autoencoder learning capacity to support denser clouds is an explicit future direction.
  • Reducing quantization error: Vector quantization introduces error that marginally deteriorates the variety of retrieved objects; reducing this error is noted as a research direction.
  • Extending to other scene types: The paper evaluates living, dining, and bedroom scenes; broader scene categories (kitchens, offices, outdoor spaces) remain unexplored.
  • Comparing against additional baselines: DeBaRa and CASAGPT were not compared because no code was available, leaving open how the method would fare against those approaches under a fair comparison.

Target Audience

Researchers and practitioners in 3D computer vision, generative modeling, and 3D scene synthesis, particularly those working with point clouds, vector-quantized autoencoders, or flow matching. It is also relevant to industry engineers building scene generation pipelines for gaming, AR/VR, interior design, or robotics simulation. Graduate students with background in deep generative models will find the conceptual framing accessible, though implementation details (codebook partitioning, class-aware reinitialization, class-aware inverse lookup) assume intermediate familiarity with VQ-VAEs and diffusion/flow-matching literature.

Authors’ abstract

Most 3D scene generation methods are limited to only generating object bounding box parameters while newer diffusion methods also generate class labels and latent features. Using object size or latent feature, they then retrieve objects from a predefined database. For complex scenes of varied, multi-categorical objects, diffusion-based latents cannot be effectively decoded by current autoencoders into the correct point cloud objects which agree with target classes. We introduce a Class-Partitioned Vector Quantized Variational Autoencoder (CPVQ-VAE) that is trained to effectively decode object latent features, by employing a pioneering $\textit{class-partitioned codebook}$ where codevectors are labeled by class. To address the problem of $\textit{codebook collapse}$, we propose a $\textit{class-aware}$ running average update which reinitializes dead codevectors within each partition. During inference, object features and class labels, both generated by a Latent-space Flow Matching Model (LFMM) designed specifically for scene generation, are consumed by the CPVQ-VAE. The CPVQ-VAE's class-aware inverse look-up then maps generated latents to codebook entries that are decoded to class-specific point cloud shapes. Thereby, we achieve pure point cloud generation without relying on an external objects database for retrieval. Extensive experiments reveal that our method reliably recovers plausible point cloud scenes, with up to 70.4% and 72.3% reduction in Chamfer and Point2Mesh errors on complex living room scenes.

Read the original paper