Skip to content
Clinical decision support · research prototype

Skin lesion triage,
without the hardware.

3D total-body imaging is the clinical standard, and the hardware is expensive. This project measured one question: how much of that device's signal survives in an ordinary photograph?

Developed at PMAA, Kayseri.

401,059lesions evaluated
across 1,042 patients
0.954ROC-AUC
patient-grouped 5-fold
0.0006gap between our score
and an independent test
57%less review workload
at 99% sensitivity

The answer, measured.

Across 401,059 lesions, once the image is already available, the device's 33 additional measurements contribute less than 0.005.

This is not a failure to find a difference. It is a narrow equivalence interval: 95% CI [−0.0054, +0.0040].

The claim is not that the hardware is worthless. Device measurements contribute strongly when no image is available (+0.0438). Add the image and that contribution disappears — the information the device produces is already present in a phone-quality photograph. The relationship is asymmetric: the image subsumes the device, the reverse does not hold.

Verified by someone else.

Claiming that your own cross-validation is not optimistic is not enough; it has to be shown. Both arms were submitted to the hidden test set of the ISIC 2024 challenge — one submission per arm, with no tuning after seeing the result.

Partial AUC above 80% true-positive rate. Random ≈ 0.02, perfect = 0.20.
ArmOur own evaluationPublic testPrivate test
Device-free0.16300.163590.15142
With device0.16280.167120.15525
Difference−0.0003+0.00353+0.00383

The device-free arm scored 0.1630 in our own evaluation and 0.16359 when a third party measured it on data we never saw — a gap of 0.0006. Different patients, independent test, someone else's arithmetic, effectively the same number.

One stage screens. The second decides.

Stage 1 answers "is this lesion worth looking at" from an ordinary photograph. But 60% of the malignant signal it detects is not melanoma, so it cannot answer "is this melanoma". That gap was measured, not assumed — and it is why a second stage exists.

Four lesions photographed both clinically and dermoscopically, each labelled with the risk band assigned by stage 1 and stage 2
Same lesion, two modalities. Four lesions, each shown twice: an ordinary clinical photograph on top, a dermoscopic image below. Stage 1 places all four in the same 7–9 out of 10 band — it cannot separate them. Stage 2, given the dermoscopic view, does: 10 and 8 for the two melanomas against 6 and 2 for the two that are not. Shown on cases the source dataset itself labels as difficult. Figure labels are in Turkish.

Stage 1 — screening

A photograph and a few routinely available clinical fields produce a calibrated risk and a position in the review queue.

Stage 2 — discrimination

A dermoscopic image separates melanoma from the rest. Clinical fields were measured here and added nothing.

Stage 2 was trained after removing 1,132 duplicate groups found in the source data and rebuilding a patient-grouped split. An earlier study on the same dataset reported 0.9491; with duplicates removed and the split tightened the number fell to 0.9319 — the difference is what the leakage was worth. It then scored 0.9512 on an independent 12,345-image cohort from four institutions with zero overlap against training data.

What it looks like on real cases.

These are stage 2 predictions on an entirely external cohort — Turkish patients imaged between 2008 and 2021 across four institutions, with every malignancy confirmed by biopsy. The model never saw this data, and overlap with the training set is zero.

Eight dermoscopic images: four confirmed melanomas scored high, four non-melanomas scored low
Stage 2 on unseen data. Confirmed melanomas on top, scored 0.603 to 0.994; non-melanomas below, scored 0.001 to 0.005 — two orders of magnitude apart. These are representative rather than cherry-picked: each was drawn from the correctly classified cases at median confidence, not from the extremes. Measured performance on this cohort was ROC-AUC 0.9512 [0.9238, 0.9720]. Figure labels are in Turkish.

Does it look at the lesion?

A sanity check that matters more than an accuracy number: is the model responding to the lesion, or to something incidental in the frame?

Occlusion sensitivity heat maps beneath six lesion images
Occlusion sensitivity. Each region is blurred in turn and the change in predicted risk recorded. Red marks areas whose removal lowers the risk — areas the model relies on. Sensitivity concentrates on the lesion rather than surrounding skin, hair or frame edges. This is not a saliency-gradient method and it is not a claim about attention; it measures how the output responds to removing information.

Prioritisation, not exclusion.

A patient undergoing 3D screening carries roughly 385 lesions to review. The model orders that list. The clinical question is not "how many lesions should we look at" but "how many cancers are we willing to miss".

57%

at 99% sensitivity

385 lesions fall to 165 per patient.

76%

at 95% sensitivity

385 fall to 93.

86%

at 90% sensitivity

385 fall to 54.

Threshold transferability was tested separately: choosing the threshold on other folds and measuring it on a held-out fold costs at most 1.0 point of sensitivity. The top row is both the most defensible and the most stable operating point.

A service, not a notebook.

Both stages sit behind an HTTP service with a documented response schema, packaged as a container. The interface returns a calibrated probability, a triage percentile and the operating point the lesion falls into — never a raw score.

The triage interface: lesion input panel on the left, image canvas in the centre, assessment panel on the right
The working interface. Lesion input on the left, image in the centre, assessment on the right, with the two stages as separate tabs. The footer reports which components are loaded and on what device. Open it →
400 ms

Stage 1 latency

Median, on CPU.

190 ms

Stage 2 latency

Median, on CPU.

0.00

Container drift

Identical predictions to the development machine.

Dependency versions are pinned, because an unpinned upgrade was observed to shift predictions. With them pinned, two different operating systems on two different processors return the same number for the same lesion — verified against stored predictions rather than assumed.

Continuous integration runs on every commit and deliberately targets the failures that are silent: the ordering of features, the calibration constants, the operating-point thresholds and the response contract. That suite exists because one such failure was found during development — the model kept running, it simply ran wrongly.

The design principle.

The clinical inputs are not there to repeat the image, but to supply what the image physically cannot contain.

Colour, asymmetry and border are already in the photograph, and the network reads them better than hand-crafted descriptors do — a full morphometry layer was built, measured against the alternative, and dropped for exactly this reason. Lesion size is the opposite case: it cannot be recovered from an uncalibrated photograph at all. Even given a perfect segmentation mask, the correlation with true physical size was ρ = 0.19, p = 0.31. That is an information-theoretic limit rather than a model-capacity problem, and the fix has to come from outside the model — a scale reference in the frame.

Two decisions worth naming

Both were settled by measurement rather than preference, and both go against a common default. The backbone is adapted in one stage and left alone in the other: with only 393 positive cases in stage 1, adapting a large vision model was tried and measured worse than leaving it fixed; stage 2 has 5,479 positives and the decision reverses. The raw probabilities were unusable: ranking was excellent, but the model underestimated prevalence by 11.4×, so no sentence of the form "this lesion carries an X% risk" could honestly be built from it. A calibration step was fitted on held-out data and validated.

What it is not.

Four separate sources of leakage were caught in our own work and removed, and three approaches were measured and dropped. Refuted hypotheses were not hidden, and neither are these limits.

  • Not a diagnostic device. It prioritises; it does not replace clinical judgement.
  • Weakest on head and neck (0.9066), which is also the highest-prevalence site.
  • Light-sensitive. Under heavy low light the image channel loses its contribution. Good lighting and uncompressed capture are conditions of use, not suggestions.
  • Capture mode leaks through the image. Performance differs between two capture modes even though that variable was never given to the model.
  • Stage 2 requires a dermoscopic image. Feeding it a phone photo produces a domain shift and an invalid result.
  • No prospective clinical validation. All results are retrospective.

Privacy

The demo is built so that there is nothing to retain:

  • The uploaded image is held in memory only for the duration of the request and is never written to disk.
  • No account, no database, no image storage. Nothing is kept after the response is returned, so nothing can be re-identified later.
  • No personal data is requested; the clinical fields are coarse, non-identifying values.
  • Results are not used for training or any further processing.

This is a demonstration, not a clinical system, and it must not be used for medical decisions.