← Open Source
satellite-image-deep-learning

techniques

Techniques for deep learning with satellite & aerial imagery

TutorialsML/AI fundamentals
Open on GitHub
Momentum
+0stars in 24 hours0.0%
10.3k
Stars
1.65k
Forks
+1
This week
29
Contributors
Created 2018-04-16 · Updated 2026-10-05 · #7039 today
Top developers
README
[![](images/logo.png)](https://www.satellite-image-deep-learning.com/)

👉 satellite-image-deep-learning.com 👈

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

  • wind-turbine-detector -> Wind Turbine Object Detection from Aerial Imagery Using TensorFlow Object Detection API

  • [Water Tan