neat-EO
Efficient AI4EO OpenSource framework
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
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.
GeoSpatial OpenDataSets:
Bibliography:
- PyTorch: An Imperative Style, High-Performance Deep Learning Library
- U-Net: Convolutional Networks for Biomedical Image Segmentation
- Deep Residual Learning for Image Recognition
- TernausNetV2: Fully Convolutional Network for Instance Segmentation
- The Lovász-Softmax loss: A tractable surrogate for the optimization of the IoU measure in neural networks
- Albumentations: fast and flexible image augmentations
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:
- Olivier Courtin https://github.com/ocourtin
- Daniel J. Hofmann https://github.com/daniel-j-h
Citing:
@Manual{,
title = {neat-EO} Efficient AI4EO OpenSource framework},
author = {Olivier Courtin, Daniel J. Hofmann},
organization = {DataPink},
year = {2020},
url = {http://neat-EO.pink},
}