Simam Digital live demo

Drone Video to 3D

A 98-second drone clip of apartments in a pine forest, rebuilt as a Gaussian splat you can fly through. On frames it never trained on, the render matches the real video at 31.8 dB. It is a demonstration we built ourselves: no client commissioned it, and anything marked sample is made up and says so on screen.

What it will not tell you

A measurement taken from a capture is a guide: where a figure matters legally or commercially, the surveyed number rules, and nothing here replaces an inspection.

Want this for your own site?

A drone flight or a walk-through of a real site becomes a scene like this, in a browser with nothing to install. See what the work involves or tell us about your site.

EXP-063 · live demoGet your place in 3D →
Drone video to 3D

One drone clip, rebuilt as a place you can fly through.

Ninety-eight seconds of stock drone footage over apartments in a pine forest, turned into a Gaussian splat on one graphics card. Fly the drone's own path, or leave it and look around. The cars that drove past are gone: only what stayed still is rebuilt.

31.8 dBmatch to real frames it never saw 294 / 294frames placed by our camera solve 3.0 MGaussians, 38 MB
Mode · OrbitDetail · preview
Drag to orbit · right-drag to pan · scroll to zoom
Loading the preview (3.5 MB)…
Camera
Detail
–

Real vs rebuilt

Frames the model never saw

One in every eight frames was held back from training. Here the real frame and the splat, rendered from the same camera, share one picture: drag the line to compare.

Real frame from the drone video, held back from training The Gaussian splat rendered from the same camera Real videoRebuilt splat

Capture record

What went in, and how well it came out

Source
Stock drone footage98 s, 2560 × 1440 at 50 fps; not our capture
Frames used
294, three per secondfull resolution, no cropping
Camera solve
294 of 294 frames placedour camera solve, 112,000 points, 0.71 px reprojection error
Lens
63° acrossfocal length 2,082 px, from our camera solve
Sharpness on held-out frames
31.8 dB PSNR37 frames never used in training; 29.1 dB after 7,000 steps
Structure and look
SSIM 0.915 · LPIPS 0.127same held-out frames; LPIPS lower is better
Splat
3.0 million Gaussians38 MB compressed; 3.5 MB preview of the 300,000 that cover most of the view
Processing
About 80 minutesone RTX 4070: camera solve 25 min, training 52 min

How we built it

From a flat clip to a scene you can fly through

  1. Pick the frames

    Three frames a second from the 98-second clip, 294 in all, kept at full 2560 × 1440. A drone that keeps moving sideways gives every part of the scene many viewpoints, which is what 3D needs.

  2. Find the camera

    Our camera solve matches features between frames and works out where the drone was for each one: all 294 placed, with 112,000 matched points and 0.71 pixels of error. It also solves the lens.

  3. Train the splat

    Our 3D training fits 3 million Gaussians to the frames in 30,000 steps, with its distant-background setting on for the hills and the town behind. One frame in eight is held back to score it honestly.

  4. Ship it for the web

    The full splat compresses to 38 MB. A 3.5 MB preview of the 300,000 Gaussians that cover most of the view appears first, and the full detail replaces it.

Limits

  • The drone saw the site from above and from one side of it. Fly low or round the far side and the splat turns to streaks: nothing there was ever filmed.
  • 31.8 dB is measured on frames from the same flight, between the frames it trained on. It says how well the scene holds together along the drone's path, not how it looks from somewhere the drone never went.
  • The trees are softer than the buildings: fine, moving foliage is the hardest thing for any splat.
  • Moving cars are left out because they disagree between frames. That is a side effect of the method, not a detector.
  • The footage is stock footage, not our own capture. The same process works on a client's own drone flight.