Case Study
SIA Paint-Defect Detection
Automated aircraft paint-peel inspection with YOLOv8 - built during my AI engineering internship at Singapore Airlines.
May 2026 – Present
LIVEThe problem
Paint-peel defects on aircraft fuselages at Singapore Airlines were caught through manual visual inspection - slow, subjective, and hard to track consistently across fleets.
An earlier detection codebase existed, but it was deeply flawed: its reported performance was inflated by a data-leakage bug, and it wasn't usable in production. I inherited it and rebuilt the system with rigorous methodology.
The approach
Inspection photos are preprocessed end to end: rembg background removal isolates the airframe, SAHI tiles each image into 320×320 crops so small defects survive downscaling, near-black tiles are filtered out, and the background class is pruned to a 1:1 ratio with defects. A single-class YOLOv8l model is then trained on Kaggle.
The key methodological fix was in evaluation: the naive image-level train/validation split leaked aircraft identity across sets and massively inflated reported performance. Moving to aircraft-level splits - no aircraft appears in both train and validation - gave an honest measure of how the model generalises to unseen aircraft.

The outcome
On the honest aircraft-level production split, the model achieves mAP@50 0.76 with 0.55 recall. A production inference script scores each aircraft across 15 fixed camera views for both the SIA and Scoot fleets, outputting annotated images and Excel reports and publishing results to SharePoint via Power Automate - replacing manual visual inspection with automated defect scoring.
I also documented the system end to end: an overview and quick-start, a full pipeline walkthrough, tunable knobs and known pitfalls, proposed next experiments, a self-contained rembg notebook, and a user guide written for non-technical operators.
Aircraft-level Validation Performance
Evaluation performed using an aircraft-level split, ensuring that no aircraft appears in both training and validation datasets.
mAP@50
Score on validation dataset
Recall
Score on validation dataset

Learnings
Evaluation methodology is the difference between a model that looks good and a model that works. Inheriting a flawed codebase taught me to validate every assumption in the data pipeline before trusting any metric - and that clear documentation is what lets an ML system outlive its author.