This project is a semantic segmentation solution for the Airbus Ship Detection Challenge. The goal of the challenge is to develop a model that can accurately identify ships in satellite images.
The purpose of this project is to provide an implementation of the UNet model for semantic segmentation. By utilizing the UNet architecture, the project aims to accurately segment and identify ships in satellite images provided by the Airbus Ship Detection Challenge.
To get started with this project on your local computer, follow the steps below:
- Clone the repository using the command below:
git clone https://github.com/muratalkhadam/ship-segmentation.git
- Move into the directory where we have the project files:
cd ship-segmentation
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
# for Windows
venv\Scripts\activate
# for Linux/Mac
source venv/bin/activate
- Install the required dependencies from the
requirements.txt
:
pip install -r requirements.txt
- Install the dataset from the Airbus Ship Detection Challenge and place it in the
data
folder.
The ship-segmentation
project is organized into the following folders:
├───data: Contains the test and train datasets provided by the Airbus Ship Detection Challenge.
│ ├───test_v2
│ |───train_v2
| |───sample_submission_v2.csv
| └───train_ship_segmentations_v2.csv
├───docs: Contains randomly selected images from the testing dataset for documentation purposes.
├───eda: Includes Jupyter Notebook file for exploratory data analysis.
│ └───dataset-analysis.ipynb
└───src: Contains the source code of the project.
├───model-data: Includes data related to the model, like saved model architecture, history and metric statistics.
|───unet: Contains the code specific to the UNet architecture model and related packages.
└───model-implementation.ipynb: Jupyter Notebook file for the model implementation.