Skip to content

Resume interrupted pipelines and optimize low-VRAM reconstruction - #27

Open
Rhys-liuliu wants to merge 5 commits into
ooolabdev:mainfrom
Rhys-liuliu:feat/resumable-pipeline
Open

Resume interrupted pipelines and optimize low-VRAM reconstruction#27
Rhys-liuliu wants to merge 5 commits into
ooolabdev:mainfrom
Rhys-liuliu:feat/resumable-pipeline

Conversation

@Rhys-liuliu

@Rhys-liuliu Rhys-liuliu commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • persist durable pipeline checkpoints and resume interrupted or cancelled projects without repeating completed stages
  • replace percentage-based extraction with bounded, quality-aware frame budgets
  • try COLMAP Global Mapper first and automatically fall back to incremental mapping when unavailable or below the registration threshold
  • detect NVIDIA VRAM and apply conservative Brush resolution, splat-count, iteration, and SH budgets
  • retry Brush once with a reduced memory profile after common WebGPU out-of-memory failures
  • display detected VRAM in the acceleration status

Validation

  • cargo test --manifest-path src-tauri/Cargo.toml (72 passed)
  • npm test -- --run (49 passed)
  • npm run build
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
  • built Windows NSIS installer successfully
  • verified the bundled COLMAP global_mapper against a 226-frame RTX 5060 Laptop GPU project; bundled Ceres transparently falls back to CPU for BA

Observed impact

For the existing 12.5-second 60 FPS sample, the Fast frame plan drops from 226 extracted frames to 48. The previous run spent 11m42s in incremental mapping, so frame bounding plus the global-first path targets the dominant pipeline cost while preserving a quality-checked fallback.

Generation-time estimate

  • predicts total runtime from video resolution, bounded frame plan, quality preset, detected VRAM, and completed local runs
  • reports a conservative lower/upper range and confidence based on calibration sample count
  • continuously blends the initial estimate with observed pipeline progress to update remaining time

Multi-orbit pose correction

  • replace sequential-only matching with exhaustive cross-view matching for the bounded 48–400 frame workload
  • enable COLMAP guided matching so geometrically verified cross-lap correspondences constrain camera poses
  • invalidate legacy matching checkpoints while preserving extracted features
  • validated with 74 Rust library tests and a production frontend build

@Rhys-liuliu
Rhys-liuliu force-pushed the feat/resumable-pipeline branch from 062af3a to 3d7bed7 Compare September 3, 2026 11:11
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