Vessel Watch

Table of Contents

 

What is the Product? 

  1. Product Key Features 
  2. What is Not in the Product? 

Standard Output File Formats 

Additional Output File Formats 

Data Dictionary 

  1. Vessel Detections GeoJSON File 
  2. Receiving Ursa Vessel Detection Products 
  3. Notification of Data Availability 
  4. Ursa’s Standard Quality Control Process 

Additional Features Available

  1. Example Vessel Detection “Chips” 
  2. Example Output Files 
  3. Detection / False Alarm Metrics
  4. Metric Definitions
  5. Performance Metrics
  6. Product Generation Timing Metrics 

Frequently Asked Questions (FAQs) 

 


Status Operational
Data source AIS, SAR
Delivery formats JSON, TIFF
Delivery methods S3, API

 


What is the Product? 

Ursa’s Vessel Detection product is an operational, SAR-based solution for detecting vessels near ports and in open ocean. Optionally, the product also includes predicted vessel classes for some dark vessel types. Additionally, with the use of AIS and RF data, this product attempts to  correlate alternate data sources to identify the name and/or MMSI of the detected vessel. 

This product is the output of an Ursa analytic, which processes the SAR data on Ursa’s Platform. This product can be generated on any vendor’s  SAR data that is currently being ingested and catalogued on Ursa’s Platform. While this product can be generated for spotlight, stripmap, and  scansar image types, results will vary based on the resolution of the collect. 

At the moment, the following SAR data providers are all compatible with Ursa’s Vessel Detection product: 

  • Sentinel 
  • e-GEOS 
  • Airbus 
  • SIIS 
  • Capella 
  • ICEYE 
  • MDA 

 

Product Key Features 

  • Detect medium to large sized vessels in multiple SAR data types (e.g. spotlight, stripmap, scansar) 
  • Correlate AIS with detections to identify some vessels actively transmitting their AIS 
  • [Optional] Correlate RF detections with SAR detections to provide additional supplemental data 
  • [Optional] Classify (with subtype and class level information) larger dark vessels 
  • [Optional] Detect ship to ship transfers of detected vessels with a probability level 

What is Not in the Product?

The product outputs are based on SAR based vessel detections as a primary source, and the analytic will correlate AIS and/or RF data  sources to those SAR detections. This means AIS- or RF-only based detections will not be included in the final product. Basically, we only  report detections from SAR and associate other data sources to SAR detections. 

Which vessel classes the analytic can estimate for dark vessels is actively changing as Ursa develops and trains additional machine learning  models. Please ask your Ursa Solutioner or Sales Engineer for more details on which classes of vessels can be classified at this time. While RF data is being correlated to SAR based detections, we currently do not have the capability to uniquely identify the name or MMSI of  the detected vessel with RF; this is only possible with an AIS correlation to the SAR detection. 

This product does not provide any information about the activities and coordinates of a vessel at other time other than the time of the SAR  collection. Other Ursa current and future products and services will provide more information regarding chain of custody of a vessel. While this product attempts to detect all vessels within the SAR image, it does not perform wake detection at this time, so smaller, non-metal  bodied vessels will likely not be detected. 

Standard Output File Formats 

A standard Vessel Detection product will include the following files: 

File Name 

File Type 

Description

vessel_detections.json 

GeoJSON 

GeoJSON file containing one feature for every detected vessel in SAR, as well as supplemental  information about the SAR collection and the algorithms used. The file is rendered in the WGS84 /EPSG:4326 standard (i.e. the pseudo plate carée projection). 

This should be considered the main output file.

chips/{chip_id}.tif 

TIFF/PNG 

One image subset (a.k.a. “chip”) is provided corresponding to each SAR based detection within  the image. These files are available as Geotiff or PNG. These files are contained within a chips/ directory within the standard output directory structure. 

The sarChipIdentifier field within vessel_detections.json provides a link to the  correct image chip.



Note: If an alternate form of this data is required, we can also provide the same information in a CSV format for all above GeoJSON files. Most of  the above files are generated automatically by default, but some files are optional and are only provided to the user if specifically requested.  Please chat with your Solutioner or Sales Engineer for more information on which files you would like to receive and in which format. 

Additional Output File Formats 

Additional files may be generated for internal analysis but are not distributed in the standard product. 

File Name 

File Type 

Description

ais_predictions.json 

GeoJSON 

GeoJSON file containing a feature for each vessel estimated to be contained within the image  footprint, solely based on AIS.

ais_tracks.json 

GeoJSON 

GeoJSON file containing actual AIS data directly from our 3rd party AIS provider(s), one message  per vessel immediately before and after (if applicable) the image time. These data points are  used to calculate the features in ais_predictions.json.

rf_detections.json 

GeoJSON 

GeoJSON file containing any RF detections from the area of interest around the time of the  image; these are the detections used to correlate with the SAR detections in order to find  potential matches.


Data Dictionary 

Vessel Detections GeoJSON File 

The fields and values found within this main output product are found here: 

Ursa Analytic GeoJSON Product Formats 

Object Detection Product Format 

Receiving Ursa Vessel Detection Products 

Data will be pushed to an Ursa-owned S3 bucket or your own S3 bucket by our team of experts, based on your request. 

Notification of Data Availability 

When data is uploaded to the appropriate S3 bucket, you will be notified by an automated email that your results are ready for pickup. 

Ursa’s Standard Quality Control Process 

Ursa’s Vessel Detection capability can be customized based on your needs. If high accuracy is crucial for you, we may suggest a human be in  the loop to review algorithm outputs prior to your consumption. We will appropriately flag results from our platform for review by our team of  experts before it is sent to you. 

If speed is of the essence for you, then we can program our system to send you the data as soon as it is available. In this case, we will still review  results after the fact for quality assurance, but you will have access to the initial version immediately after production, as well as a second  reviewed version soon thereafter. 

Example Output File 

Vessel Detections GeoJSON 



 "type": "FeatureCollection", 

 "product": { 

 "productType": "Object Detection", 

 "documentVersion": "0.1" 

 }, 

 "processors": [

 { 

 "processorName": "Ursa Vessel Detection CLI",  "version": "4.17.0", 

 "parameters": { 

 "cell_size": 400, 

 "guard_size": 250, 

 "target_size": 10, 

 "land_buffer_distance": 100, 

 "neighborhood_detection_threshold_db": 18,  "pixel_detection_threshold_db": 8, 

 "cluster_distance": 100, 

 "lw_source": "osm", 

 "false_alarm_filter_uuid": "698d29fe-6385-4874-92f2- eed26878f0fa", 

 "false_alarm_filter_max_length": 1000,  "false_alarm_filter_min_probability": 0,  "detected_classes": [ 

 "Vessel" 

 ], 

 "class_model": null, 

 "force_classifier_dl": false, 

 "sts_model": null, 

 "force_sts_dl": false, 

 "ontology_level": "Class", 

 "classifier_top_k": 3 

 } 

 } 

 ], 

 "sensorData": [ 

 { 

 "sensorDataIndex": 0, 

 "sensorName": "KMPS5", 

 "sensorType": "SAR", 

 "sensorMode": "ES-11", 

 "productType": "SLC", 

 "vendorId": "08SEP22_KMPS5_143109Z", 

 "startTimeUTC": "2022-09-08T14:31:09.375857Z",  "geometryReference": "POINT Z (50.27188491821289  29.27325439453125 -20.51695442199707)", 

 "azimuthAngle": 99.90596333755227, 

 "incidenceAngle": 43.21116157447876, 

 "polarization": "HH", 

 "footprint": "POLYGON ((50.45475762102986  29.38640584342345, 50.40062709774593 29.11317651398157,  50.09227856006115 29.15951319844241, 50.14555318442346  29.43269056368426, 50.45475762102986 29.38640584342345))",  "ursaId": "2c747f7d-310b-45d1-b61f-a03aecccfe67"  } 

 ], 

 "features": [

 { 

 "type": "Feature", 

 "geometry": { 

 "type": "Polygon", 

 "coordinates": [ 

 [ 

 [ 

 50.42513982731905, 

 29.30336313725349 

 ], 

 [ 

 50.42555804715247, 

 29.303512703484706 

 ], 

 [ 

 50.42502157001842, 

 29.304665179243734 

 ], 

 [ 

 50.42460334626955, 

 29.304515611358408 

 ], 

 [ 

 50.42513982731905, 

 29.30336313725349 

 ] 

 ] 

 ] 

 }, 

 "properties": { 

 "uuid": "dd90832d-9268-41a8-82dd-6984be722542",  "geometrySource": "SAR", 

 "detectionNumber": 0, 

 "sarDetectionTimeUTC": "2022-09-08T14:31:09.375857Z",  "sarLatitude": 29.304014158293455, 

 "sarLongitude": 50.4250806990439, 

 "sarLength": 137.9650109034418, 

 "sarWidth": 43.88318292056429, 

 "sarHeading": 157.8038417946491, 

 "sarDetectionConfidence": 0.829652333714841,  "sarImageIndex": 0, 

 "classificationDetails": [ 

 { 

 "classificationCategory": "Marine Structure",  "classificationType": "Merchant Ships",  "classificationSubtype": "Liquid",  "classificationClass": "Oil tanker",  "classificationProbability": 0.7990727424621582,  "classificationModel": "Unknown"  },

 { 

 "classificationCategory": "Marine Structure",  "classificationType": "Merchant Ships",  "classificationSubtype": "Liquid", 

 "classificationClass": "Liquefied gas tanker",  "classificationProbability":  

0.025427762418985367, 

 "classificationModel": "Unknown" 

 }, 

 { 

 "classificationCategory": "Marine Structure",  "classificationType": "Merchant Ships",  "classificationSubtype": "Other Dry Cargo",  "classificationClass": "Container", 

 "classificationProbability": 0.0183235052973032,  "classificationModel": "Unknown" 

 } 

 ], 

 "classificationCategory": "Marine Structure", 

 "classificationType": "Merchant Ships", 

 "classificationSubtype": "Liquid", 

 "classificationClass": "Oil tanker", 

 "classificationProbability": 0.7990727424621582,  "classificationModel": "Unknown", 

 "stsProbability": 0.00024652158026583493, 

 "sarChipIdentifier": "9e68beb5-8b43-4945-a5e4- 1f1da32f6592" 

 } 

 }, 

... 

 

Additional Features Available

Example Vessel Detection “Chips” 

Screenshot 2024-01-18 at 10.18.47 AM

 

Screenshot 2024-01-18 at 10.19.09 AM

 

 

Detection / False Alarm Metrics 

There are two standard sets of parameters used for Ursa’s Vessel Detection product, with and without incorporating a false alarm filter, which is a  trained deep learning model to filter out likely invalid detections. As the false alarm filter is included in the offering, we can anticipate many less  false alarms, but this is accompanied with a small decrease in the positive detection rate. Our default option is to include a false alarm filter. In addition, we’ve provided a set of metrics for different image resolutions as well as vessel size ranges. Please reach out to your Ursa Solutioner or Sales Engineer for any requests to change this. 

Metric Definitions: 

Probability of Detection (Pd) = The chance that a vessel within the SAR image will successfully be detected 

False Alarm Rate (FPR/sqkm) = The number of detections per square kilometer we expect to be a false alarm Recall = Same as Pd

Precision = The chance that a given detection we provide will be a good one (i.e. an actual vessel)

Performance Metrics 

Stripmap (~3m) Data & Vessels > 20m in Length

Metric 

False Alarm Filter? 

Value

Probability of Detection (Pd) / Recall 

No 

0.85

False Alarm Rate (FPR / sqkm) 

No 

0.004228

Precision 

No 

0.62

Probability of Detection (Pd) / Recall 

Yes 

0.78

False Alarm Rate (FPR / sqkm) 

Yes 

0.001376

Precision 

Yes 

0.82



Stripmap (~3m) Data & Vessels > 150m in Length

Metric 

False Alarm Filter? 

Value

Probability of Detection (Pd) / Recall 

No 

0.98

False Alarm Rate (FPR / sqkm) 

No 

0.004228

Precision 

No 

0.99

Probability of Detection (Pd) / Recall 

Yes 

0.91

False Alarm Rate (FPR / sqkm) 

Yes 

0.001376

Precision 

Yes 

0.99



ScanSar / Sentinel (~10m) Data & Vessels > 150m in Length

Metric 

False Alarm Filter? 

Value

Probability of Detection (Pd) / Recall 

No 

0.98

False Alarm Rate (FPR / sqkm) 

No 

0.001195

Precision 

No 

0.99

Probability of Detection (Pd) / Recall 

Yes 

0.96

False Alarm Rate (FPR / sqkm) 

Yes 

0.000662

Precision

Yes

0.99


Product Generation Timing Metrics 

The following are rough processing time estimates you should expect: 

Time from image capture to Ursa acquisition = ~4-12 hours (varies) 

Time from Ursa acquisition to product delivery = 10-15 minutes 

Time from automated results to quality controlled results = ~24-48 business hours (varies) 

Frequently Asked Questions (FAQs) 

Will this product tell me the name of every ship in the image? 

Potentially! Our Vessel Detection product uses as much information as possible to associate known vessel names and MMSI values to visually  identifiable detections. When vessels are not transmitting AIS and there is no RF data nearby or not enough to confidently correlate and identify  the vessel, the best we can do is detect the vessel in SAR and provide some characteristics that may help you identify the vessel. 

What do you mean when you say “detection”? What about “classification”? How about “identification”?

We like to think about those terms in the following ways: 

Detection = “This object here is likely a vessel” 

Classification = “This object here is a vessel, and it is an oil tanker” 

Identification = “This object here is a vessel, it’s an oil tanker, and its MMSI is 12345678” 

As described throughout this documentation, this product attempts to detect, classify, and identify all vessels in the scene based on the  information available. But based on the lack of information in some cases, this isn’t always possible. 

Can you classify every type of vessel, even if dark? 

At the moment, no. We are constantly building larger training data sets and training our deep learning models to learn new vessel types, but this  is an ongoing challenge, especially as we try to teach it smaller and smaller vessel types (e.g. fishing, sailing, speedboats, etc.). Please talk to  your Solutioner or Sales Engineer about which classes are available at the moment, and we will continue to update you as we add new ones! 

We also follow the following ontology for vessel classes: 

https://ursaspace.atlassian.net/wiki/spaces/URSA/pages/2507505676/Vessel+Classification+Ontology#Class-Breakdown If you have a preferred ontology we would love to schedule time with you to learn how we can improve our current ontology.

How do I trigger one of these products? 

There are two basic ways we think about generating these products: 

  1. Ad-hoc analytic runs; “I want a report on vessels in this port on this day!” 
  2. Recurring analytic runs; “Please monitor this port over the next X weeks and give me weekly updates on vessel activity!” 

For option #1, there are a couple of ways to trigger runs: 

Reach out to your Ursa Solutioner or Sales Engineer and ask for a product verbally or via email. We can get that set up and delivered to your  S3 bucket or location of choice. 

For option #2, the only option at the moment is to reach out to your Ursa Solutioner or Sales Engineer and we will configure the product  generation on your behalf through our internal tools. We will want to know some more information about your use case to make sure our  parameters are set just right! 

What image mode / resolution should I use? 

It depends on your mission. Generally, the higher the resolution, the smaller the vessels you would be able to detect in a SAR image. So if you’re  looking for large oil tankers, even some low resolution (~10m) data should be reasonably accurate in doing that. But if you’re looking to detect  medium sized vessels like sailing or fishing vessels, low resolution data might struggle. The tradeoff is generally area coverage on a single  collection, as well as cost, so keep that in mind.

However, when the resolution gets high enough (~1m spotlight data), we start to see a blurring in the objects, especially if they’re moving, and we  actually start to see a loss in detection accuracy. So in most cases, a mid-level stripmap collection is sufficient. If your mission involves detecting  very small vessels, reach out to us to chat more about some options! 

How can I purchase this product? 

The Vessel Detection product can be purchased as a Signature Solution or as a component of a Made-to-Order data product.

What are the sources for your AIS and SAR data? 

The Automatic Identification System (abbreviated as AIS) data comes from Spire Global, a data and analytics company that specializes in  building a network of nanosatellites that are capable of retrieving information about Earth, regardless if it’s ground-, water- or air-based data.  From this collection, Spire offers a data set capable of reading vessel transponder information. 

Radio Frequency (abbreviated as RF) data come from a variety of satellite providers, including Aurora Insight and Unseen Labs. 

SAR comes from a variety of vendors. One well-known source is from Sentinel, a satellite family administered by the European Space Agency.  We use data from the ongoing Sentinel-1A mission to help detect vessels. 

What is a success story of using your product? 

As highlighted in one of our previous blog posts, illegal fishing is a concern that can affect the local and global economies. When a vessel turns  off its transponder information, it goes “dark,” which means other nearby vessels cannot determine the location of the dark ship. Ursa combines  the power of SAR and AIS to detect if a vessel is permitted to be in the area or if it is potentially engaged in nefarious activities.