Machine learning and deep learning technologies have made significant strides in healthcare and medical sciences. This project focuses on using such technologies for polyp recognition and segmentation in colonoscopy images, aiding medical professionals in their diagnosis.
The CVC-Clinic database comprises frames extracted from colonoscopy videos. The dataset includes polyp frames and corresponding ground truth, represented as masks in both .png and .tiff formats.
To implement polyp recognition and segmentation for colonoscopy images using UNet++ model.
- Language:
Python
- Deep learning library:
PyTorch
- Computer vision library:
OpenCV
- Other Python libraries:
scikit-learn
,pandas
,numpy
,albumentations
, etc.
- Data Understanding: Explore and understand the dataset.
- Understanding Evaluation Metrics: Familiarize with the metrics used for model evaluation.
- UNet Architecture: Understand the UNet architecture and its relevance in medical science applications.
- UNet++: Learn about UNet++ and how it differs from the standard UNet.
- Environment Setup: Prepare the working environment for the project.
- Data Augmentation: Generate augmented data to enhance model performance.
- Model Building: Develop the UNet++ model using PyTorch.
- Model Training: Train the model (Note: GPU is recommended for faster training).
- Model Prediction: Make predictions using the trained model.
- input: Contains data folders (PNG and TIF) with colonoscopy images in different formats.
- src: The core of the project with modularized code, including:
ML_pipeline
engine.py
config.yaml
: Config file for project constants.
- output: Contains the trained model (reusable file) and predicted images.
- lib: A reference folder with the original IPython notebook.
requirements.txt
: Lists all the packages and libraries used in the project.
-
Create a new env.
-
To install the dependencies run:
pip install -r requirements.txt
-
run the
engine.py
file