/

Carveout

Carveout finds, labels and exports individual objects inside already trained 3D Gaussian Splatting scenes.

Platform

Command line tool and local browser app for native Ubuntu 22.04, built on Python 3.12

GPU

NVIDIA RTX 4090 with 24 GB VRAM or RTX 5090 with 32 GB, CUDA 12.8, on native Ubuntu 22.04. VRAM is a configuration value, with the 24 GB profile rendering at 768x768 and the 32 GB profile at 1024x1024

Pricing

Free

License

GPL-3.0-or-later

Compare licence terms ↗

Best for

Labelling and extracting individual objects from trained 3DGS scenes

Updated

July 2026

Carveout is an object segmentation and labelling tool for 3D Gaussian Splatting scenes that have already been trained, written by Hugues Bruyère and published under GPL-3.0-or-later. It does no reconstruction of its own and expects a finished scene as input, reading both standard 3DGS .ply files and PlayCanvas SOG v2 .sog bundles.

The pipeline renders synthetic views of the loaded scene with gsplat, then runs SAM 3 Promptable Concept Segmentation over those views against an open vocabulary of noun phrases rather than a fixed class list. The resulting 2D masks are lifted back onto individual Gaussians, so the segmentation lands on the scene representation itself instead of on the rendered image.

Each run writes an interactions.json describing every object it found, one .ply per object under stage4/instances/, and a run_report.md. The per object record carries a label, a position, an oriented bounding box, the supporting views the object was seen in, and a confidence value.

A browser front end launches with carveout web and serves on port 8090 of the local loopback address, built on three.js and SparkJS. There is no headless mode, so every run needs a display attached. Nothing reaches the network at run time, and the server assumes a single local user with no authentication.

The published requirements are narrow. Carveout targets native Ubuntu 22.04 rather than WSL, an RTX 4090 with 24 GB of VRAM or an RTX 5090 with 32 GB, CUDA 12.8, Python 3.12, PyTorch 2.7.1 on cu128 wheels and 64 GB of system RAM. The VRAM figure is a configuration value, with the 24 GB default rendering at 768 by 768 and a 32 GB profile raising that to 1024 by 1024.

Nothing has been tagged or released. The GitHub tags and releases endpoints both return empty, the CHANGELOG.md heads its only section 0.2.0 unreleased and calls it the first public release, and CITATION.cff records version 0.2.0 with a release date in September 2026. Bruyère describes the project as research code that is not actively maintained, with no continuous integration and a test suite of four unit tests.

Frequently Asked Questions

What does Carveout do to a Gaussian Splatting scene?

Carveout segments and labels objects inside a scene that has already been trained, exporting one .ply per object plus a machine readable record of each object's label, position and oriented bounding box. It does not train or reconstruct scenes.

What file formats does Carveout read?

Carveout reads standard 3D Gaussian Splatting .ply files and PlayCanvas SOG v2 .sog bundles.

What hardware does Carveout need?

Carveout needs native Ubuntu 22.04, CUDA 12.8 and either an RTX 4090 with 24 GB of VRAM or an RTX 5090 with 32 GB, alongside Python 3.12, PyTorch 2.7.1 on cu128 wheels and 64 GB of system RAM.

Has Carveout shipped a release?

Carveout has no GitHub release and no git tag. Its changelog marks version 0.2.0 as unreleased and the author describes the project as research code that is not actively maintained.

Does Carveout send scene data anywhere?

Carveout does nothing over the network at run time. Its browser interface serves only on the local loopback address and assumes a single local user with no authentication.

Alternatives