Splatter
Early work on a tool that turns a phone video into a Gaussian splat, so I can map the house and property in 3D. Early days, with mixed results.
Why
I would like a 3D record of the house and block to plan changes against, and eventually to draw floor plans from. Splatting looked like the easiest way in: film a room, get a model. I wanted it to use only open source tools on my own PC.
What it does
One script takes a video of a room and produces a splat file that opens in a viewer, where the stray floaters can be cropped out.
- Pick the sharpest frames from the video, a few per second, and drop the blurry ones.
- Work out where the camera was for each frame.
- Train the splat on those frames and write it out.
How it is going
- Works: cluttered, textured rooms filmed slowly in good light. Capture matters more than settings: a locked lens, locked exposure and focus, one continuous clip of two to three minutes, and a pass at wall, floor and ceiling height.
- Struggles: plain white walls and ceilings, mirrors and glossy floors, which give the camera tracker nothing to hold on to. Failed runs often split into several fragments that have to be sorted by hand.
- Still to do: a clean mesh for floor plans, a way to set the real-world scale, and a masking step so the dog does not turn into a smear.
Under the hood
- A PowerShell script chains ffmpeg for frame selection with its blur detector, COLMAP for camera positions and Brush for training, with each step logged and any failure stopping the run.
- When COLMAP splits one clip into several models, the largest is kept and the rest are moved aside so the trainer cannot pick one up by mistake.
- Everything runs on my own GPU. SuperSplat is used to tidy and export the result.
Early work in progress. There are no screenshots because the scans are of my home.