Deep learning in satellite image classification - Satellite images have complex structure and deep features that require more complex operations for recognitions. One of the most important uses of satellite and aerial imagery is the production of land-use maps and it can be done through a process called image classification.
- Since 2012, CNN-based algorithms have been used as an effective way to solve the classification tasks.
19
A simple convolutional neural network structure
Mostly used datasets for satellite image classification
Dataset
|
Number of
classes
|
Number of
images
|
Image size/ Size
of dataset
|
Spatial
resolution
|
UC-Merced Land
Use[5]
|
21
|
100
|
256x256
|
0.3
|
IARPA fMoW
dataset[6]
|
63
|
~1.000.000
|
256x256
|
0.5
|
Sentinel-2, Theia
Land Data Centre[7]
|
17
|
Various
|
64x64
|
10
|
Kaggle, DeepSat
(SAT-4) Airborne Dataset[8]
|
4
|
99999
|
28x28
|
low
|
Kaggle, Swimming
pool and car detection[9]
|
2
|
3748
|
224x224
|
10
|
20
Common class types of remote sensing images for land-use classification [image samples from Google Earth Engine, 2020]
21
Recent results in Satellite image classification
#
|
CNN based model
|
Accuracy
|
Dataset
|
1
|
AlexNet
|
~94%
|
UC-Merced Land Use
|
2
|
CaffeNet
|
~94%
|
UC-Merced Land Use
|
3
|
GoogleNet
|
~97%
|
UC-Merced Land Use
|
4
|
FC-CNN
|
~95%
|
IARPA fMoW dataset
|
5
|
VGG, ResNet, and Inception CNNs
|
~98,5%
|
UC-Merced Land Use
|
22
U-NET Architecture
23
et al. Olaf Ronneberger, 2015
- The architecture contains two paths (encoder and decoder).
- The encoder is just a traditional
stack of
convolutional and max pooling layers to
identify what image contains.
- The second path (decoder) is the symmetric expanding path which is used to enable precise localization using transposed convolutions.
- It is an end-to-end fully convolutional network (FCN), i.e. it only contains Convolutional layers and does not contain any Dense layer because of which it can accept image of any size.
The basic architecture of image classification based on segmentation using deep neural network
24
Transfer learning with CNNs
25
- ImageNet is an image database contains more than 14M images which is organized according to the WordNet hierarchy.
- It is well known that training network without overfitting the dataset should be relatively large, millions of images.
- Although networks that are trained on the ImageNet dataset are widely used as a source of the initialization for network weights in other tasks
Proposed method
26
- Proposed method addresses the semantic segmentation of satellite images by aiming at classifying each pixel as belonging to an agricultural field, buildings and unused area.
- It takes long time to train U-Net model from the scratch.
- In this case, possible way is using trained models for initializing network weights (VGG-16).
Representation of proposed “UNet+VGG16” model
Results
27
Model
|
Model accuracy
|
Processing time
|
Image dataset
|
Epochs
|
UNet
|
89,8%
|
1700s
|
~15.500
|
10
|
UNet
|
94,0%
|
3371s
|
~15.500
|
20
|
UNet+VGG16
|
91,0%
|
1352s
|
~6.000
|
10
|
UNet+VGG16
|
94,3%
|
2681s
|
~6.000
|
20
|
Dataset: IITB dataset
U-net Model: Satellite image segmentation U-Net model from https://github.com/manideep2510/eye-in-the-sky
Hardware: NVidia, GeForce GTX 1080 Ti, RAM 64Gb, GPU 11Gb
Foydalanilgan adabiyotlar Aurelian Geron, Hands on Machine Learning with Scikit-Learn Keras&Tensorflow // Second edition Concepts, Tools, and Techniques to Build Intelligent Systems, 2019, 510 pages Primoz Potocnik, Neural Networks: MATLAB examples // Neural Networks course (practical examples)© 2012 https://www.guru99.com/deep-learning-tutorial.html https://www.tutorialspoint.com/python_deep_learning/python_deep_learning_de ep_neural_networks.htm https://www.mathworks.com/help/deeplearning/examples/create-simple-deep- learning-network-for-classification.html
Do'stlaringiz bilan baham: |