This project was developed by a team of two for the pinkcc healthcare segmentation competition in France, with the final held in Montpellier. The competition focused on ovarian cancer segmentation.
The project is structured as follows:
final_pipeline_ensemble_learning.py
: This script implements the ensemble learning pipeline, combining multiple models.final_pipeline_single.py
: This script contains the pipeline for training and evaluating a single model.main.py
: The main entry point for the project.README.md
: This file.src/
: Contains the core source code for the project.config.py
: Configuration settings for the project.cross_validation.py
: Implements cross-validation strategies.data_augmenter.py
: Handles data augmentation techniques.data_loader_final.py
: Data loading utilities for the final pipeline.data_loader.py
: General data loading utilities.data_processor.py
: Preprocessing and postprocessing of data.data_splitter.py
: Utilities for splitting datasets.ensemble_learning.py
: Contains the logic for ensemble methods.evaluation.py
: Functions for evaluating model performance.training.py
: Script for training models.utils.py
: General utility functions.viz_predicted_values.py
: Visualization tools for predicted values.evaluation/
: Directory for evaluation-related scripts or data.models/
: Directory for model definitions.
Our base approach involved training a single model. Subsequently, we employed ensemble learning techniques, utilizing majority voting and weighted voting to combine predictions from multiple models. At the end we keep majority voting for the final prediction.
In our setup, one model was specialized in segmenting the tumor, while another focused on segmenting the metastasis. While this two-model strategy allowed us to tailor each model for a specific class, a potential improvement would have been to develop a multi-class segmentation model capable of predicting both tumor and metastasis regions simultaneously.
The final evaluation metric for the competition was a combination of 50% Dilated Dice and 50% F2 score. Our achieved score was:
0.5082
To further improve performance, we believe it would have been valuable to:
- Fine-tune a State-of-the-Art (SOTA) model such as OvSeg
- Explore a multi-class segmentation strategy to better capture the interaction between tumor and metastasis
This image shows an example of a segmented slice. On the right side of the image, the original image is displayed for comparison. The yellow part represents the metastasis and the blue one is the tumor.