Research / 2025

Kidney Tumor Segmentation

Seeing the boundary. Understanding the uncertainty.

ARU-GD / KiTS23SAVED RESEARCH OUTPUT
Original de-identified KiTS23 CT slice from saved research output
01 CT input
Precomputed predicted kidney, tumor and cyst overlay
02 Predicted segmentation

01 / THE PROBLEM

Beyond the prediction.

A segmentation mask shows a model’s prediction, but says little about where it may be unreliable. This research explores both renal structure segmentation and pixel-level uncertainty on KiTS23 CT slices.

My contribution

Research contributor · NIT Surat

I developed and trained the enhanced U-Net model, preprocessed more than 9,500 CT slices and generated uncertainty maps to examine where predictions become less reliable. I am a co-author of the research manuscript alongside Harshvardhan Gupta, Archit Savaliya, Tanmoy Hazra and Saif Nalband.

02 / TECHNICAL APPROACH

Inside the
implementation.

  1. 01

    The pipeline processes 320 × 320 single-channel CT slices stored in HDF5 arrays, with one-hot masks for four classes: background, kidney, tumor and cyst.

  2. 02

    ARU-GD combines residual encoder blocks, attention-gated skip connections and guided decoder outputs. Auxiliary supervision is applied at three decoder depths alongside the final output.

  3. 03

    The training configuration uses TensorFlow/Keras, Adam at 0.0001, batches of 16 and 100 configured epochs. Weighted Dice and weighted logarithmic losses give different importance to the four classes.

  4. 04

    Inference runs 50 stochastic passes with Monte Carlo Dropout. Mean probabilities yield the segmentation; predictive entropy yields the uncertainty visualization. The saved display applies a sensitivity factor of 3, so it is not a calibrated probability of error.

03 / SYSTEM ARCHITECTURE

Follow the signal.

Select a stage to explore
how the system works.

01

CT slices

KiTS23 data stored as HDF5 X/Y arrays. The model expects 320 × 320 grayscale slices with four-class masks.

04 / RESEARCH EXPLORER

A closer look.

Public KiTS23 research output.
Precomputed. No clinical diagnosis.

Original CT slice, saved sample 0430
CT input KiTS23 / 0430
prediction visualization from saved sample 0430
PredictionPrecomputed output

Original saved output: red = kidney, green = tumor, blue = cyst. These images are research results, not a live model or a medical diagnostic tool.

Open complete original figure

05 / RESULTS & OUTCOMES

What the work delivers.

0.8399Kidney Dice
0.6833Tumor Dice
0.8029Cyst Dice

Per-class mean Dice scores from the saved 10 November 2025 evaluation across 3,200 test samples. Reporting each structure separately makes the lower tumor segmentation score visible. These are results from this evaluation run, without independent reproduction or external clinical validation.

Scope & limitations

  • Research and educational prototype; not a medical diagnostic tool and not clinically validated.
  • This is a 2D slice pipeline. A 3D extension is future work, not an implemented feature.
  • Training data and model weights are not included in the public repository; this portfolio displays existing saved outputs only.
  • The research manuscript is under review.

06 / ENGINEERING DECISIONS

The interesting
constraints.

Unequal classes, ambiguous boundaries

The implementation combines class-weighted losses, attention and intermediate decoder supervision to address small structures and difficult boundaries.

A confident mask can still be wrong

Stochastic inference makes variation visible. Entropy is useful for inspection, but uncertainty calibration and external validation remain open work.

ENGINEERING TAKEAWAY

A useful research system makes its uncertainty and evaluation protocol inspectable alongside its predictions.

07 / BUILDING BLOCKS

Tools with
a purpose.

TensorFlow / Keras
Model definition, losses and training
HDF5 / h5py
Slice and mask storage
NumPy
Per-class metrics and entropy
Matplotlib
Saved prediction visualizations

Go to the source

NEXT PROJECT / 02

Autonomous Rover Navigation