WriVision: AI quality control for wrist X-rays.
This project asked a practical question: can an AI model help technologists catch wrist X-ray labeling and acquisition problems before the patient leaves? I worked on a DenseNet121 multi-task model for those checks. Here I explain where it worked and where it still struggled.
I wanted the quality check to happen before the patient leaves.
Most MSK radiographs are not reviewed by a radiologist until after acquisition. That delay matters: if a wrist is mislabeled, the patient may already be gone. We designed the system to help technologists check image quality in near real time.
Classify
One multi-task DenseNet121 model reads the image and predicts projection, laterality, cast, and hardware at the same time.
How the model works.
We used a multi-task DenseNet121 backbone so the same visual representation could support four quality-control decisions. Click a layer in the diagram or selector to inspect what it contributed.
Dense blocks
DenseNet121 reused features across layers, which helped one model learn related tasks instead of training four isolated classifiers.
Four outputs, one quality-control decision.
I think the outputs are most useful when we interpret them together. Projection, laterality, cast, and hardware each answer a different question about whether the image is safe to send forward.
Laterality
Left marker, right marker, no marker
Laterality was the clinically important stress test: the model needed to catch whether the L/R marker matched what was entered into the imaging workflow.
We tested whether the model could generalize.
The dataset started with 8,718 wrist radiographs and was filtered to 6,823 de-identified images from 2,591 patients after excluding low-quantity views and enforcing label consistency.
We split images into training/validation and test subsets, stratifying by projection. The final training setup used mini-batches of 64, Adam optimization, weighted categorical cross-entropy, learning-rate decay, and early stopping after validation loss plateaued.
We used five-fold cross-validation to check whether the model generalized beyond the training distribution. That was especially important because the class balance varied across projection, marker, cast, and hardware labels.
I learned to ask what happens when the model gets a quality check wrong.
Marker dependence
Laterality was the most fragile output because missing or poorly captured markers were harder for the model than ordinary left/right marker reads. Future work should force the model to learn anatomy by training with marker-cropped images.
Saliency as a safety layer
Saliency maps helped show which regions influenced the prediction, especially for hardware and cast. That makes the model easier to audit before it is integrated into clinical software.
Next version
I would like to test whether this can move upstream: apply a similar model to a live patient-hand view before radiation is administered, then expand from wrist radiographs into other anatomy such as ankle studies where projection and laterality checks matter in a similar way.