ApertureLab Synthetic SAS Dataset, version 1.0

Version 1.0 of the ApertureLab Synthetic SAS Dataset contains 1000 swaths from a simulated HISAS 1030-class synthetic aperture sonar, each 200 m in ground range by 80 m along track at 2.5 cm resolution. Every swath is labeled with COCO polygons for two target classes, 22 clutter classes and three seafloor features, and is accompanied by the scene file from which it was simulated and beamformed with ApertureLab. The dataset is published on Hugging Face under the ALSD-1.0 license, which permits research and commercial use and withholds rights from four named organizations.

Version 1.1 covers the same swath footprint with labels corrected for burial and terrain, one category per kind of object, up to 5 m of seafloor relief and georeferenced images. It is described on its own page, and the two releases are compared on the Datasets page.

Contents

Composition of the dataset

The quantities below are computed from manifest.csv, objects.csv and coco_all.json in the published dataset, and each can be recomputed from the download.

4.66 nmi²
of labeled seafloor in total (16 km²): 1000 swaths of 200 m range by 80 m along track at 2.5 cm pixels
coco_all.json: range_extent_m, along_extent_m, pixel_size_m
1000
images, 8000 by 3200 px, TIFF LZW; 800 train, 100 validation, 100 test
manifest.csv: split
2000
labeled targets: 1000 truncated cones and 1000 wedges, one to six per scene, 150 scenes with none
objects.csv: role = target
2479
labeled clutter objects across 22 classes: ten meshes and twelve parametric shapes
objects.csv: role = clutter
5
seafloor families: uniform 331, patchwork 288, ripple 219, rocky 153, and 9 pockmarked scenes held out in the test split
manifest.csv: family
5503
COCO polygon annotations over 27 categories, including trawl scars and pockmarks as seafloor features
coco_all.json: annotations, categories

Targets rest on sand (815), gravel (445), mud (300), silt (283) and rock (157). Burial depends on the substrate: the median target is buried to about one tenth of its height, 249 are buried beyond one third, and the deepest, in mud, to 0.70 of its height. Grazing angles range from 6° to 53° across the swath. Each scene has one of three clutter tiers, with zero to eight objects. The ten clutter meshes are tires, oil drums, kegs, anchors, fish traps, ladders, pallets, propellers, debris and rock piles. The twelve parametric clutter shapes are pyramids, cones, frustums, domes, drums, slabs, hexagonal prisms, capsules, crosses, random polyhedra, sediment mounds and tori.

Labels per class

Label counts by category and split

The 1000 images are split 800 for training, 100 for validation and 100 for testing. The table counts labeled instances by COCO category, read from coco_all.json, with the split of each image taken from manifest.csv. In v1.0 every clutter shape is its own category, so clutter occupies 22 rows with a subtotal. The total of 5503 exceeds the 4479 targets and clutter objects because it also counts 772 boulders labeled rock, 243 trawl scars and 9 pockmarks. Pockmarks occur only in the test split, in which the pockmarked seafloor family is held out.

classtrainvaltesttotal
Targets
truncated_cone80992991,000
wedge7761051191,000
targets, 2 classes1,5851972182,000
Clutter
dome1352023178
hexprism1231619158
torus1221715154
mound1101622148
polyhedron1181218148
cross1121417143
capsule116188142
drum1111712140
slab1081416138
pyramid1011520136
cone1041417135
frustum971113121
ladder688985
ship_propeller696681
tire699280
keg5871479
europalette628373
fish_trap_square617472
debris1557870
sunken_anchor547869
barrel_oil4961065
rock_pile525764
clutter, 22 classes1,9542542712,479
Other labeled objects
rock6227278772
trawl_scar2061918243
other labeled objects, 2 classes82891961,015
Seafloor features
pockmark0099
all labels, 27 classes4,3675425945,503

Examples

Eight swaths across seafloor families and clutter tiers

Each image below is a complete swath, reduced in size; the track runs along the left edge and range increases to the right. Each image enlarges when selected. At this scale a target spans a few pixels; the next section shows the targets at native resolution.

Uniform silt seafloor swath with no clutter tier and five targets

A uniform seafloor with no clutter tier holds one cone, four wedges and one clutter object.

Uniform seafloor swath with the dense clutter tier

A uniform seafloor with the dense clutter tier holds two cones, three wedges and five clutter objects.

Patchwork seafloor swath with two wedges

A patchwork of sediment types with light clutter holds two wedges.

Patchwork seafloor swath with the dense clutter tier

A patchwork with dense clutter holds three cones, one wedge and eight clutter objects.

Rippled sand swath with trawl scars and rock clutter

Ripple fields on sand with trawl scars hold two cones, three wedges and four clutter objects.

Rippled seafloor swath with the dense clutter tier

Ripple fields with dense clutter hold two cones, one wedge and four clutter objects.

Rocky seafloor swath

Rocky ground with light clutter holds two cones and one wedge.

Pockmarked seafloor swath from the held-out test family

A pockmarked seafloor, the family that appears only in the test split, holds one cone and two wedges.

An information box was rendered into the lower-right corner of every image, covering about 32 m by 11 m of far range at the start of the track. The defect is documented in the dataset card, and the labels beneath the box are correct.

Native resolution

Targets and their label polygons

The figure below shows twelve 10 m chips at the resolution of the dataset, one target each, with its COCO polygon in green. The polygon is the footprint and heading of the object projected into the image from the scene file. It marks the position of the object, not the extent of its highlight or shadow, and can therefore lie at the edge of a highlight instead of enclosing it. The sand, gravel, silt and rock chips show exposed targets; the two mud chips show targets buried beyond half their height, which reduces both the highlight and the shadow.

Twelve sonar chips of truncated cones and wedges on sand, gravel, silt, rock and mud, each with a green polygon marking the labeled object footprint
The chips show a cone and a wedge on each substrate, at near and far range, exposed and buried. Each chip is 400 by 400 pixels, 10 m on a side. The caption under each chip is read from the annotation's attributes.
A 50 m by 30 m crop of a seafloor shown twice, the second copy with green target polygons and cyan clutter polygons drawn
One 50 m by 30 m crop is shown without and with labels, with the two target classes in green and clutter in cyan. Clutter carries its own class in the COCO file and a role: clutter attribute, so that a detector can be trained on the target classes alone or on every class.

Method

Scene generation and image formation

Each scene was drawn by a generator from a master seed. The draw set the seafloor family, the substrate, the ripple wavelength and direction where ripples are present, and the clutter tier. It also placed the targets, which were allocated so that the dataset holds exactly 1000 of each class. The scene is written as YAML. The file is a complete specification of the scene and is included in the dataset, so a scene can be edited and rendered again.

The simulator builds the heightfield from the file, seats each object in the local bed with substrate-dependent burial and scour, and moves the sonar along a straight track at 20 m altitude. The image is formed by time-domain back-projection. Each swath required about five minutes on one workstation GPU at 10 000 scatterers per square meter.

Gray heightfield of a rippled sand scene with trawl scars, red rings on the five targets and cyan rings on the clutter
The heightfield the simulator built for scene si_0008, cropped to the 80 m the image covers, contains ripple patches, two trawl scars and rocks. Red rings mark the targets and cyan rings the clutter.
The sonar image formed from the same rippled scene
The sonar image covers the same 80 m.

The excerpt below is taken from the scene file, with the 40 by 50 zone grid and the remaining objects omitted:

name: si_0008
description: 'sample_images_1000 #8: ripple (sand, clutter L1), 2 cones + 3 wedges, 4 clutter.'
bottom:
  default_type: sand_r0
  seed: 373871
  zone_grid: ...            # 40 x 50 cells of 4 m, one substrate token each
objects:
- kind: wedge
  name: wedge_0008_0
  x: 53.822
  y: 190.083
  ts_db: -13.37
  scale: 1.091
  seed: 648360
  heading_deg: 21.0
  scour: {enabled: false, sediment_type: sand, burial_fraction: 0.283}
  annotation: {class: wedge, range_band: far, substrate: sand, burial_fraction: 0.283, grazing_deg: 6.01}
- ...
motion: {kind: straight_line, speed: 2.0, altitude: 20.0, n_pings: 246, ping_rate: 3.33}
sonar: {fc: 100000.0, bandwidth: 30000.0, n_channels: 32, channel_spacing: 0.04, sonar_side: starboard}
beamform: {pixel_spacing: 0.025, along_track_length: 80.0, range_max: 200.0}

The sonar is the HISAS 1030 preset: 100 kHz center frequency, 30 kHz of bandwidth and 32 channels at 40 mm spacing, with two phase centers shared between consecutive pings.

Access

Files

The dataset is hosted at huggingface.co/datasets/idg101/Aperture_Lab_Synthetic_Aperture_Sonar_v1. The images total about 40 GB. The repository contains the following files:

Scope

Limitations

Terms

License and citation

The license (ALSD-1.0, in LICENSE.md) grants use, redistribution, derivative works and model training for any purpose, with attribution, on the condition that redistributions carry the same terms. It withholds all rights from four organizations named in the license. Work that uses the dataset should cite it as follows:

Gerg, I. (2026). ApertureLab Synthetic SAS Dataset, version 1.0: 1000 HISAS-class swaths with cone and wedge targets. https://huggingface.co/datasets/idg101/Aperture_Lab_Synthetic_Aperture_Sonar_v1

Next: version 1.1, all datasets, or how the labels are emitted.