Ground-truth labels from the scene file

Labeled sonar imagery is scarce because labeling it is expensive: an analyst inspects a gray, speckled scene and decides where each object ends and the seafloor begins. ApertureLab writes six categories of annotation for every simulated image, in COCO format, from the same scene file that the simulation reads. The position, footprint and heading of every object are known when the image is formed, so the labels are computed from the scene description instead of inferred from the image.

Annotations

Six annotation categories in world coordinates

Each simulated image is accompanied by annotations for objects, rocks, biota, pockmarks, trawl scars and seafloor types. They are generated in world coordinates and projected into the image, so they remain registered with the image when the acquisition geometry changes.

Format

COCO export with the imaging geometry

Annotations are exported as COCO detection JSON with polygon segmentation, the format that off-the-shelf detectors read without a custom loader. Each image record also carries pixel_size_m, along_extent_m, and range_extent_m, so a pixel box can be converted back into meters, and a georeference attached later, without re-deriving the imaging geometry.

Per-image files are concatenated into one dataset with merge_coco(). Because each scene is a file, a dataset is generated as a parameter sweep over scene files, and its cost scales linearly with the number of images and requires no survey vessel.

A simulated synthetic aperture sonar scene beside the same scene overlaid with green object bounding boxes, object names and positions, and yellow traced seafloor-zone boundaries
A simulated scene is shown beside the same scene with its labels. Oriented object footprints are drawn in green with class, position and heading, and the traced boundary of each seafloor type in yellow. Both label sets are written from the scene file at simulation time.

Collections

Scene generators and their outputs

Five scene generators produce the collections below: three yield labeled imagery, and two yield scene configurations from which imagery can be simulated.

A grid of identical targets rendered against ten different seafloor types including fine ripple, coarse ripple, rocky, mud, and gravel
One object is shown on ten seafloor types. The domain randomization comes from simulating each background as a different seafloor instead of from post-processing the image.

Each image in these collections and its labels come from one simulation of one scene file; no image was labeled by hand.

Next: the physics that renders it, or describing a scene in English.