/ Machine Learning

Computer Vision ecosystem for GeoSpatial Imagery

Computer Vision ecosystem for GeoSpatial Imagery

RoboSat.pink

Computer Vision ecosystem for GeoSpatial imagery.

Purposes:

  • DataSet Quality Analysis
  • Change Detection highlighter
  • Features extraction and completion

Main Features:

  • Provides several command line tools, you can combine together to build your own workflow
  • Follows geospatial standards to ease interoperability and data preparation
  • Build-in cutting edge Computer Vision model, Data Augmentation and Loss implementations (and allows to replace by your owns)
  • Support either RGB and multibands imagery, and allows Data Fusion
  • Web-UI tools to easily display, hilight or select results (and allow to use your own templates)
  • High performances
  • Eeasily extensible by design
Draw me RoboSat.pink

Documentation:

Tutorials:

Config file:

Tools:

  • rsp cover Generate a tiles covering, in csv format: X,Y,Z
  • rsp download Downloads tiles from a remote server (XYZ, WMS, or TMS)
  • rsp extract Extracts GeoJSON features from OpenStreetMap .pbf
  • rsp rasterize Rasterize vector features (GeoJSON or PostGIS), to raster tiles
  • rsp subset Filter images in a slippy map dir using a csv tiles cover
  • rsp tile Tile raster coverage
  • rsp train Trains a model on a dataset
  • rsp export Export a model to ONNX or Torch JIT
  • rsp predict Predict masks, from given inputs and an already trained model
  • rsp compare Compute composite images and/or metrics to compare several XYZ dirs
  • rsp vectorize Extract simplified GeoJSON features from segmentation masks
  • rsp info Print RoboSat.pink version informations

Presentations slides:

Installs:

With PIP:

pip3 install RoboSat.pink                                     # For latest stable version

or

pip3 install git+https://github.com/datapink/robosat.pink     # For current dev version

With Conda, using a virtual env:

conda create -n robosat_pink python=3.6 && conda activate robosat_pink
pip install robosat.pink                                      # For latest stable version        

With Ubuntu 19.04, from scratch:

sudo sh -c "apt update && apt install -y build-essential python3-pip"
pip3 install RoboSat.pink && export PATH=$PATH:~/.local/bin
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run
sudo sh NVIDIA-Linux-x86_64-430.40.run -a -q --ui=none

With CentOS 7, from scratch:

sudo sh -c "yum -y update && yum install -y python36 wget && python3.6 -m ensurepip"
pip3 install --user RoboSat.pink
sudo sh -c "yum groupinstall -y 'Development Tools' && yum install -y kernel-devel epel-release"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run
sudo sh NVIDIA-Linux-x86_64-430.40.run -a -q --ui=none

NOTAS:

  • Requires: Python 3.6 or 3.7
  • GPU is not strictly mandatory, but rsp train and rsp predict would be -that- slower without.
  • To test RoboSat.pink install, launch in a terminal: rsp -h
  • Upon your pip PATH setting, you may have to update it: export PATH=$PATH:.local/bin

Architecture:

RoboSat.pink use cherry-picked Open Source libs among Deep Learning, Computer Vision and GIS stacks.

Stacks

Related resources:

Bibliography:

Contributions and Services:

  • Pull Requests are welcome ! Feel free to send code...
    Don't hesitate either to initiate a prior discussion via gitter or ticket on any implementation question.
    And give also a look at Makefile rules.

  • If you want to collaborate through code production and maintenance on a long term basis, please get in touch, co-edition with an ad hoc governance can be considered.

  • If you want a new feature, but don't want to implement it, DataPink provide core-dev services.

  • Expertise and training on RoboSat.pink are also provided by DataPink.

  • And if you want to support the whole project, because it means for your own business, funding is also welcome.

Requests for funding:

  • Increase (again) prediction accuracy :

    • on low resolution imagery
    • even with few labels
    • feature extraction when they are (really) close
    • with multibands and Data Fusion
  • Add support for :

    • Linear features extraction
    • PointCloud data support
    • Time Series Imagery
  • Improve (again) performances

GitHub