Analysing scan
CT Kidney Classifier
Upload a renal CT scan · Select architecture · Classify into Normal / Cyst / Stone / Tumor
Live Val Accuracy
Macro F1
Stone Recall
Tumor Recall
Source: scores.json · auto-refreshed from /scores · params.yaml MODEL_NAME: EfficientNetV2B3
Input · Renal CT Scan224 × 224
Preview
Drop renal CT scan or click to upload
Greyscale abdominal/renal CT only · JPEG or PNG
Output · Classification DenseNet121
Upload a renal CT scan to classify
Renal finding
Confidence: —
⚠ Research instrument only · 4-class renal CT classifier · Consult a nephrologist or urologist
Model Performance
Validated results from DagsHub MLflow · all 4 architectures complete
Best Val Accuracy
99.96%
DenseNet121 & ResNet50V2 · all 4 models >94%
scores.json Accuracy
Live push · EfficientNetV2B3
Dataset
12,446
Cyst · Normal · Stone · Tumor
MLflow Runs
18+
Tracked on DagsHub
Model Cards
DenseNet121
7M params · Adam · GAP head · 20 layers unfrozen
99.96%
● complete · epoch 42 · loss 0.0044
ResNet50V2
25M params · Adam · GAP head · 20 layers unfrozen
99.96%
● complete · epoch 43 · loss 0.0058
EfficientNetV2B3
14M params · Adam · GAP head · 20 layers unfrozen
96.08%
● complete · epoch 7 · loss 0.1180
VGG16
138M params · Adam · GAP head · fine-tuned · lr 0.0001
94.16%
● complete · epoch 100 · loss 0.2403
Live Per-Class Scores (scores.json)
scores.json · current model push auto-refresh
Loading live scores…
Head-to-Head Comparison
Actual MLflow metrics from DagsHub · renal CT 4-class classification
MetricDenseNet121ResNet50V2 EfficientNetV2B3VGG16
Val Accuracy99.96%99.96%96.08%94.16%
Val Loss0.00440.00580.11800.2403
Macro F1~1.000~1.000~0.9600.928
Stone Recall~100%~100%~100%98.2%
Tumor Recall~100%~100%~100%89.0%
Parameters7M25M14M138M
Best Epoch42437150+
OptimizerAdamAdamAdamSGD
Pooling HeadGAPGAPGAPFlatten
Unfrozen Layers2020200
LR0.00010.00010.00010.0003
Batch Size32323232
Accuracy vs Parameters (M)
Experiment Log
All MLflow runs · renal CT classification · tracked on DagsHub
Full tracking: dagshub.com/MicroPyscho/renal_tumour_project.mlflow ↗
Confusion Matrix
VGG16 best run · renal CT val set · actual MLflow run 9366b9ca · hover cells for anatomy detail
Actual → rows  |  Predicted → cols
Per-class Recall
Clinical Risk
Cost-weighted misclassification · renal oncology priority framework
Risk Cost Matrix (0=correct, 10=worst)
Danger Pairs · Renal Context
⚠ RENAL ONCOLOGY NOTE — Predicting renal Tumour as Normal is the highest-risk misclassification — a missed RCC (renal cell carcinoma) can progress from resectable to metastatic. DenseNet121 and ResNet50V2 at 99.96% accuracy with ~100% Tumour recall dramatically reduce this risk. All four models now exceed 94% accuracy. Target ≥99% Tumour recall and ≥98% sensitivity before any clinical consideration.
Grad-CAM · Renal Anatomy
Simulated activation maps on kidney anatomy regions · replace with real tf-explain output
Attention Heatmap · Kidney Cross-section Tumour
Kidney Region Activation
Real implementation: from tf_explain.core import GradCAM; GradCAM().explain((val_data, None), model, class_index=CLASS_NAMES.index("Tumor"))
Classes: 0=Cyst 1=Normal 2=Stone 3=Tumor · Layer: block5_conv3 (VGG16) / last conv block (DenseNet/ResNet/EfficientNet)
Visualise Your Model
Upload your trained model + metrics · renders in this dashboard · session-isolated from AidRenal
Step 1 · Keras modelawaiting
Drop .keras or .h5 file here
Any architecture · trained with Keras / TensorFlow
Step 2 · scores.jsonawaiting
{ }
Drop scores.json here
Must contain val_accuracy · macro_f1 · per-class precision/recall/f1
Key format: precision_ClassName, recall_ClassName, f1_ClassName
Step 3 · Class configurationawaiting
Number of classes
Class names
Preprocessing
Input image size
Step 4 · Extrasoptional
Confusion matrix CSV
One row per actual class · columns = predicted · no header row
Drop CSV here
Grad-CAM image (PNG/JPG)
from tf_explain.core import GradCAM
GradCAM().explain((imgs, None), model, class_index=0)
Drop heatmap image here
Project name
DagsHub / GitHub URL