GBDX

CrowdAI Road Detector

The CrowdAI road detector algorithm uses deep learning to detect roads at a pixel-level accuracy. A neural network is used to classify every pixel as road or non-road.

Note: This GBDX algorithm is an extra-cost premium analytic, for information on how to purchase access please contact gbdx-support@digitalglobe.com.

GBDX Task Name: crowdai-road-detector
AnswerFactory Recipe Name: Extract Roads from CrowdAI
Provider: CrowdAI Inc.
Input Data Support: Requires pan-sharpened DigitalGlobe TrueColor RGB (3-band) imagery with at least 50cm GSD and an off-nadir angle of less than 10 degrees.
Output Processing Result: The output is a color-coded GeoTiff. Coloured pixels are areas considered to be roads.


Algorithm Output Screenshots

Before: WorldView 3 image before road detection.

Before: WorldView 3 image before road detection.

After: WorldView 3 image after road detection.

After: WorldView 3 image after road detection.

QuickStart Example

This is a workflow example for basic processing.

Python


# Initialize the Environment.
from gbdxtools import Interface
gbdx = Interface()

tasks = []
cat_id = '104001002D1B2100'
aop_output_location = 'CrowdAI/Road_Detector/aop/'
task_output_location = 'CrowdAI/Road_Detector/task/'

# Auto ordering task parameters
order = gbdx.Task("Auto_Ordering")
order.inputs.cat_id = cat_id
order.impersonation_allowed = True
order.persist = True
order.timeout = 36000
order_data_loc = order.outputs.s3_location.value
tasks.append(order)

# AOP task parameters
aop_task = gbdx.Task("AOP_Strip_Processor")
aop_task.inputs.data = order_data_loc
aop_task.inputs.enable_acomp = True
aop_task.inputs.enable_dra = True
aop_task.inputs.enable_pansharpen = True
aop_task.inputs.ortho_epsg = 'UTM'
aop_task.inputs.ortho_pixel_size = "0.5"
tasks.append(aop_task)

# Algorithm task parameters
crowdai_road_detector_task = gbdx.Task('crowdai-road-detector')
crowdai_road_detector_task.inputs.data_in = aop_task.outputs.data.value
tasks.append(crowdai_road_detector_task)

# Set up workflow save data
workflow = gbdx.Workflow(tasks)
workflow.savedata(aop_task.outputs.data, location=aop_output_location)
workflow.savedata(crowdai_road_detector_task.outputs.data_out, location=task_output_location)

# Execute workflow
workflow.execute()

Input Data Support

This algorithm requires pan-sharpened imagery from a DigitalGlobe Multispectral VNIR sensor with a Ground Sampling Distance of 50 cm or less and an off-nadir angle of less than 10 degrees. WorldView-2 and WorldView-3 images are supported.

Output Processing Result

The output is a a raster file in TIFF format with cells being either road or non road. Output images are named {catalog_id}_roads_mask.tif

Task Processing Options

The following table lists all crowdai-road-detector input processing options.
Mandatory (optional) settings are listed as Required = True (Required = False).

Name Required Default Valid Values Description
stride False N/A string The stride to use for prediction. A smaller stride means the algorithm will take smaller steps. A lower number means slower execution but higher quality-- since each pixel is the average of many predictions. Default is "64", max is "256"
data_in True N/A directory Input data directory.

The following table lists all crowdai-road-detector output processing options.
Mandatory (optional) settings are listed as Required = True (Required = False).

Name Required Default Valid Values Description
data_out True N/A directory Output data directory.

Training/Testing Locations & Seasons

This algorithm has specifically been tuned for use in the United States. This algorithm does not consider footpaths, railroads or parking lots to be roads.

Note:Algorithms return the best results when your spatial processing area and temporal data acquisition timeframe is similar to the locations & seasons utilized when the algorithm was trained and tested.

Accuracy Verification & Validation

Coming Soon

Note: The verification & validation was observed while testing the algorithm over select locations using the best possible input data which is not a guarantee of general algorithm accuracy.

Processing Speed Benchmark

Coming Soon

Contact

If you have any questions or issues with this task, please contact gbdx-support@digitalglobe.com.