Computer Vision + Medical Imaging · Public Kaggle Projects

Medical Image Segmentation

Dental X-Ray Computer Vision

Two applied dental-imaging workflows covering tooth instance segmentation with YOLOv8 and dental-caries semantic segmentation with a custom PyTorch U-Net.

RoleDeveloper
Year2025
StatusPublic Kaggle Projects
Medical image segmentation project cover showing dental X-ray instance and semantic segmentation

OVERVIEW

Two dental-imaging problems, two segmentation paradigms.

This project collection brings together two computer-vision workflows: tooth instance segmentation on panoramic dental X-rays using YOLOv8, and dental-caries semantic segmentation using a custom PyTorch U-Net. Together they demonstrate annotation handling, training, model selection, threshold tuning, held-out evaluation, and visual inspection of predicted masks.

RESULTS AT A GLANCE

0.9943YOLOv8s-seg · Test Mask mAP50
0.6180YOLOv8s-seg · Test Mask mAP50-95
0.8988Custom U-Net · Test Dice
0.8163Custom U-Net · Test IoU

PROJECT 01 · INSTANCE SEGMENTATION

Teeth Instance Segmentation

Individual teeth are localized and segmented as separate object instances from panoramic dental radiographs.

Open Kaggle Notebook
Selected modelYOLOv8s-seg
Validation Mask mAP500.9947
Test Mask mAP500.9943
Test Mask mAP50-950.6180

Dataset preparation

Polygon annotations were converted into YOLO segmentation format and visually checked before training. The final split contained 415 training, 90 validation, and 90 test images.

Model selection

YOLOv8n-seg and YOLOv8s-seg were compared under the same training workflow. The final model was selected using validation Mask mAP50-95, then evaluated separately on the held-out test set.

PROJECT 02 · SEMANTIC SEGMENTATION

Dental Caries Segmentation with U-Net

A custom encoder-decoder network predicts a binary pixel mask for caries regions in dental X-ray images.

Open Kaggle Notebook
ArchitectureCustom U-Net
Best Validation Dice0.8941
Selected Threshold0.60
Final Test Dice0.8988

Custom PyTorch pipeline

Polygon annotations were converted into paired binary masks. The U-Net used an encoder-decoder architecture with skip connections and approximately 31 million trainable parameters.

Training & threshold tuning

Training used a combined BCE + Dice objective with Adam. Candidate probability thresholds were evaluated on validation data, and 0.60 was selected before final held-out testing.

WHY BOTH MATTER

Instance segmentation and semantic segmentation solve different problems.

INSTANCE SEGMENTATIONWhich tooth is which?

Produces multiple separate masks so individual tooth objects can be distinguished from one another.

SEMANTIC SEGMENTATIONWhich pixels belong to the target region?

Produces a binary caries mask without assigning separate object identities to each affected region.

ENGINEERING FOCUS

Annotation engineeringPolygon conversion · binary masks · YOLO segmentation labels

ValidationGround-truth visualization · model comparison · threshold selection

EvaluationMask mAP · Dice · IoU · held-out test sets

ToolingPyTorch · Ultralytics YOLOv8 · OpenCV · Albumentations

PUBLIC NOTEBOOKS

Explore both complete workflows on Kaggle.