neat-EO

Computer Vision framework for GeoSpatial Imagery


Keywords
aerial-imagery, ai4eo, change-detection, computer-vision, data-quality, deep-learning, earth-observation, feature-extraction, geospatial, pytorch, remote-sensing, satellite-imagery, semantic-segmentation
License
MIT
Install
pip install neat-EO==0.0.2

Documentation

neat-EO

Efficient AI4EO OpenSource framework

Neat-EO.pink buildings segmentation from 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 performs fast data preparation
  • Build-in cutting edge Computer Vision papers implementation
  • 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
  • Extensible by design

Draw me neat-EO

Documentation:

Tutorial:

Config file:

Tools:

  • neo cover Generate a tiles covering, in csv format: X,Y,Z
  • neo download Downloads tiles from a Web Server (XYZ or WMS)
  • neo extract Extracts GeoJSON features from OpenStreetMap .pbf
  • neo rasterize Rasterize vector features (GeoJSON or PostGIS), to raster tiles
  • neo subset Filter images in a slippy map dir using a csv tiles cover
  • neo tile Tile a raster coverage
  • neo train Trains a model on a dataset
  • neo eval Evals a model on a dataset
  • neo export Export a model to ONNX or Torch JIT
  • neo predict Predict masks, from a dataset, with an already trained model
  • neo compare Compute composite images and/or metrics to compare several slippy map dirs
  • neo vectorize Extract GeoJSON features from predicted masks
  • neo info Print neat-EO version informations

Presentations slides:

Installs:

With PIP:

pip3 install neat-EO

With Ubuntu 19.10, from scratch:

# neat-EO [mandatory]
sudo sh -c "apt update && apt install -y build-essential python3-pip"
pip3 install neat-EO && export PATH=$PATH:~/.local/bin

# NVIDIA GPU Drivers [mandatory for train and predict]
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run
sudo sh NVIDIA-Linux-x86_64-435.21.run -a -q --ui=none

# HTTP Server [for WebUI rendering]
sudo apt install -y apache2 && sudo ln -s ~ /var/www/html/neo

NOTAS:

  • Requires: Python 3.6 or 3.7
  • GPU with VRAM >= 8Go is mandatory
  • To test neat-EO install, launch in a new terminal: neo info
  • If needed, to remove pre-existing Nouveau driver: sudo sh -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf && update-initramfs -u && reboot"

Architecture:

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

Stacks

GeoSpatial OpenDataSets:

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, assistance and training on neat-EO 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:

We've already identified several new features and research papers able to improve again neat-EO, your funding would make a difference to implement them on a coming release:

  • Increase again accuracy :

    • on low resolution imagery
    • even with few labels (aka Weakly Supervised)
    • Topology handling
    • Instance Segmentation
  • Improve again performances

  • Add support for :

    • Time Series Imagery
    • StreetView Imagery
    • MultiHosts scaling
    • Vectors post-treatments
    • ...

Authors:

Citing:

  @Manual{,
    title = {neat-EO} Efficient AI4EO OpenSource framework},
    author = {Olivier Courtin, Daniel J. Hofmann},
    organization = {DataPink},
    year = {2020},
    url = {http://neat-EO.pink},
  }