Deep Learning for Waterline and obstacle Detection

Waterline detection in images captured from a moving camera mounted on an autonomous boat is a complex task, due the presence of reflections, illumination changes, camera jitter, and waves. Localizing the position of water pixels in the camera view is the foundation for building a collision avoidance system that relies on visual data only.

We realized a pixel-wise, deep learning based method to segment images captured by a standard RGB camera mounted on our robotic platforms. This segmentation divides the images into water/non-water regions. Given this segmentation we then extract the horizon line, called waterline in this context. It is worth noticing that, the relationship between waterline and obstacles is heavily dependent on the pitch and roll angles of the platform, which are only roughly measured by our gyroscope and accelerometer sensors. Our goal is then to use the waterline to reduce the search space for the detection of potential obstacles and to deal with the pitch and roll movements, which can cause misdetections, by dynamically tracking over-time the obstacle positions. Quantitative results show that the CNN is able to classify the images in water/non water regions with a high accuracy (i.e., above 97%) processing about 5 frames per second on a standard CPU and 13 frames per second on GPU.

Authors: Lorenzo Steccanella, Domenico D. Bloisi, Jason Blum, Alberto Castellini and Alessandro Farinelli

Code

Training

Validation

Test

Segmentation results