Research
The model behind the maps
Every land-cover figure on this site comes from a U-Net convolutional neural network that labels each pixel of a satellite image as urban, agriculture, rangeland, forest, water, barren or unknown, designed and published by Yamraj Khadka and Rajat Pradhan.
The paper
Khadka, Y. & Pradhan, R. (2026). Land Cover Segmentation from Satellite Imagery Using U-Net with Custom Loss and Morphological Postprocessing. Journal of Engineering Issues and Solutions, 5(2), 240–253. doi:10.3126/joeis.v5i2.97825
The paper trains a U-Net from scratch on the DeepGlobe Land Cover dataset with a composite loss (weighted cross-entropy plus focal Tversky) to cope with rare classes, and cleans its output with morphological post-processing. Its closing recommendation, fine-tuning for Nepal, is what this site does.
Interactive app (the paper's demo, upgraded) · Code and data
Adapting it to Nepal
The network was fine-tuned on Nepal: 12 epochs from the paper's weights, best at epoch 10 with 0.490, then a 100-epoch continuation, best at epoch 92, on a free Kaggle Tesla T4 GPU. Validation mean IoU on districts never seen in training rose from 0.111 with the paper's weights to 0.553.
Independent test
| Imagery | Original model | Nepal-adapted |
|---|---|---|
| Esri World Imagery (latest) | 38% · mIoU 0.20 | 72% · mIoU 0.44 |
| Landsat 8, Oct-Dec 2021 | 2% · mIoU 0.01 | 66% · mIoU 0.35 |
| Sentinel-2 L2A, Oct-Dec 2021 | 19% · mIoU 0.11 | 75% · mIoU 0.46 |
| Sentinel-2 cloudless 2021 | 3% · mIoU 0.02 | 72% · mIoU 0.46 |
Pixel agreement with ESA WorldCover 2021. For scale, two independent reference maps agree with each other on 77% of pixels.
220 random 1.22 km windows in 11 districts held out from training (Dhanusa, Ilam, Jumla, Kailali, Kaski, Lalitpur, Mustang, Rasuwa, Rupandehi, Sunsari, Surkhet); imagery and references from 2021; pixels the references mark as cloud/no-data excluded.
How the national figures are made
Mapping all of Nepal at 5.5 m every year would take days of computing, so the site uses a statistical survey: 1,038 random 1.2 km windows, at least eight in every district, are classified each year, and the shares are estimated with 95% confidence intervals (stratified by district). Each year's Sentinel-2 cloudless mosaic is colour-normalised before classification so processing differences are not mistaken for change, and every estimate is shown next to the independent Impact Observatory 10 m map.
The network
Architecture. A U-Net: encoder with 32-64-128-256 filters, a 512-filter bottleneck with dropout 0.5, a decoder with transposed convolutions and skip connections, each block Conv 3×3 + ReLU → BatchNorm → Conv 3×3 + ReLU → BatchNorm, and a softmax over 7 classes; 7,772,071 parameters.
Training in the paper. 803 DeepGlobe tiles (2,448 px at 0.5 m) resized to 224 px, so the network sees 5.46 m per pixel, with flips, brightness/contrast, shift-scale-rotate and elastic augmentation; loss = 0.4 × weighted cross-entropy + 0.6 × focal Tversky (α 0.7, β 0.3, γ 0.75); Adam with early stopping.
| Class (paper, DeepGlobe) | IoU |
|---|---|
| Urban land | 0.719 |
| Agriculture land | 0.717 |
| Rangeland | 0.353 |
| Forest land | 0.722 |
| Water | 0.658 |
| Barren land | 0.568 |
| Unknown | 0.983 |
| Mean | 0.674 |
Four findings from scaling the model up
- The network depends on how images are shrunk. Training used OpenCV's bilinear resize without antialiasing, which keeps a sparse sample of the 0.5 m texture. On 40 DeepGlobe tiles forest IoU is 0.58 with that resize and 0.00 with an antialiased one; this site resamples the same way.
- A post-processing quirk. The published clean-up never re-assigns the specks it removes, so they become class 0, urban land. Here, removed specks take the class of the nearest surviving region.
- Annual mosaics need colour normalisation. The yearly Sentinel-2 cloudless mosaics differ in processing; without correction the network reports processing changes as land-cover change. Each year is mapped onto the 2018–2025 average. Even so, the 2016 and 2018 mosaics are read less reliably than 2019 onwards.
- The domain gap the paper predicted is large. On Nepal's held-out districts the original weights reach a mean IoU of 0.111; fine-tuning raised it to 0.553.
Data sources
| Source | Used for | Licence |
|---|---|---|
| Esri World Imagery and Wayback | Sub-metre imagery for the U-Net and maps | Esri terms of use |
| Sentinel-2 cloudless by EOX (2016, 2018 onwards) | Annual 10 m mosaics for the year-by-year land cover | CC BY 4.0 (2016) / CC BY-NC-SA 4.0 |
| Impact Observatory / Esri 10 m land cover | Training labels, reference map, local-unit land cover | CC BY 4.0 |
| ESA WorldCover 2021 | Independent test of the model | CC BY 4.0 |
| NASA FIRMS (VIIRS, MODIS) | Active fires, live and since 2001 | NASA open data |
| NASA GIBS (MODIS Terra) | Daily satellite images | NASA open data |
| USGS ComCat | Earthquakes, live and since 1950 | Public domain |
| Open-Meteo (ECMWF, DWD, NOAA; CAMS; ERA5) | Weather, air quality, weather history | CC BY 4.0 |
| GloFAS v4 (Copernicus EMS) via Open-Meteo | River flows, forecasts and flood levels | CC BY 4.0 |
| World Bank WDI and Climate Knowledge Portal (CRU TS, ERA5) | National statistics and climate since 1901 | CC BY 4.0 |
| OCHA / Survey Department of Nepal | Province, district and local-unit boundaries | CC BY-IGO |
Limitations
- Every figure is a model estimate. Against ESA WorldCover the Nepal-adapted model agrees on about 70–75% of pixels, close to how well the two reference maps agree with each other.
- Rangeland is the hardest class (the paper's IoU 0.35): grassland, shrubs and fallow fields look alike from above.
- District figures rest on 8 or more sample sites each; read their 95% intervals before comparing districts.
- Weather, air quality and river flows are model values at a point (a district's main town or a river gauge), not ground measurements. Use official sources for warnings.
- Satellites miss fires under thick cloud or smoke and very small fires; earthquake catalogues are incomplete for small events before recent decades.
Source: Khadka & Pradhan (2026); evaluation against ESA WorldCover 2021 and Impact Observatory 2021 on 11 held-out districts.