Mandjo Béa Boré
Mandjo Béa Boré
Data analyst - Developer
Mandjo Béa Boré

Mandjo Béa BoréData analyst - Developer

Create applications and maps to tell the story of data and transform it into action levers

construit avec:

Ships Detection from Satellite Imagery

Machine Learning
How to detect ships in the satellite images using deep learning model based on Convolutional Neural Networks (CNNs)? There are many large vessels (ships), sometime illegal in sea, how Artificial Intelligence (AI) can help at detecting them?
Ships Detection from Satellite Imagery
Ships Detection from Satellite Imagery

Maritime surveillance is a critical challenge for security, commercial traffic control, illegal fishing, and environmental protection. Manually analyzing the thousands of satellite images produced daily is a lengthy, costly, and error-prone task. There was a clear need for an automated and reliable method to accurately identify and locate ships on medium-resolution satellite imagery.

The public dataset used was the "Airbus Ship Detection Challenge" from Kaggle, comprising tens of thousands of RGB satellite images sized 768x768 pixels, with segmentation masks in Run-Length Encoding (RLE) format indicating the presence and position of ships.

The primary objective was to develop a deep learning model capable of detecting and segmenting ships in satellite images with high accuracy. This task was broken down into several sub-objectives:

• Data Understanding: Analyze and visualize the dataset to understand ship distribution (number of images with/without ships), object size, and annotation format.

• Data Preparation: Preprocess images and masks to make them compatible with a deep learning model (resizing, normalization, RLE decoding).

• Loss Function Engineering: Implement the Dice loss function, particularly suited for segmentation problems where objects (ships) are small relative to the entire image, to address class imbalance.

• Model Building and Training: Design, build, and train a Convolutional Neural Network (CNN) based on a U-Net architecture for semantic segmentation.

• Performance Evaluation: Evaluate the model on a separate test set using relevant metrics like the Dice score and Intersection over Union (IoU).

A structured methodology was implemented to solve this ship detection problem. After analyzing and preparing the data—by resizing them and managing the imbalance between images with and without ships—a specialized deep learning model was built. The U-Net architecture, combined with a pre-trained VGG16 backbone, was chosen for its ability to segment objects in images precisely. Training was optimized using a tailored loss function (Dice Loss) and data augmentation techniques to enhance the model's robustness.

This approach resulted in a complete, functional pipeline capable of detecting and locating ships in new satellite images with satisfactory accuracy. The model demonstrated its ability to reliably identify the presence of ships and delineate their shape, thereby validating the feasibility of this automated solution. The project stands as a solid proof of concept that could be integrated into maritime surveillance systems, offering an effective alternative to tedious manual analysis.

Thanks to professor Ryan Ahmed for this guided project

Technologies Used:
Python
TensorFlow
CNNs
U-Net
VGG16
Remote Sensing
Computer Vision
GitHub

SHARE

Mandjo Béa Boré

Create applications and maps to tell the story of data and transform it into action levers