SlideShare a Scribd company logo
Large Scale LanduseLarge Scale Landuse
Classification of SatelliteClassification of Satellite
ImageryImagery
Suneel MarthiSuneel Marthi
February 27, 2019February 27, 2019
Big Data Technology Summit, Warsaw, PolandBig Data Technology Summit, Warsaw, Poland
1
$WhoAmI$WhoAmI
Suneel MarthiSuneel Marthi
 @suneelmarthi@suneelmarthi
Member of Apache Software Foundation
Committer and PMC on Apache Mahout, Apache OpenNLP, Apache
Streams
2
AgendaAgenda
Introduction
Satellite Image Data Description
Cloud Classification
Segmentation
Apache Beam
Beam Inference Pipeline
Future Work
3
IntroductionIntroduction
Deep Learning has moved from Academia to IndustryDeep Learning has moved from Academia to Industry
Availability of Massive Cloud Computing PowerAvailability of Massive Cloud Computing Power
Combination of Compute Resources + Big Data withCombination of Compute Resources + Big Data with
Deep Learning models often produces useful andDeep Learning models often produces useful and
interesting applicationsinteresting applications
4
IntroductionIntroduction
Computer Vision for Satellite ImageryComputer Vision for Satellite Imagery
Availability of low cost satellite images for researchAvailability of low cost satellite images for research
Train a Deep Learning model to identify Tulip beds fromTrain a Deep Learning model to identify Tulip beds from
satellite datasatellite data
5
Data: Sentinel-2Data: Sentinel-2
Earth observation mission from ESAEarth observation mission from ESA
13 spectral bands, from RGB to SWIR (Short Wave13 spectral bands, from RGB to SWIR (Short Wave
Infrared)Infrared)
Spatial resolution: 10m/px (RGB bands)Spatial resolution: 10m/px (RGB bands)
5 day revisit time5 day revisit time
Free and open data policyFree and open data policy
6
WorkflowWorkflow
7
Goal: Identify Tulip fields from Sentinel-2Goal: Identify Tulip fields from Sentinel-2
satellite imagessatellite images
8
Data acquisitionData acquisition
Images downloaded using Sentinel Hub’s WMS (webImages downloaded using Sentinel Hub’s WMS (web
mapping service)mapping service)
Download tool from Matthieu Guillaumin (@mguillau)Download tool from Matthieu Guillaumin (@mguillau)
9
DataData
256 x 256 px images, RGB256 x 256 px images, RGB
10
WorkflowWorkflow
11
Filter CloudsFilter Clouds
Need to remove cloudy images before segmentingNeed to remove cloudy images before segmenting
Approach: train a Neural Network to classify images asApproach: train a Neural Network to classify images as
clear or cloudyclear or cloudy
CNN Architectures: ResNet50 and ResNet101CNN Architectures: ResNet50 and ResNet101
12
ResNet building blockResNet building block
13
Filter Clouds: training dataFilter Clouds: training data
‘Planet: Understanding the Amazon from Space’ Kaggle‘Planet: Understanding the Amazon from Space’ Kaggle
competitioncompetition
40K images labeled as clear, hazy, partly cloudy or40K images labeled as clear, hazy, partly cloudy or
cloudycloudy
14
Filter Clouds: Training data(2)Filter Clouds: Training data(2)
Origin No. of
Images
Cloudy
Images
Kaggle Competition 40000 30%
Sentinel-2(hand
labelled)
5000 50%
Total 45000 32%
Only two classes: clear and cloudy (cloudy = haze +Only two classes: clear and cloudy (cloudy = haze +
partly cloudy + cloudy)partly cloudy + cloudy)
15
Training data splitTraining data split
16
ResultsResults
Model Accuracy F1 Epochs (train +
finetune)
ResNet50 0.983 0.986 23 + 7
ResNet101 0.978 0.982 43 + 9
Choose ResNet50 for filtering cloudy imagesChoose ResNet50 for filtering cloudy images
17
Example ResultsExample Results
18
Data AugmentationData Augmentation
import Augmentor
p = Augmentor.Pipeline(img_dir)
p.skew(probability=0.5, magnitude=0.5)
p.shear(probability=0.3, max_shear=15)
p.flip_left_right(probability=0.5)
p.flip_top_bottom(probability=0.5)
p.rotate_random_90(probability=0.75)
p.rotate(probability=0.75, max_rotation=20)
19
Example Data AugmentationExample Data Augmentation
20
WorkflowWorkflow
21
Segmentation GoalsSegmentation Goals
22
Approach U-NetApproach U-Net
State of the Art CNN for Image Segmentation
Commonly used with biomedical images
Best Architecture for tasks like this
O. Ronneberger, P.Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. arxiv:1505.04597, 2015O. Ronneberger, P.Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. arxiv:1505.04597, 2015
23
U-Net ArchitectureU-Net Architecture
24
U-Net Building BlocksU-Net Building Blocks
def conv_block(channels, kernel_size):
out = nn.HybridSequential()
out.add(
nn.Conv2D(channels, kernel_size, padding=1, use_bias=False
nn.BatchNorm(),
nn.Activation('relu')
)
return out
def down_block(channels):
out = nn.HybridSequential()
out.add(
conv_block(channels, 3),
conv_block(channels, 3)
)
return out
25
U-Net Building Blocks (2)U-Net Building Blocks (2)
class up_block(nn.HybridBlock):
def __init__(self, channels, shrink=True, **kwargs):
super(up_block, self).__init__(**kwargs)
self.upsampler = nn.Conv2DTranspose(channels=channels, ker
strides=2, padding=1,
self.conv1 = conv_block(channels, 1)
self.conv3_0 = conv_block(channels, 3)
if shrink:
self.conv3_1 = conv_block(int(channels/2), 3)
else:
self.conv3_1 = conv_block(channels, 3)
def hybrid_forward(self, F, x, s):
x = self.upsampler(x)
x = self.conv1(x)
x = F.relu(x)
x = F Crop(*[x s] center crop=True)
26
U-Net: Training dataU-Net: Training data
Ground truth: tulip fields in the
Netherlands
Provided by Geopedia, from
Sinergise
27
Loss function: Soft Dice Coefficient lossLoss function: Soft Dice Coefficient loss
Prediction = Probability of each pixel belonging to aPrediction = Probability of each pixel belonging to a
Tulip Field (Softmax output)Tulip Field (Softmax output)
ε serves to prevent division by zeroε serves to prevent division by zero
28
Evaluation Metric: Intersection Over Union(IoU)Evaluation Metric: Intersection Over Union(IoU)
AkaAka Jaccard IndexJaccard Index
Similar to Dice coefficient, standard metric for imageSimilar to Dice coefficient, standard metric for image
segmentationsegmentation
29
Evaluation Metric: Intersection Over Union(IoU)Evaluation Metric: Intersection Over Union(IoU)
30
ResultsResults
IoU = 0.73 after 23 training epochs
Related results: DSTL Kaggle competition
IoU = 0.84 on crop vs building/road/water/etc
segmentation
https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790
31
No Tulip FieldsNo Tulip Fields
32
Large Tulip FieldsLarge Tulip Fields
33
Small Tulips FieldsSmall Tulips Fields
34
Multi-Spectral ImagesMulti-Spectral Images
Measures reflectances with wavelength from 440nm -
2200nm
13 bands covering - visible, near infrared and
shortwave infrared spectrum
https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790
35
36
RGB vs MultiSpectral (Full Bloom)RGB vs MultiSpectral (Full Bloom)
37
RGB vs MultiSpectral (Full Bloom)RGB vs MultiSpectral (Full Bloom)
38
RGB vs MultiSpectral (Cloudy)RGB vs MultiSpectral (Cloudy)
39
RGB vs MultiSpectral (Cloudy)RGB vs MultiSpectral (Cloudy)
40
RGB vs MultiSpectral (Complex Tulip Fields)RGB vs MultiSpectral (Complex Tulip Fields)
41
RGB vs MultiSpectral (Complex Tulip Fields)RGB vs MultiSpectral (Complex Tulip Fields)
42
RGB vs MultiSpectral (Tulips Not Obvious)RGB vs MultiSpectral (Tulips Not Obvious)
43
RGB vs MultiSpectral (Tulips Not Obvious)RGB vs MultiSpectral (Tulips Not Obvious)
44
Comparison: RGB vs MultiSpectralComparison: RGB vs MultiSpectral
45
How to Scale - Batch or Stream ?How to Scale - Batch or Stream ?
"Batch is an extension of Streaming, except when"Batch is an extension of Streaming, except when
Streaming is an extension of Batch"Streaming is an extension of Batch"
-- Shannon Quinn, Apache Mahout-- Shannon Quinn, Apache Mahout
46
Spark or Flink ?Spark or Flink ?
"Spark Streaming is for people who want to operate on"Spark Streaming is for people who want to operate on
their streams using Batch idioms.their streams using Batch idioms.
Flink Batch is for people who want to operate on theirFlink Batch is for people who want to operate on their
batches using Streaming idioms."batches using Streaming idioms."
-- Joey Frazee, Apache NiFi-- Joey Frazee, Apache NiFi
47
What is Apache Beam?What is Apache Beam?
Agnostic (unified Batch + Stream) programming
model
Java, Python, Go SDKs
Runners for Dataflow
Apache Flink
Apache Spark
Google Cloud Dataflow
Local DataRunner
48
Why Apache Beam?Why Apache Beam?
Portability: Code abstraction that can be executed on
different backend runners
Unified: Unified batch and Streaming API
Expandable models and SDK: Extensible API to define
custom sinks and sources
49
End Users: Create
pipelines in a familiar
language
SDK Writers: Make Beam
concepts available in
new languages
Runner Writers: Support
Beam pipelines in
distributed processing
environments
The Apache Beam VisionThe Apache Beam Vision
50
Portable Beam ArchitecturePortable Beam Architecture
OverviewOverview
51
Inference PipelineInference Pipeline
52
Beam Inference PipelineBeam Inference Pipeline
pipeline_options = PipelineOptions(pipeline_args)
pipeline_options.view_as(SetupOptions).save_main_session = True
pipeline_options.view_as(StandardOptions).streaming = True
with beam.Pipeline(options=pipeline_options) as p:
filtered_images = (p | "Read Images" >> beam.Create(glob.glob
| "Batch elements" >> beam.BatchElements(0, known_args.batchs
| "Filter Cloudy images" >> beam.ParDo(FilterCloudyFn.FilterC
filtered_images | "Segment for Land use" >>
beam.ParDo(UNetInference.UNetInferenceFn(known_args.m
53
Future WorkFuture Work
54
Classify Rock FormationsClassify Rock Formations
Using Shortwave Infrared images (2.107 - 2.294 nm)Using Shortwave Infrared images (2.107 - 2.294 nm)
Radiant Energy reflected/transmitted per unit timeRadiant Energy reflected/transmitted per unit time
(Radiant Flux)(Radiant Flux)
Eg: Plants don't grow on rocksEg: Plants don't grow on rocks
https://en.wikipedia.org/wiki/Radiant_fluxhttps://en.wikipedia.org/wiki/Radiant_flux
55
Measure Crop HealthMeasure Crop Health
Using Near-Infrared (NIR) radiationUsing Near-Infrared (NIR) radiation
Emitted by plant Chlorophyll and MesophyllEmitted by plant Chlorophyll and Mesophyll
Chlorophyll content differs between plants and plantChlorophyll content differs between plants and plant
stagesstages
Good measure to identify different plants and theirGood measure to identify different plants and their
healthhealth
https://en.wikipedia.org/wiki/Near-infrared_spectroscopy#Agriculturehttps://en.wikipedia.org/wiki/Near-infrared_spectroscopy#Agriculture
56
Use images from Red bandUse images from Red band
Identify borders, regions without much details withIdentify borders, regions without much details with
naked eye - Wonder Why?naked eye - Wonder Why?
Images are in Red bandImages are in Red band
Unsupervised Learning - ClusteringUnsupervised Learning - Clustering
57
CreditsCredits
Jose Contreras, Matthieu Guillaumin, Kellen
Sunderland (Amazon - Berlin)
Anse Zupanc - Synergise
Apache Beam: Pablo Estrada, Łukasz Cwik, Ankur
Goenka, Maximilian Michels (Google)
Apache Flink: Fabian Hueske (Ververica)
58
LinksLinks
Earth on AWS: https://aws.amazon.com/earth/
Semantic Segmentation - U-Net:
https://medium.com/@keremturgutlu/semantic-
segmentation-u-net-part-1-d8d6f6005066
ResNet: https://arxiv.org/pdf/1512.03385.pdf
U-Net: https://arxiv.org/pdf/1505.04597.pdf
59
Links (contd)Links (contd)
Apache Beam: https://beam.apache.org
Apache Flink: https://flink.apache.org
Slides:
https://smarthi.github.io/BigDataTechWarsaw-
satellite-imagery
Code: https://github.com/smarthi/satellite-images
60
Questions ???Questions ???
61

More Related Content

What's hot

Deep Learning with PyTorch
Deep Learning with PyTorchDeep Learning with PyTorch
Deep Learning with PyTorch
Mayur Bhangale
 
Learning visual representation without human label
Learning visual representation without human labelLearning visual representation without human label
Learning visual representation without human label
Kai-Wen Zhao
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
Kazuki Maeno
 
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
T. E. BOGALE
 
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
Deep Learning JP
 
Convolutional neural networks for image classification — evidence from Kaggle...
Convolutional neural networks for image classification — evidence from Kaggle...Convolutional neural networks for image classification — evidence from Kaggle...
Convolutional neural networks for image classification — evidence from Kaggle...
Dmytro Mishkin
 
IIBMP2019 講演資料「オープンソースで始める深層学習」
IIBMP2019 講演資料「オープンソースで始める深層学習」IIBMP2019 講演資料「オープンソースで始める深層学習」
IIBMP2019 講演資料「オープンソースで始める深層学習」
Preferred Networks
 
#6 PyData Warsaw: Deep learning for image segmentation
#6 PyData Warsaw: Deep learning for image segmentation#6 PyData Warsaw: Deep learning for image segmentation
#6 PyData Warsaw: Deep learning for image segmentation
Matthew Opala
 
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
Intel® Software
 
Multiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation PrecodingMultiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation Precoding
adeelrazi
 
VAE-type Deep Generative Models
VAE-type Deep Generative ModelsVAE-type Deep Generative Models
VAE-type Deep Generative Models
Kenta Oono
 
ECCV2010: feature learning for image classification, part 4
ECCV2010: feature learning for image classification, part 4ECCV2010: feature learning for image classification, part 4
ECCV2010: feature learning for image classification, part 4
zukun
 
Pytorch for tf_developers
Pytorch for tf_developersPytorch for tf_developers
Pytorch for tf_developers
Abdul Muneer
 
Objects as points (CenterNet) review [CDM]
Objects as points (CenterNet) review [CDM]Objects as points (CenterNet) review [CDM]
Objects as points (CenterNet) review [CDM]
Dongmin Choi
 
150807 Fast R-CNN
150807 Fast R-CNN150807 Fast R-CNN
150807 Fast R-CNN
Junho Cho
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overview
Yoss Cohen
 
crfasrnn_presentation
crfasrnn_presentationcrfasrnn_presentation
crfasrnn_presentation
Sadeep Jayasumana
 
Region-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object RetrievalRegion-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object Retrieval
Universitat Politècnica de Catalunya
 
Grid on Demand
Grid on DemandGrid on Demand
Grid on Demand
Alain van Hoof
 
Overlapping community detection in Large-Scale Networks using BigCLAM model b...
Overlapping community detection in Large-Scale Networks using BigCLAM model b...Overlapping community detection in Large-Scale Networks using BigCLAM model b...
Overlapping community detection in Large-Scale Networks using BigCLAM model b...
Thang Nguyen
 

What's hot (20)

Deep Learning with PyTorch
Deep Learning with PyTorchDeep Learning with PyTorch
Deep Learning with PyTorch
 
Learning visual representation without human label
Learning visual representation without human labelLearning visual representation without human label
Learning visual representation without human label
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
 
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
Pilot Contamination Mitigation for Wideband Massive MIMO: Number of Cells Vs ...
 
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
 
Convolutional neural networks for image classification — evidence from Kaggle...
Convolutional neural networks for image classification — evidence from Kaggle...Convolutional neural networks for image classification — evidence from Kaggle...
Convolutional neural networks for image classification — evidence from Kaggle...
 
IIBMP2019 講演資料「オープンソースで始める深層学習」
IIBMP2019 講演資料「オープンソースで始める深層学習」IIBMP2019 講演資料「オープンソースで始める深層学習」
IIBMP2019 講演資料「オープンソースで始める深層学習」
 
#6 PyData Warsaw: Deep learning for image segmentation
#6 PyData Warsaw: Deep learning for image segmentation#6 PyData Warsaw: Deep learning for image segmentation
#6 PyData Warsaw: Deep learning for image segmentation
 
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OS...
 
Multiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation PrecodingMultiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation Precoding
 
VAE-type Deep Generative Models
VAE-type Deep Generative ModelsVAE-type Deep Generative Models
VAE-type Deep Generative Models
 
ECCV2010: feature learning for image classification, part 4
ECCV2010: feature learning for image classification, part 4ECCV2010: feature learning for image classification, part 4
ECCV2010: feature learning for image classification, part 4
 
Pytorch for tf_developers
Pytorch for tf_developersPytorch for tf_developers
Pytorch for tf_developers
 
Objects as points (CenterNet) review [CDM]
Objects as points (CenterNet) review [CDM]Objects as points (CenterNet) review [CDM]
Objects as points (CenterNet) review [CDM]
 
150807 Fast R-CNN
150807 Fast R-CNN150807 Fast R-CNN
150807 Fast R-CNN
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overview
 
crfasrnn_presentation
crfasrnn_presentationcrfasrnn_presentation
crfasrnn_presentation
 
Region-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object RetrievalRegion-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object Retrieval
 
Grid on Demand
Grid on DemandGrid on Demand
Grid on Demand
 
Overlapping community detection in Large-Scale Networks using BigCLAM model b...
Overlapping community detection in Large-Scale Networks using BigCLAM model b...Overlapping community detection in Large-Scale Networks using BigCLAM model b...
Overlapping community detection in Large-Scale Networks using BigCLAM model b...
 

Similar to Large scale landuse classification of satellite imagery

Landuse Classification from Satellite Imagery using Deep Learning
Landuse Classification from Satellite Imagery using Deep LearningLanduse Classification from Satellite Imagery using Deep Learning
Landuse Classification from Satellite Imagery using Deep Learning
DataWorks Summit
 
Large scale landuse classification of satellite imagery
Large scale landuse classification of satellite imageryLarge scale landuse classification of satellite imagery
Large scale landuse classification of satellite imagery
Suneel Marthi
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用
CHENHuiMei
 
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBMSolr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
Lucidworks
 
Dense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdfDense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdf
Sease
 
Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)
Ha Phuong
 
Fcv learn yu
Fcv learn yuFcv learn yu
Fcv learn yu
zukun
 
Open Cv – An Introduction To The Vision
Open Cv – An Introduction To The VisionOpen Cv – An Introduction To The Vision
Open Cv – An Introduction To The Vision
Hemanth Haridas
 
Measuring vegetation health to predict natural hazards
Measuring vegetation health to predict natural hazardsMeasuring vegetation health to predict natural hazards
Measuring vegetation health to predict natural hazards
Suneel Marthi
 
Scallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systemsScallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systems
Ganesan Narayanasamy
 
Surveillance scene classification using machine learning
Surveillance scene classification using machine learningSurveillance scene classification using machine learning
Surveillance scene classification using machine learning
Utkarsh Contractor
 
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic SegmentationSemantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
岳華 杜
 
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Sease
 
Factorization Machines and Applications in Recommender Systems
Factorization Machines and Applications in Recommender SystemsFactorization Machines and Applications in Recommender Systems
Factorization Machines and Applications in Recommender Systems
Evgeniy Marinov
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is you
Davide Carboni
 
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Universitat Politècnica de Catalunya
 
AI and Deep Learning
AI and Deep Learning AI and Deep Learning
AI and Deep Learning
Subrat Panda, PhD
 
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
Bruno Capuano
 
Lecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdfLecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdf
samaghorab
 
Lecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdfLecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdf
samaghorab
 

Similar to Large scale landuse classification of satellite imagery (20)

Landuse Classification from Satellite Imagery using Deep Learning
Landuse Classification from Satellite Imagery using Deep LearningLanduse Classification from Satellite Imagery using Deep Learning
Landuse Classification from Satellite Imagery using Deep Learning
 
Large scale landuse classification of satellite imagery
Large scale landuse classification of satellite imageryLarge scale landuse classification of satellite imagery
Large scale landuse classification of satellite imagery
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用
 
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBMSolr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
Solr and Machine Vision - Scott Cote, Lucidworks & Trevor Grant, IBM
 
Dense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdfDense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdf
 
Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)
 
Fcv learn yu
Fcv learn yuFcv learn yu
Fcv learn yu
 
Open Cv – An Introduction To The Vision
Open Cv – An Introduction To The VisionOpen Cv – An Introduction To The Vision
Open Cv – An Introduction To The Vision
 
Measuring vegetation health to predict natural hazards
Measuring vegetation health to predict natural hazardsMeasuring vegetation health to predict natural hazards
Measuring vegetation health to predict natural hazards
 
Scallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systemsScallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systems
 
Surveillance scene classification using machine learning
Surveillance scene classification using machine learningSurveillance scene classification using machine learning
Surveillance scene classification using machine learning
 
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic SegmentationSemantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
 
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
 
Factorization Machines and Applications in Recommender Systems
Factorization Machines and Applications in Recommender SystemsFactorization Machines and Applications in Recommender Systems
Factorization Machines and Applications in Recommender Systems
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is you
 
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
 
AI and Deep Learning
AI and Deep Learning AI and Deep Learning
AI and Deep Learning
 
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
 
Lecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdfLecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdf
 
Lecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdfLecture-1-2-+(1).pdf
Lecture-1-2-+(1).pdf
 

More from Suneel Marthi

Streaming topic model training and inference
Streaming topic model training and inferenceStreaming topic model training and inference
Streaming topic model training and inference
Suneel Marthi
 
Building streaming pipelines for neural machine translation
Building streaming pipelines for neural machine translationBuilding streaming pipelines for neural machine translation
Building streaming pipelines for neural machine translation
Suneel Marthi
 
Moving beyond moving bytes
Moving beyond moving bytesMoving beyond moving bytes
Moving beyond moving bytes
Suneel Marthi
 
Embracing diversity searching over multiple languages
Embracing diversity  searching over multiple languagesEmbracing diversity  searching over multiple languages
Embracing diversity searching over multiple languages
Suneel Marthi
 
Large Scale Text Processing
Large Scale Text ProcessingLarge Scale Text Processing
Large Scale Text Processing
Suneel Marthi
 
Distributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache MahoutDistributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache Mahout
Suneel Marthi
 
Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream Processing
Suneel Marthi
 

More from Suneel Marthi (7)

Streaming topic model training and inference
Streaming topic model training and inferenceStreaming topic model training and inference
Streaming topic model training and inference
 
Building streaming pipelines for neural machine translation
Building streaming pipelines for neural machine translationBuilding streaming pipelines for neural machine translation
Building streaming pipelines for neural machine translation
 
Moving beyond moving bytes
Moving beyond moving bytesMoving beyond moving bytes
Moving beyond moving bytes
 
Embracing diversity searching over multiple languages
Embracing diversity  searching over multiple languagesEmbracing diversity  searching over multiple languages
Embracing diversity searching over multiple languages
 
Large Scale Text Processing
Large Scale Text ProcessingLarge Scale Text Processing
Large Scale Text Processing
 
Distributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache MahoutDistributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache Mahout
 
Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream Processing
 

Recently uploaded

Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
roli9797
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
Sm321
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
jerlynmaetalle
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
AlessioFois2
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
Lars Albertsson
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
Walaa Eldin Moustafa
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
Timothy Spann
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
jitskeb
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Fernanda Palhano
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
74nqk8xf
 

Recently uploaded (20)

Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
 

Large scale landuse classification of satellite imagery

  • 1. Large Scale LanduseLarge Scale Landuse Classification of SatelliteClassification of Satellite ImageryImagery Suneel MarthiSuneel Marthi February 27, 2019February 27, 2019 Big Data Technology Summit, Warsaw, PolandBig Data Technology Summit, Warsaw, Poland 1
  • 2. $WhoAmI$WhoAmI Suneel MarthiSuneel Marthi  @suneelmarthi@suneelmarthi Member of Apache Software Foundation Committer and PMC on Apache Mahout, Apache OpenNLP, Apache Streams 2
  • 3. AgendaAgenda Introduction Satellite Image Data Description Cloud Classification Segmentation Apache Beam Beam Inference Pipeline Future Work 3
  • 4. IntroductionIntroduction Deep Learning has moved from Academia to IndustryDeep Learning has moved from Academia to Industry Availability of Massive Cloud Computing PowerAvailability of Massive Cloud Computing Power Combination of Compute Resources + Big Data withCombination of Compute Resources + Big Data with Deep Learning models often produces useful andDeep Learning models often produces useful and interesting applicationsinteresting applications 4
  • 5. IntroductionIntroduction Computer Vision for Satellite ImageryComputer Vision for Satellite Imagery Availability of low cost satellite images for researchAvailability of low cost satellite images for research Train a Deep Learning model to identify Tulip beds fromTrain a Deep Learning model to identify Tulip beds from satellite datasatellite data 5
  • 6. Data: Sentinel-2Data: Sentinel-2 Earth observation mission from ESAEarth observation mission from ESA 13 spectral bands, from RGB to SWIR (Short Wave13 spectral bands, from RGB to SWIR (Short Wave Infrared)Infrared) Spatial resolution: 10m/px (RGB bands)Spatial resolution: 10m/px (RGB bands) 5 day revisit time5 day revisit time Free and open data policyFree and open data policy 6
  • 8. Goal: Identify Tulip fields from Sentinel-2Goal: Identify Tulip fields from Sentinel-2 satellite imagessatellite images 8
  • 9. Data acquisitionData acquisition Images downloaded using Sentinel Hub’s WMS (webImages downloaded using Sentinel Hub’s WMS (web mapping service)mapping service) Download tool from Matthieu Guillaumin (@mguillau)Download tool from Matthieu Guillaumin (@mguillau) 9
  • 10. DataData 256 x 256 px images, RGB256 x 256 px images, RGB 10
  • 12. Filter CloudsFilter Clouds Need to remove cloudy images before segmentingNeed to remove cloudy images before segmenting Approach: train a Neural Network to classify images asApproach: train a Neural Network to classify images as clear or cloudyclear or cloudy CNN Architectures: ResNet50 and ResNet101CNN Architectures: ResNet50 and ResNet101 12
  • 13. ResNet building blockResNet building block 13
  • 14. Filter Clouds: training dataFilter Clouds: training data ‘Planet: Understanding the Amazon from Space’ Kaggle‘Planet: Understanding the Amazon from Space’ Kaggle competitioncompetition 40K images labeled as clear, hazy, partly cloudy or40K images labeled as clear, hazy, partly cloudy or cloudycloudy 14
  • 15. Filter Clouds: Training data(2)Filter Clouds: Training data(2) Origin No. of Images Cloudy Images Kaggle Competition 40000 30% Sentinel-2(hand labelled) 5000 50% Total 45000 32% Only two classes: clear and cloudy (cloudy = haze +Only two classes: clear and cloudy (cloudy = haze + partly cloudy + cloudy)partly cloudy + cloudy) 15
  • 17. ResultsResults Model Accuracy F1 Epochs (train + finetune) ResNet50 0.983 0.986 23 + 7 ResNet101 0.978 0.982 43 + 9 Choose ResNet50 for filtering cloudy imagesChoose ResNet50 for filtering cloudy images 17
  • 19. Data AugmentationData Augmentation import Augmentor p = Augmentor.Pipeline(img_dir) p.skew(probability=0.5, magnitude=0.5) p.shear(probability=0.3, max_shear=15) p.flip_left_right(probability=0.5) p.flip_top_bottom(probability=0.5) p.rotate_random_90(probability=0.75) p.rotate(probability=0.75, max_rotation=20) 19
  • 20. Example Data AugmentationExample Data Augmentation 20
  • 23. Approach U-NetApproach U-Net State of the Art CNN for Image Segmentation Commonly used with biomedical images Best Architecture for tasks like this O. Ronneberger, P.Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. arxiv:1505.04597, 2015O. Ronneberger, P.Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. arxiv:1505.04597, 2015 23
  • 25. U-Net Building BlocksU-Net Building Blocks def conv_block(channels, kernel_size): out = nn.HybridSequential() out.add( nn.Conv2D(channels, kernel_size, padding=1, use_bias=False nn.BatchNorm(), nn.Activation('relu') ) return out def down_block(channels): out = nn.HybridSequential() out.add( conv_block(channels, 3), conv_block(channels, 3) ) return out 25
  • 26. U-Net Building Blocks (2)U-Net Building Blocks (2) class up_block(nn.HybridBlock): def __init__(self, channels, shrink=True, **kwargs): super(up_block, self).__init__(**kwargs) self.upsampler = nn.Conv2DTranspose(channels=channels, ker strides=2, padding=1, self.conv1 = conv_block(channels, 1) self.conv3_0 = conv_block(channels, 3) if shrink: self.conv3_1 = conv_block(int(channels/2), 3) else: self.conv3_1 = conv_block(channels, 3) def hybrid_forward(self, F, x, s): x = self.upsampler(x) x = self.conv1(x) x = F.relu(x) x = F Crop(*[x s] center crop=True) 26
  • 27. U-Net: Training dataU-Net: Training data Ground truth: tulip fields in the Netherlands Provided by Geopedia, from Sinergise 27
  • 28. Loss function: Soft Dice Coefficient lossLoss function: Soft Dice Coefficient loss Prediction = Probability of each pixel belonging to aPrediction = Probability of each pixel belonging to a Tulip Field (Softmax output)Tulip Field (Softmax output) ε serves to prevent division by zeroε serves to prevent division by zero 28
  • 29. Evaluation Metric: Intersection Over Union(IoU)Evaluation Metric: Intersection Over Union(IoU) AkaAka Jaccard IndexJaccard Index Similar to Dice coefficient, standard metric for imageSimilar to Dice coefficient, standard metric for image segmentationsegmentation 29
  • 30. Evaluation Metric: Intersection Over Union(IoU)Evaluation Metric: Intersection Over Union(IoU) 30
  • 31. ResultsResults IoU = 0.73 after 23 training epochs Related results: DSTL Kaggle competition IoU = 0.84 on crop vs building/road/water/etc segmentation https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790 31
  • 32. No Tulip FieldsNo Tulip Fields 32
  • 33. Large Tulip FieldsLarge Tulip Fields 33
  • 34. Small Tulips FieldsSmall Tulips Fields 34
  • 35. Multi-Spectral ImagesMulti-Spectral Images Measures reflectances with wavelength from 440nm - 2200nm 13 bands covering - visible, near infrared and shortwave infrared spectrum https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/discussion/29790 35
  • 36. 36
  • 37. RGB vs MultiSpectral (Full Bloom)RGB vs MultiSpectral (Full Bloom) 37
  • 38. RGB vs MultiSpectral (Full Bloom)RGB vs MultiSpectral (Full Bloom) 38
  • 39. RGB vs MultiSpectral (Cloudy)RGB vs MultiSpectral (Cloudy) 39
  • 40. RGB vs MultiSpectral (Cloudy)RGB vs MultiSpectral (Cloudy) 40
  • 41. RGB vs MultiSpectral (Complex Tulip Fields)RGB vs MultiSpectral (Complex Tulip Fields) 41
  • 42. RGB vs MultiSpectral (Complex Tulip Fields)RGB vs MultiSpectral (Complex Tulip Fields) 42
  • 43. RGB vs MultiSpectral (Tulips Not Obvious)RGB vs MultiSpectral (Tulips Not Obvious) 43
  • 44. RGB vs MultiSpectral (Tulips Not Obvious)RGB vs MultiSpectral (Tulips Not Obvious) 44
  • 45. Comparison: RGB vs MultiSpectralComparison: RGB vs MultiSpectral 45
  • 46. How to Scale - Batch or Stream ?How to Scale - Batch or Stream ? "Batch is an extension of Streaming, except when"Batch is an extension of Streaming, except when Streaming is an extension of Batch"Streaming is an extension of Batch" -- Shannon Quinn, Apache Mahout-- Shannon Quinn, Apache Mahout 46
  • 47. Spark or Flink ?Spark or Flink ? "Spark Streaming is for people who want to operate on"Spark Streaming is for people who want to operate on their streams using Batch idioms.their streams using Batch idioms. Flink Batch is for people who want to operate on theirFlink Batch is for people who want to operate on their batches using Streaming idioms."batches using Streaming idioms." -- Joey Frazee, Apache NiFi-- Joey Frazee, Apache NiFi 47
  • 48. What is Apache Beam?What is Apache Beam? Agnostic (unified Batch + Stream) programming model Java, Python, Go SDKs Runners for Dataflow Apache Flink Apache Spark Google Cloud Dataflow Local DataRunner 48
  • 49. Why Apache Beam?Why Apache Beam? Portability: Code abstraction that can be executed on different backend runners Unified: Unified batch and Streaming API Expandable models and SDK: Extensible API to define custom sinks and sources 49
  • 50. End Users: Create pipelines in a familiar language SDK Writers: Make Beam concepts available in new languages Runner Writers: Support Beam pipelines in distributed processing environments The Apache Beam VisionThe Apache Beam Vision 50
  • 51. Portable Beam ArchitecturePortable Beam Architecture OverviewOverview
  • 52. 51
  • 54. Beam Inference PipelineBeam Inference Pipeline pipeline_options = PipelineOptions(pipeline_args) pipeline_options.view_as(SetupOptions).save_main_session = True pipeline_options.view_as(StandardOptions).streaming = True with beam.Pipeline(options=pipeline_options) as p: filtered_images = (p | "Read Images" >> beam.Create(glob.glob | "Batch elements" >> beam.BatchElements(0, known_args.batchs | "Filter Cloudy images" >> beam.ParDo(FilterCloudyFn.FilterC filtered_images | "Segment for Land use" >> beam.ParDo(UNetInference.UNetInferenceFn(known_args.m 53
  • 56. Classify Rock FormationsClassify Rock Formations Using Shortwave Infrared images (2.107 - 2.294 nm)Using Shortwave Infrared images (2.107 - 2.294 nm) Radiant Energy reflected/transmitted per unit timeRadiant Energy reflected/transmitted per unit time (Radiant Flux)(Radiant Flux) Eg: Plants don't grow on rocksEg: Plants don't grow on rocks https://en.wikipedia.org/wiki/Radiant_fluxhttps://en.wikipedia.org/wiki/Radiant_flux 55
  • 57. Measure Crop HealthMeasure Crop Health Using Near-Infrared (NIR) radiationUsing Near-Infrared (NIR) radiation Emitted by plant Chlorophyll and MesophyllEmitted by plant Chlorophyll and Mesophyll Chlorophyll content differs between plants and plantChlorophyll content differs between plants and plant stagesstages Good measure to identify different plants and theirGood measure to identify different plants and their healthhealth https://en.wikipedia.org/wiki/Near-infrared_spectroscopy#Agriculturehttps://en.wikipedia.org/wiki/Near-infrared_spectroscopy#Agriculture 56
  • 58. Use images from Red bandUse images from Red band Identify borders, regions without much details withIdentify borders, regions without much details with naked eye - Wonder Why?naked eye - Wonder Why? Images are in Red bandImages are in Red band Unsupervised Learning - ClusteringUnsupervised Learning - Clustering 57
  • 59. CreditsCredits Jose Contreras, Matthieu Guillaumin, Kellen Sunderland (Amazon - Berlin) Anse Zupanc - Synergise Apache Beam: Pablo Estrada, Łukasz Cwik, Ankur Goenka, Maximilian Michels (Google) Apache Flink: Fabian Hueske (Ververica) 58
  • 60. LinksLinks Earth on AWS: https://aws.amazon.com/earth/ Semantic Segmentation - U-Net: https://medium.com/@keremturgutlu/semantic- segmentation-u-net-part-1-d8d6f6005066 ResNet: https://arxiv.org/pdf/1512.03385.pdf U-Net: https://arxiv.org/pdf/1505.04597.pdf 59
  • 61. Links (contd)Links (contd) Apache Beam: https://beam.apache.org Apache Flink: https://flink.apache.org Slides: https://smarthi.github.io/BigDataTechWarsaw- satellite-imagery Code: https://github.com/smarthi/satellite-images 60