satellite-image-deep-learning/techniques

Techniques for deep learning with satellite & aerial imagery

10,270

1,459 commits

updated Sep 26, 2026

See the code

README

Introduction

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'

Techniques

Classification


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

  • 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-the-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

  • Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks

  • 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

  • sentinel-landslide-cls -> Classification for Landslide Detection, using Sentinel-1 and Sentinel-2 data.

  • Infra-Bench CLS -> code for paper: Infra-Bench CLS: A Global, Open-Source Benchmark for Critical Infrastructure Classification with Earth Observation Foundation Models

  • Detecting old-growth forests -> code for paper: Geospatial embeddings detect old-growth forests but buffered spatial validation narrows their advantage over Sentinel features

Segmentation


(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.

Segmentation - Land use & land cover

  • Automatic Detection of Landfill Using Deep Learning

  • 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

  • DeepGlobe Land Cover Classification Challenge solution

  • 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

  • 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 large-scale land cover mapping.

  • dynamicworld -> Dynamic World, global 10 m land use land cover mapping from Google. dynamic_world_pytorch is a pytorch implementation.

  • 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)

  • flair-2 8th place solution

  • 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

  • LALE -> a lightweight hybrid ConvMixer-transformer architecture for efficient land-cover segmentation in remote sensing imagery

Segmentation - Vegetation, deforestation, crops & field boundaries

Note that deforestation detection may be treated as a segmentation task or a change detection task

Segmentation - Water, coastlines, rivers & floods

  • sat-water -> Semantic segmentation of water bodies in satellite imagery, producing pixel-wise water masks from remote sensing images using a U-Net–style deep learning pipeline (data preparation, training, inference, and evaluation).

  • Houston_flooding -> labeling each pixel as either flooded or not using data from Hurricane Harvey. Dataset consisted of pre and post flood images, and a ground truth floodwater mask was created using unsupervised clustering (with DBScan) of image pixels with human cluster verification/adjustment

  • ml4floods -> An ecosystem of data, models and code pipelines to tackle flooding with ML

  • floodmaps -> an end-to-end pipeline and segmentation models for flood-water detection using Sentinel-1 SAR and Sentinel-2 multispectral imagery

  • 1st place solution for STAC Overflow: Map Floodwater from Radar Imagery hosted by Microsoft AI for Earth -> combines Unet with Catboostclassifier, taking their maxima, not the average

  • hydra-floods -> an open source Python application for downloading, processing, and delivering surface water maps derived from remote sensing data

  • CoastSat -> tool for mapping coastlines which has an extension CoastSeg using segmentation models

  • deepwatermap -> a deep model that segments water on multispectral images

  • rivamap -> an automated river analysis and mapping engine

  • deep-water -> track changes in water level

  • WatNet -> A deep ConvNet for surface water mapping based on Sentinel-2 image, uses the Earth Surface Water Dataset

  • A-U-Net-for-Flood-Extent-Mapping

  • floatingobjects -> TOWARDS DETECTING FLOATING OBJECTS ON A GLOBAL SCALE WITHLEARNED SPATIAL FEATURES USING SENTINEL 2. Uses U-Net & pytorch

  • SpaceNet8 -> baseline Unet solution to detect flooded roads and buildings

  • dlsim -> Breaking the Limits of Remote Sensing by Simulation and Deep Learning for Flood and Debris Flow Mapping

  • Water-HRNet -> HRNet trained on Sentinel 2

  • semantic segmentation model to identify newly developed or flooded land using NAIP imagery provided by the Chesapeake Conservancy, training on MS Azure

  • BandNet -> Analysis and application of multispectral data for water segmentation using machine learning. Uses Sentinel-2 data

  • mmflood -> MMFlood: A Multimodal Dataset for Flood Delineation From Satellite Imagery (Sentinel 1 SAR)

  • Urban_flooding -> Towards transferable data-driven models to predict urban pluvial flood water depth in Berlin, Germany

  • MECNet -> Rich CNN features for water-body segmentation from very high resolution aerial and satellite imagery

  • SWRNET -> A Deep Learning Approach for Small Surface Water Area Recognition Onboard Satellite

  • elwha-segmentation -> fine-tuning Meta's Segment Anything (SAM) for bird's eye view river pixel segmentation

  • RiverSnap -> code for paper: A Comparative Performance Analysis of Popular Deep Learning Models and Segment Anything Model (SAM) for River Water Segmentation in Close-Range Remote Sensing Imagery

  • SAR-water-segmentation -> Deep Learning based Water Segmentation Using KOMPSAT-5 SAR Images

  • TerraMind-Flood -> DEM-Enhanced Flood Detection with Physics-Aware Learning, applied to Sen1Flood11

  • Prithvi-CAFE -> Transformer-based global reasoning (Prithvi-EO-2.0) with CNN-based local spatial sensitivity, enabling high-resolution, reliable flood inundation mapping across multi-channel/sensor inputs, applied to Sen1Flood11

  • SMAGNet -> A Spatially Masked Adaptive Gated Network for Multimodal Post-Flood Water Extent Mapping using SAR and Incomplete Multispectral Data. Uses c2smsfloods dataset

  • IBM BlueSky Challenge - ZeroFlood

  • OmniWaterMask-training -> Training code for the deep learning model used in OmniWaterMask - a Python library for detecting water bodies in satellite and aerial imagery.

  • utae-water-segmentation -> UTAE-PAPS model for water/land segmentation using Sentinel-1 and Sentinel-2 data with IBM Granite flood detection dataset

Segmentation - Fire, smoke & burn areas

Segmentation - Landslides

Segmentation - Glaciers

  • HED-UNet -> a model for simultaneous semantic segmentation and edge detection, examples provided are glacier fronts and building footprints using the Inria Aerial Image Labeling dataset

  • glacier_mapping -> Mapping glaciers in the Hindu Kush Himalaya, Landsat 7 images, Shapefile labels of the glaciers, Unet with dropout

  • GlacierSemanticSegmentation

  • Antarctic-fracture-detection -> uses UNet with the MODIS Mosaic of Antarctica to detect surface fractures

  • sentinel_lakeice -> Lake Ice Detection from Sentinel-1 SAR with Deep Learning

  • MCD-Net -> a lightweight deep learning framework for optical-only moraine segmentation

  • landslides_segmentation -> super-resolution and segmentation of multispectral Sentinel-2 satellite imagery, applied to landslide monitoring in Italian municipalities.

  • GlacierCastAI -> forecasts glacier boundary retreat from Landsat time series, ERA5 climate data and Copernicus DEM terrain features using a multimodal ConvLSTM model

Segmentation - methane

Segmentation - Other environmental

  • Detection of Open Landfills -> uses Sentinel-2 to detect large changes in the Normalized Burn Ratio (NBR)

  • sea_ice_remote_sensing -> Sea Ice Concentration classification

  • EddyNet -> A Deep Neural Network For Pixel-Wise Classification of Oceanic Eddies

  • schisto-vegetation -> Deep Learning Segmentation of Satellite Imagery Identifies Aquatic Vegetation Associated with Snail Intermediate Hosts of Schistosomiasis in Senegal, Africa

  • Earthformer -> Exploring space-time transformers for earth system forecasting

  • weather4cast-2022 -> Unet-3D baseline model for Weather4cast Rain Movie Prediction competition

  • WeatherFusionNet -> Predicting Precipitation from Satellite Data. weather4cast-2022 1st place solution

  • marinedebrisdetector -> Large-scale Detection of Marine Debris in Coastal Areas with Sentinel-2

  • kaggle-identify-contrails-4th -> 4th place Solution, Google Research - Identify Contrails to Reduce Global Warming

  • MineSegSAT -> An automated system to evaluate mining disturbed area extents from Sentinel-2 imagery

  • asos -> Recognizing protected and anthropogenic patterns in landscapes using interpretable machine learning and satellite imagery

  • SinkSAM -> Knowledge-Driven Self-Supervised Sinkhole Segmentation Using Topographic Priors and Segment Anything Model

  • SENSE -> Satellite-based ENergy Synthesis for Sustainable Environment

Segmentation - Roads & sidewalks

Extracting roads is challenging due to the occlusions caused by other objects and the complex traffic environment

Segmentation - Buildings & rooftops

Segmentation - Solar panels

Segmentation - Ships & vessels

Segmentation - Other manmade

  • Aarsh2001/ML_Challenge_NRSC -> Electrical Substation detection

  • electrical_substation_detection

  • MCAN-OilSpillDetection -> Oil Spill Detection with A Multiscale Conditional Adversarial Network under Small Data Training

  • mining-detector -> detection of artisanal gold mines in Sentinel-2 satellite imagery for Amazon Mining Watch. Also covers clandestine airstrips

  • EG-UNet Deep Feature Enhancement Method for Land Cover With Irregular and Sparse Spatial Distribution Features: A Case Study on Open-Pit Mining

  • plastics -> Detecting and Monitoring Plastic Waste Aggregations in Sentinel-2 Imagery

  • MADOS -> Detecting Marine Pollutants and Sea Surface Features with Deep Learning in Sentinel-2 Imagery on the MADOS dataset

  • SADMA -> Residual Attention UNet on MARIDA: Marine Debris Archive is a marine debris-oriented dataset on Sentinel-2 satellite images

  • MAP-Mapper -> Marine Plastic Mapper is a tool for assessing marine macro-plastic density to identify plastic hotspots, underpinned by the MARIDA dataset.

  • substation-seg -> segmenting substations in Sentinel 2 satellite imagery

  • SAMSelect -> An Automated Spectral Index Search for Marine Debris using Segment-Anything (SAM)

  • MambaMPD -> code for paper: MambaMPD: A Mamba-Driven Segmentation Framework for Marine Pollution Detection from Remote Sensing Imagery

Panoptic segmentation

Segmentation - Miscellaneous

  • seg-eval -> SegEval is a Python library that provides tools for evaluating semantic segmentation models. Generate evaluation regions and to analyze segmentation results within them.

  • awesome-satellite-images-segmentation

  • Satellite Image Segmentation: a Workflow with U-Net is a decent intro article

  • mmsegmentation -> Semantic Segmentation Toolbox with support for many remote sensing datasets including LoveDA, Potsdam, Vaihingen & iSAID

  • segmentation_gym -> A neural gym for training deep learning models to carry out geoscientific image segmentation

  • Using a U-Net for image segmentation, blending predicted patches smoothly is a must to please the human eye -> python code to blend predicted patches smoothly. See Satellite-Image-Segmentation-with-Smooth-Blending

  • DCA -> Deep Covariance Alignment for Domain Adaptive Remote Sensing Image Segmentation

  • SCAttNet -> Semantic Segmentation Network with Spatial and Channel Attention Mechanism

  • Efficient-Transformer -> Efficient Transformer for Remote Sensing Image Segmentation

  • weakly_supervised -> Weakly Supervised Deep Learning for Segmentation of Remote Sensing Imagery

  • HRCNet-High-Resolution-Context-Extraction-Network -> High-Resolution Context Extraction Network for Semantic Segmentation of Remote Sensing Images

  • Semantic segmentation of SAR images using a self supervised technique

  • satellite-segmentation-pytorch -> explores a wide variety of image augmentations to increase training dataset size

  • Spectralformer -> Rethinking hyperspectral image classification with transformers

  • Unsupervised Segmentation of Hyperspectral Remote Sensing Images with Superpixels

  • Semantic-Segmentation-with-Sparse-Labels

  • SNDF -> Superpixel-enhanced deep neural forest for remote sensing image semantic segmentation

  • dynamic-rs-segmentation -> Dynamic Multi-Context Segmentation of Remote Sensing Images based on Convolutional Networks

  • segmentation_models.pytorch -> Segmentation models with pretrained backbones, has been used in multiple winning solutions to remote sensing competitions

  • SSRN -> Spectral-Spatial Residual Network for Hyperspectral Image Classification: A 3-D Deep Learning Framework

  • SO-DNN -> Simplified object-based deep neural network for very high resolution remote sensing image classification

  • SANet -> Scale-Aware Network for Semantic Segmentation of High-Resolution Aerial Images

  • aerial-segmentation -> Learning Aerial Image Segmentation from Online Maps

  • Detectron2 FPN + PointRend Model for amazing Satellite Image Segmentation -> 15% increase in accuracy when compared to the U-Net model

  • HybridSN -> Exploring 3D-2D CNN Feature Hierarchy for Hyperspectral Image Classification

  • TNNLS_2022_X-GPN -> Semisupervised Cross-scale Graph Prototypical Network for Hyperspectral Image Classification

  • singleSceneSemSegTgrs2022 -> Unsupervised Single-Scene Semantic Segmentation for Earth Observation

  • A-Fast-and-Compact-3-D-CNN-for-HSIC -> A Fast and Compact 3-D CNN for Hyperspectral Image Classification

  • HSNRS -> Hourglass-ShapeNetwork Based Semantic Segmentation for High Resolution Aerial Imagery

  • GiGCN -> Graph-in-Graph Convolutional Network for Hyperspectral Image Classification

  • SSAN -> Spectral-Spatial Attention Networks for Hyperspectral Image Classification

  • drone-images-semantic-segmentation -> Multiclass Semantic Segmentation of Aerial Drone Images Using Deep Learning

  • Satellite-Image-Segmentation-with-Smooth-Blending -> uses Smoothly-Blend-Image-Patches

  • BayesianUNet -> Pytorch Bayesian UNet model for segmentation and uncertainty prediction, applied to the Potsdam Dataset

  • RAANet -> A Residual ASPP with Attention Framework for Semantic Segmentation of High-Resolution Remote Sensing Images

  • wheelRuts_semanticSegmentation -> Mapping wheel-ruts from timber harvesting operations using deep learning techniques in drone imagery

  • LWN-for-UAVRSI -> Light-Weight Semantic Segmentation Network for UAV Remote Sensing Images, applied to Vaihingen, UAVid and UDD6 datasets

  • hypernet -> library which implements hyperspectral image (HSI) segmentation

  • ST-UNet -> Swin Transformer Embedding UNet for Remote Sensing Image Semantic Segmentation

  • EDFT -> Efficient Depth Fusion Transformer for Aerial Image Semantic Segmentation

  • WiCoNet -> Looking Outside the Window: Wide-Context Transformer for the Semantic Segmentation of High-Resolution Remote Sensing Images

  • CRGNet -> Consistency-Regularized Region-Growing Network for Semantic Segmentation of Urban Scenes with Point-Level Annotations

  • SA-UNet -> Improved U-Net Remote Sensing Classification Algorithm Fusing Attention and Multiscale Features

  • MANet -> Multi-Attention-Network for Semantic Segmentation of Fine Resolution Remote Sensing Images

  • BANet -> Transformer Meets Convolution: A Bilateral Awareness Network for Semantic Segmentation of Very Fine Resolution Urban Scene Images

  • MACU-Net -> MACU-Net for Semantic Segmentation of Fine-Resolution Remotely Sensed Images

  • DNAS -> Decoupling Neural Architecture Search for High-Resolution Remote Sensing Image Semantic Segmentation

  • A2-FPN -> A2-FPN for Semantic Segmentation of Fine-Resolution Remotely Sensed Images

  • MAResU-Net -> Multi-stage Attention ResU-Net for Semantic Segmentation of Fine-Resolution Remote Sensing Images

  • RSEN -> Robust Self-Ensembling Network for Hyperspectral Image Classification

  • MSNet -> multispectral semantic segmentation network for remote sensing images

  • Swin-Transformer-Semantic-Segmentation -> Satellite Image Semantic Segmentation

  • UDA_for_RS -> Unsupervised Domain Adaptation for Remote Sensing Semantic Segmentation with Transformer

  • A-3D-CNN-AM-DSC-model-for-hyperspectral-image-classification -> Attention Mechanism and Depthwise Separable Convolution Aided 3DCNN for Hyperspectral Remote Sensing Image Classification

  • contrastive-distillation -> A Contrastive Distillation Approach for Incremental Semantic Segmentation in Aerial Images

  • SegForestNet -> SegForestNet: Spatial-Partitioning-Based Aerial Image Segmentation

  • MFVNet -> MFVNet: Deep Adaptive Fusion Network with Multiple Field-of-Views for Remote Sensing Image Semantic Segmentation

  • Wildebeest-UNet -> detecting wildebeest and zebras in Serengeti-Mara ecosystem from very-high-resolution satellite imagery

  • segment-anything-eo -> Earth observation tools for Meta AI Segment Anything (SAM - Segment Anything Model)

  • HR-Image-classification_SDF2N -> A Shallow-to-Deep Feature Fusion Network for VHR Remote Sensing Image Classification

  • sink-seg -> Automatic Segmentation of Sinkholes Using a Convolutional Neural Network

  • Tiling and Stitching Segmentation Output for Remote Sensing: Basic Challenges and Recommendations

  • EMRT -> Enhancing Multiscale Representations With Transformer for Remote Sensing Image Semantic Segmentation

  • UDA_for_RS -> Unsupervised Domain Adaptation for Remote Sensing Semantic Segmentation with Transformer

  • CMTFNet -> CMTFNet: CNN and Multiscale Transformer Fusion Network for Remote Sensing Image Semantic Segmentation

  • CM-UNet -> Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation

  • Using Stable Diffusion to Improve Image Segmentation Models -> Augmenting Data with Stable Diffusion

  • SSRS -> Semantic Segmentation for Remote Sensing, multiple networks implemented

  • BIOSCANN -> BIOdiversity Segmentation and Classification with Artificial Neural Networks

  • ResUNet-a -> a deep learning framework for semantic segmentation of remotely sensed data

  • SSG2 -> A New Modelling Paradigm for Semantic Segmentation

  • DBFNet -> Deep Bilateral Filtering Network for Point-Supervised Semantic Segmentation in Remote Sensing Images

  • PGNet -> PGNet: Positioning Guidance Network for Semantic Segmentation of Very-High-Resolution Remote Sensing Images paper

  • ASD -> Anomaly Segmentation for High-Resolution Remote Sensing Images Based on Pixel Descriptors.

  • u-nets-implementation -> Semantic-Segmentation-with-U-Nets

  • SDM -> Scale-aware Detailed Matching for Few-Shot Aerial Image Semantic Segmentation

  • Transferability-Remote-Sensing -> On the Transferability of Learning Models for Semantic Segmentation for Remote Sensing Data

  • data-centric-satellite-segmentation -> Contains implementations of data-centric approaches for improving semantic segmentation on satellite imagery, from Microsoft

  • HSLabeling -> Towards Efficient Labeling for Large-scale Remote Sensing Image Segmentation with Hybrid Sparse Labeling

  • RemoteSAM -> Towards Segment Anything for Earth Observation (SAM)

  • HieraRS -> A Hierarchical Segmentation Paradigm for Remote Sensing Enabling Multi-Granularity Interpretation and Cross-Domain Transfer

  • MultiFranceFences -> Large-scale fence detection using deep learning and multimodal aerial imagery

Instance segmentation

In instance segmentation, each individual 'instance' of a segmented area is given a unique label. For detection of very small objects this may be a good approach, but it can struggle separating individual objects that are closely spaced.

  • Mask_RCNN generates bounding boxes and segmentation masks for each instance of an object in the image. It is very commonly used for instance segmentation & object detection

  • Building-Detection-MaskRCNN -> Building detection from the SpaceNet dataset by using Mask RCNN

  • Mask_RCNN-for-Caravans -> detect caravan footprints from OS imagery

  • parking_bays_detectron2 -> Detecting parking bays with satellite imagery. Used Detectron2 and synthetic data with Unreal, superior performance to using Mask RCNN

  • Circle_Finder -> Circular Shapes Detection in Satellite Imagery, 2nd place solution to the Circle Finder Challenge

  • Lawn_maskRCNN -> Detecting lawns from satellite images of properties in the Cedar Rapids area using Mask-R-CNN

  • CropMask_RCNN -> Segmenting center pivot agriculture to monitor crop water use in drylands with Mask R-CNN and Landsat satellite imagery

  • Mask RCNN for Spacenet Off Nadir Building Detection

  • CATNet -> Learning to Aggregate Multi-Scale Context for Instance Segmentation in Remote Sensing Images

  • Object-Detection-on-Satellite-Images-using-Mask-R-CNN -> detect ships

  • FactSeg -> Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery (TGRS), also see FarSeg and FreeNet, implementations of research paper

  • aqua_python -> detecting aquaculture farms using Mask R-CNN

  • RSPrompter -> Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model

  • VMD-Mask-RCNN-pipeline -> Detecting and segmenting sand mining river vessels on the Vietnam Mekong Delta, using PlanetScope imagery and Mask R-CNN

  • BRIGHT cvprw26 -> Mask R-CNN baseline for multimodal building damage instance segmentation on BRIGHT

Object detection


Image showing the suitability of rotated bounding boxes in remote sensing.

Object detection in remote sensing involves locating and surrounding objects of interest with bounding boxes. Due to the large size of remote sensing images and the fact that objects may only comprise a few pixels, object detection can be challenging in this context. The imbalance between the area of the objects to be detected and the background, combined with the potential for objects to be easily confused with random features in the background, further complicates the task. Object detection generally performs better on larger objects, but becomes increasingly difficult as the objects become smaller and more densely packed. The accuracy of object detection models can also degrade rapidly as image resolution decreases, which is why it is common to use high resolution imagery, such as 30cm RGB, for object detection in remote sensing. A unique characteristic of aerial images is that objects can be oriented in any direction. To effectively extract measurements of the length and width of an object, it can be crucial to use rotated bounding boxes that align with the orientation of the object. This approach enables more accurate and meaningful analysis of the objects within the image. Image source

Object tracking in videos

  • TCTrack -> Temporal Contexts for Aerial Tracking

  • CFME -> Object Tracking in Satellite Videos by Improved Correlation Filters With Motion Estimations

  • TGraM -> Multi-Object Tracking in Satellite Videos with Graph-Based Multi-Task Modeling

  • satellite_video_mod_groundtruth -> groundtruth on satellite video for evaluating moving object detection algorithm

  • Moving-object-detection-DSFNet -> DSFNet: Dynamic and Static Fusion Network for Moving Object Detection in Satellite Videos

  • HiFT -> Hierarchical Feature Transformer for Aerial Tracking

  • geo-trax -> extracts georeferenced vehicle trajectories from high-altitude bird's-eye-view drone video

Object detection with rotated bounding boxes

Orinted bounding boxes (OBB) are polygons representing rotated rectangles. For datasets checkout DOTA & HRSC2016. Start with Yolov8

  • mmrotate -> Rotated Object Detection Benchmark, with pretrained models and function for inferencing on very large images

  • OrientedDet -> a lightweight PyTorch framework for rotated object detection in aerial and satellite imagery, with oriented models, geometry operations and DOTA support

  • OBBDetection -> an oriented object detection library, which is based on MMdetection

  • rotate-yolov3 -> Rotation object detection implemented with yolov3. Also see yolov3-polygon

  • DRBox -> for detection tasks where the objects are orientated arbitrarily, e.g. vehicles, ships and airplanes

  • s2anet -> Align Deep Features for Oriented Object Detection

  • CFC-Net -> A Critical Feature Capturing Network for Arbitrary-Oriented Object Detection in Remote Sensing Images

  • ReDet -> A Rotation-equivariant Detector for Aerial Object Detection

  • BBAVectors-Oriented-Object-Detection -> Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

  • CSL_RetinaNet_Tensorflow -> Arbitrary-Oriented Object Detection with Circular Smooth Label

  • r3det-on-mmdetection -> R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object

  • R-DFPN_FPN_Tensorflow -> Rotation Dense Feature Pyramid Networks (Tensorflow)

  • R2CNN_Faster-RCNN_Tensorflow -> Rotational region detection based on Faster-RCNN

  • Rotated-RetinaNet -> implemented in pytorch, it supports the following datasets: DOTA, HRSC2016, ICDAR2013, ICDAR2015, UCAS-AOD, NWPU VHR-10, VOC2007

  • OBBDet_Swin -> The sixth place winning solution in 2021 Gaofen Challenge

  • CG-Net -> Learning Calibrated-Guidance for Object Detection in Aerial Images

  • OrientedRepPoints_DOTA -> Oriented RepPoints + Swin Transformer/ReResNet

  • yolov5_obb -> yolov5 + Oriented Object Detection

  • How to Train YOLOv5 OBB -> YOLOv5 OBB tutorial and YOLOv5 OBB noteboook

  • OHDet_Tensorflow -> can be applied to rotation detection and object heading detection

  • Seodore -> framework maintaining recent updates of mmdetection

  • Rotation-RetinaNet-PyTorch -> oriented detector Rotation-RetinaNet implementation on Optical and SAR ship dataset

  • AIDet -> an open source object detection in aerial image toolbox based on MMDetection

  • rotation-yolov5 -> rotation detection based on yolov5

  • SLRDet -> project based on mmdetection to reimplement RRPN and use the model Faster R-CNN OBB

  • AxisLearning -> Axis Learning for Orientated Objects Detection in Aerial Images

  • Detection_and_Recognition_in_Remote_Sensing_Image -> This work uses PaNet to realize Detection and Recognition in Remote Sensing Image by MXNet

  • DrBox-v2-tensorflow -> tensorflow implementation of DrBox-v2 which is an improved detector with rotatable boxes for target detection in remote sensing images

  • Rotation-EfficientDet-D0 -> A PyTorch Implementation Rotation Detector based EfficientDet Detector, applied to custom rotation vehicle datasets

  • DODet -> Dual alignment for oriented object detection, uses DOTA dataset

  • GF-CSL -> Gaussian Focal Loss: Learning Distribution Polarized Angle Prediction for Rotated Object Detection in Aerial Images

  • Polar-Encodings -> Learning Polar Encodings for Arbitrary-Oriented Ship Detection in SAR Images

  • R-CenterNet -> detector for rotated-object based on CenterNet

  • piou -> Orientated Object Detection; IoU Loss, applied to DOTA dataset

  • DAFNe -> A One-Stage Anchor-Free Approach for Oriented Object Detection

  • AProNet -> Detecting objects with precise orientation from aerial images. Applied to datasets DOTA and HRSC2016

  • UCAS-AOD-benchmark -> A benchmark of UCAS-AOD dataset

  • RotateObjectDetection -> based on Ultralytics/yolov5, with adjustments to enable rotate prediction boxes. Also see PolygonObjectDetection

  • AD-Toolbox -> Aerial Detection Toolbox based on MMDetection and MMRotate, with support for more datasets

  • GGHL -> A General Gaussian Heatmap Label Assignment for Arbitrary-Oriented Object Detection

  • NPMMR-Det -> A Novel Nonlocal-Aware Pyramid and Multiscale Multitask Refinement Detector for Object Detection in Remote Sensing Images

  • AOPG -> Anchor-Free Oriented Proposal Generator for Object Detection

  • SE2-Det -> Semantic-Edge-Supervised Single-Stage Detector for Oriented Object Detection in Remote Sensing Imagery

  • OrientedRepPoints -> Oriented RepPoints for Aerial Object Detection

  • TS-Conv -> Task-wise Sampling Convolutions for Arbitrary-Oriented Object Detection in Aerial Images

  • FCOSR -> A Simple Anchor-free Rotated Detector for Aerial Object Detection. This implement is modified from mmdetection. See also TensorRT_Inference

  • OBB_Detection -> Finalist's solution in the track of Oriented Object Detection in Remote Sensing Images, 2022 Guangdong-Hong Kong-Macao Greater Bay Area International Algorithm Competition

  • sam-mmrotate -> SAM (Segment Anything Model) for generating rotated bounding boxes with MMRotate, which is a comparison method of H2RBox-v2

  • mmrotate-dcfl -> Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection

  • h2rbox-mmrotate -> Horizontal Box Annotation is All You Need for Oriented Object Detection

  • Spatial-Transform-Decoupling -> Spatial Transform Decoupling for Oriented Object Detection

  • ARS-DETR -> Aspect Ratio Sensitive Oriented Object Detection with Transformer

  • CFINet -> Small Object Detection via Coarse-to-fine Proposal Generation and Imitation Learning. Introduces SODA-A dataset

  • FRCNN_git -> Faster R-CNN implementation for rotated boxes

Object detection enhanced by super resolution

Salient object detection

Detecting the most noticeable or important object in a scene

  • ACCoNet -> Adjacent Context Coordination Network for Salient Object Detection in Optical Remote Sensing Images

  • MCCNet -> Multi-Content Complementation Network for Salient Object Detection in Optical Remote Sensing Images

  • CorrNet -> Lightweight Salient Object Detection in Optical Remote Sensing Images via Feature Correlation

  • Reading list for deep learning based Salient Object Detection in Optical Remote Sensing Images

  • ORSSD-dataset -> salient object detection dataset

  • EORSSD-dataset -> Extended Optical Remote Sensing Saliency Detection (EORSSD) Dataset

  • DAFNet_TIP20 -> Dense Attention Fluid Network for Salient Object Detection in Optical Remote Sensing Images

  • EMFINet -> Edge-Aware Multiscale Feature Integration Network for Salient Object Detection in Optical Remote Sensing Images

  • ERPNet -> Edge-guided Recurrent Positioning Network for Salient Object Detection in Optical Remote Sensing Images

  • FSMINet -> Fully Squeezed Multi-Scale Inference Network for Fast and Accurate Saliency Detection in Optical Remote Sensing Images

  • AGNet -> AGNet: Attention Guided Network for Salient Object Detection in Optical Remote Sensing Images

  • MSCNet -> A lightweight multi-scale context network for salient object detection in optical remote sensing images

  • GPnet -> Global Perception Network for Salient Object Detection in Remote Sensing Images

  • SeaNet -> Lightweight Salient Object Detection in Optical Remote Sensing Images via Semantic Matching and Edge Alignment

  • GeleNet -> Salient Object Detection in Optical Remote Sensing Images Driven by Transformer

Object detection - Buildings, rooftops & solar panels

Object detection - Ships, boats, vessels & wake

Object detection - Cars, vehicles & trains

Object detection - Planes & aircraft

Object detection - Infrastructure & utilities

Object detection - Oil storage tank detection

Oil is stored in tanks at many points between extraction and sale, and the volume of oil in storage is an important economic indicator.

Object detection - Animals

A variety of techniques can be used to count animals, including object detection and instance segmentation. For convenience they are all listed here:

Object detection - Miscellaneous

Object counting

When the object count, but not its shape is required, U-net can be used to treat this as an image-to-image translation problem.

  • centroid-unet -> Centroid-UNet is deep neural network model to detect centroids from satellite images

  • cownter_strike -> counting cows, located with point-annotations, two models: CSRNet (a density-based method) & LCFCN (a detection-based method)

  • Bayesian-Car-Counting -> car counting in overhead imagery using Bayesian loss with point supervision on the COWC dataset

  • TreeMatch -> tree density estimation from satellite imagery using optimal transport and mixed strong and weak point supervision; includes the multi-sensor TinyTrees benchmark

  • DO-U-Net -> an effective approach for when the size of an object needs to be known, as well as the number of objects in the image, initially created to segment and count Internally Displaced People (IDP) camps in Afghanistan

  • Counting from Sky -> A Large-scale Dataset for Remote Sensing Object Counting and A Benchmark Method

  • PSGCNet -> PSGCNet: A Pyramidal Scale and Global Context Guided Network for Dense Object Counting in Remote Sensing Images

  • psgcnet -> A Pyramidal Scale and Global Context Guided Network for Dense Object Counting in Remote-Sensing Images

Regression


Regression prediction of windspeed.

Regression in remote sensing involves predicting continuous variables such as wind speed, tree height, or soil moisture from an image. Both classical machine learning and deep learning approaches can be used to accomplish this task. Classical machine learning utilizes feature engineering to extract numerical values from the input data, which are then used as input for a regression algorithm like linear regression. On the other hand, deep learning typically employs a convolutional neural network (CNN) to process the image data, followed by a fully connected neural network (FCNN) for regression. The FCNN is trained to map the input image to the desired output, providing predictions for the continuous variables of interest. Image source

  • GEDI-BDL -> Global canopy height regression and uncertainty estimation from GEDI LIDAR waveforms with deep ensembles

  • Global-Canopy-Height-Map -> Estimating Canopy Height at Scale (ICML2024)

  • HighResCanopyHeight -> code for Meta paper: Very high resolution canopy height maps from RGB imagery using self-supervised vision transformer and convolutional decoder trained on Aerial Lidar

  • OpticalWaveGauging_DNN -> Optical wave gauging using deep neural networks

  • satellite-pose-estimation -> adapts a ResNet50 model architecture to perform pose estimation on several series of satellite images (both real and synthetic)

  • Tropical Cyclone Wind Estimation Competition -> on RadiantEarth MLHub

  • DengueNet -> DengueNet: Dengue Prediction using Spatiotemporal Satellite Imagery for Resource-Limited Countries

  • tropical_cyclone_uq -> Uncertainty Aware Tropical Cyclone Wind Speed Estimation from Satellite Data

  • AQNet -> Predicting air quality via multimodal AI and satellite imagery

  • Soil Moisture Retrieval from Google Research -> A Deep Learning Data Fusion Model Using Sentinel-1/2, SoilGrids, SMAP, and GLDAS for Soil Moisture Retrieval

  • temp-mosaiks -> predict ground-level temperature with MOSAIKS

  • biomsharp -> Biomass Super-resolution for High AccuRacy Prediction

  • TREASURE-NET -> Super-Resolved Canopy Height Mapping from Sentinel-2 Time Series Using LiDAR HD Reference Data across Metropolitan France

  • Seabed-Net -> A multi-task network for joint bathymetry and pixel-based seabed classification from remote sensing imagery in shallow waters, uses MagicBathyNet dataset

  • ECHOSAT -> Estimating Canopy Height Over Space And Time, uses a Swin Video UNet architecture that processes multi-sensor satellite data.

  • Popcorn -> High-resolution Population Maps Derived from Sentinel-1 and Sentinel-2, with follow up work Bourbon

  • UrbanControlNet -> Envisioning Global Urban Development with Satellite Imagery and Generative AI.

  • Emb2Heights -> baseline for the Emb2Heights challenge - trains and runs inference for a model that predicts sub-pixel land cover percentages (Building, Vegetation, Water) and continuous structure heights (nDSM) directly from Earth Observation embeddings

Cloud detection & removal


(left) False colour image and (right) a cloud & shadow mask.

Clouds are a major issue in remote sensing images as they can obscure the underlying ground features. This hinders the accuracy and effectiveness of remote sensing analysis, as the obscured regions cannot be properly interpreted. In order to address this challenge, various techniques have been developed to detect clouds in remote sensing images. Both classical algorithms and deep learning approaches can be employed for cloud detection. Classical algorithms typically use threshold-based techniques and hand-crafted features to identify cloud pixels. However, these techniques can be limited in their accuracy and are sensitive to changes in image appearance and cloud structure. On the other hand, deep learning approaches leverage the power of convolutional neural networks (CNNs) to accurately detect clouds in remote sensing images. These models are trained on large datasets of remote sensing images, allowing them to learn and generalize the unique features and patterns of clouds. The generated cloud mask can be used to identify the cloud pixels and eliminate them from further analysis or, alternatively, cloud inpainting techniques can be used to fill in the gaps left by the clouds. This approach helps to improve the accuracy of remote sensing analysis and provides a clearer view of the ground, even in the presence of clouds. Image adapted from the paper 'Refined UNet Lite: End-to-End Lightweight Network for Edge-precise Cloud Detection'

Change detection


(left) Initial and (middle) after some development, with (right) the change highlighted.

Change detection is a vital component of remote sensing analysis, enabling the monitoring of landscape changes over time. This technique can be applied to identify a wide range of changes, including land use changes, urban development, coastal erosion, and deforestation. Change detection can be performed on a pair of images taken at different times, or by analyzing multiple images collected over a period of time. It is important to note that while change detection is primarily used to detect changes in the landscape, it can also be influenced by the presence of clouds and shadows. These dynamic elements can alter the appearance of the image, leading to false positives in change detection results. Therefore, it is essential to consider the impact of clouds and shadows on change detection analysis, and to employ appropriate methods to mitigate their influence. Image source

  • awesome-remote-sensing-change-detection lists many datasets and publications

  • Change-Detection-Review -> A review of change detection methods, including code and open data sets for deep learning

  • STANet ->STANet for remote sensing image change detection

  • UNet-based-Unsupervised-Change-Detection -> A convolutional neural network (CNN) and semantic segmentation is implemented to detect the changes between the images, as well as classify the changes into the correct semantic class

  • BIT_CD -> Official Pytorch Implementation of Remote Sensing Image Change Detection with Transformers

  • Unstructured-change-detection-using-CNN

  • QGIS plugin for applying change detection algorithms on high resolution satellite imagery

  • Fully Convolutional Siamese Networks for Change Detection

  • Urban Change Detection for Multispectral Earth Observation Using Convolutional Neural Networks -> used the Onera Satellite Change Detection (OSCD) dataset

  • IAug_CDNet -> Official Pytorch Implementation of Adversarial Instance Augmentation for Building Change Detection in Remote Sensing Images

  • dpm-rnn-public -> Code implementing a damage mapping method combining satellite data with deep learning

  • SenseEarth2020-ChangeDetection -> 1st place solution to the Satellite Image Change Detection Challenge hosted by SenseTime; predictions of five HRNet-based segmentation models are ensembled, serving as pseudo labels of unchanged areas

  • KPCAMNet -> Python implementation of the paper Unsupervised Change Detection in Multi-temporal VHR Images Based on Deep Kernel PCA Convolutional Mapping Network

  • CDLab -> benchmarking deep learning-based change detection methods.

  • Siam-NestedUNet -> SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images

  • SUNet-change_detection -> Implementation of paper SUNet: Change Detection for Heterogeneous Remote Sensing Images from Satellite and UAV Using a Dual-Channel Fully Convolution Network

  • Self-supervised Change Detection in Multi-view Remote Sensing Images

  • MFPNet -> Remote Sensing Change Detection Based on Multidirectional Adaptive Feature Fusion and Perceptual Similarity

  • GitHub for the DIUx xView Detection Challenge -> The xView2 Challenge focuses on automating the process of assessing building damage after a natural disaster

  • DASNet -> Dual attentive fully convolutional siamese networks for change detection of high-resolution satellite images

  • planet-movement -> Find and process Planet image pairs to highlight object movement

  • temporal-cluster-matching -> detecting change in structure footprints from time series of remotely sensed imagery

  • autoRIFT -> fast and intelligent algorithm for finding the pixel displacement between two images

  • DSAMNet -> A Deeply Supervised Attention Metric-Based Network and an Open Aerial Image Dataset for Remote Sensing Change Detection

  • SRCDNet -> Super-resolution-based Change Detection Network with Stacked Attention Module for Images with Different Resolutions. SRCDNet is designed to learn and predict change maps from bi-temporal images with different resolutions

  • A deeply supervised image fusion network for change detection in high resolution bi-temporal remote sening images

  • ChangeFormer -> A Transformer-Based Siamese Network for Change Detection. Uses transformer architecture to address the limitations of CNN in handling multi-scale long-range details. Demonstrates that ChangeFormer captures much finer details compared to the other SOTA methods, achieving better performance on benchmark datasets

  • Heterogeneous_CD -> Heterogeneous Change Detection in Remote Sensing Images

  • ChangeDetectionProject -> Trying out Active Learning in with deep CNNs for Change detection on remote sensing data

  • DSFANet -> Unsupervised Deep Slow Feature Analysis for Change Detection in Multi-Temporal Remote Sensing Images

  • siamese-change-detection -> Targeted synthesis of multi-temporal remote sensing images for change detection using siamese neural networks

  • Bi-SRNet -> Bi-Temporal Semantic Reasoning for the Semantic Change Detection in HR Remote Sensing Images

  • SiROC -> Spatial Context Awareness for Unsupervised Change Detection in Optical Satellite Images. Applied to Sentinel-2 and high-resolution Planetscope imagery on four datasets

  • DSMSCN -> Tensorflow implementation for Change Detection in Multi-temporal VHR Images Based on Deep Siamese Multi-scale Convolutional Neural Networks

  • RaVAEn -> a lightweight, unsupervised approach for change detection in satellite data based on Variational Auto-Encoders (VAEs) with the specific purpose of on-board deployment. It flags changed areas to prioritise for downlink, shortening the response time

  • SemiCD -> Revisiting Consistency Regularization for Semi-supervised Change Detection in Remote Sensing Images. Achieves the performance of supervised CD even with access to as little as 10% of the annotated training data

  • FCCDN_pytorch -> FCCDN: Feature Constraint Network for VHR Image Change Detection.

  • INLPG_Python -> Structure Consistency based Graph for Unsupervised Change Detection with Homogeneous and Heterogeneous Remote Sensing Images

  • NSPG_Python -> Nonlocal patch similarity based heterogeneous remote sensing change detection

  • LGPNet-BCD -> Building Change Detection for VHR Remote Sensing Images via Local-Global Pyramid Network and Cross-Task Transfer Learning Strategy

  • DS_UNet -> Sentinel-1 and Sentinel-2 Data Fusion for Urban Change Detection using a Dual Stream U-Net, uses Onera Satellite Change Detection dataset

  • SiameseSSL -> Urban change detection with a Dual-Task Siamese network and semi-supervised learning. Uses SpaceNet 7 dataset

  • CD-SOTA-methods -> Remote sensing change detection: State-of-the-art methods and available datasets

  • multimodalCD_ISPRS21 -> Fusing Multi-modal Data for Supervised Change Detection

  • Unsupervised-CD-in-SITS-using-DL-and-Graphs -> Unsupervised Change Detection Analysis in Satellite Image Time Series using Deep Learning Combined with Graph-Based Approaches

  • LSNet -> Extremely Light-Weight Siamese Network For Change Detection in Remote Sensing Image

  • End-to-end-CD-for-VHR-satellite-image -> End-to-End Change Detection for High Resolution Satellite Images Using Improved UNet++

  • Semantic-Change-Detection -> SCDNET: A novel convolutional network for semantic change detection in high resolution optical remote sensing imagery

  • ERCNN-DRS_urban_change_monitoring -> Neural Network-Based Urban Change Monitoring with Deep-Temporal Multispectral and SAR Remote Sensing Data

  • EGRCNN -> Edge-guided Recurrent Convolutional Neural Network for Multi-temporal Remote Sensing Image Building Change Detection

  • Unsupervised-Remote-Sensing-Change-Detection -> An Unsupervised Remote Sensing Change Detection Method Based on Multiscale Graph Convolutional Network and Metric Learning

  • CropLand-CD -> A CNN-transformer Network with Multi-scale Context Aggregation for Fine-grained Cropland Change Detection

  • contrastive-surface-image-pretraining -> Supervising Remote Sensing Change Detection Models with 3D Surface Semantics

  • dcvaVHROptical -> Unsupervised Deep Change Vector Analysis for Multiple-Change Detection in VHR Images

  • hyperdimensionalCD -> Change Detection in Hyperdimensional Images Using Untrained Models

  • DSFANet -> Unsupervised Deep Slow Feature Analysis for Change Detection in Multi-Temporal Remote Sensing Images

  • FCD-GAN-pytorch -> Fully Convolutional Change Detection Framework with Generative Adversarial Network (FCD-GAN) is a framework for change detection in multi-temporal remote sensing images

  • DARNet-CD -> A Densely Attentive Refinement Network for Change Detection Based on Very-High-Resolution Bitemporal Remote Sensing Images

  • xView2_Vulcan -> Damage assessment using pre and post orthoimagery. Modified + productionized model based off the first-place model from the xView2 challenge.

  • ESCNet -> An End-to-End Superpixel-Enhanced Change Detection Network for Very-High-Resolution Remote Sensing Images

  • deforestation-detection -> DEEP LEARNING FOR HIGH-FREQUENCY CHANGE DETECTION IN UKRAINIAN FOREST ECOSYSTEM WITH SENTINEL-2

  • forest_change_detection -> forest change segmentation with time-dependent models, including Siamese, UNet-LSTM, UNet-diff, UNet3D models

  • SentinelClearcutDetection -> Scripts for deforestation detection on the Sentinel-2 Level-A images

  • clearcut_detection -> research & web-service for clearcut detection

  • CDRL -> Unsupervised Change Detection Based on Image Reconstruction Loss

  • ddpm-cd -> Remote Sensing Change Detection (Segmentation) using Denoising Diffusion Probabilistic Models

  • DreamCD -> Change detection in remote sensing images

  • Remote-sensing-time-series-change-detection -> Graph-based block-level urban change detection using Sentinel-2 time series

  • dfc2021-msd-baseline -> Multitemporal Semantic Change Detection track of the 2021 IEEE GRSS Data Fusion Competition

  • CorrFusionNet -> Multi-Temporal Scene Classification and Scene Change Detection with Correlation based Fusion

  • IRCNN -> IRCNN: An Irregular-Time-Distanced Recurrent Convolutional Neural Network for Change Detection in Satellite Time Series

  • UTRNet -> An Unsupervised Time-Distance-Guided Convolutional Recurrent Network for Change Detection in Irregularly Collected Images

  • open-cd -> an open source change detection toolbox based on a series of open source general vision task tools

  • Tiny_model_4_CD -> TINYCD: A (Not So) Deep Learning Model For Change Detection. Uses LEVIR-CD & WHU-CD datasets

  • FHD -> Feature Hierarchical Differentiation for Remote Sensing Image Change Detection

  • building-expansion -> Enhancing Environmental Enforcement with Near Real-Time Monitoring: Likelihood-Based Detection of Structural Expansion of Intensive Livestock Farms

  • SaDL_CD -> Semantic-aware Dense Representation Learning for Remote Sensing Image Change Detection

  • EGCTNet_pytorch -> Building Change Detection Based on an Edge-Guided Convolutional Neural Network Combined with a Transformer

  • S2-cGAN -> S2-cGAN: Self-Supervised Adversarial Representation Learning for Binary Change Detection in Multispectral Images

  • A-loss-function-for-change-detection -> UAL: Unchanged Area Loss-Function for Change Detection Networks

  • IEEE_TGRS_SSTFormer -> Spectral–Spatial–Temporal Transformers for Hyperspectral Image Change Detection

  • DMINet -> Change Detection on Remote Sensing Images Using Dual-Branch Multilevel Intertemporal Network

  • AFCF3D-Net -> Adjacent-level Feature Cross-Fusion with 3D CNN for Remote Sensing Image Change Detection

  • DSAHRNet -> A Deeply Attentive High-Resolution Network for Change Detection in Remote Sensing Images

  • RDPNet -> RDP-Net: Region Detail Preserving Network for Change Detection

  • BGAAE_CD -> Bipartite Graph Attention Autoencoders for Unsupervised Change Detection Using VHR Remote Sensing Images

  • Metric-CD -> Deep Metric Learning for Unsupervised Change Detection in Remote Sensing Images

  • HANet-CD -> HANet: A hierarchical attention network for change detection with bi-temporal very-high-resolution remote sensing images

  • SRGCAE -> Unsupervised Multimodal Change Detection Based on Structural Relationship Graph Representation Learning

  • change_detection_onera_baselines -> Siamese version of U-Net baseline model

  • SiamCRNN -> Change Detection in Multisource VHR Images via Deep Siamese Convolutional Multiple-Layers Recurrent Neural Network

  • Graph-based methods for change detection in remote sensing images -> Graph Learning Based on Signal Smoothness Representation for Homogeneous and Heterogeneous Change Detection

  • TransUNetplus2 -> TransU-Net++: Rethinking attention gated TransU-Net for deforestation mapping. Uses the Amazon and Atlantic forest dataset

  • AR-CDNet -> Towards Accurate and Reliable Change Detection of Remote Sensing Images via Knowledge Review and Online Uncertainty Estimation

  • CICNet -> Compact Intertemporal Coupling Network for Remote Sensing Change Detection

  • BGINet -> Remote Sensing Image Change Detection with Graph Interaction

  • DSNUNet -> DSNUNet: An Improved Forest Change Detection Network by Combining Sentinel-1 and Sentinel-2 Images

  • Forest-CD -> Forest-CD: Forest Change Detection Network Based on VHR Images

  • S3Net_CD -> Superpixel-Guided Self-Supervised Learning Network for Change Detection in Multitemporal Image Change Detection

  • T-UNet -> T-UNet: Triplet UNet for Change Detection in High-Resolution Remote Sensing Images

  • UCDFormer -> UCDFormer: Unsupervised Change Detection Using a Transformer-driven Image Translation

  • satellite-change-events -> Change Event Dataset for Discovery from Spatio-temporal Remote Sensing Imagery, uses Sentinel 2 CaiRoad & CalFire datasets

  • CACo -> Change-Aware Sampling and Contrastive Learning for Satellite Images

  • LightCDNet -> LightCDNet: Lightweight Change Detection Network Based on VHR Images

  • OpenMineChangeDetection -> Characterising Open Cast Mining from Satellite Data (Sentinel 2), implements TinyCD, LSNet & DDPM-CD

  • multi-task-L-UNet -> A Deep Multi-Task Learning Framework Coupling Semantic Segmentation and Fully Convolutional LSTM Networks for Urban Change Detection. Applied to SpaceNet7 dataset

  • urban_change_detection -> Detecting Urban Changes With Recurrent Neural Networks From Multitemporal Sentinel-2 Data. fabric is another implementation

  • UNetLSTM -> Detecting Urban Changes With Recurrent Neural Networks From Multitemporal Sentinel-2 Data

  • SDACD -> An End-to-end Supervised Domain Adaptation Framework for Cross-domain Change Detection

  • CycleGAN-Based-DA-for-CD -> CycleGAN-based Domain Adaptation for Deforestation Detection

  • CGNet-CD -> Change Guiding Network: Incorporating Change Prior to Guide Change Detection in Remote Sensing Imagery

  • PA-Former -> PA-Former: Learning Prior-Aware Transformer for Remote Sensing Building Change Detection

  • AERNet -> AERNet: An Attention-Guided Edge Refinement Network and a Dataset for Remote Sensing Building Change Detection (HRCUS-CD)

  • S1GFlood-Detection -> DAM-Net: Global Flood Detection from SAR Imagery Using Differential Attention Metric-Based Vision Transformers. Includes S1GFloods dataset

  • Changen -> Scalable Multi-Temporal Remote Sensing Change Data Generation via Simulating Stochastic Change Process

  • TTP -> Time Travelling Pixels: Bitemporal Features Integration with Foundation Model for Remote Sensing Image Change Detection

  • SAM-CD -> Adapting Segment Anything Model for Change Detection in HR Remote Sensing Images

  • SCanNet -> Joint Spatio-Temporal Modeling for Semantic Change Detection in Remote Sensing Images

  • ELGC-Net -> Efficient Local-Global Context Aggregation for Remote Sensing Change Detection

  • Official_Remote_Sensing_Mamba -> RS-Mamba for Large Remote Sensing Image Dense Prediction

  • ChangeMamba -> Remote Sensing Change Detection with Spatio-Temporal State Space Model

  • ClearSCD -> Comprehensively leveraging semantics and change relationships for semantic change detection in high spatial resolution remote sensing imagery

  • RSCaMa -> Remote Sensing Image Change Captioning with State Space Model

  • ChangeBind -> A Hybrid Change Encoder for Remote Sensing Change Detection

  • OctaveNet -> An efficient multi-scale pseudo-siamese network for change detection in remote sensing images

  • MaskCD -> A Remote Sensing Change Detection Network Based on Mask Classification

  • I3PE -> Exchange means change: an unsupervised single-temporal change detection framework based on intra- and inter-image patch exchange

  • BDANet -> Multiscale Convolutional Neural Network with Cross-directional Attention for Building Damage Assessment from Satellite Images

  • BAN -> A New Learning Paradigm for Foundation Model-based Remote Sensing Change Detection

  • ubdd -> Learning Efficient Unsupervised Satellite Image-based Building Damage Detection, uses xView2

  • SGSLN -> Exchanging Dual-Encoder–Decoder: A New Strategy for Change Detection With Semantic Guidance and Spatial Localization

  • ChangeViT -> Unleashing Plain Vision Transformers for Change Detection

  • pytorch-change-models -> out-of-box contemporary spatiotemporal change model implementations, standard metrics, and datasets

  • FFCTL -> A full-level fused cross-task transfer learning method for building change detection using noise-robust pretrained networks on crowdsourced labels

  • SARAS-Net -> SARAS-Net: Scale And Relation Aware Siamese Network for Change Detection

  • Change_Detection_FCNs -> Deforestation Detection with Fully Convolutional Networks in the Amazon Forest from Landsat-8 and Sentinel-2 Images

  • HyperNet -> HyperNet: Self-Supervised Hyperspectral SpatialSpectral Feature Understanding Network for Hyperspectral Change Detection

  • CMCDNet -> CMCDNet: Cross-modal change detection flood extraction based on convolutional neural network

  • Dsfer-Net -> A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Network

  • Simple-Remote-Sensing-Change-Detection-Framework -> Simplified implementation of remote sensing change detection based on Pytorch

  • BCE-Net -> BCE-Net: Reliable Building Footprints Change Extraction based on Historical Map and Up-to-Date Images using Contrastive Learning

  • sits-change-detection -> Detecting Land Cover Changes Between Satellite Image Time Series By Exploiting Self-Supervised Representation Learning Capabilities

  • USSFC-Net -> Ultralightweight Spatial–Spectral Feature Cooperation Network for Change Detection in Remote Sensing Images

  • VcT_Remote_Sensing_Change_Detection -> VcT: Visual change Transformer for Remote Sensing Image Change Detection

  • HabitAlp 2.0 -> Habitat and Land Cover Change Detection in Alpine Protected Areas: A Comparison of AI Architectures

  • ChangeDINO -> DINOv3-Driven Building Change Detection in Optical Remote Sensing Imagery.

  • mason_cd -> Make Some Noise: Unsupervised Remote Sensing Change Detection Using Latent Space Perturbations

  • Noise2Map -> End-to-End Diffusion Model for Semantic Segmentation and Change Detection

  • MBCTD -> Multi-Label Building Change Type Detection

  • FAIR-EO-CD-benchmark -> code for paper: A comprehensive and trustworthy benchmark of AI methods for change detection in Earth observation

  • CF-MAE -> code for paper: CF-MAE: A Change-Fused Masked Autoencoder for Earth Observation-Based Multi-Hazard Change Detection

Time series


Prediction of the next image in a series.

The analysis of time series observations in remote sensing data has numerous applications, including enhancing the accuracy of classification models and forecasting future patterns and events. Image source. Note: since classifying crops and predicting crop yield are such prominent use case for time series data, these tasks have dedicated sections after this one.

Crop classification


(left) false colour image and (right) the crop map.

Crop classification in remote sensing is the identification and mapping of different crops in images or sequences of images. It aims to provide insight into the distribution and composition of crops in a specific area, with applications that include monitoring crop growth and evaluating crop damage. Both traditional machine learning methods, such as decision trees and support vector machines, and deep learning techniques, such as convolutional neural networks (CNNs), can be used to perform crop classification. The optimal method depends on the size and complexity of the dataset, the desired accuracy, and the available computational resources. However, the success of crop classification relies heavily on the quality and resolution of the input data, as well as the availability of labeled training data. Image source: High resolution satellite imaging sensors for precision agriculture by Chenghai Yang

Crop yield & vegetation forecasting


Wheat yield data. Blue vertical lines denote observation dates.

Crop yield is a crucial metric in agriculture, as it determines the productivity and profitability of a farm. It is defined as the amount of crops produced per unit area of land and is influenced by a range of factors including soil fertility, weather conditions, the type of crop grown, and pest and disease control. By utilizing time series of satellite images, it is possible to perform accurate crop type classification and take advantage of the seasonal variations specific to certain crops. This information can be used to optimize crop management practices and ultimately improve crop yield. However, to achieve accurate results, it is essential to consider the quality and resolution of the input data, as well as the availability of labeled training data. Appropriate pre-processing and feature extraction techniques must also be employed. Image source.

Wealth and economic activity


COVID-19 impacts on human and economic activities.

The traditional approach of collecting economic data through ground surveys is a time-consuming and resource-intensive process. However, advancements in satellite technology and machine learning offer an alternative solution. By utilizing satellite imagery and applying machine learning algorithms, it is possible to obtain accurate and current information on economic activity with greater efficiency. This shift towards satellite imagery-based forecasting not only provides cost savings but also offers a wider and more comprehensive perspective of economic activity. As a result, it is poised to become a valuable asset for both policymakers and businesses. Image source.

Truncated — view the full README on GitHub.

convolutional-neural-networks
dataset
datasets
deep-learning
deep-neural-networks
earth-observation
image-classification
machine-learning
object-detection
python
pytorch
remote-sensing
satellite-data
satellite-imagery
satellite-images
sentinel

Significant stargazers

Brad Hards

64 followers · starred May 2022

Alex Strick van Linschoten

464 followers · starred Nov 2021

Eric Zhu

769 followers · starred Feb 2019

Rajesh Thallam

50 followers · starred Feb 2022

satellite-image-deep-learning/techniques

Techniques for deep learning with satellite & aerial imagery

10,270

1,459 commits

updated Sep 26, 2026

See the code

README

Introduction

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'

Techniques

Classification


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

  • 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-the-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

  • Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks

  • 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

  • sentinel-landslide-cls -> Classification for Landslide Detection, using Sentinel-1 and Sentinel-2 data.

  • Infra-Bench CLS -> code for paper: Infra-Bench CLS: A Global, Open-Source Benchmark for Critical Infrastructure Classification with Earth Observation Foundation Models

  • Detecting old-growth forests -> code for paper: Geospatial embeddings detect old-growth forests but buffered spatial validation narrows their advantage over Sentinel features

Segmentation


(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.

Segmentation - Land use & land cover

  • Automatic Detection of Landfill Using Deep Learning

  • 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

  • DeepGlobe Land Cover Classification Challenge solution

  • 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

  • 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 large-scale land cover mapping.

  • dynamicworld -> Dynamic World, global 10 m land use land cover mapping from Google. dynamic_world_pytorch is a pytorch implementation.

  • 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)

  • flair-2 8th place solution

  • 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

  • LALE -> a lightweight hybrid ConvMixer-transformer architecture for efficient land-cover segmentation in remote sensing imagery

Segmentation - Vegetation, deforestation, crops & field boundaries

Note that deforestation detection may be treated as a segmentation task or a change detection task

Segmentation - Water, coastlines, rivers & floods

  • sat-water -> Semantic segmentation of water bodies in satellite imagery, producing pixel-wise water masks from remote sensing images using a U-Net–style deep learning pipeline (data preparation, training, inference, and evaluation).

  • Houston_flooding -> labeling each pixel as either flooded or not using data from Hurricane Harvey. Dataset consisted of pre and post flood images, and a ground truth floodwater mask was created using unsupervised clustering (with DBScan) of image pixels with human cluster verification/adjustment

  • ml4floods -> An ecosystem of data, models and code pipelines to tackle flooding with ML

  • floodmaps -> an end-to-end pipeline and segmentation models for flood-water detection using Sentinel-1 SAR and Sentinel-2 multispectral imagery

  • 1st place solution for STAC Overflow: Map Floodwater from Radar Imagery hosted by Microsoft AI for Earth -> combines Unet with Catboostclassifier, taking their maxima, not the average

  • hydra-floods -> an open source Python application for downloading, processing, and delivering surface water maps derived from remote sensing data

  • CoastSat -> tool for mapping coastlines which has an extension CoastSeg using segmentation models

  • deepwatermap -> a deep model that segments water on multispectral images

  • rivamap -> an automated river analysis and mapping engine

  • deep-water -> track changes in water level

  • WatNet -> A deep ConvNet for surface water mapping based on Sentinel-2 image, uses the Earth Surface Water Dataset

  • A-U-Net-for-Flood-Extent-Mapping

  • floatingobjects -> TOWARDS DETECTING FLOATING OBJECTS ON A GLOBAL SCALE WITHLEARNED SPATIAL FEATURES USING SENTINEL 2. Uses U-Net & pytorch

  • SpaceNet8 -> baseline Unet solution to detect flooded roads and buildings

  • dlsim -> Breaking the Limits of Remote Sensing by Simulation and Deep Learning for Flood and Debris Flow Mapping

  • Water-HRNet -> HRNet trained on Sentinel 2

  • semantic segmentation model to identify newly developed or flooded land using NAIP imagery provided by the Chesapeake Conservancy, training on MS Azure

  • BandNet -> Analysis and application of multispectral data for water segmentation using machine learning. Uses Sentinel-2 data

  • mmflood -> MMFlood: A Multimodal Dataset for Flood Delineation From Satellite Imagery (Sentinel 1 SAR)

  • Urban_flooding -> Towards transferable data-driven models to predict urban pluvial flood water depth in Berlin, Germany

  • MECNet -> Rich CNN features for water-body segmentation from very high resolution aerial and satellite imagery

  • SWRNET -> A Deep Learning Approach for Small Surface Water Area Recognition Onboard Satellite

  • elwha-segmentation -> fine-tuning Meta's Segment Anything (SAM) for bird's eye view river pixel segmentation

  • RiverSnap -> code for paper: A Comparative Performance Analysis of Popular Deep Learning Models and Segment Anything Model (SAM) for River Water Segmentation in Close-Range Remote Sensing Imagery

  • SAR-water-segmentation -> Deep Learning based Water Segmentation Using KOMPSAT-5 SAR Images

  • TerraMind-Flood -> DEM-Enhanced Flood Detection with Physics-Aware Learning, applied to Sen1Flood11

  • Prithvi-CAFE -> Transformer-based global reasoning (Prithvi-EO-2.0) with CNN-based local spatial sensitivity, enabling high-resolution, reliable flood inundation mapping across multi-channel/sensor inputs, applied to Sen1Flood11

  • SMAGNet -> A Spatially Masked Adaptive Gated Network for Multimodal Post-Flood Water Extent Mapping using SAR and Incomplete Multispectral Data. Uses c2smsfloods dataset

  • IBM BlueSky Challenge - ZeroFlood

  • OmniWaterMask-training -> Training code for the deep learning model used in OmniWaterMask - a Python library for detecting water bodies in satellite and aerial imagery.

  • utae-water-segmentation -> UTAE-PAPS model for water/land segmentation using Sentinel-1 and Sentinel-2 data with IBM Granite flood detection dataset

Segmentation - Fire, smoke & burn areas

Segmentation - Landslides

Segmentation - Glaciers

  • HED-UNet -> a model for simultaneous semantic segmentation and edge detection, examples provided are glacier fronts and building footprints using the Inria Aerial Image Labeling dataset

  • glacier_mapping -> Mapping glaciers in the Hindu Kush Himalaya, Landsat 7 images, Shapefile labels of the glaciers, Unet with dropout

  • GlacierSemanticSegmentation

  • Antarctic-fracture-detection -> uses UNet with the MODIS Mosaic of Antarctica to detect surface fractures

  • sentinel_lakeice -> Lake Ice Detection from Sentinel-1 SAR with Deep Learning

  • MCD-Net -> a lightweight deep learning framework for optical-only moraine segmentation

  • landslides_segmentation -> super-resolution and segmentation of multispectral Sentinel-2 satellite imagery, applied to landslide monitoring in Italian municipalities.

  • GlacierCastAI -> forecasts glacier boundary retreat from Landsat time series, ERA5 climate data and Copernicus DEM terrain features using a multimodal ConvLSTM model

Segmentation - methane

Segmentation - Other environmental

  • Detection of Open Landfills -> uses Sentinel-2 to detect large changes in the Normalized Burn Ratio (NBR)

  • sea_ice_remote_sensing -> Sea Ice Concentration classification

  • EddyNet -> A Deep Neural Network For Pixel-Wise Classification of Oceanic Eddies

  • schisto-vegetation -> Deep Learning Segmentation of Satellite Imagery Identifies Aquatic Vegetation Associated with Snail Intermediate Hosts of Schistosomiasis in Senegal, Africa

  • Earthformer -> Exploring space-time transformers for earth system forecasting

  • weather4cast-2022 -> Unet-3D baseline model for Weather4cast Rain Movie Prediction competition

  • WeatherFusionNet -> Predicting Precipitation from Satellite Data. weather4cast-2022 1st place solution

  • marinedebrisdetector -> Large-scale Detection of Marine Debris in Coastal Areas with Sentinel-2

  • kaggle-identify-contrails-4th -> 4th place Solution, Google Research - Identify Contrails to Reduce Global Warming

  • MineSegSAT -> An automated system to evaluate mining disturbed area extents from Sentinel-2 imagery

  • asos -> Recognizing protected and anthropogenic patterns in landscapes using interpretable machine learning and satellite imagery

  • SinkSAM -> Knowledge-Driven Self-Supervised Sinkhole Segmentation Using Topographic Priors and Segment Anything Model

  • SENSE -> Satellite-based ENergy Synthesis for Sustainable Environment

Segmentation - Roads & sidewalks

Extracting roads is challenging due to the occlusions caused by other objects and the complex traffic environment

Segmentation - Buildings & rooftops

Segmentation - Solar panels

Segmentation - Ships & vessels

Segmentation - Other manmade

  • Aarsh2001/ML_Challenge_NRSC -> Electrical Substation detection

  • electrical_substation_detection

  • MCAN-OilSpillDetection -> Oil Spill Detection with A Multiscale Conditional Adversarial Network under Small Data Training

  • mining-detector -> detection of artisanal gold mines in Sentinel-2 satellite imagery for Amazon Mining Watch. Also covers clandestine airstrips

  • EG-UNet Deep Feature Enhancement Method for Land Cover With Irregular and Sparse Spatial Distribution Features: A Case Study on Open-Pit Mining

  • plastics -> Detecting and Monitoring Plastic Waste Aggregations in Sentinel-2 Imagery

  • MADOS -> Detecting Marine Pollutants and Sea Surface Features with Deep Learning in Sentinel-2 Imagery on the MADOS dataset

  • SADMA -> Residual Attention UNet on MARIDA: Marine Debris Archive is a marine debris-oriented dataset on Sentinel-2 satellite images

  • MAP-Mapper -> Marine Plastic Mapper is a tool for assessing marine macro-plastic density to identify plastic hotspots, underpinned by the MARIDA dataset.

  • substation-seg -> segmenting substations in Sentinel 2 satellite imagery

  • SAMSelect -> An Automated Spectral Index Search for Marine Debris using Segment-Anything (SAM)

  • MambaMPD -> code for paper: MambaMPD: A Mamba-Driven Segmentation Framework for Marine Pollution Detection from Remote Sensing Imagery

Panoptic segmentation

Segmentation - Miscellaneous

  • seg-eval -> SegEval is a Python library that provides tools for evaluating semantic segmentation models. Generate evaluation regions and to analyze segmentation results within them.

  • awesome-satellite-images-segmentation

  • Satellite Image Segmentation: a Workflow with U-Net is a decent intro article

  • mmsegmentation -> Semantic Segmentation Toolbox with support for many remote sensing datasets including LoveDA, Potsdam, Vaihingen & iSAID

  • segmentation_gym -> A neural gym for training deep learning models to carry out geoscientific image segmentation

  • Using a U-Net for image segmentation, blending predicted patches smoothly is a must to please the human eye -> python code to blend predicted patches smoothly. See Satellite-Image-Segmentation-with-Smooth-Blending

  • DCA -> Deep Covariance Alignment for Domain Adaptive Remote Sensing Image Segmentation

  • SCAttNet -> Semantic Segmentation Network with Spatial and Channel Attention Mechanism

  • Efficient-Transformer -> Efficient Transformer for Remote Sensing Image Segmentation

  • weakly_supervised -> Weakly Supervised Deep Learning for Segmentation of Remote Sensing Imagery

  • HRCNet-High-Resolution-Context-Extraction-Network -> High-Resolution Context Extraction Network for Semantic Segmentation of Remote Sensing Images

  • Semantic segmentation of SAR images using a self supervised technique

  • satellite-segmentation-pytorch -> explores a wide variety of image augmentations to increase training dataset size

  • Spectralformer -> Rethinking hyperspectral image classification with transformers

  • Unsupervised Segmentation of Hyperspectral Remote Sensing Images with Superpixels

  • Semantic-Segmentation-with-Sparse-Labels

  • SNDF -> Superpixel-enhanced deep neural forest for remote sensing image semantic segmentation

  • dynamic-rs-segmentation -> Dynamic Multi-Context Segmentation of Remote Sensing Images based on Convolutional Networks

  • segmentation_models.pytorch -> Segmentation models with pretrained backbones, has been used in multiple winning solutions to remote sensing competitions

  • SSRN -> Spectral-Spatial Residual Network for Hyperspectral Image Classification: A 3-D Deep Learning Framework

  • SO-DNN -> Simplified object-based deep neural network for very high resolution remote sensing image classification

  • SANet -> Scale-Aware Network for Semantic Segmentation of High-Resolution Aerial Images

  • aerial-segmentation -> Learning Aerial Image Segmentation from Online Maps

  • Detectron2 FPN + PointRend Model for amazing Satellite Image Segmentation -> 15% increase in accuracy when compared to the U-Net model

  • HybridSN -> Exploring 3D-2D CNN Feature Hierarchy for Hyperspectral Image Classification

  • TNNLS_2022_X-GPN -> Semisupervised Cross-scale Graph Prototypical Network for Hyperspectral Image Classification

  • singleSceneSemSegTgrs2022 -> Unsupervised Single-Scene Semantic Segmentation for Earth Observation

  • A-Fast-and-Compact-3-D-CNN-for-HSIC -> A Fast and Compact 3-D CNN for Hyperspectral Image Classification

  • HSNRS -> Hourglass-ShapeNetwork Based Semantic Segmentation for High Resolution Aerial Imagery

  • GiGCN -> Graph-in-Graph Convolutional Network for Hyperspectral Image Classification

  • SSAN -> Spectral-Spatial Attention Networks for Hyperspectral Image Classification

  • drone-images-semantic-segmentation -> Multiclass Semantic Segmentation of Aerial Drone Images Using Deep Learning

  • Satellite-Image-Segmentation-with-Smooth-Blending -> uses Smoothly-Blend-Image-Patches

  • BayesianUNet -> Pytorch Bayesian UNet model for segmentation and uncertainty prediction, applied to the Potsdam Dataset

  • RAANet -> A Residual ASPP with Attention Framework for Semantic Segmentation of High-Resolution Remote Sensing Images

  • wheelRuts_semanticSegmentation -> Mapping wheel-ruts from timber harvesting operations using deep learning techniques in drone imagery

  • LWN-for-UAVRSI -> Light-Weight Semantic Segmentation Network for UAV Remote Sensing Images, applied to Vaihingen, UAVid and UDD6 datasets

  • hypernet -> library which implements hyperspectral image (HSI) segmentation

  • ST-UNet -> Swin Transformer Embedding UNet for Remote Sensing Image Semantic Segmentation

  • EDFT -> Efficient Depth Fusion Transformer for Aerial Image Semantic Segmentation

  • WiCoNet -> Looking Outside the Window: Wide-Context Transformer for the Semantic Segmentation of High-Resolution Remote Sensing Images

  • CRGNet -> Consistency-Regularized Region-Growing Network for Semantic Segmentation of Urban Scenes with Point-Level Annotations

  • SA-UNet -> Improved U-Net Remote Sensing Classification Algorithm Fusing Attention and Multiscale Features

  • MANet -> Multi-Attention-Network for Semantic Segmentation of Fine Resolution Remote Sensing Images

  • BANet -> Transformer Meets Convolution: A Bilateral Awareness Network for Semantic Segmentation of Very Fine Resolution Urban Scene Images

  • MACU-Net -> MACU-Net for Semantic Segmentation of Fine-Resolution Remotely Sensed Images

  • DNAS -> Decoupling Neural Architecture Search for High-Resolution Remote Sensing Image Semantic Segmentation

  • A2-FPN -> A2-FPN for Semantic Segmentation of Fine-Resolution Remotely Sensed Images

  • MAResU-Net -> Multi-stage Attention ResU-Net for Semantic Segmentation of Fine-Resolution Remote Sensing Images

  • RSEN -> Robust Self-Ensembling Network for Hyperspectral Image Classification

  • MSNet -> multispectral semantic segmentation network for remote sensing images

  • Swin-Transformer-Semantic-Segmentation -> Satellite Image Semantic Segmentation

  • UDA_for_RS -> Unsupervised Domain Adaptation for Remote Sensing Semantic Segmentation with Transformer

  • A-3D-CNN-AM-DSC-model-for-hyperspectral-image-classification -> Attention Mechanism and Depthwise Separable Convolution Aided 3DCNN for Hyperspectral Remote Sensing Image Classification

  • contrastive-distillation -> A Contrastive Distillation Approach for Incremental Semantic Segmentation in Aerial Images

  • SegForestNet -> SegForestNet: Spatial-Partitioning-Based Aerial Image Segmentation

  • MFVNet -> MFVNet: Deep Adaptive Fusion Network with Multiple Field-of-Views for Remote Sensing Image Semantic Segmentation

  • Wildebeest-UNet -> detecting wildebeest and zebras in Serengeti-Mara ecosystem from very-high-resolution satellite imagery

  • segment-anything-eo -> Earth observation tools for Meta AI Segment Anything (SAM - Segment Anything Model)

  • HR-Image-classification_SDF2N -> A Shallow-to-Deep Feature Fusion Network for VHR Remote Sensing Image Classification

  • sink-seg -> Automatic Segmentation of Sinkholes Using a Convolutional Neural Network

  • Tiling and Stitching Segmentation Output for Remote Sensing: Basic Challenges and Recommendations

  • EMRT -> Enhancing Multiscale Representations With Transformer for Remote Sensing Image Semantic Segmentation

  • UDA_for_RS -> Unsupervised Domain Adaptation for Remote Sensing Semantic Segmentation with Transformer

  • CMTFNet -> CMTFNet: CNN and Multiscale Transformer Fusion Network for Remote Sensing Image Semantic Segmentation

  • CM-UNet -> Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation

  • Using Stable Diffusion to Improve Image Segmentation Models -> Augmenting Data with Stable Diffusion

  • SSRS -> Semantic Segmentation for Remote Sensing, multiple networks implemented

  • BIOSCANN -> BIOdiversity Segmentation and Classification with Artificial Neural Networks

  • ResUNet-a -> a deep learning framework for semantic segmentation of remotely sensed data

  • SSG2 -> A New Modelling Paradigm for Semantic Segmentation

  • DBFNet -> Deep Bilateral Filtering Network for Point-Supervised Semantic Segmentation in Remote Sensing Images

  • PGNet -> PGNet: Positioning Guidance Network for Semantic Segmentation of Very-High-Resolution Remote Sensing Images paper

  • ASD -> Anomaly Segmentation for High-Resolution Remote Sensing Images Based on Pixel Descriptors.

  • u-nets-implementation -> Semantic-Segmentation-with-U-Nets

  • SDM -> Scale-aware Detailed Matching for Few-Shot Aerial Image Semantic Segmentation

  • Transferability-Remote-Sensing -> On the Transferability of Learning Models for Semantic Segmentation for Remote Sensing Data

  • data-centric-satellite-segmentation -> Contains implementations of data-centric approaches for improving semantic segmentation on satellite imagery, from Microsoft

  • HSLabeling -> Towards Efficient Labeling for Large-scale Remote Sensing Image Segmentation with Hybrid Sparse Labeling

  • RemoteSAM -> Towards Segment Anything for Earth Observation (SAM)

  • HieraRS -> A Hierarchical Segmentation Paradigm for Remote Sensing Enabling Multi-Granularity Interpretation and Cross-Domain Transfer

  • MultiFranceFences -> Large-scale fence detection using deep learning and multimodal aerial imagery

Instance segmentation

In instance segmentation, each individual 'instance' of a segmented area is given a unique label. For detection of very small objects this may be a good approach, but it can struggle separating individual objects that are closely spaced.

  • Mask_RCNN generates bounding boxes and segmentation masks for each instance of an object in the image. It is very commonly used for instance segmentation & object detection

  • Building-Detection-MaskRCNN -> Building detection from the SpaceNet dataset by using Mask RCNN

  • Mask_RCNN-for-Caravans -> detect caravan footprints from OS imagery

  • parking_bays_detectron2 -> Detecting parking bays with satellite imagery. Used Detectron2 and synthetic data with Unreal, superior performance to using Mask RCNN

  • Circle_Finder -> Circular Shapes Detection in Satellite Imagery, 2nd place solution to the Circle Finder Challenge

  • Lawn_maskRCNN -> Detecting lawns from satellite images of properties in the Cedar Rapids area using Mask-R-CNN

  • CropMask_RCNN -> Segmenting center pivot agriculture to monitor crop water use in drylands with Mask R-CNN and Landsat satellite imagery

  • Mask RCNN for Spacenet Off Nadir Building Detection

  • CATNet -> Learning to Aggregate Multi-Scale Context for Instance Segmentation in Remote Sensing Images

  • Object-Detection-on-Satellite-Images-using-Mask-R-CNN -> detect ships

  • FactSeg -> Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery (TGRS), also see FarSeg and FreeNet, implementations of research paper

  • aqua_python -> detecting aquaculture farms using Mask R-CNN

  • RSPrompter -> Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model

  • VMD-Mask-RCNN-pipeline -> Detecting and segmenting sand mining river vessels on the Vietnam Mekong Delta, using PlanetScope imagery and Mask R-CNN

  • BRIGHT cvprw26 -> Mask R-CNN baseline for multimodal building damage instance segmentation on BRIGHT

Object detection


Image showing the suitability of rotated bounding boxes in remote sensing.

Object detection in remote sensing involves locating and surrounding objects of interest with bounding boxes. Due to the large size of remote sensing images and the fact that objects may only comprise a few pixels, object detection can be challenging in this context. The imbalance between the area of the objects to be detected and the background, combined with the potential for objects to be easily confused with random features in the background, further complicates the task. Object detection generally performs better on larger objects, but becomes increasingly difficult as the objects become smaller and more densely packed. The accuracy of object detection models can also degrade rapidly as image resolution decreases, which is why it is common to use high resolution imagery, such as 30cm RGB, for object detection in remote sensing. A unique characteristic of aerial images is that objects can be oriented in any direction. To effectively extract measurements of the length and width of an object, it can be crucial to use rotated bounding boxes that align with the orientation of the object. This approach enables more accurate and meaningful analysis of the objects within the image. Image source

Object tracking in videos

  • TCTrack -> Temporal Contexts for Aerial Tracking

  • CFME -> Object Tracking in Satellite Videos by Improved Correlation Filters With Motion Estimations

  • TGraM -> Multi-Object Tracking in Satellite Videos with Graph-Based Multi-Task Modeling

  • satellite_video_mod_groundtruth -> groundtruth on satellite video for evaluating moving object detection algorithm

  • Moving-object-detection-DSFNet -> DSFNet: Dynamic and Static Fusion Network for Moving Object Detection in Satellite Videos

  • HiFT -> Hierarchical Feature Transformer for Aerial Tracking

  • geo-trax -> extracts georeferenced vehicle trajectories from high-altitude bird's-eye-view drone video

Object detection with rotated bounding boxes

Orinted bounding boxes (OBB) are polygons representing rotated rectangles. For datasets checkout DOTA & HRSC2016. Start with Yolov8

  • mmrotate -> Rotated Object Detection Benchmark, with pretrained models and function for inferencing on very large images

  • OrientedDet -> a lightweight PyTorch framework for rotated object detection in aerial and satellite imagery, with oriented models, geometry operations and DOTA support

  • OBBDetection -> an oriented object detection library, which is based on MMdetection

  • rotate-yolov3 -> Rotation object detection implemented with yolov3. Also see yolov3-polygon

  • DRBox -> for detection tasks where the objects are orientated arbitrarily, e.g. vehicles, ships and airplanes

  • s2anet -> Align Deep Features for Oriented Object Detection

  • CFC-Net -> A Critical Feature Capturing Network for Arbitrary-Oriented Object Detection in Remote Sensing Images

  • ReDet -> A Rotation-equivariant Detector for Aerial Object Detection

  • BBAVectors-Oriented-Object-Detection -> Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

  • CSL_RetinaNet_Tensorflow -> Arbitrary-Oriented Object Detection with Circular Smooth Label

  • r3det-on-mmdetection -> R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object

  • R-DFPN_FPN_Tensorflow -> Rotation Dense Feature Pyramid Networks (Tensorflow)

  • R2CNN_Faster-RCNN_Tensorflow -> Rotational region detection based on Faster-RCNN

  • Rotated-RetinaNet -> implemented in pytorch, it supports the following datasets: DOTA, HRSC2016, ICDAR2013, ICDAR2015, UCAS-AOD, NWPU VHR-10, VOC2007

  • OBBDet_Swin -> The sixth place winning solution in 2021 Gaofen Challenge

  • CG-Net -> Learning Calibrated-Guidance for Object Detection in Aerial Images

  • OrientedRepPoints_DOTA -> Oriented RepPoints + Swin Transformer/ReResNet

  • yolov5_obb -> yolov5 + Oriented Object Detection

  • How to Train YOLOv5 OBB -> YOLOv5 OBB tutorial and YOLOv5 OBB noteboook

  • OHDet_Tensorflow -> can be applied to rotation detection and object heading detection

  • Seodore -> framework maintaining recent updates of mmdetection

  • Rotation-RetinaNet-PyTorch -> oriented detector Rotation-RetinaNet implementation on Optical and SAR ship dataset

  • AIDet -> an open source object detection in aerial image toolbox based on MMDetection

  • rotation-yolov5 -> rotation detection based on yolov5

  • SLRDet -> project based on mmdetection to reimplement RRPN and use the model Faster R-CNN OBB

  • AxisLearning -> Axis Learning for Orientated Objects Detection in Aerial Images

  • Detection_and_Recognition_in_Remote_Sensing_Image -> This work uses PaNet to realize Detection and Recognition in Remote Sensing Image by MXNet

  • DrBox-v2-tensorflow -> tensorflow implementation of DrBox-v2 which is an improved detector with rotatable boxes for target detection in remote sensing images

  • Rotation-EfficientDet-D0 -> A PyTorch Implementation Rotation Detector based EfficientDet Detector, applied to custom rotation vehicle datasets

  • DODet -> Dual alignment for oriented object detection, uses DOTA dataset

  • GF-CSL -> Gaussian Focal Loss: Learning Distribution Polarized Angle Prediction for Rotated Object Detection in Aerial Images

  • Polar-Encodings -> Learning Polar Encodings for Arbitrary-Oriented Ship Detection in SAR Images

  • R-CenterNet -> detector for rotated-object based on CenterNet

  • piou -> Orientated Object Detection; IoU Loss, applied to DOTA dataset

  • DAFNe -> A One-Stage Anchor-Free Approach for Oriented Object Detection

  • AProNet -> Detecting objects with precise orientation from aerial images. Applied to datasets DOTA and HRSC2016

  • UCAS-AOD-benchmark -> A benchmark of UCAS-AOD dataset

  • RotateObjectDetection -> based on Ultralytics/yolov5, with adjustments to enable rotate prediction boxes. Also see PolygonObjectDetection

  • AD-Toolbox -> Aerial Detection Toolbox based on MMDetection and MMRotate, with support for more datasets

  • GGHL -> A General Gaussian Heatmap Label Assignment for Arbitrary-Oriented Object Detection

  • NPMMR-Det -> A Novel Nonlocal-Aware Pyramid and Multiscale Multitask Refinement Detector for Object Detection in Remote Sensing Images

  • AOPG -> Anchor-Free Oriented Proposal Generator for Object Detection

  • SE2-Det -> Semantic-Edge-Supervised Single-Stage Detector for Oriented Object Detection in Remote Sensing Imagery

  • OrientedRepPoints -> Oriented RepPoints for Aerial Object Detection

  • TS-Conv -> Task-wise Sampling Convolutions for Arbitrary-Oriented Object Detection in Aerial Images

  • FCOSR -> A Simple Anchor-free Rotated Detector for Aerial Object Detection. This implement is modified from mmdetection. See also TensorRT_Inference

  • OBB_Detection -> Finalist's solution in the track of Oriented Object Detection in Remote Sensing Images, 2022 Guangdong-Hong Kong-Macao Greater Bay Area International Algorithm Competition

  • sam-mmrotate -> SAM (Segment Anything Model) for generating rotated bounding boxes with MMRotate, which is a comparison method of H2RBox-v2

  • mmrotate-dcfl -> Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection

  • h2rbox-mmrotate -> Horizontal Box Annotation is All You Need for Oriented Object Detection

  • Spatial-Transform-Decoupling -> Spatial Transform Decoupling for Oriented Object Detection

  • ARS-DETR -> Aspect Ratio Sensitive Oriented Object Detection with Transformer

  • CFINet -> Small Object Detection via Coarse-to-fine Proposal Generation and Imitation Learning. Introduces SODA-A dataset

  • FRCNN_git -> Faster R-CNN implementation for rotated boxes

Object detection enhanced by super resolution

Salient object detection

Detecting the most noticeable or important object in a scene

  • ACCoNet -> Adjacent Context Coordination Network for Salient Object Detection in Optical Remote Sensing Images

  • MCCNet -> Multi-Content Complementation Network for Salient Object Detection in Optical Remote Sensing Images

  • CorrNet -> Lightweight Salient Object Detection in Optical Remote Sensing Images via Feature Correlation

  • Reading list for deep learning based Salient Object Detection in Optical Remote Sensing Images

  • ORSSD-dataset -> salient object detection dataset

  • EORSSD-dataset -> Extended Optical Remote Sensing Saliency Detection (EORSSD) Dataset

  • DAFNet_TIP20 -> Dense Attention Fluid Network for Salient Object Detection in Optical Remote Sensing Images

  • EMFINet -> Edge-Aware Multiscale Feature Integration Network for Salient Object Detection in Optical Remote Sensing Images

  • ERPNet -> Edge-guided Recurrent Positioning Network for Salient Object Detection in Optical Remote Sensing Images

  • FSMINet -> Fully Squeezed Multi-Scale Inference Network for Fast and Accurate Saliency Detection in Optical Remote Sensing Images

  • AGNet -> AGNet: Attention Guided Network for Salient Object Detection in Optical Remote Sensing Images

  • MSCNet -> A lightweight multi-scale context network for salient object detection in optical remote sensing images

  • GPnet -> Global Perception Network for Salient Object Detection in Remote Sensing Images

  • SeaNet -> Lightweight Salient Object Detection in Optical Remote Sensing Images via Semantic Matching and Edge Alignment

  • GeleNet -> Salient Object Detection in Optical Remote Sensing Images Driven by Transformer

Object detection - Buildings, rooftops & solar panels

Object detection - Ships, boats, vessels & wake

Object detection - Cars, vehicles & trains

Object detection - Planes & aircraft

Object detection - Infrastructure & utilities

Object detection - Oil storage tank detection

Oil is stored in tanks at many points between extraction and sale, and the volume of oil in storage is an important economic indicator.

Object detection - Animals

A variety of techniques can be used to count animals, including object detection and instance segmentation. For convenience they are all listed here:

Object detection - Miscellaneous

Object counting

When the object count, but not its shape is required, U-net can be used to treat this as an image-to-image translation problem.

  • centroid-unet -> Centroid-UNet is deep neural network model to detect centroids from satellite images

  • cownter_strike -> counting cows, located with point-annotations, two models: CSRNet (a density-based method) & LCFCN (a detection-based method)

  • Bayesian-Car-Counting -> car counting in overhead imagery using Bayesian loss with point supervision on the COWC dataset

  • TreeMatch -> tree density estimation from satellite imagery using optimal transport and mixed strong and weak point supervision; includes the multi-sensor TinyTrees benchmark

  • DO-U-Net -> an effective approach for when the size of an object needs to be known, as well as the number of objects in the image, initially created to segment and count Internally Displaced People (IDP) camps in Afghanistan

  • Counting from Sky -> A Large-scale Dataset for Remote Sensing Object Counting and A Benchmark Method

  • PSGCNet -> PSGCNet: A Pyramidal Scale and Global Context Guided Network for Dense Object Counting in Remote Sensing Images

  • psgcnet -> A Pyramidal Scale and Global Context Guided Network for Dense Object Counting in Remote-Sensing Images

Regression


Regression prediction of windspeed.

Regression in remote sensing involves predicting continuous variables such as wind speed, tree height, or soil moisture from an image. Both classical machine learning and deep learning approaches can be used to accomplish this task. Classical machine learning utilizes feature engineering to extract numerical values from the input data, which are then used as input for a regression algorithm like linear regression. On the other hand, deep learning typically employs a convolutional neural network (CNN) to process the image data, followed by a fully connected neural network (FCNN) for regression. The FCNN is trained to map the input image to the desired output, providing predictions for the continuous variables of interest. Image source

  • GEDI-BDL -> Global canopy height regression and uncertainty estimation from GEDI LIDAR waveforms with deep ensembles

  • Global-Canopy-Height-Map -> Estimating Canopy Height at Scale (ICML2024)

  • HighResCanopyHeight -> code for Meta paper: Very high resolution canopy height maps from RGB imagery using self-supervised vision transformer and convolutional decoder trained on Aerial Lidar

  • OpticalWaveGauging_DNN -> Optical wave gauging using deep neural networks

  • satellite-pose-estimation -> adapts a ResNet50 model architecture to perform pose estimation on several series of satellite images (both real and synthetic)

  • Tropical Cyclone Wind Estimation Competition -> on RadiantEarth MLHub

  • DengueNet -> DengueNet: Dengue Prediction using Spatiotemporal Satellite Imagery for Resource-Limited Countries

  • tropical_cyclone_uq -> Uncertainty Aware Tropical Cyclone Wind Speed Estimation from Satellite Data

  • AQNet -> Predicting air quality via multimodal AI and satellite imagery

  • Soil Moisture Retrieval from Google Research -> A Deep Learning Data Fusion Model Using Sentinel-1/2, SoilGrids, SMAP, and GLDAS for Soil Moisture Retrieval

  • temp-mosaiks -> predict ground-level temperature with MOSAIKS

  • biomsharp -> Biomass Super-resolution for High AccuRacy Prediction

  • TREASURE-NET -> Super-Resolved Canopy Height Mapping from Sentinel-2 Time Series Using LiDAR HD Reference Data across Metropolitan France

  • Seabed-Net -> A multi-task network for joint bathymetry and pixel-based seabed classification from remote sensing imagery in shallow waters, uses MagicBathyNet dataset

  • ECHOSAT -> Estimating Canopy Height Over Space And Time, uses a Swin Video UNet architecture that processes multi-sensor satellite data.

  • Popcorn -> High-resolution Population Maps Derived from Sentinel-1 and Sentinel-2, with follow up work Bourbon

  • UrbanControlNet -> Envisioning Global Urban Development with Satellite Imagery and Generative AI.

  • Emb2Heights -> baseline for the Emb2Heights challenge - trains and runs inference for a model that predicts sub-pixel land cover percentages (Building, Vegetation, Water) and continuous structure heights (nDSM) directly from Earth Observation embeddings

Cloud detection & removal


(left) False colour image and (right) a cloud & shadow mask.

Clouds are a major issue in remote sensing images as they can obscure the underlying ground features. This hinders the accuracy and effectiveness of remote sensing analysis, as the obscured regions cannot be properly interpreted. In order to address this challenge, various techniques have been developed to detect clouds in remote sensing images. Both classical algorithms and deep learning approaches can be employed for cloud detection. Classical algorithms typically use threshold-based techniques and hand-crafted features to identify cloud pixels. However, these techniques can be limited in their accuracy and are sensitive to changes in image appearance and cloud structure. On the other hand, deep learning approaches leverage the power of convolutional neural networks (CNNs) to accurately detect clouds in remote sensing images. These models are trained on large datasets of remote sensing images, allowing them to learn and generalize the unique features and patterns of clouds. The generated cloud mask can be used to identify the cloud pixels and eliminate them from further analysis or, alternatively, cloud inpainting techniques can be used to fill in the gaps left by the clouds. This approach helps to improve the accuracy of remote sensing analysis and provides a clearer view of the ground, even in the presence of clouds. Image adapted from the paper 'Refined UNet Lite: End-to-End Lightweight Network for Edge-precise Cloud Detection'

Change detection


(left) Initial and (middle) after some development, with (right) the change highlighted.

Change detection is a vital component of remote sensing analysis, enabling the monitoring of landscape changes over time. This technique can be applied to identify a wide range of changes, including land use changes, urban development, coastal erosion, and deforestation. Change detection can be performed on a pair of images taken at different times, or by analyzing multiple images collected over a period of time. It is important to note that while change detection is primarily used to detect changes in the landscape, it can also be influenced by the presence of clouds and shadows. These dynamic elements can alter the appearance of the image, leading to false positives in change detection results. Therefore, it is essential to consider the impact of clouds and shadows on change detection analysis, and to employ appropriate methods to mitigate their influence. Image source

  • awesome-remote-sensing-change-detection lists many datasets and publications

  • Change-Detection-Review -> A review of change detection methods, including code and open data sets for deep learning

  • STANet ->STANet for remote sensing image change detection

  • UNet-based-Unsupervised-Change-Detection -> A convolutional neural network (CNN) and semantic segmentation is implemented to detect the changes between the images, as well as classify the changes into the correct semantic class

  • BIT_CD -> Official Pytorch Implementation of Remote Sensing Image Change Detection with Transformers

  • Unstructured-change-detection-using-CNN

  • QGIS plugin for applying change detection algorithms on high resolution satellite imagery

  • Fully Convolutional Siamese Networks for Change Detection

  • Urban Change Detection for Multispectral Earth Observation Using Convolutional Neural Networks -> used the Onera Satellite Change Detection (OSCD) dataset

  • IAug_CDNet -> Official Pytorch Implementation of Adversarial Instance Augmentation for Building Change Detection in Remote Sensing Images

  • dpm-rnn-public -> Code implementing a damage mapping method combining satellite data with deep learning

  • SenseEarth2020-ChangeDetection -> 1st place solution to the Satellite Image Change Detection Challenge hosted by SenseTime; predictions of five HRNet-based segmentation models are ensembled, serving as pseudo labels of unchanged areas

  • KPCAMNet -> Python implementation of the paper Unsupervised Change Detection in Multi-temporal VHR Images Based on Deep Kernel PCA Convolutional Mapping Network

  • CDLab -> benchmarking deep learning-based change detection methods.

  • Siam-NestedUNet -> SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images

  • SUNet-change_detection -> Implementation of paper SUNet: Change Detection for Heterogeneous Remote Sensing Images from Satellite and UAV Using a Dual-Channel Fully Convolution Network

  • Self-supervised Change Detection in Multi-view Remote Sensing Images

  • MFPNet -> Remote Sensing Change Detection Based on Multidirectional Adaptive Feature Fusion and Perceptual Similarity

  • GitHub for the DIUx xView Detection Challenge -> The xView2 Challenge focuses on automating the process of assessing building damage after a natural disaster

  • DASNet -> Dual attentive fully convolutional siamese networks for change detection of high-resolution satellite images

  • planet-movement -> Find and process Planet image pairs to highlight object movement

  • temporal-cluster-matching -> detecting change in structure footprints from time series of remotely sensed imagery

  • autoRIFT -> fast and intelligent algorithm for finding the pixel displacement between two images

  • DSAMNet -> A Deeply Supervised Attention Metric-Based Network and an Open Aerial Image Dataset for Remote Sensing Change Detection

  • SRCDNet -> Super-resolution-based Change Detection Network with Stacked Attention Module for Images with Different Resolutions. SRCDNet is designed to learn and predict change maps from bi-temporal images with different resolutions

  • A deeply supervised image fusion network for change detection in high resolution bi-temporal remote sening images

  • ChangeFormer -> A Transformer-Based Siamese Network for Change Detection. Uses transformer architecture to address the limitations of CNN in handling multi-scale long-range details. Demonstrates that ChangeFormer captures much finer details compared to the other SOTA methods, achieving better performance on benchmark datasets

  • Heterogeneous_CD -> Heterogeneous Change Detection in Remote Sensing Images

  • ChangeDetectionProject -> Trying out Active Learning in with deep CNNs for Change detection on remote sensing data

  • DSFANet -> Unsupervised Deep Slow Feature Analysis for Change Detection in Multi-Temporal Remote Sensing Images

  • siamese-change-detection -> Targeted synthesis of multi-temporal remote sensing images for change detection using siamese neural networks

  • Bi-SRNet -> Bi-Temporal Semantic Reasoning for the Semantic Change Detection in HR Remote Sensing Images

  • SiROC -> Spatial Context Awareness for Unsupervised Change Detection in Optical Satellite Images. Applied to Sentinel-2 and high-resolution Planetscope imagery on four datasets

  • DSMSCN -> Tensorflow implementation for Change Detection in Multi-temporal VHR Images Based on Deep Siamese Multi-scale Convolutional Neural Networks

  • RaVAEn -> a lightweight, unsupervised approach for change detection in satellite data based on Variational Auto-Encoders (VAEs) with the specific purpose of on-board deployment. It flags changed areas to prioritise for downlink, shortening the response time

  • SemiCD -> Revisiting Consistency Regularization for Semi-supervised Change Detection in Remote Sensing Images. Achieves the performance of supervised CD even with access to as little as 10% of the annotated training data

  • FCCDN_pytorch -> FCCDN: Feature Constraint Network for VHR Image Change Detection.

  • INLPG_Python -> Structure Consistency based Graph for Unsupervised Change Detection with Homogeneous and Heterogeneous Remote Sensing Images

  • NSPG_Python -> Nonlocal patch similarity based heterogeneous remote sensing change detection

  • LGPNet-BCD -> Building Change Detection for VHR Remote Sensing Images via Local-Global Pyramid Network and Cross-Task Transfer Learning Strategy

  • DS_UNet -> Sentinel-1 and Sentinel-2 Data Fusion for Urban Change Detection using a Dual Stream U-Net, uses Onera Satellite Change Detection dataset

  • SiameseSSL -> Urban change detection with a Dual-Task Siamese network and semi-supervised learning. Uses SpaceNet 7 dataset

  • CD-SOTA-methods -> Remote sensing change detection: State-of-the-art methods and available datasets

  • multimodalCD_ISPRS21 -> Fusing Multi-modal Data for Supervised Change Detection

  • Unsupervised-CD-in-SITS-using-DL-and-Graphs -> Unsupervised Change Detection Analysis in Satellite Image Time Series using Deep Learning Combined with Graph-Based Approaches

  • LSNet -> Extremely Light-Weight Siamese Network For Change Detection in Remote Sensing Image

  • End-to-end-CD-for-VHR-satellite-image -> End-to-End Change Detection for High Resolution Satellite Images Using Improved UNet++

  • Semantic-Change-Detection -> SCDNET: A novel convolutional network for semantic change detection in high resolution optical remote sensing imagery

  • ERCNN-DRS_urban_change_monitoring -> Neural Network-Based Urban Change Monitoring with Deep-Temporal Multispectral and SAR Remote Sensing Data

  • EGRCNN -> Edge-guided Recurrent Convolutional Neural Network for Multi-temporal Remote Sensing Image Building Change Detection

  • Unsupervised-Remote-Sensing-Change-Detection -> An Unsupervised Remote Sensing Change Detection Method Based on Multiscale Graph Convolutional Network and Metric Learning

  • CropLand-CD -> A CNN-transformer Network with Multi-scale Context Aggregation for Fine-grained Cropland Change Detection

  • contrastive-surface-image-pretraining -> Supervising Remote Sensing Change Detection Models with 3D Surface Semantics

  • dcvaVHROptical -> Unsupervised Deep Change Vector Analysis for Multiple-Change Detection in VHR Images

  • hyperdimensionalCD -> Change Detection in Hyperdimensional Images Using Untrained Models

  • DSFANet -> Unsupervised Deep Slow Feature Analysis for Change Detection in Multi-Temporal Remote Sensing Images

  • FCD-GAN-pytorch -> Fully Convolutional Change Detection Framework with Generative Adversarial Network (FCD-GAN) is a framework for change detection in multi-temporal remote sensing images

  • DARNet-CD -> A Densely Attentive Refinement Network for Change Detection Based on Very-High-Resolution Bitemporal Remote Sensing Images

  • xView2_Vulcan -> Damage assessment using pre and post orthoimagery. Modified + productionized model based off the first-place model from the xView2 challenge.

  • ESCNet -> An End-to-End Superpixel-Enhanced Change Detection Network for Very-High-Resolution Remote Sensing Images

  • deforestation-detection -> DEEP LEARNING FOR HIGH-FREQUENCY CHANGE DETECTION IN UKRAINIAN FOREST ECOSYSTEM WITH SENTINEL-2

  • forest_change_detection -> forest change segmentation with time-dependent models, including Siamese, UNet-LSTM, UNet-diff, UNet3D models

  • SentinelClearcutDetection -> Scripts for deforestation detection on the Sentinel-2 Level-A images

  • clearcut_detection -> research & web-service for clearcut detection

  • CDRL -> Unsupervised Change Detection Based on Image Reconstruction Loss

  • ddpm-cd -> Remote Sensing Change Detection (Segmentation) using Denoising Diffusion Probabilistic Models

  • DreamCD -> Change detection in remote sensing images

  • Remote-sensing-time-series-change-detection -> Graph-based block-level urban change detection using Sentinel-2 time series

  • dfc2021-msd-baseline -> Multitemporal Semantic Change Detection track of the 2021 IEEE GRSS Data Fusion Competition

  • CorrFusionNet -> Multi-Temporal Scene Classification and Scene Change Detection with Correlation based Fusion

  • IRCNN -> IRCNN: An Irregular-Time-Distanced Recurrent Convolutional Neural Network for Change Detection in Satellite Time Series

  • UTRNet -> An Unsupervised Time-Distance-Guided Convolutional Recurrent Network for Change Detection in Irregularly Collected Images

  • open-cd -> an open source change detection toolbox based on a series of open source general vision task tools

  • Tiny_model_4_CD -> TINYCD: A (Not So) Deep Learning Model For Change Detection. Uses LEVIR-CD & WHU-CD datasets

  • FHD -> Feature Hierarchical Differentiation for Remote Sensing Image Change Detection

  • building-expansion -> Enhancing Environmental Enforcement with Near Real-Time Monitoring: Likelihood-Based Detection of Structural Expansion of Intensive Livestock Farms

  • SaDL_CD -> Semantic-aware Dense Representation Learning for Remote Sensing Image Change Detection

  • EGCTNet_pytorch -> Building Change Detection Based on an Edge-Guided Convolutional Neural Network Combined with a Transformer

  • S2-cGAN -> S2-cGAN: Self-Supervised Adversarial Representation Learning for Binary Change Detection in Multispectral Images

  • A-loss-function-for-change-detection -> UAL: Unchanged Area Loss-Function for Change Detection Networks

  • IEEE_TGRS_SSTFormer -> Spectral–Spatial–Temporal Transformers for Hyperspectral Image Change Detection

  • DMINet -> Change Detection on Remote Sensing Images Using Dual-Branch Multilevel Intertemporal Network

  • AFCF3D-Net -> Adjacent-level Feature Cross-Fusion with 3D CNN for Remote Sensing Image Change Detection

  • DSAHRNet -> A Deeply Attentive High-Resolution Network for Change Detection in Remote Sensing Images

  • RDPNet -> RDP-Net: Region Detail Preserving Network for Change Detection

  • BGAAE_CD -> Bipartite Graph Attention Autoencoders for Unsupervised Change Detection Using VHR Remote Sensing Images

  • Metric-CD -> Deep Metric Learning for Unsupervised Change Detection in Remote Sensing Images

  • HANet-CD -> HANet: A hierarchical attention network for change detection with bi-temporal very-high-resolution remote sensing images

  • SRGCAE -> Unsupervised Multimodal Change Detection Based on Structural Relationship Graph Representation Learning

  • change_detection_onera_baselines -> Siamese version of U-Net baseline model

  • SiamCRNN -> Change Detection in Multisource VHR Images via Deep Siamese Convolutional Multiple-Layers Recurrent Neural Network

  • Graph-based methods for change detection in remote sensing images -> Graph Learning Based on Signal Smoothness Representation for Homogeneous and Heterogeneous Change Detection

  • TransUNetplus2 -> TransU-Net++: Rethinking attention gated TransU-Net for deforestation mapping. Uses the Amazon and Atlantic forest dataset

  • AR-CDNet -> Towards Accurate and Reliable Change Detection of Remote Sensing Images via Knowledge Review and Online Uncertainty Estimation

  • CICNet -> Compact Intertemporal Coupling Network for Remote Sensing Change Detection

  • BGINet -> Remote Sensing Image Change Detection with Graph Interaction

  • DSNUNet -> DSNUNet: An Improved Forest Change Detection Network by Combining Sentinel-1 and Sentinel-2 Images

  • Forest-CD -> Forest-CD: Forest Change Detection Network Based on VHR Images

  • S3Net_CD -> Superpixel-Guided Self-Supervised Learning Network for Change Detection in Multitemporal Image Change Detection

  • T-UNet -> T-UNet: Triplet UNet for Change Detection in High-Resolution Remote Sensing Images

  • UCDFormer -> UCDFormer: Unsupervised Change Detection Using a Transformer-driven Image Translation

  • satellite-change-events -> Change Event Dataset for Discovery from Spatio-temporal Remote Sensing Imagery, uses Sentinel 2 CaiRoad & CalFire datasets

  • CACo -> Change-Aware Sampling and Contrastive Learning for Satellite Images

  • LightCDNet -> LightCDNet: Lightweight Change Detection Network Based on VHR Images

  • OpenMineChangeDetection -> Characterising Open Cast Mining from Satellite Data (Sentinel 2), implements TinyCD, LSNet & DDPM-CD

  • multi-task-L-UNet -> A Deep Multi-Task Learning Framework Coupling Semantic Segmentation and Fully Convolutional LSTM Networks for Urban Change Detection. Applied to SpaceNet7 dataset

  • urban_change_detection -> Detecting Urban Changes With Recurrent Neural Networks From Multitemporal Sentinel-2 Data. fabric is another implementation

  • UNetLSTM -> Detecting Urban Changes With Recurrent Neural Networks From Multitemporal Sentinel-2 Data

  • SDACD -> An End-to-end Supervised Domain Adaptation Framework for Cross-domain Change Detection

  • CycleGAN-Based-DA-for-CD -> CycleGAN-based Domain Adaptation for Deforestation Detection

  • CGNet-CD -> Change Guiding Network: Incorporating Change Prior to Guide Change Detection in Remote Sensing Imagery

  • PA-Former -> PA-Former: Learning Prior-Aware Transformer for Remote Sensing Building Change Detection

  • AERNet -> AERNet: An Attention-Guided Edge Refinement Network and a Dataset for Remote Sensing Building Change Detection (HRCUS-CD)

  • S1GFlood-Detection -> DAM-Net: Global Flood Detection from SAR Imagery Using Differential Attention Metric-Based Vision Transformers. Includes S1GFloods dataset

  • Changen -> Scalable Multi-Temporal Remote Sensing Change Data Generation via Simulating Stochastic Change Process

  • TTP -> Time Travelling Pixels: Bitemporal Features Integration with Foundation Model for Remote Sensing Image Change Detection

  • SAM-CD -> Adapting Segment Anything Model for Change Detection in HR Remote Sensing Images

  • SCanNet -> Joint Spatio-Temporal Modeling for Semantic Change Detection in Remote Sensing Images

  • ELGC-Net -> Efficient Local-Global Context Aggregation for Remote Sensing Change Detection

  • Official_Remote_Sensing_Mamba -> RS-Mamba for Large Remote Sensing Image Dense Prediction

  • ChangeMamba -> Remote Sensing Change Detection with Spatio-Temporal State Space Model

  • ClearSCD -> Comprehensively leveraging semantics and change relationships for semantic change detection in high spatial resolution remote sensing imagery

  • RSCaMa -> Remote Sensing Image Change Captioning with State Space Model

  • ChangeBind -> A Hybrid Change Encoder for Remote Sensing Change Detection

  • OctaveNet -> An efficient multi-scale pseudo-siamese network for change detection in remote sensing images

  • MaskCD -> A Remote Sensing Change Detection Network Based on Mask Classification

  • I3PE -> Exchange means change: an unsupervised single-temporal change detection framework based on intra- and inter-image patch exchange

  • BDANet -> Multiscale Convolutional Neural Network with Cross-directional Attention for Building Damage Assessment from Satellite Images

  • BAN -> A New Learning Paradigm for Foundation Model-based Remote Sensing Change Detection

  • ubdd -> Learning Efficient Unsupervised Satellite Image-based Building Damage Detection, uses xView2

  • SGSLN -> Exchanging Dual-Encoder–Decoder: A New Strategy for Change Detection With Semantic Guidance and Spatial Localization

  • ChangeViT -> Unleashing Plain Vision Transformers for Change Detection

  • pytorch-change-models -> out-of-box contemporary spatiotemporal change model implementations, standard metrics, and datasets

  • FFCTL -> A full-level fused cross-task transfer learning method for building change detection using noise-robust pretrained networks on crowdsourced labels

  • SARAS-Net -> SARAS-Net: Scale And Relation Aware Siamese Network for Change Detection

  • Change_Detection_FCNs -> Deforestation Detection with Fully Convolutional Networks in the Amazon Forest from Landsat-8 and Sentinel-2 Images

  • HyperNet -> HyperNet: Self-Supervised Hyperspectral SpatialSpectral Feature Understanding Network for Hyperspectral Change Detection

  • CMCDNet -> CMCDNet: Cross-modal change detection flood extraction based on convolutional neural network

  • Dsfer-Net -> A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Network

  • Simple-Remote-Sensing-Change-Detection-Framework -> Simplified implementation of remote sensing change detection based on Pytorch

  • BCE-Net -> BCE-Net: Reliable Building Footprints Change Extraction based on Historical Map and Up-to-Date Images using Contrastive Learning

  • sits-change-detection -> Detecting Land Cover Changes Between Satellite Image Time Series By Exploiting Self-Supervised Representation Learning Capabilities

  • USSFC-Net -> Ultralightweight Spatial–Spectral Feature Cooperation Network for Change Detection in Remote Sensing Images

  • VcT_Remote_Sensing_Change_Detection -> VcT: Visual change Transformer for Remote Sensing Image Change Detection

  • HabitAlp 2.0 -> Habitat and Land Cover Change Detection in Alpine Protected Areas: A Comparison of AI Architectures

  • ChangeDINO -> DINOv3-Driven Building Change Detection in Optical Remote Sensing Imagery.

  • mason_cd -> Make Some Noise: Unsupervised Remote Sensing Change Detection Using Latent Space Perturbations

  • Noise2Map -> End-to-End Diffusion Model for Semantic Segmentation and Change Detection

  • MBCTD -> Multi-Label Building Change Type Detection

  • FAIR-EO-CD-benchmark -> code for paper: A comprehensive and trustworthy benchmark of AI methods for change detection in Earth observation

  • CF-MAE -> code for paper: CF-MAE: A Change-Fused Masked Autoencoder for Earth Observation-Based Multi-Hazard Change Detection

Time series


Prediction of the next image in a series.

The analysis of time series observations in remote sensing data has numerous applications, including enhancing the accuracy of classification models and forecasting future patterns and events. Image source. Note: since classifying crops and predicting crop yield are such prominent use case for time series data, these tasks have dedicated sections after this one.

Crop classification


(left) false colour image and (right) the crop map.

Crop classification in remote sensing is the identification and mapping of different crops in images or sequences of images. It aims to provide insight into the distribution and composition of crops in a specific area, with applications that include monitoring crop growth and evaluating crop damage. Both traditional machine learning methods, such as decision trees and support vector machines, and deep learning techniques, such as convolutional neural networks (CNNs), can be used to perform crop classification. The optimal method depends on the size and complexity of the dataset, the desired accuracy, and the available computational resources. However, the success of crop classification relies heavily on the quality and resolution of the input data, as well as the availability of labeled training data. Image source: High resolution satellite imaging sensors for precision agriculture by Chenghai Yang

Crop yield & vegetation forecasting


Wheat yield data. Blue vertical lines denote observation dates.

Crop yield is a crucial metric in agriculture, as it determines the productivity and profitability of a farm. It is defined as the amount of crops produced per unit area of land and is influenced by a range of factors including soil fertility, weather conditions, the type of crop grown, and pest and disease control. By utilizing time series of satellite images, it is possible to perform accurate crop type classification and take advantage of the seasonal variations specific to certain crops. This information can be used to optimize crop management practices and ultimately improve crop yield. However, to achieve accurate results, it is essential to consider the quality and resolution of the input data, as well as the availability of labeled training data. Appropriate pre-processing and feature extraction techniques must also be employed. Image source.

Wealth and economic activity


COVID-19 impacts on human and economic activities.

The traditional approach of collecting economic data through ground surveys is a time-consuming and resource-intensive process. However, advancements in satellite technology and machine learning offer an alternative solution. By utilizing satellite imagery and applying machine learning algorithms, it is possible to obtain accurate and current information on economic activity with greater efficiency. This shift towards satellite imagery-based forecasting not only provides cost savings but also offers a wider and more comprehensive perspective of economic activity. As a result, it is poised to become a valuable asset for both policymakers and businesses. Image source.

Truncated — view the full README on GitHub.

convolutional-neural-networks
dataset
datasets
deep-learning
deep-neural-networks
earth-observation
image-classification
machine-learning
object-detection
python
pytorch
remote-sensing
satellite-data
satellite-imagery
satellite-images
sentinel

Significant stargazers

Brad Hards

64 followers · starred May 2022

Alex Strick van Linschoten

464 followers · starred Nov 2021

Eric Zhu

769 followers · starred Feb 2019

Rajesh Thallam

50 followers · starred Feb 2022