Hysen Labs
Open-source project
nigelhartman/splat_analyzer avatar
nigelhartman

splat_analyzer

find 3d boundboxes in your splat

100 stars24 forksHTMLMIT
01
DEEP OPEN-SOURCE ANALYSIS

splat_analyzer: 3D boxes from gaussian splats

Point it at a splat file in ply or spz format, give it a plain-English prompt like chair or table, and get back 3D bounding boxes ready to use as interaction zones in WebXR, games, or robotics.

02
DEEP OPEN-SOURCE ANALYSIS

One file in, boxes out

Splat Analyzer takes a splat file in ply or spz format plus a plain-English prompt such as chair, table, or monitor, and returns a 3D bounding box with position and size for each object it finds. Those boxes are ready to be used as interaction zones in WebXR, games, or robotics.

03
DEEP OPEN-SOURCE ANALYSIS

Choosing how to run it

Run options depend on hardware. A Mac with Apple Silicon uses the local CLI with a Metal renderer. A PC or Linux box with an NVIDIA GPU uses the local CLI with a CUDA renderer. A GPU server can host the tool for other people. The renderer is picked automatically, with CUDA using gsplat and Apple Silicon using gsplat metal.

04
DEEP OPEN-SOURCE ANALYSIS

The pipeline

The pipeline is described in steps. Synthetic camera views with RGB and depth are rendered around the splat using a density-aware sampler. The prompt's objects are detected in every frame with the OWLv2 open-vocabulary model, which produces 2D boxes. Those 2D boxes are then lifted to 3D. Detection and the rest of the pipeline are identical across platforms.

05
DEEP OPEN-SOURCE ANALYSIS

Hosting it for others

Server mode hosts the tool for other people with a web upload form, a REST API, and an admin panel on an NVIDIA GPU box. Deployment installs Docker with the NVIDIA Container Toolkit, builds the image, and starts the app behind a Caddy HTTPS proxy. The first run compiles gsplat and takes 15 to 20 minutes, while later deploys take under a minute.

06
DEEP OPEN-SOURCE ANALYSIS

Formats and hardware

Supported formats are ply for standard gaussian splatting and spz for a compressed format. The README warns to check orientation first, since some exporters flip the vertical axis. Development was done on an NVIDIA L40S, and local boxes need at least 8 GB of VRAM, with 12 GB comfortable, 16 GB of RAM minimum, and CUDA 11.8 or 12.x.

07
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

Detection is the same everywhere; only the renderer changes with the hardware. Metal on Apple Silicon, CUDA with gsplat on NVIDIA, or a hosted server for everyone else.

08
DEEP OPEN-SOURCE ANALYSIS

Official sources

09
Community notes

Community notes