DeepCore Machine Learning Abstraction Framework

DeepCore is a utility toolkit, written in modern C++ (C++11) by DigitalGlobe

It allows a user to download, perform either image classification or object detection, and manipulate geospatial vector files. DeepCore is intended to be a machine learning framework agnostic toolkit, allowing for a simple, clean, consistent programmatic interface. It also provides easy access to the DigitalGlobe imagery archive. As new machine learning techniques and frameworks emerge, they can easily be integrated into DeepCore. This allows developers using DeepCore to easily extend their applications with the latest technology, without having to worry about the complexities of each framework or technique

DeepCore's machine learning features can also be accelerated by the use of Nvidia Graphics Processing Units (GPUs) using CUDA technology. By enabling GPU mode, the process of object detection becomes very quick, allowing for faster and more efficient processing of large geographic areas. The use of GPUs to accelerate machine learning and object detection processes is highly recommended.


DeepCore Design and API

DeepCore is split into libraries that are grouped by function. This decoupled approach allows the application developer to use the pieces necessary for their needs, and no more. For more information on DeepCore, it's architecture and uses, please visit the DeepCore Architecture page. DeepCore uses the Apache License V2.0.


Sample Application - gbdxm

The GBDXM packaging tool is a DeepCore based executable that enables the user to package a machine learning model for use with other DeepCore based tools. It takes in a supported model format as an input, packages the model files into a single easy-to-use, easy-to-share container. The DeepCore framework can then use that model package to perform machine learning and object detection tasks. Currently, only Caffe models are supported, but other model formats are forthcoming as additional machine learning frameworks are incorporated into DeepCore.

A sample model can be downloaded from the Sample Download links at the top of the page or in the footer of the page.


Sample Application - OpenSpaceNet

OpenSpaceNet is a DeepCore-based sample application that uses DigitalGlobe satellite imagery as an input source for the object detection. Using DigitalGlobe image services, such as the DigitalGlobe Maps API or the My DigitalGlobe imagery service, the user can access current satellite imagery for use in machine learning. OpenSpaceNet allows the user to select an area for detection, specify a model to use during detection, and get the results back in a geospatial format suitable for use in a GIS application or service.

To use the OpenSpaceNet application, please download the sample image and model provided on this page. They can be downloaded via the Sample Data links at the top and bottom of the page.


Download Software

Download Sample Images and Models

Sample Data

Download Sample Data

Sample Model
Sample Image

Contact the DeepCore team!

Questions, comments, or requests? Contact the DeepCore team for more information!