Back to everything

2023 machine learning computer vision python

Airplane Damage.

A classifier for three kinds of damage on an aircraft surface, built three times over, so I could see which architecture was earning its accuracy and which one was just big.

Airplane damage classifier cover artwork

What it is

A notebook that takes photographs of aircraft surfaces and sorts what it sees into abrasion, crack or dent. Three models do the same job: VGG16 arriving pretrained, LeNet-5 from 1998, and a twelve-layer network I put together myself.

The classifier was the excuse. The comparison was the point.

Why I made it

I wanted to know what a large pretrained network actually buys you on a small, awkward dataset, and whether something smaller and shaped for the problem can keep up.

You can read opinions about that all day. Running it settles it, at least for your data.

How I made it

One notebook over the airplane damage dataset from Roboflow. Load it, build three networks, train each one, put the results side by side.

The numbers are in the notebook. I've left them there rather than quoting the flattering one here.

What I learned

Modelling is the short part. Keeping a comparison honest is the long part, and it's mostly bookkeeping: the same splits, the same preprocessing, the same budget, so the winner wins for a reason you can name.

This is the same lesson I keep relearning at work, where a model that looks excellent has usually been handed an unfair advantage somewhere upstream.

Training curves for three models
Three architectures, the same job, one table at the end.