Detection of Tumors From MRI Brain Images Using CNN With Extensive Augmentation

Brain tumor is one of the most hazardous and lethal cancers which require effective detection of tumors for diagnosis, here medical image information is extremely essential. Mostly used images are Magnetic Resonance Image (MRI) images which provide a greater differentiation of assorted body soft tissues. In this paper we propose Deep learning architecture, specially the Convolutional Neural Network (CNN) along with augmentation techniques has been developed for Automatic classification of MRI images under study into tumor or no tumor with supervised learning. The proposed system has three stages at first, brain tumor images are re-sized(normalized) into equal size for effective training of model. Next, extensive data augmentation is employed, avoiding the lack of data problem when dealing with classification. Finally building CNN model for image classification.


INTRODUCTION
Now a days, cancer is one of the illness that scares peoples the most. Brain cancer can be regarded as one of the most challenging cancers to handle, as it includes an organ that is not only in the command of the body, but also accountable for self-defining the individual [1]. An efficient identification of brain tumor is an breath taking challenge in the medical industry. Brain tumours, which divided into two kinds of Benign and malignant tumour, have been unusual and uncontrolled cell growth [2]. Malignant tumours are essentially called cancer of the brain. Generally, benign tumours have a slower rate of development than malignant tumours.The National Brain Tumour Foundation (NBTF) is estimated that twenty-nine thousand public in the U.S. are detected with tumours and annually there are mostly thirteen thousand die. In the UK, over 4,200 individuals are infected with a tumor every year. There are two hundred alternative types of tumours diagnosed annually in the United Kingdom. In India, there are a total of 80,271 tumor patients (estimates for 2007). The diagnosis and treatment of tumour depends on combination of things like, such as variety, size, location and status of the tumour. Analysis shows that individuals littered with brain tumours die because of the inaccurate detection of tumours [3].The human body comprises of several cell kinds. Brain is an highly specific and sensitive organ of the human body.A new, deep-learning structure is suggested in this paper to categorized pictures of brain tumors. The main observations of the article are described as follows: this research represents the finest of our understanding the excellent effort to implement a CAD system to categorize the brain tumor pictures into tumor pictures and non-tumor pictures. While some datasets are available on the Internet, the number of pictures for our problem is much smaller. Thus, we use data augmentation techniques to increasing the information with distinct parameters and methods to complete the information bay and render the system transformative and complete invariant. The CNN design used in the suggested scheme has 3x3 kernels for all convolution parts with 1 stride. Thus, our proposed CNN model kernels that can discover tiny patterns of texture from various MRI pictures of tumors.

RELATED WORK
There has been a lot of research in the area of medical image analysis and many scientists have contributed to multiple medical imaging subfields. [4,5].
Vipin Y. Borole1, Sunil S. Nambour [6] explains about the Image Processing Techniques for Brain Tumor Detection, those are Edge detection, Histogram, Segmentation and Morphological operations, described about the various filters and segmentation techniques, algorithms to brain tumor detection. Deepa, Akash Singh [7] described about the basic terminologies of brain tumor and MRI images, review of various brain tumor segmentation techniques. In this paper they explained about the overview of brain and brain tumor, magnetic resonance imaging, Image Segmentation. Techniques.
Sourabh Hanwha , Chandra J [8] proposed Convolutional Neural Network to classify the brain tumor various stages using Convolutional Neural Network algorithm based on Brain MRI images and their work is also compared with another popular machine learning classifier like Random Forest and K Nearest Neighbors. They concluded as Convolutional Neural Network is a one of the best classifiers for classifying the various stages of a brain tumor. They also explain about the preprocessing techniques like Median filter, Bilateral filter, Gaussian filter to remove noise from the MRI brain images.
Hassan Elanor Mohammed Abdalla [9] explain about the automated method for the detection of brain tumors, the suggested artificial neural networks (ANN) methods were applied with the feedforward back propagation neural network. Network performance was tested and the highest outcomes were reached with 99% precision, and 97,9% sensitivity, and the various staging phases concerned are also explained in the first phase by MRI images pre-processing and post-processing for further evaluation then used threshold by the appliqueing medium gray level technique to segment MRI pictures.
The statistic feature assessment was used in the second phase to remove the characteristically elements from pictures, which are calculated from Horlick's image equations based on the image's spatial gray level dependence matrix (SGLD). The appropriate and best characteristics were then chosen to identify the location of the tumor. The artificial neural networks were developed in the third phase.
Nilesh Bhaskarrao, Bahadure,Arun Kumar Ray, and Har Pal Thethi2 et all [10] is Described for the segmentation of the brain tumor based on Berkeley wavelet Transformation(BWT). As is achieved in the human perception of the vision, which acknowledges distinct items, textures, contrast, brightness, and deep thickness, this algorithm conducts a segmentation, extract and classification. Furthermore, the implementation of the method suggested can be to a variety of tumours and MR modalities if certain agents are applied efficiently.
Aysha Bava M. Sifna N. Shajahan [11] The new technique has been created to segment tumor tissues from MR pictures with noise and intensity In homogeneous artifacts. Here preprocessing, enhancement, filters and skull removal are carried out to remove noise and the skull region.
Mohamed A. El-Sayed,Yarub A. Estaitia ,Mohamed A. Khafagy[12] Explain how CNN can process any picture input of any size with no more training needed, the findings are very promising compared with conventional techniques and other ANN techniques, used for the extraction of the function used in the performance of edge sensing functions.

METHODOLOGY (10 PT)
In this section, we illustrate the methods of Image Resizing, Augmentation techniques and brain tumor MRI Image Classification algorithm based on the Convolutional Neural Network.

Image re-sizing (Normalization):
Image resizing means simply changes the size of an image. We'd have to re-size these pictures first to get them all in the same form. This is something we would usually need to do while managing pictures, because while capturing pictures, it would be difficult to capture all pictures of the same size. When images of equal sizes and you can apply the same algorithms if you want to generalize them all. Just normalizing images to the same size results in information distortions that can lead to unnecessarily delayed learning or a lack of generalizability for new data sets. Fortunately,We know the pixel spacing of each metadata picture (from ~0.6 mm to almost 2 mm), which informs us the real physical size of each image. For image re-sizing, scale all images to the same physical circumference by specifying the desired pixel pitch, adding or trimming a few pixels at the edges to ensure consistent dimensions, and then re-sizing them to the desired size for processing. We use image processing methods to re-size the picture without losing information. The image preprocessing steps involved in resizing MRI images are: In the first step, we read the original MRI image, threshold the image, and then perform a series of erosions + dilatations to remove small noise areas ,those images used for further analysis. In the second step we will discover the largest contours of the objects in the image, we will do things like confirm the number of objects in the image, recognize edges, classify the shapes of the objects or live the dimensions of the objects. In the third step Our goal is to determine the acute points within the image on the contour of the brain to expose the outlines of the brain. Finally, crop the final image into our desired shape.

Data Augmentation
Data Augmentation includes a extensive variety of techniques used to generate "new" samples by using random jitters and interferences from the original training samples, while simultaneously making sure the class markings of the data are not changed. The fresh mildly altered entry information variants, the network is always visible on our network is able to learn more robust features. The type of data augmentation is used for proposed system is in-place data augmentation or on-the-fly data augmentation [14]. This sort of data augmentation shows the process of loading the initial input pictures from the disk, dividing the input pictures into batches, presenting the initial batch of pictures to the Image Augmentation Object (the object which is generated from the ImageDataGenerator class in keras). Transforms each picture into a batch by a sequence of random translations, rotations, flips, etc, and then returns a randomly transformed batch of information. These images are next feed into CNN model for training. these steps are shown in Fig 1. Here there are two important notes that take attention is, the images generated from image augmentation object is not returning both the original data and the transformed data the class only returns the randomly transformed data. We call this "in-place" and "on-the-fly" data augmentation because this augmentation is done at training time. Below we present some basic but powerful augmentation techniques that are popularly used are. Flip. is used for pictures can be flipped horizontally and vertically. Some frameworks do not give operation for vertical flips. But a vertical spin is like spinning a image by one hundred eighty degrees then executing a lateral spin. Rotation are accomplished by rotating the image on an axis between 1 ° and 359° right or left. one key issue to notice regarding this operation is that image dimensions may not be preserved once rotation occurs. If your picture is a sq., the image size can be preserved by swinging it at the correct corners. If it is a parallelogram, it would maintain the scale by spinning it by a hundred and eighty degrees. Rotating the picture with fewer corners will change the final image size. Scale the picture is often scaled outwardly or inwardly. The final term image size will be bigger than the original image size while scaling downwards. Crop We just sample a part of the initial picture randomly. This part is then resized to the desired input size of the picture. This technique is commonly referred to as random cropping. The contrast between random cropping and translations is that cropping will decrease the input size like (256,256) somewhere (224, 224), while translations maintain the image's spatial dimensions. This may not be a label-conserving transformation depending on the decrease limit selected for cropping. Translation merely includes shifting the picture (or both) in the path of X or Y to prevent positional bias in the information, moving pictures left, right, up or down may be a very helpful conversion. For example, if all images in a dataset are centered, this would also require that the model be tested on images that are perfectly centered. Since the original image is translated in a direction, either a constant value such as 0s or 255s can fill the remaining space or it can be filled with random or Gaussian noise [13]. Gaussian Noise over-fitting generally occurs once your neural network attempts to understand features of high frequency that are not helpful..Gaussian noise, which has zero mean, has information points at all frequencies, distorting the high frequency characteristics efficiently. Adding the correct quantity of noise can improve the ability to learn.

Convolutional Neural Network
CNN is a neural network containing different layers, some of which are convolution layer, pooling layer, fully connected layer. The CNN image classification processes and classifies the picture into certain categories. Computers view an picture as a pixel array and it depends on the resolution of the picture. The picture will display hx wx d(h= height, w= width, d= dimension) based on the resolution Technically, deep learning CNN models to train and test, each input picture will pass through a sequence of convolution layers with filters (Kernals), Pooling, Fully Connected Layers (FC) and apply the Softmax function to classify an object with probabilistic values between 0 and 1. Is a full flow of CNN to process an input picture and classifies values-based items.

a. Convolution Layer
Convolution is the first layer that extracts the characteristics from the input picture. Convolution maintains the connection between pixels through the use of tiny input information squares for studying picture characteristics. It is a mathematical operation that takes two inputs, such as an image matrix and a filter or a kernel. The convolution of a 5x 5 picture matrix multiplies by a 3x 3 filter matrix called "Feature Map" . Convolution of an image with different filters can perform operations such as edge detection, blur and sharpen by applying filters. Stride is the amount that moves pixels across the input matrix. If the stride is 1 the filters are shifted into 1 pixel at a moment. If the strides are 2 we move the filters into 2 pixels at a time etc. filter sometimes doesn't match the input picture perfectly. Two choices are available: padding the image with zeros to suit it or Remove the portion of the picture that did not match the filter [14]. This is called a valid padding that only keeps portion of the picture valid. ReLU stands for Rectified Linear Unit for a non-linear operation. The output is ƒ(x) = max(0,x).ReLU's objective is to bring nonlinearity in our ConvNet,Since real world data would like to know that the non-negative linear values are our ConvNet.
b. Pooling Layer When pictures are too big, pooling layers will decrease the amount of parameters. Spatial pooling is also known as subsampling or down sampling, which decreases each map's dimensionality but maintains significant data. Spatial pooling of various kinds may be: Max Pooling, Average Pooling, Sum Pooling.
Max pooling takes the biggest component from the rectified feature map. It could also bring the average pooling to take the biggest component. Sum of all components in the function map call as sum pooling. Mostly used pooling is maxpooling. The next easy step is to flatten the pooled feature map into a number (a lengthy vector) sequential column. This enables data to become the input layer for further processing of an artificial neural network c. Fully Connected layer (FC layer) The final layer we call as Fully Connected layer(FC layer), each neuron in the previous layer is linked to each neuron in FC layer.The convolution and pooling layers could only extract characteristics from the initial pictures and decrease the amount of parameters. However, we need to use the fully linked layer to produce an output equivalent to the amount of class that we need in order to create the final output. It is difficult with only the convolution layers to achieve that amount. Convolution layers produce 3D maps while we only need the output if an picture belongs to a specific class. we have an activation function such as softmax or sigmoid to classify the outputs as tumor, non-tumor The output layer has a loss function, such as binary cross-entropy, to predict the loss. When the forward pass is done, weight and distortion of error and loss decrease are upgraded.
Finally, we concluded the CNN architecture process as, we began with an input picture and used various characteristics for creating a feature map. The ReLU was used to improve nonlinearity and a pooling layer was implemented on each feature map. All the pictures were flattened in a lengthy vector. We insert the vector into our fully connected layer. All characteristics have been processed via the network. It gave us the ultimate, totally related level that gave us the "vote" class for MRI brain pictures into pictures of tumors, and non tumors. as shown in

RESULT
we use dataset of 32 MRI brain images, these images are distributed into training set, testing set, each training set, testing set have two classes of tumor, non tumor MRI images. We build a modified CNN architecture that consolidates various convolution and pooling levels for higher learning rates. We construct CNN model with 2 convolutional and 2 maxpooling layers connected with one fully linked layer .After screening the model, we received good accuracy: 95.47 percent of the correct ranking samples after steps per epoch is 600 with a batch size of 32 and two epoch sizes. Here Steps per epoch (or number of iterations) indicates the complete amount of steps used to report one epoch completed and start the next one. I notice that as epochs increase, accuracy metric increases, while our val_acc metric decreases.This implies that model fits the training set better, but is losing its capacity to predict fresh information, suggesting that model is starting to fit into noise and is starting to overfit.

CONCLUSION
This study intended to design for effectively detection of tumors from MRI brain images, with limited amount of training data. In this study we propose image resizing techniques, these are very essential when images are in different size, different resolution, different type of Augmetation techniques, Convolutional Neural Network model for classification of MRI images into tumor or non-tumor. I've evaluated that with a limited amount of pictures the proposed CNN model performs very well.