Back to research
CSE428: Image Processing · 2025
Breast Ultrasound: Multi-Task U-Net
One network that both outlines a lesion in a breast ultrasound image and classifies it as benign, malignant, or normal, trained on the public BUSI dataset.
[ RES ]
Key results
- Dice
- 0.854
- Lesion segmentation, held-out test split
- Mean IoU
- 0.782
- Held-out test split
- Classification F1
- 0.863
- Three classes, held-out test split
- Accuracy
- 87.5%
- Three classes, held-out test split
[ ARC ]
Architecture
A shared encoder feeds two heads: a U-Net decoder with skip connections for the mask, and a pooled classifier on the bottleneck. A weighted sum of the two losses trains both at once.
01
Data cleaning
- Perceptual-hash de-duplication
- Drop axilla / biopsy images
- 256 × 256, 60/20/20 split
02
Shared encoder
- Conv blocks + max pooling
- Bottleneck features
03
Two heads
- U-Net decoder → lesion mask
- GAP + dense → 3 classes
04
Joint loss
- Segmentation weight 1.0
- Classification weight 0.5
[ KEY ]
Technical highlights
- 01
Cleaned BUSI before training: removed near-duplicate images with perceptual hashing and dropped axilla and biopsy images that would leak shortcuts.
- 02
Trained segmentation and classification jointly so both tasks share one learned representation.
[ LIM ]
Limits & lessons
- Metrics come from a single held-out split of a few hundred images; they are coursework results, not clinical validation.
[ STK ]
Stack
- Python
- PyTorch
- Albumentations
- OpenCV
- imagehash
- scikit-learn