example, Cho et al. examined the possibility of using
deep neural network to enhance gas sensing below the
limit of detection region to get more information
about the object (Cho, 2020). Furthermore, in the
medical field, AI techniques are useful as well. Levy
et al. conducted a study to evaluate the performance
of AI in the interpretation of focused assessment with
sonography in trauma (FAST) examination
abdominal views and concluded that AI is a feasible
approach to improve imaging interpretation accuracy
(Levy, 2023). As for the implementation of AI in
brain tumor detection, some researchers have
conducted researches on this topic before as well.
Almadhoun et al. used deep learning techniques to
design a model and test the performance of different
models in finishing this task (Almadhoun, 2022).
Hemanth et al. used techniques of machine learning
and data mining to explore the implementation of AI
in the task (Hemanth, 2019).
Considering the significance of this field, this
study aims to use AI algorithms to develop a model
that can help identify three main types of brain tumors
(i.e. Pituitary Tumors, Meningiomas, and Gliomas).
The specific technique used in this study is CNN. The
dataset used in this study is the Kaggle dataset “Brain
Tumor Classification (MRI)” which includes 3,264
MRI images of three main types of brain tumors and
no-tumor ones. This study altered the parameters and
the structure of the developed model to investigate the
performance of the CNN model in the brain tumor
classification task.
2 METHOD
2.1 Dataset Preparation
This study uses the dataset “Brain Tumor
Classification (MRI)” from Kaggle, which includes
3,264 images in total (Kaggle, 2020). Those images
in the dataset are on the RGB scale with various
image sizes. The dataset consists of four different
classes: “glioma_tumor”, “meningioma_tumor”,
“pituitary_tumor”, and “no_tumor” corresponding to
MRI images of glioma tumor patients, meningioma
tumor patients, pituitary tumor patients, and patients
with no tumor. The dataset has an original split of 394
images for testing and 2,870 images for training. Each
split includes images from all four classes.
After downloading the dataset from Kaggle and
extracting the file, this study loaded the dataset in the
memory. The testing set and the training set were
loaded separately. All sample images were loaded in
a size of 300 pixels by 300 pixels and preserved on
the RGB scale. This study reorganized the dataset
split to create a validation dataset for tracking the
model performance during the training progress. The
validation set was created from the shuffled training
set of the original split. The final split of the dataset
was 2,583 samples for the training set, 287 samples
in the validation set, and 394 samples in the testing
set. This study also employed some data
augmentation methods to help the model learn better
since the size of the chosen dataset cannot be
considered large. The contrast, brightness, and
saturation of sample images were randomly altered.
The contrast and the saturation were both set with an
upper bound of 1.3 and a lower bound of 0.7. The
brightness change was set with a max delta, which
means the max change, of 0.3. The sample images
were also randomly flipped left right and randomly
flipped up down. All three sets, training, validation,
and testing, were batched in a batch size of 32. The
reorganized dataset was prefetched. The prefetch
buffer size of the dataset is determined automatically,
to improve the efficiency of computation.
2.2 Convolutional Neural Network-
Based Prediction
This study used a CNN model. CNN is a type of
Neural Network (NN) that is mainly used to process
images or other kinds of grid-form data (Gu, 2018;
Yamashita, 2018). A CNN usually contains
convolutional (Conv) layers, pooling layers, and fully
connected (FC) layers. The FC layers can also be
called dense layers. The use of convolutional layers
in the model is the main difference between CNNs
and NNs. Filters are used in Conv layers to scan
through the input and generate feature maps
according to the result obtained from the scanning.
Those filters are also called kernels. The pooling
layers are another important kind of layer in a CNN
model. The input spatial dimension can be reduced by
using this kind of layer. Doing this has several
benefits, such as preventing possible overfitting,
helping the model to summarize, and reducing the
computation load. Pooling layers have several types,
like max pooling layers and global average pooling
layers. Global pooling layers are typically used
between the convolutional part and the fully
connected part of the model to connect those two
parts. Ordinary pooling layers are usually used after a
Conv layer or a block of Conv layers. The FC layers
are a kind of layer that consists of neurons. Each
neuron in this kind of layer is connected to every
neuron in the previous layer. This kind of layer can
be used to increase the complexity of the model or as
MLSCM 2024 - International Conference on Modern Logistics and Supply Chain Management