Git Product home page Git Product logo

ggd-openspacenet's Introduction

OpenSpaceNet

Build Status Jenkins Build Status

OpenSpaceNet is an open-source application to perform object or terrain detection against orthorectified imagery using the DeepCore libraries. This application includes and is based on CUDA 7.5 and requires NVIDIA driver version 352 or higher to run using the GPU.

OpenSpaceNet takes a pre-trained neural network and applies it to imagery. It can use local files from your computer, or connect to DigitalGlobe servers to download maps. OpenSpaceNet uses your DigitalGlobe account to download the maps, so it can only use maps that you have already purchased. This guide will explain the basic usage of OpenSpaceNet.

Train a model

Train a model with Caffe. OpenSpaceNet only supports Caffe models for the time being. Once you have a trained model, you will need to package it as a gbdxm file, which is an archive format used by OpenSpaceNet.

Convert model to GBDXM

The GBDXM format stores a model in a compressed file which OSN uses. The gbdxm module acts as a link between caffe and OSN. The executable is available on the DeepCore webpage. You will need to make it executable before you can run it chmod u+x gbdxm. Then you can convert your Caffe model to gbdxm format:

$ ./gbdxm pack -f out.gbdxm --caffe-model deploy.prototxt --caffe-trained model.caffemodel \
  --caffe-mean mean.binaryproto -t caffe -n "Airliner" -v 0 -d "Model Description" -l labels.txt \
  --image-type jpg -b -84.06163 37.22197 -84.038803 37.240162

For detailed documentation of the command line arguments, run ./gbdxm help or just ./gbdxm at the terminal.

Run with OpenSpaceNet

  1. Make sure CUDA 7.5 is installed (instructions). We are working on OSN for CUDA 8, but it will only run with 7.5 for now.

  2. Download OpenSpaceNet executable by clicking the link in the right column. You do not need to install DeepCore if you use the pre-compiled executable.

  3. Use OpenSpaceNet to apply models to map data

For descriptions of the command line arguments, consult the documentation for OpenSpaceNet. For basic usage, you can follow these examples.

If you have the images that you want to search in an image file, then you can use the --image option. This does not require any access keys.

Using a local file

Linux:

$ ./OpenSpaceNet detect --model MODEL.gbdxm --type POLYGON --format shp --output OUTPUT_FILENAME.shp \
  --nms --window-step 30 --image INPUT_IMAGE_FILENAME

Windows:

C:\> OpenSpaceNet.exe detect --model MODEL.gbdxm --type POLYGON --format shp --output OUTPUT_FILENAME.shp --nms --window-step 30 --image INPUT_IMAGE_FILENAME

Using the API

If you access DigitalGlobe API, then you can use your token to download maps. DeepCore will handle the maps for you, so all you need to provide is the API token, and the bounding box that you want to search in.

Linux:

$ ./OpenSpaceNet detect --bbox -84.44579 33.63404 -84.40601 33.64583  --model MODEL.gbdxm \
  --type POLYGON --format shp --output OUTPUT_FILENAME.shp --confidence 99.9 --nms \
  --window-step 25 --num-downloads 200 --token API_TOKEN  --service maps-api

Windows:

C:\> OpenSpaceNet.exe detect --bbox -84.44579 33.63404 -84.40601 33.64583  --model MODEL.gbdxm --type POLYGON --format shp --output OUTPUT_FILENAME.shp --confidence 99.9 --nms --window-step 25 --num-downloads 200 --token API_TOKEN  --service maps-api

Using DigitalGlobe Cloud Services (DGCS)

If you have access to DigitalGlobe Cloud Services, then OpenSpaceNet can access maps using your account. You need to provide your username, password, and the appropriate token for the type of maps that you want to use. You can find information about the kinds of maps offered by DigitalGlobe of is available on our webpage.

Linux:

$ ./OpenSpaceNet detect --bbox -84.44579 33.63404 -84.40601 33.64583 --model MODEL.gbdxm \
  --type POLYGON --format shp --output OUTPUT_FILENAME.shp --confidence 99.9 --nms \
  --window-step 15 --num-downloads 200 --token MAP_TOKEN --credentials USER:PASS --service dgcs

Windows:

C:\> ./OpenSpaceNet.exe detect --bbox -84.44579 33.63404 -84.40601 33.64583 --model MODEL.gbdxm --type POLYGON --format shp --output OUTPUT_FILENAME.shp --confidence 99.9 --nms --window-step 15 --num-downloads 200 --token MAP_TOKEN --credentials USER:PASS --service dgcs

Visualizing results

You can visualize your results using GIS software like ArcGIS or QGIS. You can configure QGIS to use DigitalGlobe maps by following these instructions. Then you can import the shapefile as a vector layer to see the model results.

Links

User Reference Guide

Building OpenSpaceNet

ggd-openspacenet's People

Contributors

adpowel avatar alanjschoen avatar avitebskiy avatar dg-jenkins-deepcore avatar geodawg avatar geovations avatar kevinmcgee avatar lettherebedwight avatar rddesmond avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.