Multi-Altitude, Multimodal Maritime Surveillance (MAMMS) Dataset
Description
Multi-altitude, Multimodal Maritime Surveillance (MAMMS) Dataset
A multimodal dataset collected using ground-based sensors, low-altitude UAVs, and satellites. It supports research on object detection, object tracking, and geolocation approximation across coastal and maritime scenarios.
⚠️ Important: Dataset Access Requirement
To download the datasets, please fill out the following User Agreement:
Multi Altitude, Multimodal Maritime Surveillance (MAMMS) Dataset User Agreement
You will receive a download link once the User Agreement has been registered.
Dataset Overview
This dataset contains data collected during simulated real-world scenarios involving people, vessels, vehicles, and artificial oil spills, captured by sensor platforms operating at different altitudes and modalities, as well as real observations in maritime environments. These sensors include:
- Ground-based RGB, SWIR, UV, and thermal sensors (mounted on ground platforms).
- Low-altitude RGB and thermal UAVs (a customised drone with an RGB camera mounted and a DJI Mavic 3T Enterprise drone with a thermal camera integrated).
- Optical RGB satellite (Sentinel-2 RGB bands).
The dataset consists of two subsets:
- Ground-based and Low-Altitude Sensors (MAMMS-GL): Contains data from the ground-based RGB, SWIR, UV, and thermal sensors as well as the low-altitude RGB and thermal UAVs, supporting object detection, object tracking, and geolocation approximation tasks.
- Optical Satellite (MAMMS-OS): Contains optical (RGB) satellite imagery data, supporting the task of vessel detection.
MAMMS-GL (Ground-based and Low-Altitude Sensors)
- Contains images from ground-based RGB (GS-RGB), SWIR (GS-SWIR), UV (GS-UV), and thermal (GS-Therm) sensors as well as low-altitude RGB UAV (UAV-RGB) and thermal UAV (UAV-Therm).
- Supports three tasks: object detection, object tracking, and geolocation approximation.
- Object detection and tracking tasks
- Data were collected in two locations with diverse environmental conditions. Scenarios include people, vessels, vehicles, and artificial oil spills created using a safe substitute material. All actors provided written consent.
- Every visible object was annotated with an axis-aligned bounding box and one of four classes: person, vessel, vehicle, or oil spill.
- Each bounding box was also annotated with a track ID, maintained throughout the full duration of each sequence, even across occlusions, to enable long-term tracking evaluation.
- The dataset was split into training and test sets. The details and statistics of each set are provided below.
- Geolocation approximation task
- Thirteen thermal UAV image sequences were collected from various scenarios.
- Each image contains a bounding box for a target object (person or vessel), the target’s ground-truth GNSS location, and UAV telemetry.
- The dataset was split into training and test sets. The details and statistics of each set are provided below.
Training data from the MAMMS-GL dataset for ground-based and low-altitude object detection and tracking.
| Scenario | Sensor | #images | #persons | #vessels | #vehicles | #oilspills | #tracks |
|---|---|---|---|---|---|---|---|
| bg1 | GS-RGB | 378 | 3,141 | 769 | 76 | - | 24 |
| GS-SWIR | 385 | 2,288 | 822 | - | - | 15 | |
| GS-Therm | 386 | 2,675 | 778 | - | - | 25 | |
| GS-UV | 386 | 2,479 | 897 | - | - | 15 | |
| bg3 | GS-RGB | 728 | 6,791 | 1,523 | - | - | 16 |
| GS-SWIR | 800 | 6,693 | 1,846 | - | - | 14 | |
| GS-Therm | 742 | 6,183 | 1,485 | - | - | 19 | |
| GS-UV | 702 | 5,117 | 1,657 | - | - | 16 | |
| UAV-RGB | 245 | 2,580 | 595 | 29 | - | - | |
| bg4 | GS-RGB | 589 | 4,148 | 1,367 | 162 | - | 42 |
| GS-SWIR | 754 | 6,591 | 2,091 | 13 | - | 32 | |
| GS-Therm | 635 | 4,145 | 1,471 | - | - | 26 | |
| GS-UV | 746 | 6,669 | 2,204 | 17 | - | 30 | |
| UAV-RGB | 53 | 545 | 312 | 0 | - | - | |
| bg5 | GS-RGB | 486 | 1,792 | 676 | - | - | 17 |
| GS-SWIR | 583 | 1,751 | 1,165 | - | - | 9 | |
| GS-Therm | 499 | 450 | 861 | - | - | 12 | |
| GS-UV | 530 | 879 | 995 | - | - | 6 | |
| bg7 | GS-RGB | 756 | 2,758 | 1,009 | 69 | - | 24 |
| GS-Therm | 810 | 1,165 | 1,869 | - | - | 13 | |
| UAV-Therm | 808 | 8,801 | 1,395 | 408 | - | 44 | |
| UAV-RGB | 623 | 4,943 | 2,328 | 0 | - | - | |
| bg9 | GS-RGB | 357 | 1,060 | 611 | 14 | - | 14 |
| GS-SWIR | 386 | 581 | 1,094 | - | - | 7 | |
| GS-Therm | 391 | 1,037 | 685 | - | - | 8 | |
| GS-UV | 387 | 600 | 1,250 | - | - | 7 | |
| bg10 | GS-RGB | 459 | 1,798 | 1,051 | 144 | - | 17 |
| GS-SWIR | 449 | 1,297 | 1,559 | - | - | 9 | |
| GS-Therm | 454 | 1,192 | 972 | - | - | 6 | |
| GS-UV | 387 | 986 | 1,340 | - | - | 11 | |
| UAV-RGB | 381 | 4,503 | 1,200 | 22 | - | - | |
| bg11 | GS-RGB | 391 | 5,203 | 1,255 | - | - | 30 |
| GS-SWIR | 409 | 4,085 | 1,325 | - | - | 30 | |
| GS-Therm | 406 | 4,217 | 1,102 | - | - | 33 | |
| GS-UV | 410 | 3,771 | 1,356 | - | - | 30 | |
| UAV-RGB | 509 | 6,700 | 1,235 | 178 | - | - | |
| bg12 | GS-RGB | 263 | 776 | 958 | - | - | 9 |
| GS-SWIR | 300 | 753 | 306 | - | - | 7 | |
| GS-Therm | 297 | 652 | 36 | - | - | 5 | |
| GS-UV | 301 | 790 | 416 | - | - | 7 | |
| bg13 | UAV-RGB | 322 | 3,453 | 929 | 65 | - | - |
| cy1 | UAV-RGB | 970 | 2,115 | 399 | - | 939 | - |
| UAV-Therm | 969 | 1,795 | 906 | - | - | 5 | |
| cy2 | UAV-RGB | 1,204 | 1,569 | 888 | - | 1201 | - |
| UAV-Therm | 1,193 | 3,962 | 2,151 | - | - | 22 | |
| Total | 24,219 | 135,479 | 51,139 | 1,197 | 2,140 | 656 |
Test data from the MAMMS-GL dataset for ground-based and low-altitude object detection and tracking.
| Scenario | Sensor | #images | #persons | #vessels | #vehicles | #oil spills | #tracks |
|---|---|---|---|---|---|---|---|
| bg2 | GS-RGB | 871 | 8,233 | 2,506 | - | - | 26 |
| GS-SWIR | 846 | 6,069 | 2,197 | - | - | 14 | |
| GS-Therm | 845 | 5,679 | 1,723 | - | - | 20 | |
| GS-UV | 845 | 5,131 | 2,318 | - | - | 18 | |
| UAV-Therm | 842 | 6,780 | 1,947 | - | - | 17 | |
| UAV-RGB | 802 | 4,021 | 3,507 | 0 | 0 | - | |
| bg6 | GS-RGB | 628 | 3,536 | 1,485 | 133 | - | 28 |
| GS-SWIR | 569 | 3,531 | 2,116 | - | - | 14 | |
| GS-Therm | 565 | 3,851 | 1,823 | - | - | 15 | |
| GS-UV | 571 | 3,818 | 2,038 | - | - | 16 | |
| UAV-RGB | 115 | 1,004 | 614 | 0 | 0 | - | |
| bg8 | GS-RGB | 1,526 | 7,434 | 5,345 | - | - | 24 |
| GS-SWIR | 1,515 | 5,093 | 4,609 | - | - | 25 | |
| GS-Therm | 1,515 | 6,337 | 4,046 | - | - | 22 | |
| UAV-Therm | 1,513 | 9,455 | 7,426 | 425 | - | 47 | |
| UAV-RGB | 1,739 | 12,754 | 3,259 | 0 | 0 | - | |
| cy3 | UAV-RGB | 1,072 | 440 | 1,552 | - | 799 | - |
| UAV-Therm | 1,059 | 1,714 | 1,840 | - | - | 9 | |
| Total | 17,438 | 94,880 | 50,351 | 558 | 799 | 295 |
Training data from the MAMMS-GL dataset for the geolocation approximation task on a thermal UAV.
| Scenario | #images | #GNSS data points |
|---|---|---|
| cy1 | 969 | 906 |
| cy2 | 1,193 | 1,134 |
| rd1 | 514 | 415 |
| rd2 | 588 | 527 |
| rd3 | 1,388 | 1,388 |
| rd4 | 322 | 322 |
| rd5 | 395 | 337 |
| rd6 | 589 | 529 |
| Total | 5,958 | 5,558 |
Test data from the MAMMS-GL dataset for the geolocation approximation task on a thermal UAV.
| Scenario | #images | #GNSS data points |
|---|---|---|
| bg7 | 808 | 697 |
| cy4 | 351 | 343 |
| cy5 | 225 | 225 |
| cy6 | 201 | 201 |
| rd7 | 561 | 464 |
| Total | 2,146 | 1,930 |
MAMMS-OS (Optical Satellite):
- Contains 111 Sentinel-2 RGB satellite images.
- Supports a vessel-detection task.
- Data were collected from the Copernicus platform for two regions over a nine-month period.
- Every vessel identified in these images was labelled as a "ship".
- A total of 3,708 vessels were annotated.
Dataset Structure: MAMMS-GL
MAMMS-GL contains two folders:
detection-and-trackinggeolocation
Below is the structure of each folder.
detection-and-tracking
detection-and-tracking/
train/
[scenario]/
[sensor type]/
annotations.xml
images/
test/
[scenario]/
[sensor type]/
annotations.xml
images/
- Organised by scenario and sensor type.
- Each sensor type folder contains:
annotations.xmlcontaining bounding boxes, labels, and track IDsimages/containing the image frames
- Each image is defined by an
<image>tag with attributes:idnamewidth,height
- Each
<image>tag contains multiple<box>tags:label: person, vessel, or vehiclextl,ytl: top-left bounding box cornerxbr,ybr: bottom-right bounding box corner- Each box includes an
<attribute>tag specifying the track ID
geolocation
geolocation/
train/
[scenario]/
[sensor type]/
annotations.xml
annotations_geo.xml
images/
telemetry/
test/
[scenario]/
[sensor type]/
annotations.xml
annotations_geo.xml
images/
telemetry/
- Organised by scenario and sensor type.
- Scenarios fall into three groups:
- rd: Controlled scenarios designed with known conditions for trials and calibration. The UAV deployment position and the object of interest were at the same altitude, both above sea level.
- bg: Real-world scenarios where the UAV deployment position and the object of interest were at the same altitude, both at sea level.
- cy: Real-world scenarios where the UAV deployment position and the object of interest were at different altitudes, the UAV deployment position was above sea level, while the object was at sea level.
annotations.xml: bounding boxes for objects of interestannotations_geo.xml: same as above, with added geolocation coordinates- Each
<box>includes an extra<attribute>with coordinates in[longitude, latitude]
- Each
images/: sequential framestelemetry/: JSON telemetry files matching the image sequence
Dataset Structure: MAMMS-OS
The dataset contains two folders:
-
labels/
- Includes
.txtfiles in YOLO format - Each file contains the class code and bounding box coordinates
- Class code is always
0for ships
- Includes
-
images/
- Contains satellite images in
.pngformat - Each image has a matching
.txtannotation file
- Contains satellite images in