← Back to Projects
Aerial satellite view of agricultural terrain
Satellite MLComputer VisionGovernmentGIS

Satellite ML

Opium Poppy Detection System via High-Resolution Satellite Imagery

IndustryGovernment / Law Enforcement
My RoleML Developer
F1 Score0.87
Processing10×10 km in 5 min
OutputGIS Shapefiles
01 — Overview

Project Overview

An end-to-end machine learning pipeline that ingests high-resolution satellite imagery, identifies opium poppy cultivation with high accuracy, and outputs GPS-precise geospatial data for field investigation teams. The system processes 10×10 km scenes in under five minutes and delivers shapefile outputs directly compatible with government GIS infrastructure.

02 — Problem Statement

The Challenge

Government agencies responsible for counter-narcotics operations needed to monitor vast agricultural territories for illegal opium poppy cultivation. Manual analysis of satellite imagery was too slow to be operationally useful and introduced significant human error.

  • Territories too large for manual analyst review to keep pace with growing season cycles
  • Severe class imbalance — poppy fields represent a small fraction of total agricultural area
  • High-resolution images are gigabytes each, requiring purpose-built memory management
  • Outputs needed to be GPS-accurate enough for actionable field operations
  • Pipeline must be reproducible and auditable for evidentiary purposes
03 — Solution

What We Built

A tiled inference pipeline that breaks large scenes into overlapping geographic patches, classifies each tile with a custom CNN, then reassembles predictions while preserving geospatial metadata. Class imbalance was addressed through targeted augmentation and balanced sampling strategies during training.

The post-processing layer merges overlapping tile predictions, suppresses noise, and generates clean GIS shapefiles with precise coordinates — ready for direct import into the agency's existing mapping software.

04 — Architecture

System Architecture

Ingestion Module

Handles large satellite image files and extracts embedded geospatial metadata

Tiling Engine

Splits scenes into overlapping tiles with preserved geographic index for accurate reassembly

Preprocessing Pipeline

Spectral normalisation, augmentation, and class-balanced sampling for training and inference

CNN Classifier

Custom architecture trained specifically on the visual spectral signature of opium poppy fields

Post-Processing Module

Merges tile predictions, removes noise artefacts, and generates clean shapefile polygons

GIS Output Layer

Coordinate-precise shapefiles compatible with QGIS and government GIS systems

05 — Tech Stack

Technologies Used

Python PyTorch Custom CNN Architecture OpenCV GDAL GeoPandas QGIS Docker
06 — Impact & Results

Outcomes

0.87F1 score on held-out test set
5 minPer 10×10 km scene processed
GPSCoordinate-precise field outputs
↓↓Manual analyst hours reduced

The system provided field investigation teams with precise coordinates of suspicious cultivation areas — enabling targeted operations and dramatically reducing the manual analysis workload. The reproducible Docker-based pipeline also satisfied evidentiary standards required for operational use.

← Back to Projects