/Danesfield-App

Web application for the Danesfield System

Primary LanguagePythonApache License 2.0Apache-2.0

Danesfield App

The Danesfield App is a web application for running the Danesfield algorithms and visualizing results. Danesfield addresses the algorithmic challenges of the IARPA CORE3D program by reconstructing semantically meaningful 3D models of buildings and other man-made structures from satellite imagery.

Video demo

Screenshots

Server

Requirements

This application is built on top of the Girder data management platform.

Setup

On Girder host

Install the Girder plugin by running:

girder-install plugin /path/to/danesfield-app/danesfield-server

On Girder Worker host

Ensure that the following Docker images are available:

  • gitlab.kitware.com:4567/core3d/danesfield-app/danesfield
  • gitlab.kitware.com:4567/core3d/danesfield-app/p3d_gw

The Danesfield image is publicly available on Docker Hub at https://hub.docker.com/r/kitware/danesfield, and can be pulled down with docker pull kitware/danesfield. Note that the image will need to be re-tagged to the name expected by this application: docker tag kitware/danesfield:latest gitlab.kitware.com:4567/core3d/danesfield-app/danesfield:latest.

While the p3d_gw Docker image is not publicly available, it is available to US Government users upon request. Please contact Kitware for more information.

Users with access to the private Danesfield-App GitLab repository can pull the images down from the container registry.

Ensure that the GTOPO 30 data is available in /mnt/GTOPO30. This data is a requirement of P3D.

Building the Docker images

Currently, these Docker images are not automatically built. Follow the steps below to build them when necessary.

To build gitlab.kitware.com:4567/core3d/danesfield-app/danesfield:

  • Run docker build -t gitlab.kitware.com:4567/core3d/danesfield-app/danesfield . in the danesfield repository root.

To build gitlab.kitware.com:4567/core3d/danesfield-app/p3d_gw:

To archive an image for transfer to another system, run docker save IMAGE_NAME | gzip > image.gz.

To load an archived image, run gzip -d -c image.gz | docker load.

Configuration

UNet Semantic Segmentation

  • Upload the configuration and model files referenced in the tool documentation.
  • Set the danesfield.unet_semantic_segmentation_config_file_id and danesfield.unet_semantic_segmentation_model_file_id settings to the IDs of those files.

Building Segmentation

  • Upload the model files referenced in the tool documentation to a Girder folder.
  • Set the danesfield.building_segmentation_model_folder_id setting to the ID of that folder.

Material Classification

  • Upload the model file referenced in the tool documentation to Girder.
  • Set the danesfield.material_classifier_model_file_id setting to the ID of that file.

Roof Geon Extraction

  • Upload the model files referenced in the tool documentation into a folder on Girder.
  • Set the danesfield.roof_segmentation_model_folder_id setting to the ID of that folder.

Run Metrics

  • Upload the ground truth data files referenced in the tool documentation into a folder on Girder.
  • Set the danesfield.reference_data_folder_id setting to the ID of that folder.

Client Setup

See here