Ship Detector

1 minute read

Languages Used: Python3, TensorFlow, Keras, OpenCV

Source Code: GitHub Link

Goal

The primary objective of this project is to accurately detect ships in aerial imagery using Convolutional Neural Networks (CNNs). A major focus of this research is to analyze how pre-processing raw dataset images using Digital Image Processing (DIP) techniques impacts the training loss, accuracy, and overall performance of deep learning models like UNET, VGG, and custom-built CNNs.

Overview

  • Custom DIP Pipeline: A robust image pre-processing pipeline that applies Binarization, Histogram Equalization, Unsharp Masking, and Median Smoothing to aerial images before feeding them into the models.
  • Multi-Model Architecture: Evaluates and compares the performance of industry-standard models (UNET, VGG) alongside a custom-built CNN.
  • Comparative DIP Analysis: A direct performance comparison showing how models perform on raw data versus DIP-enhanced data.
  • Loss Optimization: Detailed tracking of UNET’s loss function to visualize convergence improvements when trained on processed datasets.

Methodology

1. Data Pre-processing

Aerial images often suffer from noise, varying contrast, and weather conditions. To tackle this, the raw dataset is passed through several image processing kernels:

  • Histogram Equalization: Enhances contrast, making the ships stand out against the water.
  • Binarization: Simplifies the image data to highlight distinct shapes.
  • Smoothing & Unsharping: Reduces noise (using median smoothing) while keeping the edges of the ships sharp for the CNN to detect.

2. Model Training & Evaluation

The processed images (along with the raw control group) are used to train three distinct architectures:

  • Custom CNN Model: A baseline lightweight convolutional network.
  • UNET: Primarily used to evaluate precise localization and feature mapping.
  • VGG: Used for robust feature extraction.

Results and Performance

The core finding of this project is the measurable difference in the Loss Function when applying Digital Image Processing (DIP).

  • Without DIP: The custom model struggles with background noise, leading to higher loss and slower convergence. Loss and Accuracy (without DIP)
  • With DIP: The application of our image processing pipeline yields a significantly smoother loss curve, faster convergence, and better overall ship detection accuracy. Loss and Accuracy (with DIP)

References

You can fork the project on GitHub to add more features to the project.