Aircraft Detection on the MADD Dataset Using YOLOv8


This project focuses on object detection of military aircraft using the MADD dataset, leveraging the YOLOv8 architecture. The goal was to build a lightweight and effective pipeline for real-world application with reliable performance.




Dataset Preparation

The MADD dataset was structured to follow the YOLOv8 training format. A preprocessing script was written to collect images from 85 subfolders and align them with the corresponding label files. A link to the dataset is below :

https://www.kaggle.com/datasets/a2015003713/militaryaircraftdetectiondataset

python:

# folderstructure.py source_images_root = '.../Datasets/Images' source_labels = '.../train' target_images = 'dataset/images/train' target_labels = 'dataset/labels/train' os.makedirs(target_images, exist_ok=True) os.makedirs(target_labels, exist_ok=True) for folder in os.listdir(source_images_root): ... shutil.copy2(src_img, dst_img) ... if os.path.exists(src_lbl): shutil.copy2(src_lbl, dst_lbl)

This ensured a clean and consistent training folder layout compatible with Ultralytics YOLOv8.

Model and Training

The detection model was trained using the YOLOv8s architecture. The following script defines a minimal training routine:

python :
# yolov8train.py from ultralytics import YOLO model = YOLO('yolov8s.pt') model.train( data='data.yaml', epochs=5, batch=8, name="aircraftdetector" )

The training process was executed for 5 epochs with a batch size of 8. The model weights and logs are stored under the runs/detect/aircraftdetector directory.

Results

The trained model demonstrated strong detection capability, even in complex aerial scenes with overlapping aircraft and varied scales. Evaluation metrics and inference visuals will be shared in the GitHub repository. 



GitHub Repository : https://github.com/reaperae/madd-aircraft-detection 

Comments