My diagnostic CNN shows high accuracy on data from one hospital.
When tested on scans from a different hospital, performance drops drastically.
The disease patterns are the same.
Only the scanners and imaging pipelines differ.
Why does my medical imaging model perform well on one hospital’s data but poorly on another’s?
Abhimanyu SinghBegginer
This happens because the model learned scanner-specific patterns instead of disease features. Differences in equipment, resolution, contrast, and noise create hidden signatures that neural networks can easily latch onto.
When the model sees data from a new hospital, those hidden cues disappear, so the learned representations no longer match. This is a classic case of domain shift.
Training on multi-source data, using domain-invariant features, and applying normalization across imaging styles improves cross-hospital generalization.
Common mistakes:
Training on a single source
Ignoring domain variation
No normalization between datasets
The practical takeaway is that medical models must be trained across domains to generalize safely.