Binary Mask Generation of Histopathology Images
Histopathology images have been used to detect diseases in the medical field for quite some time. Computer-aided image analysis for nucleus segmentation of these images is a very helpful tool for doctors and can be used for the early detection of these diseases. A major step towards nucleus segmentation is the generation of a probability map and the binary mask of any provided histopathology image. A deep convolutional neural network (CNN) has been used here to generate the same. The network has been trained using a small dataset, consisting of histopathology images and their corresponding annotated images highlighting the structure of the nucleus. The mask illustrates the structure of the nuclei in the provided histopathology image here, and thus shows their structure in a proper way. The deep CNN has been used as it has a feature learning characteristic which is absent in conventional neural networks and also partially due to its weight sharing characteristic which makes the network less complex as well as computationally inexpensive as compared to an Artificial Neural Network (ANN). Data augmentation along with Otsu Thresholding has been used to preprocess the data provided before using it to train the network. This is done due to the scarcity of image annotation data. To counter this the model aims to use the available annotated samples more efficiently. It uses a box wise sliding approach taking only a particular amount of pixels at a time for the convolutional operation which ensures that the number of connected neurons and parameters at a particular moment does not exceed the computation capacity of the hardware. The CNN uses an encoder followed by a decoder, i.e., it comprises multiple convolutional layers to extract features, max-pooling layers to approximate the features in a neighbourhood, activation layers to ensure that the output of the convolution is consistent, deconvolution layers that use the output of the convolution layers to reduce the number of filters and generate back a high-resolution mask. The final layer is a sigmoid activation layer that gives the probability of the pixel being a part of the nucleus. The CNN has been implemented in Python3 and it will use the core Keras API using the TensorFlow application program interface (API) as the backend for efficient and optimised results. TensorFlow is an open source framework and software library written in C for machine learning, deep learning and high-performance numerical computation having improved speeds in contrast to the other python libraries.
Keywords: Deep convolutional neural network, Data augmentation, Deconvolution, Upsampling