YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Teacher–Student Pseudo-Labeling for Semi-Supervised Skin Lesion Segmentation
This repository contains the pretrained model checkpoints accompanying the paper:
Teacher–Student Pseudo-Labeling for Semi-Supervised Skin Lesion Segmentation: A Reproducible Baseline
The models implement a teacher–student pseudo-labeling framework for semantic segmentation of dermoscopic skin lesions using a U-Net architecture with a pretrained ResNet-34 encoder.
Overview
Pixel-wise annotation of medical images is expensive and requires expert dermatologists. This work investigates a simple yet effective semi-supervised learning strategy that leverages unlabeled dermoscopic images through teacher-generated pseudo labels.
The repository provides pretrained checkpoints for:
- Fully supervised baseline
- Teacher model (20% labeled data)
- Student model (20% labeled + pseudo labels)
- Teacher model (50% labeled data)
- Student model (50% labeled + pseudo labels)
The implementation is fully reproducible and was trained using free Kaggle Tesla T4 GPU resources.
Model Architecture
- Architecture: U-Net
- Encoder: ResNet-34 (ImageNet pretrained)
- Framework: PyTorch
- Image Size: 256 × 256
- Task: Binary semantic segmentation
- Dataset: ISIC 2018 Skin Lesion Segmentation Challenge
Available Checkpoints
| Model | Description |
|---|---|
best_full_supervised_model.pth |
Fully supervised baseline trained using 100% labeled images |
teacher_20pct.pth |
Teacher model trained using only 20% labeled images |
student_20pct.pth |
Student model trained using 20% labeled images and pseudo labels |
teacher_50pct.pth |
Teacher model trained using only 50% labeled images |
student_50pct.pth |
Student model trained using 50% labeled images and pseudo labels |
Performance
Fully Supervised Baseline
| Metric | Score |
|---|---|
| Dice | 0.7769 |
| IoU | 0.6482 |
| Pixel Accuracy | 0.9130 |
Semi-Supervised Results
| Experiment | Best Validation Dice |
|---|---|
| Teacher (20%) | 0.7570 |
| Student (20%) | 0.7638 |
| Teacher (50%) | 0.7759 |
| Student (50%) | 0.7800 |
Using only 20% labeled data, the student model recovers 98.3% of the fully supervised Dice score.
Using 50% labeled data, the student slightly surpasses the fully supervised baseline.
Ablation Study
Confidence threshold analysis for pseudo-label selection:
| Threshold | Accepted Masks | Dice |
|---|---|---|
| 0.60 | 1743 | 0.7506 |
| 0.70 | 1685 | 0.7551 |
| 0.80 | 1563 | 0.7638 |
| 0.90 | 1154 | 0.7604 |
The optimal threshold was τ = 0.80, balancing pseudo-label quality and quantity.
Loading a Checkpoint
import torch
model = YourUNetModel()
checkpoint = torch.load("student_50pct.pth", map_location="cpu")
model.load_state_dict(checkpoint)
model.eval()
Intended Use
These checkpoints are intended for:
- Medical image segmentation research
- Semi-supervised learning research
- Benchmark comparisons
- Educational purposes
- Reproducibility of the accompanying paper
They are not intended for clinical diagnosis or direct patient care.
Related Resources
- 📄 Paper (Zenodo): https://doi.org/10.5281/zenodo.21320667
- 💻 GitHub Repository: https://github.com/HabibaSajid321/semi-supervised-skin-lesion-segmentation
- 🤗 Model Checkpoints: https://huggingface.co/DevHabiba/skin-lesion-segmentation-unet
- 🌐 Interactive Demo: https://huggingface.co/spaces/DevHabiba/skin-lesion-segmentation
Citation
If you use this work in your research, please cite:
@misc{sajid2026teacher,
author = {Habiba Sajid},
title = {Teacher--Student Pseudo-Labeling for Semi-Supervised Skin Lesion Segmentation: A Reproducible Baseline},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.21320667},
url = {https://doi.org/10.5281/zenodo.21320667}
}
---
# License
Released under the MIT License.