Skip to content

Preserve maximum screen radii across camera observations - #1090

Open
Afloat16 wants to merge 1 commit into
nerfstudio-project:mainfrom
Afloat16:fix/strategy-radius-max
Open

Afloat16 wants to merge 1 commit into
nerfstudio-project:mainfrom
Afloat16:fix/strategy-radius-max

Conversation

@Afloat16

Copy link
Copy Markdown

DefaultStrategy updates screen radii through repeated advanced-index assignments. When one Gaussian appears in several cameras, a later smaller observation can overwrite the larger radius, making splitting/pruning depend on camera order.

Reduce observations with scatter_reduce_(amax, include_self=True), preserving both the previous history and the maximum radius in the current packed or unpacked batch. Gradient sums and visibility counts retain their existing accumulation.

Validation on Python 3.12.14 / PyTorch 2.8.0+cpu, with native full-package imports and the repository pytest configuration:

  • Unchanged main: 10 failed / 2 passed / 12 CUDA skips; this branch: 12 passed / 12 CUDA skips.
  • Existing strategy tests plus regressions: 13 passed / 14 CUDA skips.
  • Tests cover camera order, packed/unpacked observations, retained history, invisible Gaussians and disabled screen refinement. Actual split/prune operations resize real Adam moments, preserve optimizer references and remain usable for a subsequent optimization step.
  • Project-pinned Black 22.3.0 changed-file formatting, critical Ruff checks, Python compilation and git diff --check pass.

CUDA reduction execution, renderer integration, full training and image-quality/performance benchmarks were not run.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant