Research
Two strands, both about the same underlying problem: dermatology datasets, and the classifiers trained on them, don’t represent the people a Ghanaian tool would actually need to serve. Nothing here is published or peer-reviewed.
Dermaid
Dermaid is a nine-class skin condition classifier built as a KNUST final-year project in 2024 and rebuilt as a browser demo in 2026. It is on this site less for the classifier itself than for what happened after it shipped: an audit of its own test set found that 24 percent of it was perceptually identical to training data, the reported accuracy was corrected downward once that leakage was removed, a second explanation was hypothesised for the model's strongest result, and that hypothesis was then tested and publicly retracted when the evidence didn't support it.
- test images perceptually identical to a training image
- 24%Measured. 16x16 average-hash comparison, evaluate_heldout.py
- accuracy, deduplicated (247 images)
- 92.7%Measured. evaluate_heldout.py
- accuracy, uncleaned test set (contaminated)
- 94.5%Measured. evaluate_heldout.py
- genuine conditions classified as clear skin
- 0 of 163Measured. evaluate_heldout.py, deduplicated set
78 of 325 images, Hamming distance 0. Chickenpox and shingles were worst affected, at 59% and 39%.
34.0% majority-class baseline. Macro F1 0.895.
The originally reported figure. Included for comparison, not used as a headline number.
Skin-Tone GAN
2024
A StarGAN implementation aimed at a representation gap in dermatology datasets, not at an architecture problem.
Motivation
Public dermatology datasets, including the one behind Dermaid, are collected predominantly from lighter-skinned populations. A classifier trained on them is least reliable for exactly the population a Ghanaian screening tool would need to serve well. The binding constraint on a useful classifier here is dataset representation, not model architecture, and this strand treats that as the problem worth working on.
Approach
A StarGAN multi-domain image-to-image translation model in PyTorch: a generator and discriminator trained adversarially with an auxiliary domain-classification loss, images normalised to [-1, 1] with centre-crop and resize, argparse-driven configuration for reproducibility, and TensorBoard logging through training.
Open questions
The results and samples directories from this work are empty. Trained outputs were not retained, and the surviving artefact is the implementation itself, not a trained model or a set of generated images.
The open question this strand never resolved is whether a lesion image translated across skin tones stays medically coherent, meaning the pathology it depicts remains recognisably correct, rather than merely looking visually plausible. Without retained outputs to inspect, that question is unresolved, and it is the reason this stayed a research strand rather than becoming a component of Dermaid.
- PyTorch
- StarGAN
- TensorBoard