robertbejan/cotraining_dissertation
This project is a Deep Learning approach at medical image classification. This is mainly focused on developing a semi-supervised learning algorithm based on co-training and pseudo-labeling. This serves as the final project for my master's thesis and it's still under development.
What's novel
This project is a Deep Learning approach at medical image classification. This is mainly focused on developing a semi-supervised learning algorithm based on co-training and pseudo-labeling. This serves as the final project for my master's thesis and it's still under development.
Code Analysis
9 files read · 3 roundsImplements Blum & Mitchell co-training for fetal ultrasound plane classification using two views: a grayscale SqueezeNet CNN and a DINOv2+FFT autoencoder+XGBoost ensemble, with joint pseudo-labeling, adaptive confidence thresholds, and reevaluation-based sample removal.
Strengths
The co-training algorithm is genuinely implemented with non-trivial logic: joint pseudo-labeling requiring model agreement, adaptive threshold adjustment based on rolling removal rates, and hash-based deduplication of pseudo-samples. The hybrid ensemble (frozen DINOv2 + FFT features + autoencoder + XGBoost) is a creative multi-modal approach for the frequency-domain view.
Weaknesses
Critical bugs exist (undefined `self` in module-level function, MLflow context manager exited before training), zero tests, hardcoded paths throughout, no model loading capability, and the project structure is a flat directory of scripts with temp files and a 952KB SQLite DB committed to the repo. The FFT ensemble is only trained once at epoch 1 and never updated, undermining the co-training premise for that branch.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
30
Contributors
1
Files
67
Active weeks
4
Repository
Language
Python
Stars
2
Forks
0
License
—