Downloads · 30 days
0
bhargav37/lulc-dl-model
lulc-dl-model is a machine learning model from bhargav37. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
A U-Net deep learning model for pixel-wise land cover classification from Sentinel-2 multi-spectral satellite imagery. Trained to identify 5 land cover types across large-scale geospatial datasets.
Downloads · 30 days
0
Access
Public
Updated Mar 27, 2026
Repo size
5.8 MB
Likes
0
Public
Click a slice to open those files.
.h55.8 MB · 100%
From the Hugging Face model README
A U-Net deep learning model for pixel-wise land cover classification from Sentinel-2 multi-spectral satellite imagery. Trained to identify 5 land cover types across large-scale geospatial datasets.
The model is trained to classify every pixel into one of the following 5 categories:
| Class | Description |
|---|---|
| Barren Land | Exposed soil, rock, and sparsely vegetated areas |
| Built-up Area | Urban and suburban structures, roads |
| Crop | Agricultural and cultivated farmland |
| Forest | Dense tree cover and woodland areas |
| Water | Rivers, lakes, reservoirs, and water bodies |
The model is based on the U-Net architecture — a fully convolutional encoder-decoder network with skip connections designed for semantic image segmentation.
Encoder progressively extracts spatial features through two blocks of convolutions followed by max pooling, reducing the spatial resolution while increasing feature depth (32 → 64 filters).
Bottleneck captures the highest-level abstract features at the compressed representation (128 filters).
Decoder restores the original spatial resolution through two upsampling blocks. At each step, skip connections from the corresponding encoder block are concatenated to recover fine-grained spatial detail (64 → 32 filters).
Output is a 1×1 convolution with softmax activation that produces a per-pixel probability distribution over the 5 land cover classes.
Input (64×64×16)
│
├─── Encoder Block 1 — Conv(32) → Conv(32) → MaxPool ──────────────┐ skip
├─── Encoder Block 2 — Conv(64) → Conv(64) → MaxPool ────────┐ skip│
├─── Bottleneck — Conv(128) → Conv(128) │ │
├─── Decoder Block 1 — UpSample → Concat ←───────────────────┘ │
│ Conv(64) → Conv(64) │
├─── Decoder Block 2 — UpSample → Concat ←─────────────────────────┘
│ Conv(32) → Conv(32)
└─── Output — Conv(5, 1×1) → Softmax
(64×64×5)
| Property | Details |
|---|---|
| Sensor | Sentinel-2 Multi-Spectral Imagery |
| Patch Size | 64 × 64 pixels |
| Channels | 16 spectral bands |
| Preprocessing | Normalized pixel values |
| Property | Details |
|---|---|
| Shape | 64 × 64 pixel segmentation mask |
| Type | Per-pixel class label (one of 5 land cover classes) |
| Format | Integer class map derived from softmax probabilities |
Evaluated on 5,746,688 test pixels across all 5 classes.
| Metric | Score |
|---|---|
| Overall Accuracy | 93.04% |
| Validation Accuracy | 93.04% |
| Validation Loss | 0.2678 |
| Macro Avg Precision | 92.58% |
| Macro Avg Recall | 92.88% |
| Macro Avg F1-Score | 92.69% |
| Weighted Avg F1 | 93.06% |
| Class | Precision | Recall | F1-Score |
|---|---|---|---|
| Barren Land | 84.30% | 90.59% | 87.33% |
| Built-up Area | 93.32% | 89.29% | 91.26% |
| Crop | 93.53% | 95.42% | 94.47% |
| Forest | 95.55% | 96.84% | 96.19% |
| Water | 96.23% | 92.27% | 94.21% |
Forest and Water achieve the highest classification accuracy. Barren Land is the most challenging class, likely due to spectral overlap with Built-up Areas and Crop fields.
| File | Description |
|---|---|
landcover_unet_model.h5 | Trained Keras model (weights + architecture) |