Knee arthritis detection

Teaching an image model to sort knee X-rays by how severe the arthritis looks.

Status
Research experiment
Year
2024
Role
Solo
Area
Machine learning

In plain English

Doctors grade knee arthritis on X-rays on a scale from normal to severe. This project asked how well a general-purpose image model could learn that grading from a labeled set of knee images. It is a learning experiment and is not meant for diagnosis.

How it works

  1. Start with knee X-rays labeled in five grades, from normal through doubtful, mild and moderate to severe.
  2. Balance the grades with augmentation (making extra training images by zooming, rotating and adding noise).
  3. Adapt ResNet-50 (a well-known pretrained image model) after an earlier MedViT model gave weaker accuracy.
  4. Check results with a confusion matrix (a table showing which grades get mixed up).

What I did

I built it solo in PyTorch: the data pipeline, the augmentation and the model training. The pretrained ResNet-50 model and the X-ray dataset come from others.

What I learned

Transfer learning (reusing a pretrained model) gets you a working classifier quickly. Proving one would hold up in a real clinic is a far bigger study, and I now plan for that difference from the start.