This project implements a deep learning solution for fine-grained aircraft classification using Convolutional Neural Networks (CNNs) and PyTorch. The model can accurately classify aircraft images into 10 different aircraft variants using transfer learning with a pre-trained ResNet-18 architecture.
The goal of this project is to use deep learning to classify aircraft photos into fine-grained categories. The FGVC-Aircraft Benchmark dataset, which comprises 102 airplane variants, is used to train a Convolutional Neural Network (CNN). This task offers a realistic and demanding environment for image classification because of the high visual similarity between classes (e.g., different Boeing 737 variants).
Since the dataset contains 10,200 images of aircraft, with 100 images for each of 102 different aircraft model variants, we use a subset of 10 randomly selected classes for this implementation. The objective is to create a deep learning model using PyTorch that can correctly classify aircraft into predetermined categories.
📊 Dataset
FGVC-Aircraft Dataset
Source: University of Oxford Visual Geometry Group
Total Images: 1,000 (subset of original 10,200)
Classes: 10 aircraft variants
Image Size: 224×224 pixels
Split:
Training: 332 images
Validation: 333 images
Test: 335 images
Selected Aircraft Classes
The model classifies the following 10 aircraft variants:
707-320 - Boeing 707-320
737-400 - Boeing 737-400
767-300 - Boeing 767-300
DC-9-30 - McDonnell Douglas DC-9-30
DH-82 - de Havilland DH.82 Tiger Moth
Falcon_2000 - Dassault Falcon 2000
Il-76 - Ilyushin Il-76
MD-11 - McDonnell Douglas MD-11
Metroliner - Fairchild Metroliner
PA-28 - Piper PA-28
🏗️ Model Architecture
Transfer Learning Approach
Base Model: ResNet-18 (pre-trained on ImageNet)
Architecture: Deep Residual Network with 18 layers
Trainable Parameters: 11,181,642
Transfer Learning: Yes (fine-tuned backbone + new classifier)