Open-source workflow turns raw echosounder sonar data into machine-learning ready datasets
This paper presents a practical, two-stage workflow to organize echosounder data so it can be used for machine learning (ML) on echograms. Echosounders are high-frequency sonar systems that make images called echograms. Each pixel in an echogram is a real echo sample tied to a specific time and depth. That spatial and temporal context is important but is often lost when people treat echograms like ordinary pictures.
The researchers describe a two-stage process. First, they partition continuous acoustic data by transect so that only the survey segments meant for analysis are kept. Second, they create pixel-wise masks from human annotations on a uniform spatiotemporal grid so the masks line up exactly with the echogram data. They make sure extra information, such as ship position and ocean measurements, is passed along through each step so context is preserved for later analysis.
They implemented the workflow using two open-source software libraries, Echopype and Echoregions, and tested it on two fisheries survey datasets. One example comes from the Joint U.S.–Canada Pacific Hake acoustic-trawl survey run by NOAA and Canada’s Department of Fisheries and Oceans. The authors also provide an executable tutorial and code so others can follow the same steps and scale the process to large datasets.
This work matters because echosounder data volumes have grown dramatically, reaching hundreds of terabytes from many platforms, and modern ML and deep learning (DL) models increasingly operate on echograms. A clear, reproducible way to create “analysis-ready” datasets makes it easier to train and evaluate ML models for tasks such as pixel-wise segmentation or object detection while keeping important geographic and oceanographic context.
There are important caveats. The workflow is designed for transect-based surveys and may need changes for other sampling patterns. The authors note practical challenges, such as differing spatiotemporal resolutions across transducer channels, annotation formats, and environmental datasets, and that some annotation steps (for example, separating seafloor echoes from fish) may require extra processing. The excerpt does not include detailed benchmark numbers, so readers should consult the provided code and tutorial for performance details and full implementation choices.