Introduction to WherobotsAI¶
WherobotsAI makes it easy for you to get the information that you need from your geospatial data without needing to be a geospatial, infrastructure, or modeling expert.
What does WherobotsAI let me do today?¶
WherobotsAI enables users to quickly process and analyze raster and vector geospatial data, regardless of that dataβs size.
WherobotsAI offers a suite of powerful tools:
- WherobotsAI Raster Inference - Use Computer Vision to gather insights from raster data at planetary scale.
- WherobotsAI GeoStats - Leverage distributed Machine Learning clustering algorithms to quickly detect hot spots, areas of high activity versus low activity, and local outliers.
- WherobotsAI Map Matching - Leverage distributed Machine Learning systems to match coordinates to maps at scale.
By leveraging Computer Vision, Machine Learning, and Statistical algorithms, WherobotsAI can unlock the full potential of your geospatial data.
Use Cases¶
Each WherobotsAI tool tackles specific geospatial challenges at scale.
WherobotsAI Raster Inference¶
Extract actionable insights from vast and complex aerial imagery
- Land Use Classification: Continuously analyze large-scale overhead imagery to gain a deep understanding of land utilization patterns.
- Infrastructure Detection: Accurately pinpoint and identify infrastructure elements like buildings, solar panels, and offshore turbines within satellite imagery.
- Deforestation Monitoring: Effectively track and measure the rate and extent of deforestation activities.
WherobotsAI GeoStats¶
Uncover hidden patterns and anomalies within your vector data at scale
- Pedestrian Activity Hot spots: Identify areas with high foot traffic within neighborhoods to inform urban planning and business decisions.
- Public Health Outbreak Detection: Pinpoint clusters of disease outbreaks for timely public health interventions.
- Strategic Retail Placement: Analyze competitor locations and customer demographics to optimize store placement for maximum reach and impact.
WherobotsAI Map Matching¶
Precisely align location data with digital maps
- Traffic Pattern Analysis: Gain valuable insights into traffic flow and congestion by accurately matching GPS or other location-tracking coordinates to digital maps.
- Optimized Routing: Leverage up-to-date road infrastructure information to determine the most efficient routes between source and destination points.
How it works¶
WherobotsAI Raster Inference¶
WherobotsAI Raster Inference uses machine learning to automate the analysis of satellite and aerial imagery. This simplifies tasks like object detection, classification, and semantic segmentation, making geospatial insights more accessible.
Computer Vision Model Inference at Planetary Scale¶
WherobotsAI Raster Inference lets you derive insights from massive amounts of satellite imagery data.
At a high level, you can analyze raster data in a few steps with WherobotsAI Raster Inference:
- Create the WherobotsDB Context.
- Bring your own computer vision model or use one of our hosted models. WherobotsAI Raster Inference lets you use the following hosted models:
- Classification -
model_id = 'landcover-eurosat-sentinel2'
- Object detection -
model_id = 'marine-satlas-sentinel2'
- Segmentation -
model_id = 'solar-satlas-sentinel2'
- Classification -
- Load your dataset.
- Run model inference on your raster dataset.
- Visualize your results.
Raster inference example¶
The following code snippet previews how to run raster inference using the Wherobots-hosted Classification model.
# Example: Running Raster Inference with a Wherobots hosted model for classifying satellite imagery
## Create a WherobotsDB Context
sedona = SedonaContext.create(config)
## Choose a Computer Vision model
model_id = 'landcover-eurosat-sentinel2'
## Choose a dataset
tif_folder_path = 's3a://wherobots-examples/data/eurosat_small'
## Run raster inference
predictions = create_single_label_classification_udfs(model_id, tif_folder_path)
## Visualize results
SedonaUtils.display_image(htmlDF.orderBy(rand()).limit(3))
WherobotsAI GeoStats¶
Machine Learning Toolkit for Vector Data Analysis¶
At a high level, you can analyze vector data in a few steps with WherobotsAI GeoStats:
- Create the WherobotsDB Context.
- Load your vector dataset.
- From Geostatsβ distributed Machine Learning Toolkit, choose an algorithm that works best for your research.
Geostats offers the following algorithms:
- DBSCAN
- Getis-Ord Gi*
- Local Outlier Factor
- Cluster your data.
- Explore your results.
GeoStats Example¶
The following code snippet previews how to analyze vector data with the DBSCAN algorithm.
# Example, running DBSCAN on data to locate high and low density regions
## Create a WherobotsDB Context
sedona = SedonaContext.create(config)
## Choose your vector dataset
centers = [[1, 1], [-1, -1], [1, -1]]
X, labels_true = make_blobs(
n_samples=750, centers=centers, cluster_std=0.4, random_state=0
)
## Choose a Machine Learning clustering algorithm and cluster your data
clusters_df = dbscan(df, 0.3, 10, include_outliers=True)
## Explore your results
gdf.plot(
figsize=(10, 8),
column="cluster",
markersize=gdf['isCore'],
edgecolor='lightgray',
)
WherobotsAI Map Matching¶
Offline distributed map matching¶
At a high level, you can match location tracking data to the physical world in a few steps with WherobotsAI Map Matching:
- Create the WherobotsDB Context.
- Load your location tracking data.
- Load your map data.
- Run Map Matching to map your location tracking data.
- Explore your results.
Map Matching Example¶
The following code snippet previews how to use Map Matching with GPS coordinates.
# Example: Running Map Matching on Open Street Map data with GPS coordinates
## Create a WherobotsDB Context
sedona = SedonaContext.create(config)
## Load your location tracking data
dfEdge = matcher.load_osm("data/osm.xml", "[car]")
## Run Map Matching
result_df = matcher.match(df_edge, df_paths, "geometry", "geometry")
## Explore your results
SedonaKepler.create_map()
Get Started¶
The easiest way to get started with WherobotsAI is to run an example notebook.
-
Create a Wherobots Organization. Different organization tiers have different capabilities. The following table details which notebooks can be run in each type of Organization. For a detailed comparison of Wherobots Organization Editions, see Wherobots Pricing.
To create or join a Wherobots Organization, see Create an Account in the Wherobots Documentation.Notebook Community Edition Professional Edition Enterprise Edition Raster Inference - Classification β1 β β Raster Inference - Segmentation β1 β β Raster Inference - Object Detection β1 β β GeoStats - DBSCAN β β β GeoStats - LOF β β β GeoStats - Gi* β β β Map Matching β β β Map Matching in Community Edition Organizations
Using Map Matching in a Community Edition Organization may cause latency issues. For more information on the different plans available, see Wherobots Pricing.
Raster Inference requires submitting a compute request
WherobotsAI Raster Inference requires a GPU-Optimized runtime.
To access this runtime category, do the following:- Sign up for a paid Wherobots Organization Edition (Professional or Enterprise).
- Submit a Compute Request for a GPU-Optimized runtime.
-
Run a notebook. Sign in to your Wherobots Organization, launch a runtime, and navigate to a notebook.
For more information on starting and using notebooks, see Notebook Instance management and Jupyter Instance Management in the Wherobots Documentation.Notebook Notebook Path Raster Inference - Classification1 examples/python/wherobots-ai/gpu/classification.ipynb
Raster Inference - Segmentation1 examples/python/wherobots-ai/gpu/segmentation.ipynb
Raster Inference - Object Detection1 examples/python/wherobots-ai/gpu/object_detection.ipynb
Raster Inference - Bring your own model1 examples/python/wherobots-ai/gpu/bring-your-own-model.ipynb
GeoStats - DBSCAN examples/python/wherobots-ai/dbscan_example.ipynb
GeoStats - LOF examples/python/wherobots-ai/lof_example.ipynb
GeoStats - Gi* examples/python/wherobots-ai/glocal_example.ipynb
Map Matching examples/python/wherobots-ai/mapmatching_example.ipynb
-
WherobotsAI Raster Inference requires a GPU-Optimized runtime. You can access a GPU runtime by signing up for a paid Wherobots Organization (Professional or Enterprise) and submitting a Compute Request for a GPU-Optimized runtime. ↩↩↩↩↩↩↩