Carveout Segments and Labels Objects Inside Trained Gaussian Splatting Scenes

Carveout segments and labels objects inside already trained 3D Gaussian Splatting scenes with SAM 3, exporting each object as its own .ply with no retraining.

Carveout segments and labels objects inside already trained 3D Gaussian Splatting scenes with SAM 3, exporting each object as its own .ply with no retraining.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Carveout

Hugues Bruyère has published Carveout, an open source tool that finds and labels objects inside an already trained 3D Gaussian Splatting scene.

Carveout reads a trained .ply in the standard 3DGS layout or a PlayCanvas SOG v2 .sog bundle, renders synthetic views with gsplat, runs SAM 3 Promptable Concept Segmentation over a vocabulary of noun phrases, and attributes the resulting 2D masks back onto individual Gaussians. There is no retraining and no per scene model.

Each exported object carries a label, position, oriented bounding box, supporting views and confidence, written to interactions.json alongside one .ply per object under stage4/instances/ and a run_report.md. Swapping a scene between its .ply and its .sog mid run demotes every gate, because the Gaussian order differs.

The lift's class pass is the ceiling on scene size, costing roughly 12 bytes per Gaussian per class of vocabulary. A 2 million Gaussian scene fits about 880 classes on a 24GB card and 1,200 on a 32GB card, a 14 million Gaussian scene about 130 and 180, and a 30 million Gaussian scene about 60 and 85.

Bruyère measured the stages on an RTX 5090, across a 2.1 million Gaussian interior and a 13.9 million Gaussian dense capture. Rendering 40 views at 1024 by 1024 took 31 seconds, and probing 73 prompts across 40 views took 5.0 minutes at 8GB. The lift took 168 seconds at 15.9GB peak on the large capture against 114 seconds at 4.9GB on the small one. Optional label verification runs 3.5 to 7 seconds per object on the RTX 4090 and RTX 5090 with support checks, putting 641 objects at roughly 70 minutes.

The tested configuration is Ubuntu 22.04 native, an RTX 4090 or RTX 5090, CUDA 12.8, PyTorch 2.7.1 on cu128 wheels and 64GB of RAM, and nothing else is supported. VRAM is a configuration value, a 24gb default rendering at 768 by 768 and a 32gb profile opt in at 1024 by 1024. Carveout renders minus Y up, and no splat container records an up axis, so orientation is the operator's to set.

The only front end is a browser app, carveout web, which binds to 127.0.0.1 on port 8090 and draws the scene on a three.js and SparkJS canvas. There is no headless mode, and nothing reaches the network at run time. An optional local vision language model, Qwen3.8-27B or Qwen3-VL-8B, both Apache-2.0 and loaded 4-bit, proposes the vocabulary and verifies labels, and is off by default. The SAM 3 checkpoints are gated under Meta's SAM License, and Carveout redistributes no weights.

Bruyère describes Carveout as a research project that is not actively maintained, with no CI, four unit tests, a single local user assumption and no authentication. The code is public on Carveout's main branch under GPL-3.0 or later. The repository is public now.

Featured

Recents

Platforms

Spatial Film 9.2 Adds a Gaussian Splat Player With Insta360 Spatial Capture Links

Spatial Film 9.2 adds a free Splat Player to Apple Vision Pro, opening 3D Gaussian Splat .ply files up to 400,000 splats and Insta360 Spatial Capture links.

Michael Rubloff

Sep 22, 2026

Platforms

Spatial Film 9.2 Adds a Gaussian Splat Player With Insta360 Spatial Capture Links

Spatial Film 9.2 adds a free Splat Player to Apple Vision Pro, opening 3D Gaussian Splat .ply files up to 400,000 splats and Insta360 Spatial Capture links.

Michael Rubloff

Platforms

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph Intro: Babylon.js 9.27.1 adds Gaussian splats to the frame graph geometry renderer, writing GLSL and WGSL prepass outputs for depth, normal, albedo and velocity.

Michael Rubloff

Sep 19, 2026

Platforms

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph Intro: Babylon.js 9.27.1 adds Gaussian splats to the frame graph geometry renderer, writing GLSL and WGSL prepass outputs for depth, normal, albedo and velocity.

Michael Rubloff

Platforms

Niantic Spatial Launches Gaussian Splat Relighting

Niantic Spatial opens a design-partner beta for Gaussian splat relighting, using the aligned mesh and precomputed radiance transfer to vary sun, sky and rain.

Michael Rubloff

Sep 19, 2026

Platforms

Niantic Spatial Launches Gaussian Splat Relighting

Niantic Spatial opens a design-partner beta for Gaussian splat relighting, using the aligned mesh and precomputed radiance transfer to vary sun, sky and rain.

Michael Rubloff

CorbeauSplat 2.0.0-beta.4 Fixes Its 4DGS COLMAP Step

CorbeauSplat v2.0.0-beta.4 is a pre-release fixing a 4DGS bug that fed COLMAP every frame of every camera, and tracking renamed splat-transform CLI flags.

Michael Rubloff

Sep 18, 2026

CorbeauSplat 2.0.0-beta.4 Fixes Its 4DGS COLMAP Step

CorbeauSplat v2.0.0-beta.4 is a pre-release fixing a 4DGS bug that fed COLMAP every frame of every camera, and tracking renamed splat-transform CLI flags.

Michael Rubloff

Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

More from Michael Rubloff

More from Michael Rubloff

Platforms

Spatial Film 9.2 Adds a Gaussian Splat Player With Insta360 Spatial Capture Links

Spatial Film 9.2 adds a free Splat Player to Apple Vision Pro, opening 3D Gaussian Splat .ply files up to 400,000 splats and Insta360 Spatial Capture links.

Michael Rubloff

Sep 22, 2026

SpatialFilm

Platforms

Spatial Film 9.2 Adds a Gaussian Splat Player With Insta360 Spatial Capture Links

Michael Rubloff

Sep 22, 2026

SpatialFilm

Platforms

Spatial Film 9.2 Adds a Gaussian Splat Player With Insta360 Spatial Capture Links

Spatial Film 9.2 adds a free Splat Player to Apple Vision Pro, opening 3D Gaussian Splat .ply files up to 400,000 splats and Insta360 Spatial Capture links.

Michael Rubloff

Sep 22, 2026

SpatialFilm

Platforms

Carveout Segments and Labels Objects Inside Trained Gaussian Splatting Scenes

Carveout segments and labels objects inside already trained 3D Gaussian Splatting scenes with SAM 3, exporting each object as its own .ply with no retraining.

Michael Rubloff

Sep 22, 2026

Carveout

Platforms

Carveout Segments and Labels Objects Inside Trained Gaussian Splatting Scenes

Michael Rubloff

Sep 22, 2026

Carveout

Platforms

Carveout Segments and Labels Objects Inside Trained Gaussian Splatting Scenes

Carveout segments and labels objects inside already trained 3D Gaussian Splatting scenes with SAM 3, exporting each object as its own .ply with no retraining.

Michael Rubloff

Sep 22, 2026

Carveout

Platforms

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph Intro: Babylon.js 9.27.1 adds Gaussian splats to the frame graph geometry renderer, writing GLSL and WGSL prepass outputs for depth, normal, albedo and velocity.

Michael Rubloff

Sep 19, 2026

Babylon.js

Platforms

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph

Michael Rubloff

Sep 19, 2026

Babylon.js

Platforms

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph

Babylon.js 9.27.1 Puts Gaussian Splats in Frame Graph Intro: Babylon.js 9.27.1 adds Gaussian splats to the frame graph geometry renderer, writing GLSL and WGSL prepass outputs for depth, normal, albedo and velocity.

Michael Rubloff

Sep 19, 2026

Babylon.js

New to Gaussian Splatting? Start here

Radiance fields, explained from the ground up: what a Gaussian splat is, how to capture one, and which tools and gear to start with.

Newsletter

Keep up with the field.

New research, tools and captures from the Radiance Fields newsroom, in your inbox. Free, no spam.