The model

How well does it actually work?

Every number on this page comes from patients the models never saw during training, using 5-fold cross-validation split by patient.

–
nodule-level AUC ·
–
Accuracy at a 50% threshold
–
Patient-level AUC (most suspicious nodule)
–
Sensitivity: malignant nodules caught
–
Specificity: benign nodules correctly cleared
–
Neural networks in the ensemble

ROC curve

How many malignant nodules are caught (up) for each rate of false alarms (right). A perfect model hugs the top-left corner.

Nodule levelPatient level
Show as a table

Is it overfitting?

Loading…

Show as a table

Results per fold

Each fold's model is tested on a different fifth of the patients; the spread shows how stable the results are.

Architecture

Two different networks, one ensemble

3D ResNet (8.3 M parameters, trained from scratch) reads the nodule as a true 3D volume, shown below. 2.5D multi-view CNN (11.2 M parameters) cuts 9 planes through the nodule (3 orthogonal, 6 diagonal), passes each through an ImageNet-pretrained ResNet18, and pools what it sees. Because they look at nodules differently, their mistakes differ, and averaging them helps.

Input48×48×48 mm cube, 1 mm voxels
Stem3D conv, 32 filters
Stage 1–2Residual blocks, 32→64 filters
Stage 3–4Residual blocks, 128→256 filters
PoolingGlobal average + dropout
OutputProbability of "malignant"

Data

Dataset
LIDC-IDRI (The Cancer Imaging Archive), 1,018 CT scans
Nodules used
– nodules from – patients, – malignant
Labels
Up to 4 radiologists rated each nodule 1–5. Mean ≤ 2.5 = benign, ≥ 3.5 = malignant; unclear nodules (in between) left out.
Pre-processing
Resampled to 1 mm, clipped to −1000…400 Hounsfield units, 64 mm cube around each nodule.

Training

Validation
5-fold cross-validation, grouped by patient so no patient is in both training and testing
Augmentation
Random 3D crops, flips and 90° rotations
Optimisation
AdamW, cosine learning-rate schedule, 60 epochs, class-balanced loss, mixed precision
Hardware
One laptop GPU (RTX 4050, 6 GB): about 20 minutes per fold
Explainability
Grad-CAM heatmaps averaged over the 3D models
Detection
MONAI's RetinaNet trained on LUNA16 finds nodule candidates across the whole scan
Limitations

What the numbers don't tell you

Labels are opinions, not biopsies

The model learned to predict what radiologists would think about a nodule, not confirmed diagnoses. Its ceiling is their agreement with each other.

One dataset, one era

LIDC-IDRI scans come from a few US institutions in the 2000s. Scanners, protocols and populations elsewhere differ, and performance may drop there.

Detection can miss things

The automatic detector finds most nodules but not all, and sometimes flags other structures. A missed nodule gets no score, and anything you click still gets one.

No history, no growth

Doctors use growth over time, symptoms, smoking history and other tests. The model sees one 48 mm cube from one scan.

Not clinically validated. It must not be used for diagnosis or treatment decisions. Always consult a doctor.