Featured work

Brain Tumor Segmentation on the Edge

Getting a multimodal-MRI tumour segmentation model to run on a 5-watt NVIDIA Jetson Nano, without losing the accuracy that makes it worth using.

PyTorch2.5D CNNsAttentionDRUNetMobileNetV2-UNetFocal-Dice lossONNXTensorRT FP16Jetson Nano
Brain Tumor Segmentation on the Edge: figure
Brain Tumor Segmentation on the Edge figure

Input MRI, ground truth, model prediction, and the overlap of the two for a representative case (Dice 0.95).

How it works

  • The input is multimodal MRI. Each slice is stacked with its two neighbours so a fast 2D network still gets some depth context.
  • It trains with a tuned Focal-Dice loss that leans on recall, since missing tumour tissue is worse than over-segmenting it.
  • The trained model is exported to ONNX and compiled to a TensorRT FP16 engine, then run on the Jetson Nano.
  • A lighter MobileNetV2-UNet version trades a little accuracy for about 50 times less compute.

Results

  • 87.37% Dice on BraTS 2021 with test-time augmentation, running on a workstation.
  • On the Jetson Nano: 83.08% Dice, 82.79% recall, 53.56 ms per inference (18.6 FPS), and 5.08 W.
  • Zero-shot on unseen BraTS 2019 data: 80.15% Dice, 88.26% recall.
  • The lighter MobileNetV2-UNet runs at 134.5 FPS from a 5.2 MB engine.
  • The work was presented as a paper at the ICNGSMCA-26 international conference in Bengaluru, July 2026.

In code

python
for imgs, masks in loader:              # 2.5D: slice + its 2 neighbours
    logits = model(imgs.to(device))
    loss = 0.5 * focal(logits, masks) + 0.5 * dice(logits, masks)
    loss = loss * recall_weight         # push recall over precision
    loss.backward(); opt.step(); opt.zero_grad()▊

Focal-Dice loss, tuned to favour recall so the model does not miss tumour tissue.

Certificate

Paper-presentation certificate from ICNGSMCA-26. You can read it right here.

Brain Tumor Segmentation on the Edge: certificate view only

Comments

Thoughts or questions on this project? Leave a note below.

Loading comments…