Skip to content

Question about the online Gaussian update #6

Description

@gc625-kodifly

I’m trying to understand how Algorithm 2 is implemented in the released code.

The paper says that, for each new frame, the previous Gaussians are deformed forward and used to update matching Gaussians in the canonical set. The current frame’s backward-deformed Gaussians are then fused into that set, after which expired Gaussians are pruned.

However, the released inference path appears to:

  1. Process every adjacent frame pair independently.
  2. Predict Gaussian sets for both endpoints.
  3. Concatenate them in model/model_utils.py.
  4. Render the combined pair-local set.
  5. Return only the rendered frames.
    I couldn’t find persistent canonical Gaussian state, matching between consecutive pairs, an UPDATE operation, or pruning. model/splat_model_inference.py also does not return the predicted Gaussians or the current embedding for use by the next call.

Am I missing where this part of Algorithm 2 is implemented? If it is not included in the release, could you clarify how the following are intended to work?

  • How are forward-deformed Gaussians matched to existing canonical Gaussians?
  • Which attributes are updated after a match?
  • How are backward-deformed Gaussians fused without creating duplicates?
  • How is Gaussian state carried between incoming frames?
  • What opacity threshold is used for pruning?
    Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions