Sandbox — LSD is in active testing. All systems operational·payments are test-mode (no real charges).
Overview Use Cases News Docs Tool Store Support Community Get LSD
Use cases/ Computer Vision/ Land-cover maps from aerial imagery
Stitched eight-class land-cover raster draped over the orthomosaic replace with screenshot · 1600 × 900

Land-cover maps from aerial imagery

Load survey GeoTIFFs, tile and normalize them, run an ONNX segmentation model, and stitch the predictions back into one georeferenced class raster. LSD keeps the CRS attached end to end, so the delivered map drops straight into GIS — with a per-class area CSV beside it.

Advanced ⏱ 35 min land-coversegmentationgeotiffaerial-imageryonnx

Why not just script it#

The classic route is gdal_retile, a folder of numpy glue, an inference script, and gdal_merge — four tools, three intermediate directories, and no way to see a bad normalization until the final mosaic looks like static. On the canvas the same chain is five live nodes, and every one of them previews. The expensive parts — tiling six 2 GB rasters, scoring thousands of tiles — become cached intermediates, so tweaking the stitch blend at the end costs seconds, not another full run.

What you need#

An ONNX segmentation model trained on your class scheme (this walkthrough uses an eight-class U-Net — water, crops, forest, built-up, bare soil, wetland, roads, grassland) and orthomosaics from any photogrammetry tool that writes GeoTIFF. Pix4D, ODM, and Metashape output all load identically; LSD reads the CRS from the file, so nothing needs reprojecting first.

Reading the result#

The area CSV is the fastest sanity check — if "roads" claims 30% of a rural survey, the class palette is misindexed, and the 3D viewer will show it in one glance. When it's right, comparing seasons is one change on the canvas — point the @load node at last spring's flight and re-run; every step downstream reuses its cached settings.

Step by step

How it's built

  1. #026 · Load 01

    Load the survey orthomosaics

    Drop the flight's GeoTIFFs — six tiles, around 2 GB each — onto the canvas. The @load node reads CRS, ground resolution, and band count without decoding the full rasters, and the footprint preview shows all six sitting in their correct EPSG positions.

    Footprints of six GeoTIFF tiles previewed on the canvas replace with screenshot · 1200 × 750
  2. #027 · Shape 02

    Tile the rasters for the model

    Add a tile step set to 512 × 512 with 64 px overlap. The preview draws the cut grid over the imagery, and each tile keeps its geotransform so predictions land back in the right place. The tiled set caches, so later re-runs skip straight past it.

    Tile grid preview over farmland imagery replace with screenshot · 1200 × 750
  3. 03

    Normalize the bands

    The model expects reflectance scaled to 0–1, but the survey is 16-bit. Add a normalize step, pick per-band min-max from the statistics LSD samples for you, and watch the histogram preview settle into range. A swapped channel order is the classic silent killer here — the RGB preview makes it obvious instead.

    Band histograms before and after normalization replace with screenshot · 1200 × 750
  4. #028 · Deliver 04

    Run the segmentation model

    Drop the ONNX U-Net onto the canvas and wire the normalized tiles into the @deliver node it becomes. Predictions stream back a batch at a time, and the viewer paints class colors over the imagery as they arrive — a wrong class index shows up in seconds, not after the full run.

    Class predictions streaming in over the orthomosaic replace with screenshot · 1200 × 750
  5. 05

    Stitch and export the class raster

    Add a stitch step that merges tile predictions, blending the 64 px overlaps to hide seam artifacts. Export one georeferenced GeoTIFF class raster plus an area-stats CSV — hectares per class, per source tile and total. Both drop straight into QGIS or your reporting pipeline.

    Stitched land-cover raster beside the area stats table replace with screenshot · 1200 × 750
The pipeline

Every step used, at a glance

Load

GeoTIFF orthomosaics

Index multi-gigabyte survey tiles with CRS, resolution, and band metadata intact.

GeoTIFF
Shape

Tile & normalize

Cut 512 px overlapping tiles and scale 16-bit bands to the model's range, with previews at each step.

Deliver

Segment, stitch & export

Run ONNX segmentation, stitch tiles into one georeferenced class raster, and export area stats.

ONNXGeoTIFFCSV
8 classes
water, crops, forest, built-up & more
1 raster
stitched, georeferenced, QGIS-ready
64 px
of overlap blending — no visible seams

More use cases