Deep learning has revolutionized the analysis and interpretation of satellite and aerial imagery, addressing unique challenges such as vast image sizes and a wide array of object classes. This repository provides an exhaustive overview of deep learning techniques specifically tailored for satellite and aerial image processing. It covers a range of architectures, models, and algorithms suited for key tasks like classification, segmentation, and object detection.
How to use this repository: use Command + F (Mac) or CTRL + F (Windows) to search this page for e.g. 'SAM'
- Classification
- Segmentation
- Object detection
- Regression
- Cloud detection & removal
- Change detection
- Time series
- Crop classification
- Crop yield & vegetation forecasting
- Generative networks
- Autoencoders, dimensionality reduction, image embeddings & similarity search
- Few & zero shot learning
- Self-supervised, unsupervised & contrastive learning
- SAR
- Large vision & language models (LLMs & LVMs)
- Foundational models
The UC merced dataset is a well known classification dataset.
Classification is a fundamental task in remote sensing data analysis, where the goal is to assign a semantic label to each image, such as 'urban', 'forest', 'agricultural land', etc. The process of assigning labels to an image is known as image-level classification. However, in some cases, a single image might contain multiple different land cover types, such as a forest with a river running through it, or a city with both residential and commercial areas. In these cases, image-level classification becomes more complex and involves assigning multiple labels to a single image. This can be accomplished using a combination of feature extraction and machine learning algorithms to accurately identify the different land cover types. It is important to note that image-level classification should not be confused with pixel-level classification, also known as semantic segmentation. While image-level classification assigns a single label to an entire image, semantic segmentation assigns a label to each individual pixel in an image, resulting in a highly detailed and accurate representation of the land cover types in an image. Read A brief introduction to satellite image classification with neural networks
-
EuroSat-Satellite-CNN-and-ResNet -> Classifying custom image datasets by creating Convolutional Neural Networks and Residual Networks from scratch with PyTorch
-
Detecting Informal Settlements from Satellite Imagery using fine-tuning of ResNet-50 classifier with repo
-
Land-Cover-Classification-using-Sentinel-2-Dataset -> well written Medium article accompanying this repo but using the EuroSAT dataset
-
Slums mapping from pretrained CNN network on VHR (Pleiades: 0.5m) and MR (Sentinel: 10m) imagery
-
Comparing urban environments using satellite imagery and convolutional neural networks -> includes interesting study of the image embedding features extracted for each image on the Urban Atlas dataset
-
RSI-CB -> A Large Scale Remote Sensing Image Classification Benchmark via Crowdsource Data. See also Remote-sensing-image-classification
-
WaterNet -> a CNN that identifies water in satellite images
-
Road-Network-Classification -> Road network classification model using ResNet-34, road classes organic, gridiron, radial and no pattern
-
SSTN -> Spectral-Spatial Transformer Network for Hyperspectral Image Classification: A FAS Framework
-
SatellitePollutionCNN -> A novel algorithm to predict air pollution levels with state-of-art accuracy using deep learning and GoogleMaps satellite images
-
PropertyClassification -> Classifying the type of property given Real Estate, satellite and Street view Images
-
remote-sense-quickstart -> classification on a number of datasets, including with attention visualization
-
IGARSS2020_BWMS -> Band-Wise Multi-Scale CNN Architecture for Remote Sensing Image Scene Classification with a novel CNN architecture for the feature embedding of high-dimensional RS images
-
image.classification.on.EuroSAT -> solution in pure pytorch
-
hurricane_damage -> Post-hurricane structure damage assessment based on aerial imagery
-
ISPRS_S2FL -> Multimodal Remote Sensing Benchmark Datasets for Land Cover Classification with A Shared and Specific Feature Learning Model
-
ensemble_LCLU -> Deep neural network ensembles for remote sensing land cover and land use classification
-
Urban-Analysis-Using-Satellite-Imagery -> classify urban area as planned or unplanned using a combination of segmentation and classification
-
mining-discovery-with-deep-learning -> Mining and Tailings Dam Detection in Satellite Imagery Using Deep Learning
-
sentinel2-deep-learning -> Novel Training Methodologies for Land Classification of Sentinel-2 Imagery
-
Pay-More-Attention -> Remote Sensing Image Scene Classification Based on an Enhanced Attention Module
-
SKAL -> Looking Closer at the Scene: Multiscale Representation Learning for Remote Sensing Image Scene Classification
-
SAFF -> Self-Attention-Based Deep Feature Fusion for Remote Sensing Scene Classification
-
GLNET -> Convolutional Neural Networks Based Remote Sensing Scene Classification under Clear and Cloudy Environments
-
Remote-sensing-image-classification -> transfer learning using pytorch to classify remote sensing data into three classes: aircrafts, ships, none
-
remote_sensing_pretrained_models -> as an alternative to fine tuning on models pretrained on ImageNet, here some CNN are pretrained on the RSD46-WHU & AID datasets
-
OBIC-GCN -> Object-based Classification Framework of Remote Sensing Images with Graph Convolutional Networks
-
aitlas-arena -> An open-source benchmark framework for evaluating state-of-the-art deep learning approaches for image classification in Earth Observation (EO)
-
droughtwatch -> Satellite-based Prediction of Forage Conditions for Livestock in Northern Kenya
-
JSTARS_2020_DPN-HRA -> Deep Prototypical Networks With Hybrid Residual Attention for Hyperspectral Image Classification
-
SIGNA -> Semantic Interleaving Global Channel Attention for Multilabel Remote Sensing Image Classification
-
PBDL -> Patch-Based Discriminative Learning for Remote Sensing Scene Classification
-
EmergencyNet -> identify fire and other emergencies from a drone
-
satellite-deforestation -> Using Satellite Imagery to Identify the Leading Indicators of Deforestation, applied to the Kaggle Challenge Understanding the Amazon from Space
-
RSMLC -> Deep Network Architectures as Feature Extractors for Multi-Label Classification of Remote Sensing Images
-
FireRisk -> A Remote Sensing Dataset for Fire Risk Assessment with Benchmarks Using Supervised and Self-supervised Learning
-
flood_susceptibility_mapping -> Towards urban flood susceptibility mapping using data-driven models in Berlin, Germany
-
Building-detection-and-roof-type-recognition -> A CNN-Based Approach for Automatic Building Detection and Recognition of Roof Types Using a Single Aerial Image
-
SNN4Space -> project which investigates the feasibility of deploying spiking neural networks (SNN) in land cover and land use classification tasks
-
vessel-classification -> classify vessels and identify fishing behavior based on AIS data
-
RSMamba -> Remote Sensing Image Classification with State Space Model
-
BirdSAT -> Cross-View Contrastive Masked Autoencoders for Bird Species Classification and Mapping
-
EGNNA_WND -> Estimating the presence of the West Nile Disease employing Graph Neural network
-
cyfi -> Estimate cyanobacteria density based on Sentinel-2 satellite imagery
-
3DGAN-ViT -> A deep learning framework based on generative adversarial networks and vision transformer for complex wetland classification
-
automatic_solar_pv_detection -> Automatic Solar PV Panel Image Classification with Deep Neural Network Transfer Learning
-
U-netR -> Land Use Land Cover Classification with U-Net: Advantages of Combining Sentinel-1 and Sentinel-2 Imagery paper
-
nshaud/DeepNetsForEO -> Deep networks for Earth Observation with PyTorch implementations of state-of-the-art architectures for remote sensing image classification
(left) a satellite image and (right) the semantic classes in the image.
Image segmentation is a crucial step in image analysis and computer vision, with the goal of dividing an image into semantically meaningful segments or regions. The process of image segmentation assigns a class label to each pixel in an image, effectively transforming an image from a 2D grid of pixels into a 2D grid of pixels with assigned class labels. One common application of image segmentation is road or building segmentation, where the goal is to identify and separate roads and buildings from other features within an image. To accomplish this task, single class models are often trained to differentiate between roads and background, or buildings and background. These models are designed to recognize specific features, such as color, texture, and shape, that are characteristic of roads or buildings, and use this information to assign class labels to the pixels in an image. Another common application of image segmentation is land use or crop type classification, where the goal is to identify and map different land cover types within an image. In this case, multi-class models are typically used to recognize and differentiate between multiple classes within an image, such as forests, urban areas, and agricultural land. These models are capable of recognizing complex relationships between different land cover types, allowing for a more comprehensive understanding of the image content. Read A brief introduction to satellite image segmentation with neural networks. Note that many articles which refer to 'hyperspectral land classification' are often actually describing semantic segmentation.
-
laika -> The goal of this repo is to research potential sources of satellite image data and to implement various algorithms for satellite image segmentation
-
CDL-Segmentation -> Deep Learning Based Land Cover and Crop Type Classification: A Comparative Study. Compares UNet, SegNet & DeepLabv3+
-
LoveDA -> A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation
-
CNN_Enhanced_GCN -> CNN-Enhanced Graph Convolutional Network With Pixel- and Superpixel-Level Feature Fusion for Hyperspectral Image Classification
-
LULCMapping-WV3images-CORINE-DLMethods -> Land Use and Land Cover Mapping Using Deep Learning Based Segmentation Approaches and VHR Worldview-3 Images
-
MCANet -> A joint semantic segmentation framework of optical and SAR images for land use classification. Uses WHU-OPT-SAR-dataset
-
land-cover -> Model Generalization in Deep Learning Applications for Land Cover Mapping
-
generalizablersc -> Cross-dataset Learning for Generalizable Land Use Scene Classification
-
Large-scale-Automatic-Identification-of-Urban-Vacant-Land -> Large-scale automatic identification of urban vacant land using semantic segmentation of high-resolution remote sensing images
-
SSLTransformerRS -> Self-supervised Vision Transformers for Land-cover Segmentation and Classification
-
LULCMapping-WV3images-CORINE-DLMethods -> Land Use and Land Cover Mapping Using Deep Learning Based Segmentation Approaches and VHR Worldview-3 Images
-
DCSA-Net -> Dynamic Convolution Self-Attention Network for Land-Cover Classification in VHR Remote-Sensing Images
-
CHeGCN-CNN_enhanced_Heterogeneous_Graph -> CNN-Enhanced Heterogeneous Graph Convolutional Network: Inferring Land Use from Land Cover with a Case Study of Park Segmentation
-
TCSVT_2022_DGSSC -> DGSSC: A Deep Generative Spectral-Spatial Classifier for Imbalanced Hyperspectral Imagery
-
DeepForest-Wetland-Paper -> Deep Forest classifier for wetland mapping using the combination of Sentinel-1 and Sentinel-2 data, GIScience & Remote Sensing
-
Wetland_UNet -> UNet models that can delineate wetlands using remote sensing data input including bands from Sentinel-2 LiDAR and geomorphons. By the Conservation Innovation Center of Chesapeake Conservancy and Defenders of Wildlife
-
DPA -> DPA is an unsupervised domain adaptation (UDA) method applied to different satellite images for larg-scale land cover mapping.
-
dynamicworld -> Dynamic World, Near real-time global 10 m land use land cover mapping
-
spada -> Land Cover Segmentation with Sparse Annotations from Sentinel-2 Imagery
-
M3SPADA -> Multi-Sensor Temporal Unsupervised Domain Adaptation for Land Cover Mapping with spatial pseudo labelling and adversarial learning
-
GLNet -> Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images
-
LoveNAS -> LoveNAS: Towards Multi-Scene Land-Cover Mapping via Hierarchical Searching Adaptive Network
-
FLAIR-2 challenge -> Semantic segmentation and domain adaptation challenge proposed by the French National Institute of Geographical and Forest Information (IGN)
-
igarss-spada -> Dataset and code for the paper Land Cover Segmentation with Sparse Annotations from Sentinel-2 Imagery IGARSS 2023
-
cnn-land-cover-eco -> Multi-stage semantic segmentation of land cover in the Peak District using high-resolution RGB aerial imagery
Note that deforestation detection may be treated as a segmentation task or a change detection task
-
DetecTree -> Tree detection from aerial imagery in Python, a LightGBM classifier of tree/non-tree pixels from aerial imagery
-
kenya-crop-mask -> Annual and in-season crop mapping in Kenya - LSTM classifier to classify pixels as containing crop or not, and a multi-spectral forecaster that provides a 12 month time series given a partial input. Dataset downloaded from GEE and pytorch lightning used for training
-
Find sports fields using Mask R-CNN and overlay on open-street-map
-
DeepSatModels -> Context-self contrastive pretraining for crop type semantic segmentation
-
DeepTreeAttention -> Implementation of Hang et al. 2020 "Hyperspectral Image Classification with Attention Aided CNNs" for tree species prediction
-
Crop-Classification -> crop classification using multi temporal satellite images
-
crop-mask -> End-to-end workflow for generating high resolution cropland maps, uses GEE & LSTM model
-
DeepCropMapping -> A multi-temporal deep learning approach with improved spatial generalizability for dynamic corn and soybean mapping, uses LSTM
-
ResUnet-a -> a deep learning framework for semantic segmentation of remotely sensed data
-
DSD_paper_2020 -> Crop Type Classification based on Machine Learning with Multitemporal Sentinel-1 Data
-
MR-DNN -> extract rice field from Landsat 8 satellite imagery
-
deep_learning_forest_monitoring -> Forest mapping and monitoring of the African continent using Sentinel-2 data and deep learning
-
global-cropland-mapping -> global multi-temporal cropland mapping
-
Landuse_DL -> delineate landforms due to the thawing of ice-rich permafrost
-
canopy -> A Convolutional Neural Network Classifier Identifies Tree Species in Mixed-Conifer Forest from Hyperspectral Imagery
-
forest_change_detection -> forest change segmentation with time-dependent models, including Siamese, UNet-LSTM, UNet-diff, UNet3D models
-
cultionet -> segmentation of cultivated land, built on PyTorch Geometric and PyTorch Lightning
-
sentinel-tree-cover -> A global method to identify trees outside of closed-canopy forests with medium-resolution satellite imagery
-
crop-type-detection-ICLR-2020 -> Winning Solutions from Crop Type Detection Competition at CV4A workshop, ICLR 2020
-
S4A-Models -> Various experiments on the Sen4AgriNet dataset
-
attention-mechanism-unet -> An attention-based U-Net for detecting deforestation within satellite sensor imagery
-
SummerCrop_Deeplearning -> A Transferable Learning Classification Model and Carbon Sequestration Estimation of Crops in Farmland Ecosystem
-
DeepForest is a python package for training and predicting individual tree crowns from airborne RGB imagery
-
Official repository for the "Identifying trees on satellite images" challenge from Omdena
-
PTDM -> Pomelo Tree Detection Method Based on Attention Mechanism and Cross-Layer Feature Fusion
-
urban-tree-detection -> Individual Tree Detection in Large-Scale Urban Environments using High-Resolution Multispectral Imagery. With dataset
-
BioMassters_baseline -> a basic pytorch lightning baseline using a UNet for getting started with the BioMassters challenge (biomass estimation)
-
Biomassters winners -> top 3 solutions
-
kbrodt biomassters solution -> 1st place solution
-
biomass-estimation -> from Azavea, applied to Sentinel 1 & 2
-
3DUNetGSFormer -> A deep learning pipeline for complex wetland mapping using generative adversarial networks and Swin transformer
-
SEANet_torch -> Using a semantic edge-aware multi-task neural network to delineate agricultural parcels from remote sensing images
-
arborizer -> Tree crowns segmentation and classification
-
ReUse -> REgressive Unet for Carbon Storage and Above-Ground Biomass Estimation
-
unet-sentinel -> UNet to handle Sentinel-1 SAR images to identify deforestation
-
MaskedSST -> Masked Vision Transformers for Hyperspectral Image Classification
-
UNet-defmapping -> master's thesis using UNet to map deforestation using Sentinel-2 Level 2A images, applied to Amazon and Atlantic Rainforest dataset
-
cvpr-multiearth-deforestation-segmentation -> multimodal Unet entry to the CVPR Multiearth 2023 deforestation challenge
-
TransUNetplus2 -> TransU-Net++: Rethinking attention gated TransU-Net for deforestation mapping. Uses the Amazon and Atlantic forest dataset
-
A high-resolution canopy height model of the Earth -> A high-resolution canopy height model of the Earth
-
Radiant Earth Spot the Crop Challenge -> Winning models from the Radiant Earth Spot the Crop Challenge, uses a time-series of Sentinel-2 multispectral data to classify crops in the Western Cape of South Africa. Another solution
-
transfer-field-delineation -> Multi-Region Transfer Learning for Segmentation of Crop Field Boundaries in Satellite Images with Limited Labels
-
mowing-detection -> Automatic detection of mowing and grazing from Sentinel images
-
PTAViT3D and PTAViT3DCA -> Tackling fluffy clouds: field boundaries detection using time series of S2 and/or S1 imagery
-
ai4boundaries -> a Python package that facilitates download of the AI4boundaries data set
-
Nasa_harvest_field_boundary_competition -> Nasa Harvest Rwanda Field Boundary Detection Challenge Tutorial
-
nasa_harvest_boundary_detection_challenge -> the 4th place solution for NASA Harvest Field Boundary Detection Challenge on Zindi.
-
rainforest-segmentation -> Identifying and tracking deforestation in the Amazon Rainforest using state-of-the-art deep learning models and multispectral satellite imagery.
-
Delineate Anything: Resolution-Agnostic Field Boundary Delineation on Satellite Imagery
-
Semantic_segmentation_for_LCLUC -> Semantic Segmentation for Simultaneous Crop and Land Cover Land Use Classification Using Multi-Temporal Landsat Imagery