By DEEP-Hybrid-DataCloud Consortium | Created: - Updated:

tensorflow, semantic segmentation, cnn, trainable, inference, pre-trained, api-v1

License: MIT

Build Status

Example application for ISPRS 2D Semantic Labeling Contest [1]:

2D semantic segmentation (Vaihingen dataset [2]) that assigns labels to multiple object categories.

Vaihingen dataset

  • 33 patches of different sizes with 9 cm spatial resolution
  • Manually classified into six land cover classes:
  • Impervious surfaces, Building, Low vegetation, Tree, Clutter/background
  • The groundtruth is provided for only 16 patches
  • For the remaining scenes it is unreleased and used for evaluation of submitted results

N.B.: pre-trained weights can be found here (unzip before use!)



[2] M. Cramer: The DGPF-Test on Digital Airborne Camera Evaluation Overview and Test Design, PFG Photogrammetrie, Fernerkundung, Geoinformation, vol. 2010, no. 2, pp. 73-82, 2010.

Run locally on your computer

Using Docker

You can run this module directly on your computer, assuming that you have Docker installed, by following these steps:

$ docker pull deephdc/deep-oc-semseg_vaihingen
$ docker run -ti -p 5000:5000 deephdc/deep-oc-semseg_vaihingen

Using udocker

If you do not have Docker available or you do not want to install it, you can use udocker within a Python virtualenv:

$ virtualenv udocker
$ source udocker/bin/activate
$ git clone
$ cd udocker
$ pip install .
$ udocker pull deephdc/deep-oc-semseg_vaihingen
$ udocker create deephdc/deep-oc-semseg_vaihingen
$ udocker run -p 5000:5000  deephdc/deep-oc-semseg_vaihingen

Once running, point your browser to and you will see the API documentation, where you can test the module functionality, as well as perform other actions (such as training).

For more information, refer to the user documentation.