Underwater Acoustics Data Challenges Workshop 2023: Ultra

↩ Back to main page


The aim of this challenge is to produce an algorithm that detects and tracks contacts in broadband sonar data, which outperforms traditional passive contact follower algorithms. The example broadband sonar data has been generated by a Hull Mounted Sonar (HMS). HMS have a cylindrical array comprising numerous vertical staves each containing multiple transducers.  The staves provide vertical directivity and groups of staves (those orientated in the right direction) provide horizontal directivity.  The result is several beams covering the full 360-degree azimuth. Currently, human sonar operators analyse waterfall displays to determine the location of other vessels in the vicinity of the HMS. However, to reduce the cognitive burden on these operators, we would like you to develop a detection and tracking algorithm that is accurate and robust without increasing the false alarm rate.

You will be provided with 250 vignettes of synthetic HMS data that contain signals from a number of contacts, as well as the corresponding ground truth tracks. It is likely that a machine learning approach will be required and so, we would like you to use 200 vignettes for training the model and withhold 50 vignettes for testing the algorithm during the judging session. The vignettes are 2-dimensional arrays where the columns correspond to the “look” angles of the HMS and the rows correspond to time. As the display is updated, the newest data appears at the top of the array. The displays are greyscale, and the pixel brightness indicates how loud the contact at that angle is. The vignettes vary in complexity between simple tracks to those containing crossing or coalescing tracks.

Challenge Goals


Whilst we ideally want the algorithm to work in real time so that a single timestep of data is input into the model, a basic goal of the project would be to work on the arrays as a whole. This would mean inputting the HMS data as an image and outputting a binary image of the same dimensions that contains 1 where a contact is present and 0 elsewhere. This would be more of a computer vision task and would work on several timesteps at once.


A more practical solution would include inputting a single timestep of data and outputting a binary vector of the same size corresponding to the detections. The model will likely need to use the prior knowledge of the previous timesteps to aid detection in the current step. A simpler dataset that contains multiple contacts that do not cross or coalesce will be used for the intermediate challenge.


The ultimate challenge would build on the intermediate level to also detect and track crossing and coalescing contacts. This would be more applicable to real life datasets.


You will need to bring a laptop with appropriate computing tools e.g. Python / MATLAB etc, as well as any relevant libraries/toolboxes e.g. NumPy, Matplotlib, PyTorch, TensorFlow.

Background Material

Here is a list of useful background material if you would like to read up about the challenge before the hackathon: