U-Net Based Image segmentation of Neuclei from Pathological Images
Image segmentation is a technique of breaking down a digital image into several parts (sets of pixels, also known as image objects) in computer vision and digital Image processing. Image segmentation aims to simplify and transform an image’s representation into something more relevant and easier to evaluate. Image segmentation can find objects and boundaries (lines, curves, and so on) in photographs. Image segmentation produces segments encompass ing the entire image or a set of contours taken from the image. Every pixel in a segment has the same characteristic or computed feature, such as color, intensity, or texture. Adjacent areas have substantially varied colors when it comes to the exact attributes. Image segmentation can be used for Medical Imaging, object detection, pedestrian detection, face detection, brake light detection, locating objects in satellite images (roads, forests, crops, etc.), video surveillance, etc. U-Net technique is used for segmentation of the images. The images belong majorly from Medical Imaging Datasets and Object Detection dataset for Semantic Segmentation. We aim to train a model to differentiate various components present in an image with higher accuracy.
The dataset used is 2018 Data Science Bowl from kaggle.
This dataset comprises a vast number of nucleus pictures that have been segmented. The pictures were taken under various circumstances and differences in cell type, magnification, and imaging modality (brightfield vs. fluorescence). The dataset is intended to test an algorithm’s generalization across these differences.
Fig: Visual representation of dataset sample image and it's mask
The dataset is divided into two parts. The training dataset has 670 folders containing two folders, namely “images” and “masks.” Masks contain the segmented masks of each nucleus. This folder is only included in the training set. The testing dataset has 65 folders. Each folder has a unique identifier name. Each image has either one or more masks in the training dataset, i.e., Each mask contains one nucleus. Masks are not allowed to overlap (no pixel belongs to two masks). These masks are concatenated one after another into a single feature vector to recover the original image’s mask
Fig: Concatenation of individual nucleus mask
For masking of the cells we have used U-Net. The proposed U-Net model consists of five levels; the top four levels have one compression block and an expansion block. The bottom layer consists of one intermediate block. So, in total, the proposed U-Net model has four compression blocks, one intermediate block, and four expansion blocks.
Fig: Proposed U-Net architecture
The results were as follows after training:
Fig: Comparison between the actual mask and the output of the model on training data
Fig: The output of the model on a testing image
Fig: Model output on a dark image
Fig: Performance metrics of our model