The third homework of the course Machine Learning for Healthcare deals with a medical image segmentation problem. We (Georgia Sousouri [E-mail], Rishabh Singh [E-mail], Jannik Gut [E-mail]) were tasked to do so with a U-Net and as an additional hurdle to overcome, the different images could be rotated.
This explanation and all the other files are alternatively available on GitHub. The files should be used according to the appearence in this list.
- report.pdf has all the information and discussion to the project.
- environment.yml is the conda environment to run all the other files.
- project3_data/data/ is the data folder we were given in the task description.
- Data_augmentation.ipynb gives some visualizations on the data and adds rotations to augment the data.
- CV_rotation.ipynb 5854 is for the rotation attempt with computer vision techniques.
- corrected/ is the folder containing the resulting images of the computer vision attempt.
- UNET.ipynb generates the U-Nets. In the last cell you can give the hyperparameters to generate the U-Nets. The current values are for the grid and in comments are the hypervariables for the big model.
- models/ is where the generated models are saved.
- diagrams/ holds schematics of the generated models.
- Train_Evaluate_Unet_Iter_X_XX.ipynb are used to train and evaluate on the validation data. Each file is used for a different U-Net, the code given only differs in the "string", that encapsulates all the parameters and is also at the back of all other files, which are model specific.
- Evaluate_Unet_Org_Testdata.ipynb finally tests the model on the test data. You also have to give the identifying string, currently it is used for the big model.
- UnetLoss.ipynb is an additional file as appendix that benchmarks different loss functions using a custom U-Net architecture.
- class_presentation.pdf are the slides that were used to present our successful project in class.