Capture preview
Idaho admin building — terrestrial LiDAR capture
A colorized terrestrial LiDAR capture, written as a Cloud-Optimized Point Cloud (COPC) and served from S3 + CloudFront with HTTP range requests. The viewer streams only the octree nodes the camera can see — drag to orbit, scroll to zoom, right-click to pan.
Served from s3 + cloudfront · COPC streaming · rendered with Potree
Research preview · April 2026
Same scan, classified by an off-the-shelf 3D model
We ran Mask3D — a transformer-based 3D instance segmentation model — against a 50 m × 50 m crop of this capture using the published STPLS3D checkpoint. The model was trained on synthetic aerial photogrammetry and had never seen a terrestrial scanner. Three lightweight passes — PDAL's cloth-simulation ground filter, a height-above-ground sanity layer, and a 2D building-footprint rule — turned the raw model's 72% classification rate into 93.3% with the most obvious failure modes corrected (rooftops mistaken for canopy, trees labelled as fences, missing ground). Toggle classes on/off in the legend to inspect each layer; the full write-up covers what worked, what broke, and what it means for clients evaluating off-the-shelf 3D AI.
mask3d + stpls3d ckpt on rtx 4090, fused with
oneformer ade20k + grounded-sam-2
on the 95 co-registered scanner panos
· 50.5m pts @ 3cm · 98.4% classified across the full 240×320m site
· ~17m mask3d inference + ~30s 2d foundation + ~10s lift/fuse
How this was built
Prompted, not typed
Everything behind this page — the Mask3D containerization, the CSF/HAG/footprint post-processing rules, the OneFormer + Grounded-SAM-2 image fusion, the Potree viewer integration, the S3 + CloudFront provisioning, the Astro pages and article series themselves — was produced through AI prompting end to end. No code was typed by hand. We drove the architecture, reviewed every diff, and made the judgement calls; the agent wrote every line.
That shift matters more than the 98.4% classification number. A domain-literate operator with a well-scoped prompt loop can now ship the kind of multi-container, GPU-dependent, cloud-delivered ML pipeline that used to be a two-week engineering engagement. The skill hasn't moved from the engineer to the agent — it's moved from keystrokes to judgement. What you keep: taste, architecture, and knowing when the model is confidently wrong. What you lose: the typing.
Notes
Captured for fun, not for a client. The original is multi-gigabyte colorized terrestrial LiDAR; this page serves the same capture as a Cloud-Optimized Point Cloud — a single LAZ file with an embedded octree and per-node byte ranges, so the viewer fetches just the chunks visible at the current camera position rather than the whole cloud.
The stack is intentionally boring. PDAL on the laptop produces the COPC. AWS S3 stores it. CloudFront serves it with range requests already enabled. The browser runs Potree, an open-source WebGL viewer that's been a workhorse in the geospatial community for a decade. No bespoke decoder, no managed point-cloud SaaS, no per-seat license.
The next pass is a re-scan this summer paired with a small AI change-detection workflow — the actually-interesting story is what the second visit reveals about the first, and how cheaply a working pipeline can flag what's different. That's the v2 of this page.
In the meantime, we ran an off-the-shelf 3D instance segmentation model (Mask3D) against this exact capture as a research probe — results above, full methodology and the honest "what would I tell a client" read in the write-up.