Case Study - Object detection for sonar images

A project for the INNO course at Utrecht University of Applied Sciences. My fellow students and I developed a system to detect objects within sonar images.

Software development


Rijkswaterstaat, the Ministry of Infrastructure and Water Management in the Netherlands, plays a vital role in managing the country's infrastructure and water network.

Among its responsibilities, Rijkswaterstaat is tasked with overseeing navigable waterways and ecological areas. To ensure the safety and efficiency of maritime activities, the agency conducts sonar recordings of these regions. These sonar recordings detect and log various elements, including chains, cables, and wrecks, which might pose navigational hazards or environmental concerns. The collected data from these recordings serve as valuable insights for experts working at Rijkswaterstaat, supporting their decision-making and management efforts.

Rijkswaterstaat asked my fellow students and me to develop a system to detect objects within sonar images.


A two-part system was developed to detect objects within sonar images.

  1. Edge deployment: The first part of the system is an image processing pipeline used to detect objects within sonar images; this is done on the edge. In the case of Rijkswaterstaat, this is a physical computer on a sonar recon ship.
  2. Cloud deployment: The second part of the system is a database containing the detected objects with their corresponding locations.

Edge deployment

The edge deployment consists of a docker deployment hosting a local webpage, image processing pipeline, and local database, connected using an API. This API can send the detected objects to the cloud once the ship returns to the harbor.

Cloud deployment

The cloud deployment consists of a Kubernetes cluster hosting a database, webpage, API, and machine learning retraining pipeline. This allows employees of Rijkswaterstaat to view the detected objects digitally and retrain the machine-learning model if necessary.


At the end of the course, we presented our results to Rijkswaterstaat. They were very pleased with the results and are looking into possibly implementing the system in their current workflow.


  • Software Development
  • Docker
  • Kubernetes
  • AI

More case studies

Investigating the viability of green roofs using public data

A project for the municipality of Utrecht to investigate the viability of green roofs using public data.

Read more

Want to talk about something?

Prefer to skip the contact form?

Send me an email at