Top paper based on satellite channels
Techniques
Generative Adversarial Networks (GANs)
Autoencoders, dimensionality reduction, image embeddings & similarity search
Self-supervised, unsupervised & contrastive learning
Weakly & semi-supervised learning
Terrain mapping, Disparity Estimation, Lidar, DEMs & NeRF
ChatGPT and other language models (LLMs)
Dataset
-
awesome-remote-sensing-change-detection -> dedicated to change detection
-
Callisto-Dataset-Collection -> datasets that use Copernicus/sentinel data
-
geospatial-data-catalogs -> A list of open geospatial datasets available on AWS, Earth Engine, Planetary Computer, and STAC Index
Model
-
Almost all imagery data on the internet is in 3 band RGB format, and model training code often requires adaptation to work with multiband data (e.g. 13-band Sentinel 2). Typically this involves updating the number of channels accepted by the first layer of the model, but there are also challenges related to data normalisation
-
In general, classification and object detection models are treated using transfer learning, where the majority of the weights are not updated in training but have been pre computed using standard vision datasets such as ImageNet
-
Since satellite images are typically very large, it is common to chip/tile them before processing. Alternatively checkout Fully Convolutional Image Classification on Arbitrary Sized Image -> TLDR replace the fully-connected layer with a convolution-layer
-
Use image augmentation in train and val, but not test
-
In general, larger models will outperform smaller models, but require larger training datasets. Start with a small model to establish baseline then increase the size
-
If model performance in unsatisfactory, try to increase your dataset size before switching to exotic model architectures
-
In training, whenever possible increase the batch size, as small batch sizes produce poor normalization statistics
-
The vast majority of the literature uses supervised learning with the requirement for large volumes of annotated data, which is a bottleneck to development and deployment. We are just starting to see self-supervised approaches applied to remote sensing data
-
4-ways-to-improve-class-imbalance discusses the pros and cons of several rebalancing techniques, applied to an aerial dataset. Reason to read: models can reach an accuracy ceiling where majority classes are easily predicted but minority classes poorly predicted. Overall model accuracy may not improve until steps are taken to account for class imbalance.
-
For general guidance on dataset size see this issue
-
Read A Recipe for Training Neural Networks by Andrej Karpathy
-
Leveraging Geolocation Data for Machine Learning: Essential Techniques -> A Gentle Guide to Feature Engineering and Visualization with Geospatial data, in Plain English
-
Image Classification Labeling: Single Class versus Multiple Class Projects
-
Using TensorBoard While Training Land Cover Models with Satellite Imagery
-
Visualise Embeddings with Tensorboard -> also checkout the Tensorflow Embedding Projector
-
Introduction to Satellite Image Augmentation with Generative Adversarial Networks - video
-
Use Gradio and W&B together to monitor training and view predictions
-
Challenges with SpaceNet 4 off-nadir satellite imagery: Look angle and target azimuth angle -> building prediction in images taken at nearly identical look angles — for example, 29 and 30 degrees — produced radically different performance scores.
-
How not to test your deep learning algorithm? - bad ideas to avoid
-
AI products and remote sensing: yes, it is hard and yes, you need a good infra -> advice on building an in-house data annotation service
-
Boosting object detection performance through ensembling on satellite imagery
-
How to use deep learning on satellite imagery — Playing with the loss function
-
Generate SSD anchor box aspect ratios using k-means clustering -> tutorial showing how to discover a set of aspect ratios that are custom-fit for your dataset, applied to tensorflow object detection
-
How to create a DataBlock for Multispectral Satellite Image Segmentation with the Fastai
-
A comprehensive list of ML and AI acronyms and abbreviations
-
Finding an optimal number of “K” classes for unsupervised classification on Remote Sensing Data -> i.e ‘elbow’ method
-
Supplement your training data with ‘negative’ examples which are created through random selection of regions of the image that contain no objects of interest, read Setting a Foundation for Machine Learning
-
The law of diminishing returns often applies to dataset size, read Quantifying the Effects of Resolution on Image Classification Accuracy
-
Implementing Transfer Learning from RGB to Multi-channel Imagery -> Medium article which discusses how to convert a model trained on 3 channels to more channels, adding an additional 12 channels to the original 3 channel RGB image, uses Keras
-
satellite-segmentation-pytorch -> explores a wide variety of image augmentations to increase training dataset size
-
How to create a custom Dataset / Loader in PyTorch, from Scratch, for multi-band Satellite Images Dataset from Kaggle -> uses the 38-Cloud dataset
-
ML Tooling 2022 by developmentseed
-
How to evaluate detection performance…with object or pixel approaches?
Software
Tài liệu tham khảo
Internet
Hết.