Implemented Unet++ models for medical image segmentation to detect and classify colorectal polyps.
Table of Contents
Machine learning and deep learning technologies are increasing at a fast pace with respect to the domain of healthcare and medical sciences. These technologies sometimes even out perform medical doctors by producing results that might not be easily notable to a human eye. Polyp recognition and segmentation is one such technology which helps doctors identify polyps from colonoscopic images
To segment the polyps from colonoscopy images
The pdf file Solution_Methodology.pdf has the details for the complete methodology used in the project.
Star⭐ the repo if you like what you see😉.
Deep learning library used : Pytorch
Computer vision library used : OpenCV
Other python libraries :
CVC-Clinic database consists of frames extracted from colonoscopy videos. The dataset contains several examples of polyp frames & corresponding ground truth for them.The Ground Truth image consists of a mask corresponding to the region covered by the polyp in the image. The data is available in both .png and .tiff formats
Data Src : https://www.kaggle.com/balraj98/cvcclinicdb
This is the code overview setup of the project
-
Data Understanding : Understanding the essence of the dataset
-
Understanding evaluation metrics:Understanding the metrics that are going to be used for evaluating the predictions
-
Unet Architecture :Understanding Unet architecture and why is it preferred widely in building deep learning models with respect to medical sciences.
-
Unet ++ :Understanding Unet++ and how is it different from Unet
-
Environment Setup : Setting up a working environment for the project
-
Data Augmentation : Creating new data by making modifications on the existing data
-
Model building : Building Unet ++ model using pytorch
-
Model Training; Training the model. ( A GPU might be required since model training takes a really long time in CPUs)
-
Model Prediction
-
Understanding Polyp Segmentation Problem
-
Understanding IOU
-
Understanding Data augmentation
-
Data augmentation using pytorch
-
Understanding Computer vision and its applications in medical field
-
Understanding and implementing CNN models
-
OpenCV for computer vision
-
Understanding VGG,Unet and Unet++ architectures
-
Building VGG block using Pytorch
-
Building Unet++ network using Pytorch
11.Training and predicting Unet++ models