-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is the repository of the development of the MsC thesis: Automatic Habitat Mapping using Machine Learning. This thesis was developed in collaboration with the Underwater Systems and Technology Lab (LSTS) and the main goal was to predict marine habitat types with Convolutional Neural Networks (CNNs) using images retrieved by Autonomous Underwater Vehicles (AUVs). We developed this method for the OMARE project that wishes to map marine habitats with sidescan sonar images to at least the level 3 of the European Nature Information System (EUNIS).
This repository contains all the development done towards that objective. From Computer Vision techniques to deal with image enhancement and image noise in photos and sidescan sonar images to the CNN design, training and testing. It may also contain some programs that handle the images in a file system.
This project uses several tools, such as Neptus, Keras, TensorFlow, NumPy, Pandas, Scikit-Learn and OpenCV. In the following sections we explain how to setup your machine to run this project.
Most of the relevant Python libraries already come pre-installed with Anaconda and the ones that doesn't can be easily installed so we're only explaining how to install the packages and libraries through Anaconda.
Follow the instructions to install Anaconda here. Choose your OS and Python version (this project uses Python 3.6) and download the latest version.
After the installation is complete you need to install the following packages in your base environment from the navigator:
- keras-gpu (if don't plan to use a GPU, then just install the non-GPU package 'keras'), this will install all the packages it depends on;
- opencv.
Make sure these packages are installed after installing the ones above, otherwise install them:
- numpy;
- sklearn;
- skimage;
- PIL;
- scipy;
- gdal;
- multiprocessing;
- time;
- functools;
- itertools;
- glob;
- matplotlib;
- pandas;
- tensorflow-gpu (non-GPU -> 'tensorflow').
Clone my Neptus repository (feature/hmapping branch), that contain exporters that are not yet available in the LSTS repository:
https://github.com/andrediegues/neptus/tree/feature/hmapping
To install it follow the Wiki of the LSTS repository.

- Phase 1: Image retrieval and Processing
- Phase 2: Mannual annotation using Hijack
- Phase 3: Optic Predictive Modelling
- Phase 4: Associating sidescan sonar images to optic images
- Phase 5: Sidescan Sonar Predictive Modelling (In Progress)
- In Proceedings: A. Diegues, J. Pinto and P. Ribeiro, IEEE OES AUV 2018, Automatic Habitat Mapping using Convolutional Neural Networks, 2018.
- MSc Dissertation: A. Diegues, Automatic Habitat Mapping using Machine Learning, 2018.