BCD Project Report
BCD Project Report
A PROJECT REPORT
Submitted
by
JESWIN A A (612821104024)
SUBASH R (612821104049)
VENKAT S K (612821104054)
THAMARAISELVAN R (612821104052)
A PROJECT REPORT
Submitte
d by
JESWIN A A (612821104024)
SUBASH R (612821104049)
VENKAT S K (612821104054)
THAMARAISELVAN R (612821104052)
MAY 2025
ANNA UNIVERSITY :: CHENNAI 600 025
MAY 2025
ANNA UNIVERSITY : CHENNAI 600 025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Assistant Professor
636701.
Thiru. M. Vadivelan, B.A., whose support and encouragement have been instrumental
in the successful completion of our project. Without his motivation, this endeavor
Dr. A. Sivakumar, M.E., M.S., DBA, DMM, Ph.D., LLB, for being a constant source
Computer Science and Engineering, for providing us with the necessary facilities and
We are also grateful to Mrs. M. Kiruthika Devi, M.E., Assistant Professor and
Assistant Professor, Department of Computer Science and Engineering, for her valuable
Above all, we thank Almighty God for His blessings and grace that guided us
through this journey. We also express our sincere appreciation to all the faculty
Finally, we dedicate this work to our beloved parents, whose love and
Blood cancer is a life-threatening condition that impairs the normal production and
function of blood cells. Early and accurate detection is essential for timely intervention
blood smears, are time-consuming, prone to error, and require expert interpretation.
model demonstrates high accuracy and fast inference, making it suitable for automated
blood cancer screening. Its lightweight architecture also allows deployment in edge and
shows the potential of deep learning to provide scalable, cost-effective, and accurate
diagnostics.
v
LIST OF TABLES
vi
LIST OF FIGURES
4.1.4 Preprocessing 34
vii
4.4.3 Confusion Matrix 44
viii
LIST OF ABBREVIATIONS
ABBREVIATION DEFINITION
AI Artificial Intelligence
ML Machine Learning
CT Computed Tomography
UI User Interface
x
UX User Experience
xi
TABLE OF CONTENTS
CHAPTER PAGE
TITLE
NO NO
ABSTRACT v
LIST OF TABLES vi
LIST OF ABBREVIATIONS ix
1 INTRODUTION
1.1 INTRODUTION 1
2 LITERATURE REVIEW
xii
2.1.1 CLUSTERING BASED SEGMENTATION 17
3 SYSTEM ANALYSIS
4 MODULES DESCRIPTION
xiii
5 SYSTEM DESIGN
4.3
5.1 WEB BASED
SYSTEM INTERFACE DEVELOPMENT AND
OVERVIEW 45
38
DEPLOYMENT
5.2 SYSTEM ARCHITECTURE 49
4.4 PERFORMANCE EVALUATION AND
5.3 USE CASE DIAGRAM
IMPROVEMENT 54
41
5.4 CLASS DIAGRAM 56
6 SYSTEM TESTING
7 SYSTEM IMPLEMENTATION
8 CONCLUSION 77
9 FUTURE ENHANCEMENTS 93
10 APPENDICES
INTRODUCTION
CHAPTER 2
LITERATURE
REVIEW
CHAPTER 3
SYSTEM
ANALYSIS
CHAPTER 4
MODULES
DESCRIPTION
CHAPTER 5
SYSTEM
DESIGN
CHAPTER 6
SYSTEM
TESTING
CHAPTER 7
SYSTEM
IMPLEMENTATION
CHAPTER 10
APPENDICES
CHAPTER 8
CONCLUSION
CHAPTER 9
FUTURE ENHANCEMENTS
REFERENCES
CHAPTER 1
INTRODUCTIO
1.1 Introduction
Blood cancer, also known as leukemia, is a life-threatening disease that disrupts the
normal function and production of blood cells, leading to severe health complications. It
impairs the immune system and blood clotting, causing symptoms such as fatigue,
excessive bleeding, and an increased risk of infections.
Early and accurate detection is essential for improving treatment outcomes and
survival rates. However, traditional diagnostic methods, such as manual microscopic
examination of blood smears, are often time-consuming, prone to human error, and rely
heavily on the expertise of pathologists. These limitations delay diagnosis and hinder
timely medical intervention.
A deep learning model built using MobileNetV2 can classify blood smear images
into cancerous and non-cancerous categories, offering an automated solution that
minimizes human error and reduces diagnostic time.
1
The model utilizes image preprocessing techniques such as contrast enhancement,
noise reduction, and normalization to improve classification accuracy. Additionally,
transfer learning is employed to fine-tune a pre-trained MobileNetV2 model, optimizing it
for the specific task of blood cancer detection.
The integration of AI into diagnostic workflows not only enhances accuracy but
also addresses the growing demand for faster, more consistent medical analysis. In regions
with limited access to trained medical professionals, automated tools can serve as crucial
support systems, enabling frontline healthcare workers to make informed decisions with
greater confidence.
With the potential to deploy on edge devices and cloud-based platforms, this deep
learning approach offers scalable and accessible solutions for healthcare settings,
especially in resource-constrained environments.
The model provides a promising tool for early detection and rapid diagnosis of
blood cancer, enhancing the potential for effective treatment and improving patient
outcomes.
2
3
1.2 Background and Motivation
In recent years, artificial intelligence (AI) and deep learning have emerged as
transformative technologies in medical image analysis. Convolutional Neural Networks
(CNNs), in particular, have demonstrated exceptional performance in tasks involving
visual pattern recognition, such as tumor detection and cell classification.
While traditional CNN architectures are accurate, they often demand significant
computational resources, restricting their use in real-time systems and mobile healthcare
solutions. Lightweight models such as MobileNetV2 address this limitation through
efficient architectural design, making them suitable for deployment in resource-
constrained environments without compromising diagnostic performance. These
advancements present new opportunities to automate and enhance the reliability of blood
cancer detection.
4
Motivation of the project:
The motivation for developing an automated blood cancer detection model is rooted
in the need for fast, consistent, and accessible diagnostic solutions, especially in areas with
limited healthcare infrastructure.
Many rural and underserved regions lack experienced hematologists and diagnostic
labs, resulting in delayed or missed diagnoses that can critically impact patient outcomes.
A system capable of rapid, high-accuracy classification of blood smear images could play
a vital role in addressing this diagnostic gap.
The MobileNetV2 architecture, due to its reduced computational footprint and high
inference speed, offers a practical path toward real-time implementation on mobile and
embedded devices.
Incorporating such systems into clinical practice supports not only timely diagnosis
but also equitable healthcare delivery. Patients in low-resource settings stand to benefit
most from the scalability and affordability of AI-based tools.
5
1.3 Purpose of the project
The purpose of this work is to create an accurate, efficient, and accessible diagnostic
system for detecting blood cancer through automated analysis of microscopic blood smear
images using deep learning techniques. The primary goal is to overcome the limitations of
traditional diagnostic approaches, which often involve manual microscopic examination
an error-prone, time-consuming, and expertise-dependent process. Such methods are not
only inconsistent across different observers but are also impractical for large-scale
screening or deployment in areas with limited medical infrastructure.
The project also emphasizes the practical application of the model by deploying it
through a user-friendly web interface using Python Flask, hosted within a Jupyter
Notebook environment via Anaconda Navigator. This interface allows healthcare
professionals to upload blood smear images and receive quick predictions along with
visual interpretability features.
6
Ultimately, the aim is to provide a scalable, fast, and low-cost solution that supports
early diagnosis, reduces clinical workload, and improves the reliability of cancer screening
thereby contributing to better treatment outcomes and more equitable healthcare delivery.
7
1.4 Problem Statement
Despite notable progress in medical technology, the early and accurate detection of
blood cancer remains a significant challenge, particularly in underserved and resource-
limited regions.
High error rates associated with human diagnosis increase the risk of
misclassification and delayed treatment.
8
1.5 Objectives of the project
The work is centered around the design, development, and evaluation of a deep
learning-based system for detecting blood cancer from microscopic blood smear images,
using the MobileNetV2 architecture.
Utilization of publicly available datasets, such as ALL-IDB and Kaggle blood smear
image repositories, consisting of 3,700 labeled images. These datasets are used to
train and validate the model.
Training and optimizing the model for high accuracy and efficient performance,
aiming to support real-time inference and deployment in resource-constrained
environments. Special emphasis is placed on achieving low computational overhead
without compromising prediction reliability.
The methodology adopted for detecting blood cancer using deep learning follows a
well-defined pipeline that ensures both high accuracy and computational efficiency. Each
step is designed to contribute toward building a lightweight, robust, and deployable
classification system using MobileNetV2.
1. Data Collection:
Blood smear images are collected from two publicly available datasets: ALL-IDB
and Kaggle. The combined dataset includes 3,700 labeled images, categorized into
cancerous and non-cancerous classes.
These datasets are chosen due to their quality, accessibility, and relevance to the
medical imaging domain.
Figure 1.7.1 Leukocytes types (a) Lymphocyte, (b) Monocyte, (c) Neutrophil,
(d) Eosinophil and (e) Basophil.
11
Figure 1.7.2 (A) Benign (B) Early Pre-b (C) Pre-b (D) Pro-b
2. Data Preprocessing:
Preprocessing improves image quality, enhances feature extraction, and prepares the
data for training. Key steps include:
Resizing: All images are resized to fit the input dimension required by MobileNetV2
(e.g., 224×224 pixels).
Normalization: Pixel values are scaled to the [0,1] range to improve model
convergence.
Noise Reduction: Filters such as Gaussian blur are applied to remove unwanted noise.
Contrast Enhancement: Histogram equalization and other methods are used to
improve cell boundary visibility.
Brightness Adjustment: Ensures consistent lighting conditions across samples.
Augmentation: Techniques like rotation, flipping, and zooming increase data
variability and prevent overfitting.
3. Model Selection:
4. Model Training:
The model is trained using transfer learning, where a pre-trained MobileNetV2 model
is fine-tuned on the blood smear dataset. Key points include:
12
Training on an 80/20 split between training and testing data
6. Result Visualization:
13
Figure 1.7.3 Project Flow
Empowering healthcare professionals with reliable, AI-assisted tools that can support
clinical decisions and serve as a second opinion.
Promoting the use of efficient AI models like MobileNetV2, which are suitable for
edge computing and mobile applications, enabling on-the-go diagnostics in clinics
and remote health camps.
From a research perspective, this effort also acts as a proof-of-concept for transitioning
AI models from theoretical and academic environments into practical, real-world medical
settings, thus narrowing the gap between laboratory prototypes and accessible healthcare
technologies.
14
Figure 1.8.1 Binary masked image and segmented image.
Figure 1.8.2 (A) Grayscale feature maps (B) Colored feature maps
15
1.9 Challenges Faced
Public datasets for blood cancer, such as ALL-IDB and those from Kaggle,
were limited in size and varied in resolution, labeling accuracy, and image
consistency. This made it difficult to ensure comprehensive and diverse training data.
Model interpretability:
These challenges were mitigated through the use of transfer learning, systematic
hyperparameter tuning, data augmentation, and by incorporating visualization tools to
16
support model interpretability and trust.
17
CHAPTER 2
LITERATURE REVIEW
With the advancement of deep learning, segmentation has evolved to include more
robust models like Fully Convolutional Networks (FCNs), U-Net, and its variants.
18
These architectures can capture hierarchical spatial features and are particularly
effective in pixel-wise classification tasks. U-Net, for instance, has become a popular
choice in biomedical segmentation due to its encoder-decoder structure that preserves
both low-level and high-level spatial information.
Recent studies have shown that integrating pre-trained backbones like ResNet or
MobileNetV2 into segmentation frameworks significantly improves accuracy while
reducing computational overhead. Such hybrid models offer promising performance in
real-time medical applications.
19
A. Rehman, S. Naz, M. Rauf, T. Saba, and A. A. Rehman, "Classification of
acute lymphoblastic leukemia using deep learning," Microscopy Research and
Technique, vol. 81, no. 11, pp. 1310–1317, 2018.
Earlier methods used handcrafted features such as cell shape, size, texture,
and color combined with classifiers like Support Vector Machines (SVM),
Decision Trees, and K-Nearest Neighbors (KNN). Although these techniques
showed promising results, they lacked robustness when dealing with variations in
staining, lighting, and cell morphology.
T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollár, "Focal loss for dense
object detection," IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 42, no. 2, pp. 318–327, 2020.
21
R. R. Sarraf, R. Golmohammadi, and N. Goel, "Machine Learning-Based
Classification of Leukemia Subtypes Using Microscopic Blood Images,"
International Journal of Advanced Computer Science and Applications, vol. 12,
no. 3, pp. 62–69, 202
Machine learning (ML) has been widely adopted in medical diagnostics due
to its ability to identify complex patterns within large datasets, especially in areas
like disease detection, prognosis, and treatment planning. Traditional machine
learning approaches in medical image analysis involve extracting handcrafted
features (e.g., texture, color, shape) followed by classification using models like
Support Vector Machines (SVM), Random Forests, and K-Nearest Neighbors
(KNN).
While these techniques provide decent results with limited data, they may
fall short when handling complex image variations, such as changes in
illumination or morphological inconsistencies among different patients.
Nonetheless, machine learning remains a cost-effective and computationally
efficient option for quick prototyping, real-time applications, and settings where
deep learning infrastructure is not feasible.
22
CHAPTER 3
SYSTEM
ANALYSIS
The processed images are then fed into the trained MobileNetV2 model, which
performs binary classification and outputs the diagnostic result. To aid clinical
interpretation and transparency, the system includes visualizations such as classification
probability scores, confusion matrices, and example predictions, along with plots of
training and validation metrics (loss and accuracy curves).
23
embedded systems. This ensures that the solution is accessible in remote or resource-
constrained settings.
Data security is addressed through secure handling of image files and optional
encryption modules to ensure patient confidentiality and compliance with medical data
standards.
The system is modular and future-ready, enabling integration with electronic health
records (EHR), mobile diagnostic applications, and cloud storage systems. Scalability is
a key feature, with provisions for handling large volumes of data and concurrent user
sessions. Additionally, the architecture supports future extensions to multi-class
classification, integration with clinical metadata, or expansion to other hematological
conditions.
This AI-powered diagnostic tool not only improves diagnostic turnaround time and
accuracy but also serves as a second-opinion system for clinicians, empowering them to
make timely and informed decisions. The combination of deep learning, real-time
accessibility, and clinical usability marks a significant advancement in digital pathology
and remote diagnostics.
Component Specification
Processor (CPU) Intel Core i5/i7 (8th Gen or above) / AMD Ryzen 5 or higher
24
Peripheral Keyboard, Mouse, Webcam (optional for further extensions)
Devices
Web Deployment Tool Flask (for building a web interface for prediction)
Dataset Sources:
25
cancerous.
TCIA - Blood smear images labeled with cancerous and non-cancerous.
To ensure the input data is clean and consistent, the following preprocessing
operations are performed:
26
3.1.5 Model Configuration and Training Setup
Parameter Configuration
Batch Size 32
Optimizer Adam
Metrics
Interface:
o Web-based interface built using Flask.
Deployment Tools:
27
o Jupyter Notebook (for testing) and Flask (for browser-based deployment).
Target Platforms:
o Hospitals, clinics, mobile applications, and cloud-based health monitoring
tools.
Special Features:
o Visual display of model predictions with highlighted regions in the image.
o Upload functionality for new test images.
28
3.2 Existing System
In current clinical practice, the detection and diagnosis of blood cancer primarily
rely on the manual examination of peripheral blood smear images under a
microscope. Experienced pathologists analyze the morphology of white blood cells
(WBCs) to identify any structural abnormalities or atypical cell appearances indicative
of leukemia or other hematological disorders. Although this method has been the gold
standard for decades, it is inherently subjective, time-consuming, and dependent on
expert interpretation. Variability in human observation may lead to inconsistent or
delayed diagnoses.
Subjectivity: Manual visual diagnosis is prone to human error and varies between
pathologists.
High Cost: Diagnostic procedures like biopsies and advanced imaging tools are
expensive and inaccessible in many rural regions.
The process begins with image acquisition, using publicly available datasets such as
ALL-IDB and Kaggle. These images undergo a series of preprocessing steps including
noise reduction, contrast enhancement, brightness adjustment, resizing (typically to
224×224 pixels), and normalization. These operations are critical for eliminating
irrelevant variations and enhancing the quality of features extracted by the model.
Once preprocessing is complete, the images are passed into the MobileNetV2
architecture, which performs feature extraction using depthwise separable convolutions.
This architecture drastically reduces the number of parameters compared to traditional
CNNs, while maintaining competitive accuracy. Key features such as cellular structure,
shape, and texture are extracted, allowing the model to identify patterns associated with
cancerous cells.
30
3.3.1 Advantages of Proposed System
The automated detection system minimizes the need for continuous expert
supervision, allowing hospitals and clinics to optimize their workflow and focus on
critical cases.
31
Cost-Effective Solution
By integrating deep learning with automated analysis, the system reduces the
costs associated with manual microscopic examinations and extensive laboratory
procedures.
Deep Learning
Feature Manual System Traditional ML
(CNN)
Medium
Expertise
High (pathologists) (engineers+ Low after training
Required
clinicians)
Hardware
Low Low to Medium High
Requirement
32
CHAPTER 4
MODULES
DESCRIPTION
Accurate and early diagnosis of blood cancer using deep learning heavily
relies on the availability of high-quality, well-labeled image data. This phase of the
system involves two essential components: assembling a diverse and representative
dataset of microscopic blood smear images, and applying rigorous preprocessing
techniques to enhance the data's suitability for training a robust classification model.
Data Collection
33
ALL-IDB (Acute Lymphoblastic Leukemia Image Database):
Cancerous
Non-cancerous
34
Figure 4.1.2 Cancerous & Non Cancerous PBS image
• Data Preprocessing
Image Resizing:
Since MobileNetV2 requires a fixed input size of 224x224 pixels, all images
were resized accordingly using bilinear interpolation. This resizing ensures
compatibility with the architecture and reduces computational cost without
significant loss of detail.
Noise Reduction:
Image noise was removed using filters such as Gaussian blur and median
filters. These techniques help suppress unwanted pixel variations and background
artifacts, making key features like cell boundaries and nuclei clearer.
35
Contrast Enhancement:
Brightness Adjustment:
Normalization:
Data Augmentation:
One of the major challenges faced was class imbalance, where fewer
cancerous images were available. To mitigate this and increase model
generalization, several augmentation techniques were applied:
Horizontal and vertical flipping
Random rotations (up to 30 degrees)
Zooming in/out
Width and height shifts
Implementation Tools
The preprocessing pipeline was built using libraries and frameworks such as:
By meticulously processing the input data, the system ensures that only clean, high-
quality, and well-augmented images are fed into the model. This not only improves
training outcomes but also enhances the final classification accuracy of blood cancer
detection, making the model more reliable in clinical and real-time applications.
37
Figure 4.1.4 Preprocessing
38
4.2 Model Training
Transfer learning is employed to retain the learned features from the early layers of
the pre-trained model while adapting the deeper layers to the specific characteristics of
blood smear images. For smaller datasets, freezing most of the base layers and only
training the top layers may yield optimal results. In cases where the dataset is
sufficiently large or diverse, selective fine-tuning of deeper layers can be performed to
39
improve feature specialization.
A final Dense output layer with a sigmoid (for binary classification) or softmax
(for multi-class classification) activation function.
The integrated model is compiled using optimizers like Adam, with a binary cross-
entropy loss function (for binary classification) or categorical cross-entropy (for multi-
class). The learning rate is carefully tuned to ensure stable convergence.
After integration, the model architecture is summarized and visualized to verify the
structure. The number of trainable vs. non-trainable parameters is monitored,
especially when partial fine-tuning is applied.
40
Figure 4.2.1 General CNN architecture for leukocytes classification
41
42
4.3 Web based Interface development and Deployment
1. Front-End Development:
Image Upload Panel: Allows users to browse and upload blood smear images for
diagnosis.
The backend is developed using the Python Flask framework due to its
simplicity, flexibility, and seamless integration with machine learning models.
43
Prediction Pipeline: Upon receiving an image, the backend handles preprocessing
(resizing, normalization) and passes it to the model for inference.
Routing: Flask routes manage page navigation (/, /upload, /predict) and handle data
exchange between frontend and backend.
Validation: Ensuring the file format is acceptable (JPEG/PNG) and the file size is
manageable.
5. Deployment Strategy:
Security measures are taken to ensure that sensitive medical images are not stored
permanently:
Evaluating the model’s performance is a critical step in ensuring that the system not
only achieves high accuracy but also generalizes well to unseen data. This section outlines
the metrics used for evaluation, visualization techniques to interpret performance, and
strategies applied to enhance the overall accuracy and reliability of the system.
These include:
Accuracy:
Measures the overall percentage of correctly predicted instances, both
cancerous and non-cancerous. It provides a general indication of model performance
but can be misleading in imbalanced datasets.
Precision:
Calculates how many of the samples predicted as "cancerous" are truly
positive. High precision reduces false positives, making it essential in medical
diagnostics to avoid unnecessary concern or treatment.
Recall (Sensitivity):
Determines how many of the actual cancerous cases were correctly identified.
A high recall is vital in medical applications to avoid missing a true positive case,
which can be life-threatening.
F1-Score:
A harmonic mean of precision and recall. This score is particularly useful in
cases of class imbalance, providing a balanced measure of the model's ability to
identify true positives without over-predicting.
46
Evaluation Techniques
To gain deeper insights into the model’s behavior during training and testing, the
following evaluation techniques are used:
Confusion Matrix:
A tabular representation of actual versus predicted classes. It helps visualize
the true positives, true negatives, false positives, and false negatives, offering a clear
breakdown of where the model may be underperforming.
o Overfitting: Where the model performs well on training data but poorly on
validation data.
o Underfitting: Where the model fails to capture patterns in both training and
validation data.
Classification Report:
Includes a summary of precision, recall, F1-score, and support for each class,
helping further evaluate how the model performs on individual categories
(cancerous vs non-cancerous).
Improvement Strategies
Data Augmentation:
Techniques such as flipping, rotation, zooming, and shifting are used to
synthetically expand the dataset. This helps in making the model more generalizable
and reduces overfitting, especially in cases of limited medical image data.
47
Transfer Learning and Fine-Tuning:
The MobileNetV2 model is initially used with pre-trained weights. Later,
selected layers are unfrozen and fine-tuned using the blood smear dataset. This
process adapts the model to the specific features relevant to blood cancer
classification.
Hyperparameter Tuning:
Key training parameters such as learning rate, batch size, number of epochs,
and optimizer are systematically adjusted. This tuning enhances convergence and
helps achieve optimal performance on validation data.
48
Figure 4.4.2 Performance Evaluation
49
CHAPTER 5
SYSTEM DESIGN
System design is a crucial phase that defines the framework for building an
efficient, reliable, and user-friendly solution for blood cancer detection based on deep
learning techniques. The design decisions made during this phase impact the overall
system's performance, scalability, maintainability, and user adoption, especially when
applied in critical healthcare environments.
The primary objective of this system is to accurately classify blood smear images
into cancerous or non-cancerous categories using a MobileNetV2-based deep learning
model. The design focuses not only on achieving high predictive accuracy but also on
ensuring smooth user interaction, fast response times, and the ability to integrate
seamlessly with various deployment platforms, such as web browsers, mobile devices,
and cloud environments.
The general design considerations are broken down into the following components:
1. Understanding Requirements
Before initiating the system design, a thorough analysis of functional and non-
functional requirements was performed:
Functional Requirements:
50
Non-Functional Requirements:
2. System Modularity
The system is designed using a modular approach where each major task is handled
by a dedicated component:
Visualization Module:
Displays outputs like prediction labels (Cancerous/Non-Cancerous) and
generates graphical representations of model performance metrics, including
confusion matrix, accuracy scores, and others.
51
3. Selection of Tools and Technologies
1. Image Upload: The user uploads a blood smear image via the web interface.
3. Model Prediction: The MobileNetV2 model processes the image and outputs a
prediction.
5. Display and Visualization: The result is shown on the interface along with any
relevant confidence scores or additional visualizations.
53
5.2 System Architecture
The architecture adopts a modular and layered design philosophy, where each
module focuses on a specific responsibility. This separation of concerns allows the system
to be more organized, flexible, and easier to maintain or upgrade without disrupting the
entire workflow. The user interface layer handles the interactions with users, including
uploading blood smear images. The backend processing layer is responsible for
preprocessing these images through techniques such as noise reduction, contrast
enhancement, resizing, and normalization to ensure high-quality inputs for the model.
54
The blood cancer detection system comprises the following major layers:
Purpose:
Facilitates interaction between the user and the system.
Components:
o Web pages developed using HTML5, CSS3, and Bootstrap for
responsive design.
o Image upload interface where users can select and submit blood smear
images.
o Display area for prediction results and performance visualizations.
Key Features:
o User-friendly and intuitive layout.
o Mobile-responsive interface for accessibility on different devices.
Purpose:
Acts as a bridge between the frontend and the machine learning model,
handling business logic, requests, and responses.
Components:
55
Key Features:
Purpose:
Performs the core machine learning tasks: analyzing the input images and
classifying them as cancerous or non-cancerous.
Components:
o Pre-trained MobileNetV2 model fine-tuned for blood smear
classification.
o TensorFlow and Keras frameworks for model loading, inference, and
performance evaluation.
Key Features:
o Lightweight architecture for fast inference.
o High classification accuracy (achieving around 98.6% on test data).
o Ability to run on local servers, cloud, or mobile platforms.
Components:
56
precision-recall charts.
Key Features:
Purpose:
Manages temporary handling of images during processing. Permanent storage
is optional based on deployment requirements.
Components:
Key Features:
6. Security Layer
Purpose:
Protects user data and ensures secure operation of the system.
Components:
57
Figure 5.2.1 System Architecture
58
5.3 Use Case Diagram
The use case diagram represents the functional interactions between the user and the
blood cancer detection system.
It captures the different functionalities provided by the system and shows how the
external user interacts with these functionalities.
In this system, the primary actor is the User, who interacts with the system to
perform tasks such as uploading blood smear images, receiving prediction results, and
visualizing outcomes.
` The use case diagram ensures that all major user activities are clearly defined,
helping to guide both the development and validation processes.
Upload Image: Allows the user to upload a blood smear image for analysis.
Preprocess Image: Automatically triggered after upload to enhance and prepare the
image.
Classify Image: Uses the MobileNetV2 model to predict if the image is cancerous
or non-cancerous.
This use case structure ensures that the system remains user-friendly while
maintaining a high degree of technical accuracy and reliability.
59
Figure 5.3.1 Use Case Diagram
The use case diagram illustrates the interactions between the user and the blood
cancer detection system. The primary actor, the user, engages with the system by
uploading blood smear images for analysis. Once an image is uploaded, the system
automatically initiates preprocessing operations to enhance the image quality and
prepare it for classification. The deep learning model based on MobileNetV2 processes
the image and predicts whether it is cancerous or non-cancerous.
The system then displays the prediction result to the user in a clear and interpretable
format. Additionally, users have the option to view detailed visualizations of the
processed image, such as highlighted affected regions or prediction confidence levels.
This structured representation of system functionalities helps in understanding user
roles, system boundaries, and the flow of activities at a glance. It also assists developers
in ensuring that all user needs are systematically addressed in the system design.
60
5.4 Class Diagram
The class diagram provides a static view of the blood cancer detection
system’s structure by illustrating the key classes, their attributes, methods, and the
relationships between them. It captures the object-oriented design of the system
and helps in visualizing how data and functionalities are logically organized.
File Handler: Responsible for managing file operations like saving uploaded
images and accessing processed images.
61
Figure 5.4.1 Class Diagram
The class diagram shows the main components of the blood cancer detection system
and their relationships. It highlights the core classes, including UserInterface,
ImageProcessor, PredictionModel, ResultVisualizer, and FileHandler.
Each class has specific attributes and methods that define its responsibilities. The
diagram also shows how these classes interact with one another to perform tasks such as
image uploading, preprocessing, prediction, and result visualization.
62
5.5 Activity Diagram
The activity diagram models the workflow of the blood cancer detection
system by illustrating the sequence of activities performed from image upload to
final result visualization.
The typical flow starts when a user uploads a blood smear image through
the user interface. The system then preprocesses the image, applying operations
such as noise removal, contrast adjustment, resizing, and normalization to
enhance image quality.
After preprocessing, the image is fed into the trained MobileNetV2 model
for classification. Based on the prediction output, the system identifies whether
the image indicates a cancerous or non-cancerous condition.
The classified result is then displayed to the user. Additionally, the system
may provide detailed visualization of the results, such as highlighting affected
areas or displaying prediction confidence.
The activity diagram clearly outlines these sequential steps, decisions, and
possible outcomes, offering a high-level view of the entire operational flow of the
system.
Using an activity diagram makes it easier to visualize the paths users and
data take through the system, supports better process understanding, and assists
developers and stakeholders in identifying potential improvements or
optimizations in the workflow.
63
Figure 5.5.1 Activity Diagram
The activity diagram illustrates the detailed workflow followed by the blood
cancer detection system from the moment a user uploads a blood smear image to the
final display of the diagnosis result.
The process begins with the user uploading the blood smear image through the
system interface. Once uploaded, the system initiates preprocessing on the image to
ensure it is of suitable quality for classification.
64
The MobileNetV2 model then extracts features using its convolutional neural
network (CNN) layers, capturing the critical patterns and structures present in the
blood smear image.
Following feature extraction, the system proceeds to classify the image. At this
point, a decision is made:
If cancer is detected, the system will display a "Cancerous" result to the user and
proceed to generate a detailed report summarizing the findings.
Finally, after either path, the activity concludes, ensuring that every blood smear
image is processed efficiently and results are made available clearly to the user.
This structured flow ensures that all necessary operations are executed
systematically and that both the user experience and the backend processing are
optimized for accuracy and reliability -critical factors in healthcare-related
applications.
65
5.6 Sequence Diagram
The sequence diagram illustrates the dynamic behavior of the blood cancer
detection system by modeling the flow of interactions between key components over time.
It specifically captures how objects in the system collaborate and in what order these
interactions occur. In a healthcare-focused application like blood cancer detection,
understanding this interaction sequence is crucial to ensure accurate, efficient, and timely
predictions. In this system, the interaction begins when the User initiates an action by
uploading a blood smear image via the User Interface. This interaction is the starting
point of the sequence. The uploaded image is then passed to the Image Preprocessing
Module, which plays a critical role in preparing the image for analysis.
Once feature extraction is complete, the model processes the features to classify the
image as either cancerous or non-cancerous. The result of this classification is sent back
to the User Interface, which promptly displays the result to the user in an easy-to-
understand format.
In addition to displaying the result, the system may also offer the functionality to
generate a detailed report, summarizing the prediction confidence, probability scores,
and possibly including visual highlights to make the result interpretation easier for medical
66
professionals or patients.
Clear flow of control: each component knows exactly when and how to trigger the
next action.
By visualizing this workflow, developers, testers, and healthcare stakeholders can better
understand:
How to handle exceptions or errors if, for example, an image upload fails or model
inference is delayed.
Designing a clear and structured sequence diagram also greatly supports system
scalability and maintenance. If new functionalities like "multi-class cancer detection" or
"integration with cloud storage" are to be added in the future, the sequence diagram
provides a blueprint showing exactly where to introduce new processes without disrupting
the core workflow.
Thus, the sequence diagram plays a vital role in modeling not just the current
67
system but also preparing for its growth, making the blood cancer detection system robust,
understandable, and future-ready.
The sequence diagram shows how the user, user interface, preprocessing module,
and MobileNetV2 model interact over time. It begins with the image upload, followed by
preprocessing, feature extraction, and classification. The classified result is sent back to
the user for display.
This diagram helps visualize the flow of operations and the timing of
each interaction clearly and systematically.
68
CHAPTER 6
SYSTEM TESTING
System testing is a crucial phase in the development lifecycle of the blood cancer
detection system. It ensures that all components work together as intended and verifies that
the system meets the specified requirements in terms of functionality, performance,
reliability, and usability. In a healthcare-related application, testing becomes even more
critical because incorrect outputs can have serious consequences.
The objective of system testing is to validate the end-to-end workflow, from image
upload to final diagnosis display, under various conditions. This includes testing the
system’s ability to handle different types of blood smear images, ensuring consistent
performance across different devices, and verifying the accuracy of classification results.
Both functional and non-functional aspects of the system are thoroughly tested.
Functional testing ensures that each module -such as image preprocessing, model
prediction, and result visualization -behaves correctly. Non-functional testing focuses on
performance (response time), usability (ease of interaction), scalability (handling multiple
requests), and reliability (producing consistent results without failure).
Unit Testing: Testing individual modules like preprocessing and model inference
separately.
Integration Testing: Testing the interaction between modules, ensuring smooth
data flow from upload to prediction.
System Testing: Evaluating the complete system as a whole in a real-world
simulated environment.
User Acceptance Testing (UAT): Allowing potential end-users to interact with the
system and validate its usefulness and usability.
69
Proper documentation of test cases, expected outcomes, actual outcomes, and
analysis of discrepancies (if any) is maintained to support traceability and continuous
improvement.
Through comprehensive system testing, the reliability and robustness of the blood
cancer detection system are confirmed, building confidence in its deployment for clinical
or research use.
The system was tested to ensure users can upload blood smear images without errors.
Tests were performed for:
70
2. Image Preprocessing
Functional testing was applied to check if the preprocessing steps were properly
executed:
Resizing the image to match MobileNetV2's required input dimensions (224x224
pixels).
Normalization of pixel values to scale between 0 and 1.
Noise reduction and contrast enhancement were verified to ensure image quality
improvement without losing critical features.
Augmentation techniques like rotation, flipping, and zooming were applied during
training data preparation.
3. Model Prediction
5. Error Handling
Each module - upload, preprocessing, model prediction, and result display -was
tested to ensure smooth data flow without any data corruption or misinterpretation
between steps.
72
Figure 6.1.1 Functional Test
73
6.2 Non-functional Testing
Non-functional testing ensures that the blood cancer detection system not
only works correctly but also performs well under different conditions. It focuses on
aspects like usability, performance, reliability, and security, rather than specific
functionalities. Non-functional testing is important to verify that the system meets
quality standards and provides a good user experience.
1. Performance Testing
• The system's response time was tested by uploading different image sizes.
• The prediction result was returned within 2 to 4 seconds for standard blood smear
images.
• This ensures that the model processes inputs efficiently without noticeable delays.
2. Usability Testing
3. Reliability Testing
• The system was tested with multiple blood smear images back-to-back.
• It consistently provided accurate results without crashing or producing random
outputs.
• The prediction remained stable even after multiple consecutive uses.
74
4. Scalability Testing
• Tested with different images, and the server handled multiple prediction requests
without failure.
5. Compatibility Testing
• The web application was accessed using multiple browsers such as Chrome,
Firefox, and Edge.
• The interface and functionality remained consistent across all platforms without
errors.
6. Security Testing
• Basic security checks were implemented to prevent malicious file uploads (only
image files are allowed).
• No user data is stored permanently, ensuring privacy protection for the uploaded
images.
Functional Testing
To verify that each feature (image upload, prediction generation, result display)
operates according to specifications.
75
Performance Testing
To assess system responsiveness, especially the time taken to preprocess images and
generate predictions.
Usability Testing
To ensure the web interface is intuitive, responsive, and user-friendly.
Validation Testing
To confirm that the trained MobileNetV2 model provides accurate classifications on
unseen data.
Security Testing
To ensure that user data (uploaded images) is handled securely and not exposed.
During the testing phase of the Blood Cancer Detection system, a few minor issues
were identified that needed resolution for ensuring smooth and accurate operation in
practical environments such as hospitals, clinics, and cloud-based platforms.
While the model performed well in general, there were instances where it
occasionally misclassified rare edge-case samples. These samples were typically
outliers that did not fully resemble the general characteristics of cancerous or non-
cancerous cells in the dataset.
Size limit for image uploads: A size limit was set for image uploads to prevent the
system from encountering performance issues when processing large images. This
ensured the model could handle more typical image sizes quickly and efficiently.
78
Validation Results
Accuracy: 98.6% – The model correctly classified nearly all images in the test set,
showing its high reliability in detecting both cancerous and non-cancerous blood
cells.
Precision: 98.2% – This indicates that the model's positive predictions were highly
accurate, with minimal false positives.
Recall: 98.5% – The model performed well in identifying true positive cases,
ensuring that most cancerous cells were correctly flagged.
F1-Score: 98.3% – The F1-score, a balance between precision and recall, highlights
the model's effectiveness in maintaining both high sensitivity and accuracy.
These results reinforce that the system is highly effective and can be trusted for
practical deployment in clinical settings, hospitals, and on cloud-based platforms, where
accuracy and reliability are crucial. The high performance across various metrics
showcases the robustness of the MobileNetV2-based approach for blood cancer
detection.
Conclusion of Testing:
The results of system testing validate that the developed blood cancer detection
platform is both functional and reliable. The platform performs with high accuracy,
speed, and user-friendliness. During testing, only minimal bugs were identified, all of
which were promptly addressed. With these improvements in place, the system is now
fully prepared for real-world deployment, and it offers potential for future
enhancements.
79
CHAPTER 7
SYSTEM IMPLEMENTATION
Frontend Development focuses on the creation of the user interface, ensuring that
healthcare professionals can easily interact with the system by uploading blood
smear images, receiving predictions, and interpreting the results with minimal
effort.
Backend Development is responsible for the underlying system architecture,
managing the interaction between the frontend and the machine learning model. It
ensures smooth data flow, image processing, and result generation while
maintaining the integrity and performance of the system.
Machine Learning Integration bridges the technical gap between the data and the
user. This component integrates the deep learning model into the system, enabling it
to process uploaded images, classify them accurately, and provide reliable
predictions.
Together, these elements form a cohesive platform that enables efficient blood
cancer detection. In this chapter, we will explore each of these components in detail,
describing their design, implementation, and the challenges overcome to create a robust
and scalable solution.
The frontend of the blood cancer detection platform plays a critical role in providing an
intuitive and responsive interface for users, ensuring a smooth and efficient interaction
with the system. It is designed with healthcare professionals in mind, who may not
80
necessarily have extensive technical expertise, but need to upload images and receive
results quickly and accurately.
Key Features:
User Interface (UI): The design prioritizes simplicity and clarity, allowing users to
easily navigate the platform. The main features include an image upload section, a
progress indicator to show the status of the image upload, and a results section that
displays the classification outcome-whether the image is cancerous or non-
cancerous.
Responsive Design: Using HTML and CSS, the interface is optimized for
accessibility across different devices, ensuring that it works on desktops, tablets,
and mobile phones. The layout adjusts seamlessly to various screen sizes, allowing
users to access the platform in diverse environments such as hospitals, clinics, and
remote locations.
User Experience (UX): The platform was designed with the goal of making the
user experience as smooth as possible. Healthcare professionals can upload a blood
smear image, view its classification results, and receive actionable insights with just
a few clicks. This design approach minimizes user error and enhances efficiency in
clinical environments.
Technologies Used:
HTML/CSS: For structuring and styling the web pages. The design was kept simple
and clean to focus on usability and ease of navigation.
81
JavaScript: For client-side scripting, enabling real-time updates, drag-and-drop
upload, and user-friendly feedback mechanisms.
Bootstrap: A responsive front-end framework was used to create a fluid design that
adapts to different screen sizes. This is particularly useful for ensuring that the
platform can be accessed from mobile devices, a common scenario in clinical
environments.
The backend development of the blood cancer detection platform is the foundation
that supports the system’s functionality. It ensures the smooth processing of user
requests, the integration of the machine learning model, and the management of data
flow between the frontend and the model. The backend is responsible for image
handling, communication with the deep learning model, result generation, and ensuring
that all operations are executed efficiently.
Key Components:
Image Upload and Processing: Upon receiving an image from the frontend, the
backend handles the upload process, ensuring that images are validated (e.g.,
checking file format and size) before being processed. After validation, the backend
resizes the image to a format suitable for the machine learning model and stores it
temporarily for model inference.
Model Integration: The core functionality of the backend lies in integrating the
deep learning model with the web platform. Using TensorFlow and Keras, the
backend sends the processed image data to the trained MobileNetV2 model. Once
the model processes the image, the backend retrieves the prediction and returns it to
the frontend.
API and Server Communication: The backend is built using the Flask framework,
which handles all HTTP requests. When a user uploads an image, Flask routes the
request to the appropriate backend logic. It then communicates with the model and
82
returns the prediction results to the frontend, where they are displayed to the user.
Data Security and Privacy: Ensuring the privacy and security of the data is
paramount, especially when dealing with medical information. The backend
includes security measures such as data encryption, secure image upload, and
access control mechanisms to protect sensitive information. Additionally, secure
communication between the frontend and backend is achieved using HTTPS.
Technologies Used:
Flask: A lightweight Python web framework used to build the backend API. Flask
allows for efficient handling of HTTP requests, routing, and integration with the
machine learning model.
TensorFlow/Keras: These deep learning frameworks are used for integrating the
MobileNetV2 model into the backend, allowing the system to process uploaded
images and return predictions based on the model’s output.
Python: The programming language used for both backend development and model
integration. Python’s extensive support for libraries like Flask, TensorFlow, and
image processing makes it an ideal choice for this project.
Security: Technologies like SSL/TLS encryption and JWT (JSON Web Tokens)
are used to secure communication and protect data during transmission.
83
CHAPTER 8
CONCLUSION
The project successfully developed a lightweight, efficient, and highly accurate deep
learning-based system for blood cancer detection from microscopic blood smear images.
By leveraging the MobileNetV2 architecture along with transfer learning, the system was
able to achieve an optimal balance between classification performance and computational
efficiency, making it suitable for real-world deployment in clinics, hospitals, cloud
platforms, and mobile applications, particularly in resource-constrained environments
where access to expert diagnosis is limited.
These preprocessing steps improved the training process and enabled the model to
learn more robust and generalizable features. As a result, the MobileNetV2-based model
demonstrated superior performance, achieving an impressive 98.6% accuracy on the test
dataset while maintaining lightweight architecture suitable for real-time inference.
The integration of a web-based interface using Python Flask further enhanced the
usability of the system, allowing healthcare professionals to easily upload and classify
blood smear images without requiring extensive technical expertise.
This automation reduces diagnostic time, minimizes human error, supports early
disease detection, and facilitates faster clinical decision-making processes.
84
These challenges were systematically addressed through techniques such as data
augmentation, transfer learning, fine-tuning of model layers, hyperparameter optimization,
and careful evaluation using performance metrics like precision, recall, F1-score,
confusion matrix analysis, and accuracy.
Overall, this project demonstrates that deep learning, when carefully designed and
optimized, can serve as a powerful assistive tool in medical diagnostics. The work
provides a strong foundation for future research and development aimed at expanding AI-
based diagnostic systems into broader applications, including multi-class classification for
different types of leukemia and other hematological disorders.
In conclusion, the developed system not only advances the field of medical image
analysis but also contributes towards democratizing healthcare by making advanced
diagnostic capabilities more accessible, affordable, and efficient for diverse populations
across the world.
85
CHAPTER 9
FUTURE ENHANCEMENTS
The current blood cancer detection platform demonstrates high accuracy, reliability,
and user-friendliness. However, as technology and healthcare needs continue to evolve,
there are several potential areas for future improvement and expansion. Incorporating
these enhancements will ensure the system remains cutting-edge, scalable, and even more
beneficial for clinical usage.
1. Model Improvements
Multi-class Classification:
Extend the model to not only detect the presence of blood cancer but also
differentiate between various subtypes (e.g., ALL, AML, CLL, CML) for more
detailed diagnostic support.
Advanced Architectures:
Explore and integrate newer deep learning architectures like EfficientNet,
Vision Transformers, or hybrid models to potentially achieve even higher accuracy
and robustness.
Continual Learning:
Implement systems that allow the model to learn from new data over time,
improving its performance as more images and cases are collected.
2. Expanded Dataset
86
Real-World Data:
Integrate real-world clinical data, including images with different staining
techniques and magnifications, to further validate and strengthen the model.
Visualization Features:
Develop a dedicated mobile application for Android and iOS devices, making
the platform more accessible, especially in remote and resource-limited areas.
Offline Mode:
Enable offline prediction capabilities, allowing the model to run locally
without the need for constant internet access.
Cloud-Based Services:
Host the platform on scalable cloud services like AWS, Azure, or Google
Cloud to support a larger number of users simultaneously.
87
API Services:
Offer API endpoints so that hospitals and clinics can integrate the detection
capabilities into their own systems.
HIPAA Compliance:
Upgrade the platform’s security to comply with medical data protection
standards such as HIPAA, ensuring full patient data confidentiality.
EHR Connectivity:
Allow seamless integration with hospital EHR systems, enabling automatic
saving of diagnostic results into patient records for better case tracking and
historical analysis.
88
CHAPTER 10
APPENDICES
# app.py
# Save images to the 'static' folder as Flask serves images from this directory
UPLOAD_FOLDER = 'static/images/'
# Routes
@app.route('/')
@app.route('/first')
def first():
return render_template('index.html')
89
@app.route('/about')
def about():
return render_template('about.html')
@app.route('/service')
def service():
return render_template('service.html')
@app.route('/working')
def working():
return render_template('working.html')
@app.route('/upload')
def upload():
return render_template('upload.html')
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/chart')
def chart():
return render_template('chart.html')
@app.route('/preview', methods=["POST"])
90
def preview():
if request.method == 'POST':
dataset = request.files['datasetfile']
df = pd.read_csv(dataset, encoding='unicode_escape')
df.set_index('Id', inplace=True)
return render_template("preview.html", df_view=df)
@app.route("/notebook")
def notebook():
return render_template("notebook.html")
if img:
img_path = os.path.join(UPLOAD_FOLDER, img.filename)
img.save(img_path)
p = getPrediction(img_path)
91
if p == 0:
result = "Benign"
elif p == 1:
result = "Early Pre-B"
elif p == 2:
result = "Pre-B"
else:
result = "Pro-B"
if __name__ == "__main__":
if not os.path.exists(UPLOAD_FOLDER):
os.makedirs(UPLOAD_FOLDER)
app.run()
# main.py
import numpy as np
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import load_img, img_to_array
import os
return diagnosis
except Exception as e:
print(f"Error during prediction: {e}")
return none
93
10.2 Visuals of the Website
95
Figure 10.2.5 Features Page
97
Figure 10.2.8 Image Upload (2)
98
Figure 10.2.10 Stages Description Page
REFERENCES
[5] Bayramoglu, N. and J. Heikkilä, Transfer learning for cell nuclei classification
in histopathology images. In Computer Vision – ECCV 2016 Workshops. 2016.
[7] Jordan, M.I.; Mitchell, T.M. Machine learning: Trends, perspectives, and
prospects. Science 2015, 349, 255–260. [CrossRef] [PubMed]
[12] Clark, K., B. Vendt, K. Smith, J. Freymann, et al. (2013b). The cancer imaging
archive (TCIA): Maintaining and operating a public information repository.
Journal of Digital Imaging, 26(6), 1045–1057.
[13] Deng, S., X. Zhang, W. Yan, E. I. C. Chang, Y. Fan, M. Lai, and Y. Xu (2020).
Deep learning in digital pathology image analysis: a survey. IEEE
Transactions on Biomedical Engineering, 14(7), 470–487.
[14] Ding, Y., Y. Yang, and Y. Cui, Deep learning for classifying of white blood
cancer. In A.Gupta and R. Gupta (eds.), ISBI 2019 C-NMC Challenge:
Classification in Cancer Cell Imaging. Springer Singapore, 2019.
[16] Duggal, R., A. Gupta, R. Gupta, M. Wadhwa, et al., Overlapping cell nuclei
segmentation in microscopic images using deep belief networks. In
Proceedings of the Tenth Indian Conference on Computer Vision, Graphics and
Image Processing. 2016b.
[17] Gao, Z., L. Wang, L. Zhou, and J. Zhang (2017a). Hep-2 cell image
classification with deep convolutional neural networks. IEEE Journal of
Biomedical and Health Informatics, 21(2), 416–428.
101
Segmentation. In ICASSP 2020-2020 IEEE International Conference on
Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020a.
[19] Gehlot, S., A. Gupta, and R. Gupta (2020b). SDCT-AuxNetθ : DCT augmented
stain deconvolutional CNN with auxiliary classifier for cancer diagnosis.
Medical Image Analysis, 61, 101661. ISSN 1361-8415.
[20] Ghazvinian Zanjani, F., S. Zinger, P. de With, B. E. Bejnordi, and J. van der
Laak, Histopathology stain-color normalization using deep generative models.
In 1st Conference on Medical Imaging with Deep Learning (MIDL 2018). 2018.
[22] Gupta, A., R. Duggal, S. Gehlot, R. Gupta, A. Mangal, L. Kumar, N. Thakkar, and
D. Satpathy (2020b). GCTI-SN: Geometry-inspired chemical and tissue
invariant stain normalization of microscopic medical images. Medical Image
Analysis, 65, 101788.
[24] Gupta, A. and R. Gupta (2019d). SN-AM Dataset: White Blood Cancer Dataset
of B-ALL and MM for Stain Normalization [Data set]. The Cancer Imaging
Archive (TCIA).https://doi.org/10.7937/tcia.2019.of2w8lxr
103
104
105
106
107
108
109
110
111
112
113
114
115
116