Built to order

Illegal Mining Detection using Satellite ML

A satellite-image analysis system that spots likely surface mining activity from free Sentinel-2 imagery. It downloads before/after tile pairs, runs a Siamese change-detection CNN to find fresh land disturbance, filters for mining-like excavation signatures, and presents each candidate site with a confidence score and satellite evidence for a human reviewer to verify. The training notebook logs precision, recall, F1 and IoU on your validation split, so every performance number comes from your own build. Suitable for B.E./B.Tech final-year projects in Computer Science, AI/ML and Data Science.

Illegal Mining Detection using Satellite ML - project prototype demo screenshot
More project photos (3)

The problem

Unregulated sand, stone and mineral extraction scars riverbeds, hillsides and forest fringes, but enforcement teams cannot patrol every remote stretch of land on foot. Satellite imagery is the only practical way to watch large areas repeatedly, yet spotting new pits by eye across hundreds of tiles is slow and inconsistent. Sentinel-2's free, open, roughly 5-day-revisit imagery changes this: a fresh open-pit mine appears as a sharp new patch of bare earth in multispectral bands. This project builds a change-detection pipeline that compares before/after satellite tiles with a Siamese CNN, flags surface disturbances consistent with mining activity, and shows each candidate site — location, tile evidence, confidence — on a review dashboard for a human officer to verify. The system never declares a site "illegal" by itself; legality depends on lease boundaries and permits, which only a human GIS check can confirm.

SYSTEM FLOW

4 components 5 connections

Live flow
Drag to explore
100%
userAnalyst

Selects the region, reviews candidates and confirms or rejects each flag.

How it works

  1. The user selects a region of interest and two date ranges; the pipeline downloads Sentinel-2 L2A tiles from the Copernicus Data Space Ecosystem and applies cloud masking.
  2. Before/after tile pairs are co-registered and cut into 256x256 patches using RGB and near-infrared bands.
  3. The buyer labels patches (change, mining-like change, no change) following the included labeling protocol to build the training set.
  4. The Siamese change-detection CNN trains on the labeled pairs; every epoch logs loss, precision, recall, F1 and IoU on the validation split.
  5. For inference, new before/after pairs pass through the trained model to produce change masks; bare-soil indices and morphological filters keep excavation-like patches.
  6. Candidate sites are ranked by disturbed area and confidence, then shown on the review dashboard with tile evidence; a human reviewer confirms or rejects each flag, since legality needs a lease-boundary check.

Tech stack:

  • Python 3.10, PyTorch (Siamese U-Net change-detection model)
  • rasterio and GDAL (Sentinel-2 tile reading and co-registration)
  • Sentinel-2 L2A via Copernicus Data Space Ecosystem (free, open access)
  • scikit-learn (precision, recall, F1, IoU evaluation)
  • Flask review dashboard with before/after tile viewer
  • NumPy, Matplotlib (mask overlays, PR curves)
Parameter Value
Model Siamese U-Net change-detection CNN (FC-Siam-conc style), binary change-mask output
Input Sentinel-2 L2A before/after tile pairs, RGB + NIR bands, 256x256 patches
Satellite source Copernicus Data Space Ecosystem: Sentinel-2, free and open access, 10 m bands, approximately 5-day revisit
Detection output Ranked candidate-site list with coordinates, confidence and before/after evidence
Evaluation Precision, recall, F1, IoU — computed on your validation split during your build
Development target Approximately 75%+ validation F1 (design target, not a measured claim)
Dashboard Flask app: tile viewer, candidate review workflow, geo-referenced summary map
Legality decision Human review step — the model flags surface disturbance only

Project features

  • Sentinel-2 tile pipeline: Downloads free Sentinel-2 L2A tiles from the Copernicus Data Space Ecosystem, co-registers before/after pairs and builds cloud-masked change-detection sets for a region of interest.
  • Siamese change-detection CNN: A Siamese U-Net (FC-Siam-conc style) trained on labeled before/after tile pairs outputs a binary change mask; the notebook logs precision, recall, F1 and IoU per epoch during your build.
  • Mining-signature filter: Post-processes the change mask with bare-soil spectral cues (vegetation-index drop, brightness rise) and morphological rules to keep excavation-like patches and suppress crop-cycle and water changes.
  • Candidate-site review dashboard: Presents each flagged site with coordinates, before/after thumbnails, confidence score and the evidence behind it; a reviewer marks each site confirmed, rejected, or needing a field visit.
  • Region scan workflow: Scans a district-scale grid of tiles, stitches the change masks and produces a ranked candidate list with a geo-referenced summary map.
  • Labeling protocol included: A step-by-step protocol for building your own labeled tile set (change, mining-like change, no change), since no public labeled illegal-mining dataset exists for India.
  • Evaluation notebook: Computes precision, recall, F1 and IoU on your held-out validation tiles and saves PR curves and mask overlays for the report, so every reported number comes from your build.

What is included

  • Complete source code (tile pipeline, training notebook, inference, review dashboard)
  • Labeling protocol document for building the training tile set
  • Project report PDF (background, methodology, evaluation, error analysis)
  • PPT presentation for final review
  • Viva Q&A preparation document (change detection, Siamese networks, spectral indices, Sentinel-2)
  • Setup guide (Copernicus Data Space account, environment, running your first region scan)

Advantages

  • Sentinel-2 tile pipeline: free Sentinel-2 L2A tiles from the Copernicus Data Space Ecosystem, co-registered before/after pairs and cloud-masked change-detection sets for a region of interest.
  • Siamese change-detection CNN: a Siamese U-Net (FC-Siam-conc style) trained on labelled before/after tile pairs outputs a binary change mask, and the notebook logs precision, recall, F1 and IoU per epoch during the build.
  • Mining-signature filter: bare-soil spectral cues (vegetation-index drop, brightness rise) and morphological rules keep excavation-like patches and suppress crop-cycle and water changes.
  • Candidate-site review dashboard: each flagged site shows coordinates, before/after thumbnails, confidence score and the evidence behind it, and a reviewer marks each site confirmed, rejected, or needing a field visit.
  • Region scan workflow: a district-scale grid of tiles is scanned, change masks are stitched, and a ranked candidate list with a geo-referenced summary map is produced.
  • Labelling protocol and evaluation notebook included: a step-by-step protocol for building a labelled tile set (change, mining-like change, no change), with precision, recall, F1 and IoU on held-out validation tiles, PR curves and mask overlays for the report.

Disadvantages

  • The model flags surface disturbance consistent with mining; it cannot tell legal from illegal mining, which needs lease-boundary data and a human officer's check.
  • No public labelled dataset of illegal mining sites exists for India, so the training set is built by the buyer following the included labelling protocol, and model quality depends on that labelling effort.
  • Sentinel-2's 10 m resolution misses small or shallow pits, and sub-10 m excavations are below what the sensor reliably resolves.
  • Clouds, crop cycles and seasonal water changes create false positives that the filter reduces but does not eliminate.
  • Detection needs a clear before/after pair from similar seasons with low cloud cover, heavy cloud or haze degrades results, and no accuracy is promised up front.

Limitations & prerequisites

  • The model flags surface disturbance consistent with mining; it cannot tell legal from illegal mining — that needs lease-boundary data and a human officer's check.
  • No public labeled dataset of illegal mining sites exists for India, so the training set is built by the buyer following the included labeling protocol; model quality depends on that labeling effort.
  • Sentinel-2's 10 m resolution misses small or shallow pits; sub-10 m excavations are below what the sensor reliably resolves.
  • Clouds, crop cycles and seasonal water changes create false positives that the filter reduces but does not eliminate.
  • Detection needs a clear before/after pair from similar seasons with low cloud cover; heavy cloud or haze degrades results.
  • All performance numbers are measured on the buyer's own validation split during the build; no accuracy is promised up front.

Frequently Asked Questions

Which satellite data is used?

Free Sentinel-2 Level-2A imagery from the Copernicus Data Space Ecosystem — 13 spectral bands, 10 m resolution on the visible and near-infrared bands, roughly 5-day revisit. Access is free and open; you register once and download tiles for your region of interest.

Which model is used?

A Siamese change-detection CNN in the FC-Siam-conc style: two identical encoder branches process the before/after tiles and a decoder outputs a binary change mask. A bare-soil and morphology filter then keeps excavation-like patches.

Can it distinguish legal from illegal mining?

No model can. The system detects fresh surface disturbance consistent with mining; whether a site is illegal depends on mining-lease boundaries, permits and local rules. Each flag goes to a human reviewer on the dashboard, and the report states this boundary openly.

What accuracy can I expect?

No accuracy is promised. Performance depends on your labeled tile set, region, cloud cover and hyperparameters. The notebook computes precision, recall, F1 and IoU on your validation split; the development target is approximately 75%+ F1, and the report documents your build's actual numbers.

Where does the training data come from?

There is no public labeled illegal-mining dataset, so the project includes a labeling protocol: you pick before/after Sentinel-2 tiles for a known mining region, annotate change and mining-like patches, and train. The report documents this dataset-building effort as part of the methodology.

Can it run on the latest satellite images?

Yes. The inference pipeline accepts any new Sentinel-2 L2A tile pair for your region, so a fresh scan can run whenever new imagery appears on the Data Space. Suitable for B.E./B.Tech final-year projects in Computer Science, AI/ML and Data Science.

Components & software requirements
  • Python 3.10, PyTorch (Siamese U-Net change-detection model)
  • rasterio and GDAL (Sentinel-2 tile reading and co-registration)
  • Sentinel-2 L2A via Copernicus Data Space Ecosystem (free, open access)
  • scikit-learn (precision, recall, F1, IoU evaluation)
  • Flask review dashboard with before/after tile viewer
  • NumPy, Matplotlib (mask overlays, PR curves)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Balaniuk, Isupova and Reece, Mining and Tailings Dam Detection in Satellite Imagery Using Deep Learning (Sentinel-2, surface mines, 263 unregistered mines found), Sensors 20(23)

Related guides

All guides
Get a quotation