Using machine learning to identify and monitor bodies of water

We were tasked to apply machine learning algorithms to analyze satellite imagery for the purposes of identifying bodies of water which can be monitored over time.



Given a series of synthetic aperture radar (SAR) images acquired by the TerraSar-X satellite, our objective as to identify which areas in the radar images contain water based on the intensity of the ‘back-scatter’ in the satellite images.

Applied Intelligence

We were provided with two sets of SAR data taken from the TerraSar-X satellite near Parry Sound and the Montreal river regions covering about 1688 km2 and 1926 km2 respectively. Our goal was to use Machine-learning to detect bodies of water from the SAR data thereby segmenting these radar images into land and water classes.

To evaluate our methodology, we hand labelled the bodes of water in the SAR images which we used as ‘ground truth’ (a term used in various fields to refer to information provided by direct observation as opposed to information provided by inference). We achieved water body recognition by carrying out semantic segmentation. The data was already split into three tiles corresponding to northern, middle, and southern regions which were observed by satellite every 11 days with 8 revisits in total. We used each of the three tiles and the corresponding observations as training, validation and testing data for our model.

Our AI solution includes: pattern recognition Machine-learning, deep learning, image processing and binary classification of images. Most of the data was unlabelled. Labels had to be generated as a first step. We then trained a model using a variant of the ‘U-Net’ architecture on hand-labelled data for the purpose of performing pixel wise classification into water and land classes. We optimized our model using the Jaccard score and the Adam algorithm for gradient descent.


Our trained model achieved approximately 97% per pixel classification accuracy on our test. As we continue, we will provide ‘shape files’ for SAR images generated using CV + ML models.

 Screenshots of pattern recognition

Screenshots of pattern recognition

Our goal was to use machine learning to detect bodies of water from the SAR data thereby segmenting these radar images into land and water classes.

Other Use Cases