Lung cancer affects more than one million people in India per year. A lot of research is being carried out to detect and cure cancer. Detecting a Lung cancer initially requires detecting a lung mass which may be benign or malignant. Detecting a lung mass from the chest X-Ray can be challenging at times and often advanced medical imaging techniques like Computed Tomography (CT) is preferred. But this is not always possible for people at remote locations as they may not have access to such sophisticated medical equipment and/or expert Radiologists may not be available. Hence detecting a lung mass from a simple chest X-Ray is necessary. Convolutional Neural Networks (CNN) are preferred for working on Images. A comparative study is carried out by designing a CNN, varying the number hidden layers and the number of input images. The Network is designed, trained and used for prediction on a simple CPU, neither GPUs (Graphics Processing Unit) nor TPUs (Tensor Processing Units) are used.
Lung Cancer
Lung cancer is the most common cause of cancer related deaths in men and second most common cause in women (Br & Ng, 2017). Lung Cancer is also called as Lung Carcinoma. It is a malignant Lung Tumor or Lung Mass which is characterized by uncontrolled cell growth in the tissues of lungs. A chest radiograph or chest X-Ray is one of the most cost effective and immediate medical imaging technique available and can be used as the first step in diagnosing Lung Cancer. A Chest Radiograph can be used to detect tumors in the lungs and then, advanced medical imaging techniques like CT and techniques like biopsy may be performed to know if the mass is malignant or benign and to know more about the type and extent of the disease in the victim.
Considering an image as a big matrix, a 'kernel' or convolutional matrix can be seen as a tiny matrix that is used for blurring, sharpening, edge detection, and other image processing functions. Essentially, a kernel sits on top of the big image and slides from left to right and up to down, applying a mathematical operation at each (x,y) coordinate in the original image. This operation is called Convolution and this can be used to extract features from the images and build very powerful deep learning systems. A Convolution operation has the following steps. Select a (x,y) coordinate from the original image, place the center of the kernel at this (x,y) coordinate. Then multiply each kernel value by the corresponding image pixel value and take the sum of all multiplication operations. Use the same (x,y) coordinate but this time store the kernel output in the same (x,y) location as the output image. Such a layer is called a convolutional layer. A Convolutional Neural Network is made up of many convolutional layers, pooling and fully connected layers. Convolutional Neural Networks are similar to ordinary Neural Networks but it is assumed that the inputs to CNNs are always images. The Maxpooling Layer, Dense Layer etc... are called non-convolutional layers in the convolutional neural network. The connectivity pattern between neurons resembles the organization of the animal visual cortex.