RoboSat.pink :
Computer Vision framework for GeoSpatial Imagery
@o_courtin
Earth Observation
Public Policy Monitoring
BioSphere Study
Human Development
Intelligence
Economic Intelligence
Emergency & Crisis
THE PERCEPTRON
A PROBABILISTIC MODEL FOR INFORMATION STORAGE AND ORGANIZATION IN THE BRAIN
Rosenblatt 1958
AI is an old Lady
Data V E C T O R Classification
World2Vec
Neurals Network Output Input Loss Function
Supervised Learning
Neurals Network Output Input Loss Function Trained Model Output
Supervised Learning
Polynom
Weighted Graph
Lossy Data Compression
Grey Box
« Everything is related to everything else,
but near things are more related than distant things. »
https://github.com/vdumoulin/conv_arithmetic
Unet Like Semantic Segmentation
Medical Imagery Autonomous Vehicle GeoSpatial Imagery
Computer Vision
Spatial is Special
MultiBands
Data Complexity
Huge Data
Spatial is Special
MultiBands
Data Complexity
Huge Data
Interoperability
FOSS4G
Open Data
RoboSat.pink
RoboSat.pink
Computer Vision ecosystem for GeoSpatial Imagery
DataSet Quality Analysis
Change Detection highlighter
Features extraction
RoboSat != RoboSat
.pink
https://github.com/mapbox/robosat/issues/184
RoboSat.pink Raster
Coverage WMS
RoboSat.pink GeoJSON PostGIS Raster Coverage WMS OSM PBF XYZ
RoboSat.pink GeoJSON PostGIS Raster Coverage WMS OSM PBF XYZ Masks Prediction
RoboSat.pink GeoJSON PostGIS Raster Coverage WMS OSM PBF XYZ Masks Prediction Masks Compare Vector Prediction Spotify differences areas
Compare Predicts against alternate datasets
Pink : Predicted by trained model
Green : Alternate dataset
Compare Predicts against alternate datasets
Compare Predicts against alternate datasets
Pink squares : Significant differences
Download WMS XYZ Rasterize GeoJSON Extract OSM pbf Cover XYZ Image Tile Rasters XYZ Label Subset Training DataSet Bbox XYZ dir
Data Preparation
Rasters PostGISImage Label Cross Entropy mIoU Lovasz
http://www.cs.toronto.edu/~wenjie/papers/iccv17/mattyus_etal_iccv17.pdf http://www.cs.umanitoba.ca/~ywang/papers/isvc16.pdf
https://arxiv.org/abs/1705.08790
https://arxiv.org/abs/1809.06839
https://github.com/albu/albumentations
https://arxiv.org/abs/1806.00844
Easy to deploy
https://github.com/datapink/robosat.pink/blob/master/docs/101.md
https://github.com/datapink/robosat.pink/blob/master/docs/101.md
101 RoboSat.pink Tutorial
In ~2-3h, on a GPU server:
- RoboSat.pink install
- Download data
- Data Preparation
- Training
- Inference
- Compare to OSM
- Vectorize result
More than an application, an easy to extent framework
Stacks
Proj 4 GEOS GDAL Rasterio CUDA cuDNN PyTorch NumPy OpenCV RoboSat.pink Pillow Shapely Osmium Mercantile SuperMercado Albumentations LeafLet + VectorGridSo all you need is :
- Imagery
→
any file format readable by GDAL
- GPU
→
NVIDIA > 8Go RAM
- Initial skills
→
GeoSpatial Data and CLI fluency
- Labels
→
usualy the key point
Accurate Labels
From OpenData to OpenDataSet
Few performances Metrics
rsp train
~5 Mp/s, -per
epoch-rsp tile
~5 Mp/s
rsp predict
~5 Mp/s
rsp rasterize
~50 Mp/s
rsp vectorize
~50 Mp/s
8 cores CPU, single GPU (either RTX or V100), SSD 16 tiles = 4 Retina Tiles = 1Mp
How to scale it, or improve it again ?
rsp train
add more GPU,
reduce dataset redundancy,
improve model, loss or optimizer
rsp tile
add more CPU
use raster compression
rsp predict
export model to ONNX or JIT,
RTX ThreadRipper
Cost Effective GPU
WorkStation
Server
Cloud
Why performances matters ?
- Playful and Human Learning
- Time and money saver
Open Source
Request For Funding
- Increase prediction accuracy :
- on low resolution imagery
- even with few labels
- on network features
- instance segmentation
Request For Funding
- Increase prediction accuracy :
- on low resolution imagery
- even with few labels
- on network features
- instance segmentation
- Improve performances
- on Training
- on Inference
Request For Funding
- Increase prediction accuracy :
- on low resolution imagery
- even with few labels
- on network features
- instance segmentation
- Improve performances
- on Training
- on Inference
- Add support for :
- MultiClass classification
- Time Series Imagery
Why using Deep Learning for GeoSpatial ?
Why using Deep Learning for GeoSpatial ?
Easy to spotify at scale inconsistencies beetwen two datasets
If you provide accurate labels matching an imagery,
Why using Deep Learning for GeoSpatial ?
Easy to spotify at scale inconsistencies beetwen two datasets
If you provide accurate labels matching an imagery,
infere at scale on similar new imageries
Why using RoboSat.pink ?
GIS Standards compliancy
Ease Data Preparation
Build-in WebUI
Handle MultiBands Imagery and DataFusion
High Performances
Easy to deploy
Accurate (state of art Computer Vision)
Extensible by design
Open Source
Community
DIY Demo
www.datapink.com
Human Learning
http://www.math.ens.fr/~feydy/Teaching/culture_mathematique.pdf http://cs231n.stanford.edu/
https://neurovenge.antonomase.fr/NeuronsSpikeBack.pdf
Pattern
Extraction
Computer
Engineering
Data Expertise
Pattern
Extraction
Computer
Engineering
Data Expertise
Extract insights from GeoSpatial data with Deep Learning
@data_pink
RoboSat.pink
powered by
@data_pink
Take Away
- Industrial AI4EO Imagery framework available
- Performances already OK to use it for region or country
- No need anymore to be a Computer Vision expert to use it
- Plain OpenData can be use to train accurate model