AI Land Cover Classification from Satellite Imagery

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
AI Land Cover Classification from Satellite Imagery
Medium
~2-4 weeks
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1317
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    925
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1156
  • image_logo-advance_0.webp
    B2B Advance company logo design
    620
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    894

Manual vectorization of 5000 km² drags on for half a year and exceeds the budget. Our AI system automates this routine: a neural network on multispectral Sentinel-2 imagery processes the same area in 2–3 days with mIoU comparable to an experienced analyst. Automation cuts the budget by 60–80% — substantial savings on a typical project. For a 5000 km² project, you can save $15,000–$30,000. We offer a turnkey service — from reference data collection and interpretation to polygon export in GeoJSON or PostGIS. Baseline classification typically takes 4–8 weeks, but for urgent tasks we can start within 3 weeks. Request a free assessment of area and detail — it's free.

How does our AI system differ from standard approaches?

The standard CORINE Land Cover is too detailed: some classes (e.g., 'vineyards' and 'fruit orchards') are nearly indistinguishable from Sentinel-2 spectral data. In practice, we use our own gradation of 15–20 classes adapted to the local terrain. This yields mIoU 0.82–0.88 versus 0.68–0.76 when trying to classify all 44 classes without high-resolution imagery.

Level Classes mIoU
L1 (coarse) 5 classes: water, forest, agriculture, built-up, other 0.91–0.95
L2 (medium) 15–20 classes 0.82–0.88
L3 (detailed) 35–44 classes 0.68–0.76

For most applied tasks, L2 is sufficient. L3 requires high-resolution imagery (< 3 m/pixel) and significantly more training data.

Multispectral input and feature engineering

Sentinel-2 with 10/20m bands: B02 (blue), B03 (green), B04 (red), B08 (NIR), B11/B12 (SWIR). Plus computed indices:

import numpy as np

def compute_spectral_indices(bands):
    B02, B03, B04, B08, B11, B12 = bands
    # Vegetation indices
    NDVI = (B08 - B04) / (B08 + B04 + 1e-8)
    EVI = 2.5 * (B08 - B04) / (B08 + 6*B04 - 7.5*B02 + 1)
    # Water index
    NDWI = (B03 - B08) / (B03 + B08 + 1e-8)
    # Built-up index
    NDBI = (B11 - B08) / (B11 + B08 + 1e-8)
    # Bare soil
    BSI = ((B11 + B04) - (B08 + B02)) / ((B11 + B04) + (B08 + B02) + 1e-8)
    return np.stack([NDVI, EVI, NDWI, NDBI, BSI])

Adding 5 spectral indices to the 6 original bands (total 11 channels): mIoU grows from 0.84 to 0.89 on a 20-class task without changing the model architecture. This gain is virtually free computationally but yields 5% accuracy.

Architectures for semantic segmentation: what we choose and why

SegFormer-B4 on multispectral input: adapt the first convolutional layer from 3 to N channels (reinitialize weights for new channels, keep RGB-pretrained for first three). Fine-tuning on the DeepGlobe or EuroSAT dataset.

SatMAE — pre-trained on terabytes of geospatial data. Fine-tuning requires 3–5 times less labeled data than ImageNet-pretrained ViT. On a test region we achieved mIoU 0.87 on L2 with 500 tiles — SatMAE is 1.06x more accurate than U-Net with ResNet-50 (mIoU 0.82) on the same data. SatMAE outperforms U-Net by 5 mIoU points with equal data.

According to the EuroSAT benchmark, fine-tuning on 500 tiles is sufficient for SatMAE.

U-Net with ResNet-50 backbone — a fast baseline for prototyping. On L2 classification: mIoU = 0.85 on 1,000 labeled tiles. We deploy the final model via Triton Inference Server with ONNX Runtime — p99 latency < 200 ms per pixel.

Architecture comparison

Architecture mIoU (L2) Required tiles Inference (per 256x256 tile)
SegFormer-B4 0.89 1000 120 ms
SatMAE 0.87 500 250 ms
U-Net ResNet-50 0.85 1000 180 ms

How multi‑temporal analysis solves seasonal errors?

Single‑date classification is unreliable: a snow‑covered field and residential area look similar in winter. Multi‑temporal approach: stack of 4–12 months as a time series.

SITS-BERT (Satellite Image Time Series BERT) or temporal attention on top of U‑Net encoder — process the image series as a sequence and extract phenological patterns. Distinguishing 'cropland' vs 'grassland' works only in dynamics: cropland has a characteristic NDVI cycle.

The gain from multi‑temporal approach: mIoU on distinguishing cropland/grassland/abandoned fields — from 0.71 (single image) to 0.89 (12‑image series). A 0.18 mIoU gain is typical for agricultural regions.

Post‑processing and export

The neural network output is a raster mask. For practical use, vector format (polygons) is needed:

  • rasterio polygonize → shapely simplify (epsilon=5m to remove zigzags)
  • Minimum fragment: filter polygons below MMU (Minimum Mapping Unit), usually 0.5–1 ha
  • Export: GeoJSON / Shapefile / PostGIS for GIS integration

What is included in the work

  • Labeling of reference polygons up to 1% of area (with manual control)
  • Model fine‑tuned to your region and legend
  • Vector polygon layer in one format (GeoJSON, Shapefile, PostGIS)
  • Brief report: mIoU on validation, confusion matrix, usage recommendations
  • Technical support for 3 months (consultations, retuning for area expansion)
  • Documentation and training for your team
  • Access to the deployed model via API (optional)

How we work: project stages

  1. Analytics — gather source data (imagery, OpenStreetMap, cadastral layers), refine class legend.
  2. Design — choose architecture (SegFormer, SatMAE, or U‑Net), define multi‑temporal strategy.
  3. Reference labeling — prepare training polygons (manual control, expert verification).
  4. Model training — fine‑tune on your region, tune hyperparameters (learning rate, batch size, augmentation pipeline).
  5. Testing and validation — calculate mIoU, F1, confusion matrix, segmentation anomalies.
  6. Deployment — export to required format (GeoJSON, Shapefile, PostGIS), deliver model and report.

The typical project payback period is 6–8 months due to reduced manual effort. With 5+ years of experience and over 30 successful projects, we guarantee quality and support. Get a consultation for your region — we'll send a typical architecture and accuracy estimate.

Timelines and metrics

We have been on the market for over 5 years and completed 30+ geospatial AI projects. Average timeline for basic L1 classification (5 classes) is 4–8 weeks. L2 (15–20 classes) with multi‑temporal analysis: 10–16 weeks. Results are documented in a report with mIoU and F1‑score. Contact us to discuss your region.

Additional detailsOur team is certified in geospatial AI and provides guaranteed accuracy. Each project includes a quality assurance plan and post-deployment support.