0% found this document useful (0 votes)
542 views69 pages

Project Report

Uploaded by

Manu v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
542 views69 pages

Project Report

Uploaded by

Manu v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

JNANA SANGAMA, BELAGAVI -590 014

Project Report
on
“VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING AND
NEURAL NETWORK”

Submitted in partial fulfillment of the requirement for the award of degree of


BACHELOR OF ENGINEERING IN
COMPUTER SCIENCE AND ENGINEERING

Submitted by:

LIKHITH KUMAR V 4SM20CS029


PRASAD C R V 4SM20CS050
RAHUL R C 4SM20CS055
SANDEEP M N 4SM20CS067

PROJECT GUIDE PROJECT COORDINATOR


Prof. Ramesh B E MCA, M.Tech, Prof. Ramesh B E MCA, M.Tech,
Asso. Prof., Dept. of CS&E, Asso. Prof., Dept. of CS&E,
SJMIT, Chitradurga. SJMIT, Chitradurga.

HOD
Prof. Poral Nagaraj B.E, M.Tech,
Asso. Prof., & Head of Dept. of CS&E,
SJMIT, Chitradurga.

2023-2024

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


S.J.M Vidyapeetha®
Sri Jagadguru Mallikarjuna Murugharajendra
Institute of Technology
(Accredited by the NAAC with “B++ Grade”)
(Affiliated to Visvesvaraya Technological University, Belagavi, Recognized by AICTE,
New Delhi and Approved by Government of Karnataka)
P.B. No.73, NH4 By-pass, Chitradurga-577502, Karnataka State, INDIA.
S.J.M VIDYAPEETHA®
S.J.M INSTITUTE OF TECHNOLOGY
(Affiliated to Visvesvaraya Technological University, Belagavi)
P.B No.73, NH-4 by Pass Road, Chitradurga-577 502
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CERTIFICATE
This is to certify that the project work entitled “VITAMIN DEFICIENCY DETECTION
USING IMAGE PROCESSING AND NEURAL NETWORK” is a bonafide work carried out by
LIKHITH KUMAR V (4SM20CS029), PRASAD C R V (4SM20CS050), RAHUL R C
(4SM20CS055) and SANDEEP M N (4SM20CS067), in partial fulfillment for the award of degree
of Bachelor of Engineering in Computer Science & Engineering of the Visvesvaraya
Technological University, Belgaum during the academic year 2023-2024. It is certified that all
corrections/suggestions indicated for the Internal Assessment have been incorporated in the report
deposited in the departmental library. The project report has been approved as it satisfies the academic
requirements in respect of project work prescribed for the Bachelor of Engineering.

--------------------------- --------------------------- ---------------------------


Signature of the Guide Signature of the HOD Signature of the Principal
Prof. Ramesh B E MCA, M.Tech, Prof. Poral Nagaraj B.E, M.Tech, Dr. Bharath P B M.Tech, Ph.D.,
Asso. Prof., Dept. of CS&E, Asso. Prof., & Head of Dept. of CS&E, Principal,
SJMIT, Chitradurga. SJMIT, Chitradurga. SJMIT, Chitradurga.

External Viva
Name of the Examiners Signature with date

1. ……………………….. 1. ………………………..

2. ……………………….. 2. ………………………..
S.J.M VIDYAPEETHA®
S.J.M INSTITUTE OF TECHNOLOGY
(Affiliated to Visvesvaraya Technological University, Belagavi)
P.B No.73, NH-4 by Pass Road, Chitradurga-577 502
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

Declaration
We, LIKHITH KUMAR V (4SM20CS029), PRASAD C R V (4SM20CS050), RAHUL
R C (4SM20CS055) and SANDEEP M N (4SM20CS067), students pursuing in Bachelor of
Engineering, SJM Institute of Technology, Chitradurga, hereby declare that the project work entitled
“VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING AND NEURAL
NETWORK” has been carried out by us under the supervision and guidance of department faculty,
submitted in partial fulfillment for the award of Bachelor of Engineering degree in Computer
Science & Engineering from Visvesvaraya Technology University, Belgaum during academic year
2023-24. We also declare that, this work has not been submitted previously for the award of any degree
or diploma, by us, to any institution.

Place: Chitradurga LIKHITH KUMAR V (4SM20CS029)


Date: PRASAD C R V (4SM20CS050)
RAHUL R C (4SM20CS055)
SANDEEP M N (4SM20CS067)
ACKNOWLEDGEMENT

“Vision without action is a dream. Action without vision is simply passing the time. Action
with vision is making a positive difference.”

The satisfaction and euphoria that accompany the completion of any task would be
incomplete without the mention of the people who made it possible, whose constant guidance
and encouragement ground our efforts with success.
We consider it as a privilege to express our gratitude and respect to all those who guided
us in completion of project work. We would like to convey our pranama as and sincere gratitude
to his Holiness, Dr. Shivamurthy Murugha Sharanaru, President, SJM Vidyapeeth(R), Sri
Bruhanmatha, Chitradurga for providing us all the required facilities.
We will remain indebted forever to all the Management Authorities of SJM
Vidyapeetha(R), Sri Bruhanmatha, Chitradurga and support for carrying out this project
work successfully.
We extend our sincere and heartful thanks to Dr. Bharath P B M.Tech., Ph.D., Principal,
and Prof. Poral Nagaraj B.E, M.Tech., HOD, Department of Computer Science and
Engineering, for providing us the right ambience, constant inspiration and support for carrying
out this project work successfully.
We profoundly indebted to our Project Guide & Coordinator Prof. Ramesh B E M.C.A,

M.Tech., Asso. Prof., Department of Computer Science & Engineering, for innumerable acts of
timely advice, encouragement and we sincerely express our gratitude to him.
We express our enormous pleasure and thankfulness to all teaching and non-teaching staff
of the Department of Computer Science & Engineering.

Project Associates:
LIKHITH KUMAR V (4SM20CS029)
PRASAD C R V (4SM20CS050)
RAHUL R C (4SM20CS055)
SANDEEP M N (4SM20CS067)
DEDICATED TO OUR

BELOVED PARENTS
&
PROFESSORS
ABSTRACT
Our project introduces an innovative Android application designed for the early
detection of nail diseases. Utilizing image processing technology and machine learning
algorithms, the app offers users a user-friendly interface for capturing nail images and receiving
accurate disease classifications. With a focus on accessibility and convenience, our app
empowers users to monitor their nail health from the comfort of their homes, addressing
challenges such as limited access to healthcare professionals and subjective visual assessments.
By providing timely intervention opportunities, our project aims to contribute to improved
healthcare outcomes and overall well-being for users worldwide.
CONTENTS
ACKNOWLEDGEMENT i
ABSTRACT ii
CONTENTS iii
LIST OF FIGURES iv

Chapter No. Chapter Name Page No.


1 INTRODUCTION 1
2 LITERATURE SURVEY 2
3 SYSTEM REQUIREMENTS 10
4 PROBLEM STATEMENT 11
4.1 Objectives 12
4.2 Existing system 13
4.3 Proposed System 14
5 SYSTEM ARCHITECTURE 15
5.1 Use Case Diagram 16
5.2 Sequence Diagram 18
5.3 Activity Diagram 19
5.4 ER Diagram 20
5.5 Flow Chart 21
5.6 Data Flow Diagram 21
6 IMPLEMENTATION 23
6.1 Software Installation 23
6.2 Software development life cycle 32
6.3 Software Environment 35
6.4 Android Architecture 37
7 METHODOLOGY 43
8 SYSTEM TESTING 51
8.1 Types of Test & Test Cases 51
9 SNAPSHOTS 56
10 FUTURE ENHANCEMENT 59
CONCLUSION 60
REFERENCES 61
LIST OF FIGURES

Figure No. Figure Name Page No.


5.1 System Architecture 15
5.2 Use Case Diagram 16
5.3 Sequence Diagram 18
5.4 Activity Diagram 19
5.5 ER Diagram 20
5.6 Flow of our project 21
5.8 Data Flow Diagram 22
6.1 to 6.14 Step 2 to Step 14 25-31
6.15 Agile model 33
6.16 Android Architecture 37
9.1 Design & blue print of INITIAL SCREEN 56
9.2 Design & blue print of SIGN IN SCREEN 56
9.3 Design & blue print of REGISTER SCREEN 57
9.4 Design & blue print of IMAGE CAPTURE SCREEN 57
9.5 CAMERA PREVIEW 58
9.6 Design & blue print of RESULT SCREEN 58
VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 1

INTRODUCTION
In response to the growing need for proactive healthcare solutions, our project
introduces an innovative Android application designed for the early detection of nail
diseases. Utilizing advanced image processing technology and machine learning
algorithms, the application offers users a straightforward and user-friendly interface for
capturing nail images and receiving accurate disease classifications. Our primary focus is
on enhancing accessibility and convenience, recognizing the challenges posed by limited
access to healthcare professionals and the subjectivity inherent in visual assessments.

The motivation behind our project stems from the need to empower individuals in
monitoring their health proactively. Nail diseases, while often overlooked, can serve as
critical indicators of underlying medical conditions. However, the traditional diagnostic
process is fraught with challenges, including the need for specialized expertise and the
inconvenience of clinical visits. By providing users with a convenient tool for monitoring
their nail health from the comfort of their homes, our project aims to overcome these
barriers and facilitate early intervention opportunities.

Central to our project is the integration of advanced technologies, including image


processing and machine learning algorithms. Through continuous refinement and
optimization, our application is capable of accurately analyzing nail images and providing
users with timely disease classifications. This real-time feedback empowers users to take
proactive measures towards addressing potential health concerns, thereby contributing to
improved healthcare outcomes and overall well-being.

By offering a user-friendly interface and prioritizing accessibility, our application


aims to democratize healthcare and empower users to take control of their health. In a world
where preventive healthcare is increasingly valued, our project stands as a testament to the
transformative potential of technology in promoting proactive health practices. As we
continue to refine and expand our application, we remain committed to our vision of
improving healthcare outcomes and enhancing the well-being of users worldwide.

Dept. of CS&E, SJMIT, Chitradurga. Page | 1


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 2

LITERATURE SURVEY
[1] Title: "Convolutional Neural Networks for Nail Disease Detection: A
Promising Approach in Dermatology"

Authors: Abdullah Ajmal, Wakeel Ahmad, Syed M Adnan

This paper proposes a deep learning (DL) model utilizing Convolutional Neural
Networks (CNNs) for the classification and detection of human nail diseases. The study
emphasizes the significance of early and accurate detection in aiding timely interventions
and suitable treatment for nail diseases. Traditional diagnostic methods relying on
subjective visual assessment or lengthy and costly procedures are prone to human error or
resource constraints.

The authors address this gap by leveraging advancements in DL techniques,


particularly CNNs, to develop an automated system capable of assisting dermatologists and
healthcare professionals in diagnosing nail diseases with greater accuracy and efficiency.
They carefully curated a diverse dataset of nail images encompassing various types of nail
diseases and applied preprocessing techniques and data augmentation to enhance the
model's performance and robustness.

The proposed CNN model achieved impressive results, with an accuracy rate of
98.44% and additional evaluation metrics such as precision, recall, and F1-score yielding
values of 99.22%, 98.44%, and 99.02% respectively. These outcomes were compared with
state-of-the-art techniques, affirming the superiority of the proposed model. The study
highlights the potential benefits of DL techniques in enhancing healthcare practices,
improving dermatological diagnostics, and ultimately enhancing the overall well-being of
patients suffering from nail diseases.

The paper is structured into sections including Introduction, Literature Review,


Materials and Methods, Results and Discussion, and Conclusion. It provides a
comprehensive overview of the research conducted, detailing the methodology, evaluation
metrics, results, and implications for future research and clinical practice. Additionally, the
paper includes visual representations such as convolutional neural network architecture,
sample images from the dataset, confusion matrix, and plots illustrating the model's
accuracy and loss over training epochs.

Dept. of CS&E, SJMIT, Chitradurga. Page | 2


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

[2] Title:"Deep Learning based Classification of Human Nail Diseases using Color
Nail Images"

Authors: Senar Ali Yamac, Orhun Kuyucuoglu, Seyma Begiim Késeoglu and
Sezer Ulukaya

It addresses the critical issue of early detection of nail diseases, which can serve as
indicators of underlying health conditions. It underscores the significance of leveraging
artificial intelligence (AI) and machine learning, particularly deep learning, to automate the
detection process. By analyzing colour and shape changes in nail images, these
technologies can play a pivotal role in facilitating timely diagnosis and intervention,
thereby potentially improving health outcomes.

In the literature review section, the authors provide a succinct overview of prior
works in the field, discussing the methodologies and deep learning models employed for
nail disease classification. They delineate the datasets used, the number of disease classes
considered, and the corresponding accuracies achieved by various models in previous
studies. This contextualization serves to underscore the advancements made in the domain
while also identifying areas where further improvements can be made.

The methodology section elucidates the approach adopted by the authors, beginning
with the description of the dataset used for experimentation. The authors outline the
preprocessing steps undertaken, including image resizing and conversion into arrays.
Subsequently, they elucidate the data augmentation techniques employed to expand the
training set while ensuring that augmentation is applied exclusively to the training data to
prevent data leakage. The utilization of transfer learning, involving pre-trained CNN
models such as VGG16, DenseNet169, MobileNet, Xception, InceptionResNetV2, and
ResNet101V2, is elaborated upon, with particular emphasis on the performance of the
ResNet101V2 model, which yielded the highest accuracy of 89%.

Following the methodology, the authors delve into the model training process and
present the experimental results. They specify the training parameters, including batch size,
epochs, and learning rate, along with the optimization technique and loss function utilized
for model compilation. The results demonstrate the efficacy of the ResNet101V2 model in
comparison to other architectures, showcasing its superior performance in nail disease
classification tasks. Additionally, the paper discusses the confusion matrix generated to

Dept. of CS&E, SJMIT, Chitradurga. Page | 3


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

assess model performance across different disease classes, providing insights into areas of
strength and potential improvement.

In conclusion, the paper underscores the significance of the proposed approach in


automating nail disease classification, despite the constraints posed by the limited dataset
size. The authors highlight the achievements of their methodology while also outlining
avenues for future research, such as the exploration of hybrid fusion techniques and dataset
expansion. Overall, the paper contributes valuable insights to the field of dermatology,
showcasing the potential of deep learning models to enhance healthcare outcomes through
early disease detection and intervention.

[3] Title: “Detection and classification of nutrient deficiencies in plants using


machine learning”

Authors: Anu Jose, S Nandagopalan, Vidya Ubalanka and Dhanya Viswanath

Nutrient deficiency detection in plants has long been a concern in agriculture, with
a significant impact on productivity and yield. Traditional methods for identifying
deficiencies involve visual inspection and manual diagnosis by farmers, which can be
subjective and often leads to late interventions. The need for more objective and efficient
detection methods has driven researchers to explore innovative approaches.

The study titled “Detection and classification of nutrient deficiencies in plants using
machine learning”, emerges as a crucial contribution in the literature, presenting a
groundbreaking approach to address the challenges associated with nutrient deficiency
detection. The traditional approach of relying on visual symptoms is noted for its
limitations, and the paper proposes an intelligent system integrating image processing and
artificial neural networks (ANN) for automated classification.

Traditional methods of nutrient deficiency detection have relied heavily on visual


assessments, often leading to delayed or ineffective interventions. The study recognizes this
limitation and introduces a novel system that utilizes image processing techniques and
machine learning to automate the classification of nutrient deficiencies.

The literature review underscores the limitations of the traditional approach, where
farmers struggle to detect nutrient deficiencies accurately, leading to reduced productivity.
The work aims to revolutionize this process by introducing an advanced system capable of
classifying nutrient deficiencies based on the visual symptoms exhibited by plants.

Dept. of CS&E, SJMIT, Chitradurga. Page | 4


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

The challenges associated with nutrient deficiency detection, such as the inability
to identify symptoms accurately and the resultant decrease in productivity, are addressed
by the proposed system. The study emphasizes the significance of leveraging artificial
neural networks and image processing to provide a more objective and timely solution to
nutrient deficiency issues.

The study identifies the major nutrients crucial for plants—nitrogen, magnesium,
phosphorus, potassium, calcium, and sulphur—and outlines their respective deficiency
symptoms. By using a dataset of images depicting these deficiencies, the proposed system
is trained to classify and analyse leaves, providing farmers with an efficient tool for early
detection.

The literature survey also delves into related works, showcasing various methods
employed in nutrient deficiency detection across different plants. The research
acknowledges the diversity of approaches, including fuzzy logic, SVM-based techniques,
and genetic algorithms, in detecting deficiencies in plants.

In conclusion, the research significantly contributes to the field of agriculture by


introducing an intelligent system for nutrient deficiency detection. The integration of image
processing and machine learning not only addresses the shortcomings of traditional
methods but also empowers farmers with a proactive tool for enhancing crop productivity.
This study, with its comprehensive approach and innovative methodology, stands as a
cornerstone in reshaping the landscape of nutrient deficiency diagnostics in agricultural
settings.

[4] Title: “Detection of Plant Leaf Nutrients Using Convolutional Neural


Network-Based IoT Data Acquisition”

Authors: R. Sathyavania, K. JaganMohanb, B. Kalaavathi

Plant leaf nutrient detection has been a focal point in agricultural research,
prompting continuous exploration of innovative methodologies. Traditional approaches
often involve visual inspection, which is time-consuming, subjective, and prone to human
error. The study titled "Detection of Plant Leaf Nutrients Using Convolutional Neural
Network-Based IoT Data Acquisition" (R. Sathyavani, et al.) significantly contributes to
this field by introducing a technology-driven paradigm shift. The paper emphasizes the
challenges in traditional nutrient detection methods and proposes a groundbreaking

Dept. of CS&E, SJMIT, Chitradurga. Page | 5


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

solution leveraging Convolutional Neural Networks (CNN) and Internet of Things (IoT)
devices.

Historically, nutrient deficiency detection in plants has relied on visual symptoms,


a process that is both labour-intensive and limited by human perception. Sathyavani et al.'s
work recognizes these limitations and introduces an innovative approach using CNN for
automated nutrient analysis based on leaf images captured by IoT devices. This novel
methodology not only enhances accuracy but also expedites the detection process.

The literature survey highlights the inadequacies of traditional visual inspection


methods, emphasizing the subjective nature of human observation and the inefficiency in
analysing large datasets. Sathyavani et al.'s approach revolutionizes this by introducing a
technology-driven solution that automates the nutrient detection process, mitigating the
shortcomings of manual inspection.

The study brings attention to the importance of timely nutrient detection in plants
for optimal growth and productivity. Traditional methods often lead to delayed
identification of nutrient deficiencies, impacting the overall health of plants and resulting
in significant agricultural losses. Sathyavani et al.'s CNN-based approach addresses this
issue by providing a real-time, automated system capable of processing large datasets
efficiently.

Efficiency and accuracy are crucial factors in nutrient detection, especially when
dealing with a variety of plant species. Sathyavani et al. conduct a comprehensive analysis,
utilizing a 5-fold cross-validation on a dataset comprising 3000 images from various
disorders in five different plants. The results demonstrate the superiority of the proposed
CNN-based model over existing methods, showcasing its potential for widespread adoption
in the agricultural sector.

The literature survey underscores the transformative impact of the "Detection of


Plant Leaf Nutrients Using Convolutional Neural Network-Based IoT Data Acquisition"
study on the field of plant nutrient detection. By incorporating cutting-edge technologies,
such as CNN and IoT devices, the project not only addresses the challenges associated with
traditional methods but also presents a scalable and efficient solution for precision
agriculture. This research signifies a significant step forward in optimizing plant health and
enhancing agricultural productivity through technology-driven nutrient detection.

Dept. of CS&E, SJMIT, Chitradurga. Page | 6


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

[5] Title: “Using Deep Convolutional Neural Networks for Image-Based Diagnosis
of Nutrient Deficiencies in Rice”

Authors: Zhe Xu , Xi Guo, Anfan Zhu, Xiaolin He, Xiaomin Zhao ,Yi Han, and
Roshan Subedi

Nutrient deficiency detection in plants, particularly in crops like rice, has been a
subject of increasing importance for enhancing agricultural productivity. Traditional
approaches often involve manual inspection and analysis, which can be time-consuming
and labour-intensive. Recent advancements in computer vision and deep learning offer
promising alternatives for automating the identification of nutrient deficiencies in crops.

The research paper titled "Deep Learning Approaches for Nutrient Deficiency
Identification in Rice Plants" (Authors: Zhe Xu and Xi Guo) contributes significantly to
the literature by exploring the application of Deep Convolutional Neural Networks
(DCNNs) in the context of nutrient deficiency diagnosis. This study builds upon existing
methodologies and introduces innovative techniques to address the limitations of traditional
approaches.

A critical aspect addressed by Xu and Guo is the need for accurate and timely
nutrient deficiency identification. Traditional methods may involve manual observation,
leading to delays in detection. The proposed DCNN-based approach aims to streamline this
process, offering a more efficient and automated solution. The authors utilize advanced
architectures such as Inception-v3, ResNet50, Nas Net-Large, and DenseNet121 to achieve
high levels of accuracy in deficiency classification.

The literature survey emphasizes the advantages of DCNNs over conventional


machine learning methods. DCNNs, as demonstrated by Xu and Guo, exhibit superior
performance in handling complex image data, allowing for the identification of subtle
visual cues associated with nutrient deficiencies. The models are trained on a dataset
collected from hydroponic experiments, providing controlled conditions for precise
symptom manifestation.

The scalability and generalization of the proposed approach are crucial


considerations. Xu and Guo acknowledge the importance of collecting diverse datasets,
including outdoor images and field experiments, to enhance the model's ability to identify
nutrient deficiencies in real-world scenarios. The paper emphasizes the potential

Dept. of CS&E, SJMIT, Chitradurga. Page | 7


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

application of the developed model in a mobile diagnosis system, providing a practical tool
for farmers and agricultural practitioners.

Cost-effectiveness and accessibility are recurrent themes in the literature survey. By


leveraging DCNNs, Xu and Guo contribute to reducing the dependency on costly
laboratory procedures. The potential integration of the model into a mobile application
aligns with the goal of making nutrient deficiency diagnosis more accessible to a broader
demographic.

In conclusion, the literature survey highlights the significant contribution of "Deep


Learning Approaches for Nutrient Deficiency Identification in Rice Plants" to the field of
agricultural diagnostics.

[6] Title: "Vitamin Deficiency Detection Using Image Processing and Neural
Network"

Authours: Ahmed Saif Eldeen, Mohamed AitGacem, Saifeddin Alghlayini,


Wessam Shehieb and Mustahsan Mir

This paper presents a novel approach to address the pervasive issue of identifying
and addressing vitamin deficiencies. The project aims to develop a mobile application that
leverages image processing and artificial intelligence (AI) to enable users to detect potential
deficiencies by capturing images of specific body parts, including the eyes, lips, tongue,
and nails. By analyzing these images, the application not only identifies deficiencies but
also offers tailored recommendations for addressing them, thereby promoting better health
and nutritional awareness.

The project encompasses various key components, including symptom analysis,


neural network training, and the implementation of fuzzy logic for inference. Through
extensive research, the team establishes connections between known symptoms and
corresponding deficiencies, laying the groundwork for effective diagnosis. Convolutional
Neural Networks (CNN) are employed to recognize these symptoms, with a user-friendly
graphical interface facilitating image capture and analysis. Fuzzy logic is then utilized to
interpret image analysis results and provide recommendations based on confidence levels.

The methodology involves data collection, mobile application development, and the
implementation of fuzzy logic. A substantial database of images displaying symptoms and
deficiencies is gathered for training the neural network, while the mobile application is

Dept. of CS&E, SJMIT, Chitradurga. Page | 8


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

designed to facilitate easy image capture and analysis. Fuzzy logic rules are established to
correlate symptoms with deficiencies, enabling the system to provide accurate
recommendations.

Expected outcomes include a user-friendly mobile application capable of detecting


deficiencies, enhancing nutritional awareness, and providing specific recommendations for
addressing identified deficiencies. By enabling early detection and prevention of health
issues related to deficiencies, the project aims to make a significant impact on public health.

The significance and innovation of the project lie in its unique approach to
deficiency detection, utilizing image analysis and AI to empower individuals to take control
of their health. The non-invasive and accessible nature of the application distinguishes it as
a practical solution in the healthcare domain.

In conclusion, "Vitamin Deficiency Detection Using Image Processing and Neural


Network" represents an exciting advancement in healthcare technology, offering a practical
tool for deficiency detection and nutritional awareness. With further refinement and
collaboration with medical experts, the application has the potential to make a substantial
contribution to global health by addressing the widespread issue of vitamin deficiencies.

Dept. of CS&E, SJMIT, Chitradurga. Page | 9


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 3

SYSTEM REQUIREMENTS
➢ For development:

• Operating system: Windows 10/11

• Development environment: Android Studio & Visual Studio Code

• Processor: Minimum Intel i3 11th gen

• RAM: Minimum 8GB

• Storage: Minimum 15GB of free space

➢ At User-End:

• Smartphone with camera

• Operating system: Android 7 & above

• RAM: Minimum 2GB

Dept. of CS&E, SJMIT, Chitradurga. Page | 10


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 4

PROBLEM STATEMENT
In the realm of nail disease detection and management, several challenges persist,
hindering timely diagnosis and effective intervention. One of the primary issues revolves
around the reliance on traditional diagnostic methods, which often entail subjective visual
assessments by healthcare professionals. This subjectivity introduces inconsistencies in
disease identification, leading to potential misdiagnosis and delays in treatment. Moreover,
the necessity for specialized medical expertise and clinical visits poses significant barriers
to accessibility, particularly for individuals residing in remote or underserved areas. As a
result, many individuals may forego regular nail examinations, thereby increasing the risk
of undetected or untreated nail diseases.

Another critical concern within the existing system is the time-consuming nature of
traditional diagnostic procedures. Patients are often required to undergo lengthy
consultations and diagnostic tests, leading to delays in receiving disease classifications and
treatment recommendations. These delays can have detrimental effects on patients' health
outcomes, particularly in cases where early intervention is crucial for preventing disease
progression or complications. Furthermore, the need for frequent clinical visits imposes
additional burdens on both patients and healthcare systems, contributing to inefficiencies
and resource constraints.

Recognizing these challenges, there is a pressing need for a more accessible,


efficient, and user-friendly solution for nail disease detection. Such a solution should
empower individuals to monitor their nail health conveniently from their homes, reducing
reliance on specialized medical expertise and clinical visits. Additionally, the solution
should offer timely and accurate disease classifications, facilitating early intervention
opportunities and improving healthcare outcomes. By addressing these critical issues, our
project aims to revolutionize the field of nail disease detection, offering a scalable and
accessible solution for users worldwide.

Dept. of CS&E, SJMIT, Chitradurga. Page | 11


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

4.1 Objectives
Our project is driven by a set of clear objectives aimed at addressing the challenges
outlined in the problem statement and delivering tangible benefits to users. The overarching
goal of our project is to develop an Android application that significantly enhances the
accessibility and efficiency of nail disease detection.

To achieve this goal, our project objectives are as follows:

1. Develop a User-Friendly Application: Our primary objective is to create a user-friendly


Android application that offers a seamless and intuitive interface for users to capture nail
images and receive disease classifications. The application should be accessible to users of
all technological backgrounds, ensuring ease of use and widespread adoption.

2. Implement Image Processing Technology: We aim to incorporate advanced image


processing techniques into our application to enhance the accuracy of nail disease detection.
By preprocessing nail images and extracting relevant features, we seek to improve the
performance of our machine learning algorithms and provide users with more reliable
disease classifications.

3. Deploy Machine Learning Algorithms: Another objective is to deploy machine


learning algorithms, specifically Support Vector Machine (SVM), for nail disease
classification. By training our models on a diverse dataset of nail images, we aim to achieve
high levels of accuracy in disease identification and provide users with timely feedback on
their nail health.

4. Enable Real-Time Classification: Our project seeks to enable real-time disease


classification within the application, allowing users to receive instant feedback on the status
of their nail health. By providing timely information, we aim to empower users to take
proactive measures towards addressing potential health concerns and seeking appropriate
medical attention if necessary.

5. Provide Dietary Recommendations: In addition to disease classifications, we aim to


provide users with dietary recommendations to improve their overall health and vitamin
intake. By offering personalized suggestions based on their nail health status, we aim to
empower users to make informed decisions about their dietary habits and lifestyle choices.

Dept. of CS&E, SJMIT, Chitradurga. Page | 12


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

4.2 Existing System


The current landscape of nail disease detection is fraught with inherent limitations
and challenges, which impede the effectiveness of traditional diagnostic methods. In the
existing system, healthcare professionals often rely on subjective visual assessments to
identify nail diseases, leading to inconsistencies and potential misdiagnosis. This reliance
on visual inspection, coupled with the need for specialized medical expertise and clinical
visits, creates significant barriers to accessibility, particularly for individuals in remote or
underserved areas. Furthermore, the time-consuming nature of traditional diagnostic
procedures and the strain on healthcare resources exacerbate delays in receiving timely
disease classifications and treatment recommendations. These inherent disadvantages
underscore the urgent need for a more accessible, efficient, and user-friendly approach to
nail disease detection.

Disadvantages of the existing system include:

1. Subjective Visual Assessments: Traditional diagnostic methods often rely on subjective


visual assessments by healthcare professionals, leading to inconsistencies and potential
misdiagnosis.

2. Limited Accessibility: The need for specialized medical expertise and clinical visits
creates barriers to accessibility, particularly for individuals in remote or underserved areas.

3. Time-Consuming Procedures: Traditional diagnostic procedures can be time-


consuming, resulting in delays in receiving timely disease classifications and treatment
recommendations.

4. Resource Constraints: The reliance on specialized medical expertise and clinical


facilities can strain healthcare resources, leading to inefficiencies in the diagnostic process
and longer wait times for patients seeking nail examinations.

5. Limited Education and Awareness: There may be a lack of education and awareness
among the general population regarding nail health, hindering early detection efforts and
timely intervention.

6. Risk of Data Breaches: In cases where traditional diagnostic methods involve the
storage and sharing of patient data, there is a risk of data breaches and privacy violations,
compromising patient confidentiality and trust in the healthcare system.

Dept. of CS&E, SJMIT, Chitradurga. Page | 13


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

4.3 Proposed System


Our proposed system represents a paradigm shift in nail disease detection, offering
a comprehensive and user-centric approach that addresses the limitations of the existing
system. By leveraging cutting-edge technology and innovative methodologies, our system
aims to revolutionize the field of nail health monitoring, providing users with accessible,
efficient, and accurate disease classifications.

The key advantages of our proposed system include:

1. Automated Disease Classification: Unlike the subjective visual assessments employed


in the existing system, our proposed system utilizes advanced image processing technology
and machine learning algorithms to automate the process of nail disease classification. By
analyzing nail images with precision and consistency, our system ensures reliable disease
identifications, reducing the risk of misdiagnosis and facilitating timely interventions.

2. Accessibility and Convenience: One of the primary advantages of our proposed system
is its accessibility and convenience. Through the development of an Android application
with a user-friendly interface, users can easily capture nail images and receive disease
classifications from the comfort of their homes. This eliminates the need for specialized
medical expertise and clinical visits, making nail health monitoring more accessible to
individuals in remote or underserved areas.

3. Real-Time Feedback: Our system provides users with real-time feedback on their nail
health status, enabling prompt action in response to potential disease indicators. By offering
instant disease classifications within the application, users can take proactive measures
towards addressing nail health concerns and seeking appropriate medical attention if
necessary. This real-time feedback enhances the efficiency of the diagnostic process and
improves healthcare outcomes.

4. Educational Resources: In addition to disease classifications, our system provides users


with educational resources and dietary recommendations to improve their overall nail
health. By offering personalized suggestions based on disease classifications and nutritional
needs, we empower users to make informed decisions about their dietary habits and
lifestyle choices, promoting proactive healthcare practices.

Dept. of CS&E, SJMIT, Chitradurga. Page | 14


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 5

SYSTEM ARCHITECTURE
Initially, the user can log into our app using their username and password. If they
are a first-time user and not registered, they can sign up. Later, they can use the same
username and password to log in. After successful authentication, they can capture images
of their nails. These images will be sent to our trained model and compared with the dataset
to detect possible vitamin deficiencies. The results are then generated. Along with the
results, we will recommend some dietary information that they can follow to improve their
health.

Fig 5.1: System architecture

The system architecture figure 5.1 outlines the flow of actions within our application for
detecting vitamin deficiencies in nails.

1. User Authentication: The process begins with user authentication, where users can log
into the app using their username and password. If they are new users, they have the option
to sign up for an account.

2. Image Capture: Upon successful authentication, users can proceed to capture images of
their nails using the app's camera functionality. These images serve as input data for the
subsequent analysis.

3. Model Processing: The captured nail images are then sent to our trained machine learning
model, which is capable of detecting possible vitamin deficiencies based on predefined
patterns learned from a dataset.

Dept. of CS&E, SJMIT, Chitradurga. Page | 15


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

4. Result Generation: The model processes the images and generates results indicating the
presence or absence of vitamin deficiencies in the user's nails.

5. Dietary Recommendations: Along with the results, the application provides dietary
information and recommendations tailored to the user's specific nutritional needs. These
recommendations aim to improve the user's overall health and address any identified
deficiencies.

Overall, the system architecture diagram illustrates a streamlined process whereby


users can authenticate, capture nail images, receive analysis results, and access
personalized dietary recommendations within the application.

5.1 Use Case Diagram


The use case diagram 5.2 depicts the interactions between users and the server in the context
of various actions or functionalities within the application.

Fig 5.2: Use Case Diagram

Dept. of CS&E, SJMIT, Chitradurga. Page | 16


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

1. Register: This represents the use case where a new user registers for an account within
the application. The user provides necessary information such as username, password, and
possibly additional details during the registration process.

2. Login: This use case involves users logging into the application using their registered
credentials (username and password). Upon successful authentication, users gain access to
the application's features and functionalities.

3. User: This actor represents the users of the application, who interact with the system by
performing various actions such as registering, logging in, uploading images, viewing
results, and accessing suggestions.

4. Upload Image: This use case describes the action of users uploading images of their nails
to the application for analysis. The uploaded images serve as input data for detecting nail
problems.

5. Detection of Nail Problem: This use case involves the server-side functionality where
the uploaded nail images are processed and analyzed using machine learning algorithms.
The server detects any nail problems or abnormalities based on the uploaded images and
provides corresponding results.

6. Server: This actor represents the server-side component of the application, responsible
for processing user requests, handling image uploads, performing nail problem detection,
and generating results.

7. View Result: This use case allows users to view the analysis results generated by the
server after the nail images have been processed. The results typically include information
about any detected nail problems or abnormalities.

8. View Suggestion: This use case enables users to access suggestions or recommendations
provided by the application based on the analysis results. These suggestions may include
dietary recommendations or lifestyle changes aimed at improving nail health and
addressing any identified issues.

In summary, the use case diagram illustrates the various interactions and
functionalities within the application, highlighting the roles of users and the server in
performing actions such as registration, login, image uploading, problem detection, result
viewing, and suggestion access.

Dept. of CS&E, SJMIT, Chitradurga. Page | 17


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

5.2 Sequence Diagram


A sequence diagram in Unified Modelling Language (UML) is a kind of interaction
diagram that shows how processes operate with one another and in what order. It is a
construct of a Message Sequence Chart. Sequence diagrams are sometimes called event
diagrams, event scenarios, and timing diagrams.

The following figure 5.3 illustrates the sequence diagram of our application.

Fig 5.3: Sequence Diagram

Dept. of CS&E, SJMIT, Chitradurga. Page | 18


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

5.3 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities
and actions with support for choice, iteration and concurrency. In the Unified Modelling
Language, activity diagrams can be used to describe the business and operational step-by-
step workflows of components in a system. An activity diagram shows the overall flow of
control. The below figure 5.4 illustrates the flow of activity in our application.

Fig 5.4: Activity Diagram

Dept. of CS&E, SJMIT, Chitradurga. Page | 19


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

5.4 ER Diagram
Below figure 5.5 is an ER diagram. An Entity-Relationship (ER) diagram in
database design illustrates the relationships between entities within a database schema.
Entities represent real-world objects or concepts, such as customers, orders, or products,
depicted as rectangles with the entity's name inside. Relationships between entities are
shown with lines connecting them, indicating associations or dependencies. Cardinality and
participation constraints may also be included to specify the nature of the relationships. ER
diagrams help visualize the structure of a database schema, including the entities, attributes,
and relationships between them. They serve as a blueprint for designing and implementing
relational databases effectively.

Fig 5.5: ER Diagram

Dept. of CS&E, SJMIT, Chitradurga. Page | 20


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

5.5 Flow Chart


Initially, we will collect the image dataset for training the model. Once the dataset is loaded,
we will develop the model. Later, we will train and test it using an 80-20 split, with 80%
for training and 20% for testing. The trained model will then be integrated into our Android
application. Once the design of our application is ready, we will import the trained model
into Android Studio. Subsequently, we will develop the Android application and test it with
real-time data. After testing, we will export the Android application to our smartphones.
Once exported, the application can be used by anyone. Below figure 5.6 explain the same.

Fig 5.6: Flow of our project

5.6 Data Flow Diagram


A data flow diagram (DFD) is a graphical representation that illustrates how data
flows through a system. It's composed of various elements that depict the movement of
data between processes, data stores, and external entities. Here's a breakdown of the key
components of a DFD:

1. Processes (Rectangles): Processes represent actions or transformations performed on


data within the system. Each process takes input data, performs some operation on it, and
produces output data. Processes are typically labelled with descriptive names to indicate
their functions.

Dept. of CS&E, SJMIT, Chitradurga. Page | 21


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

2. Data Flows (Arrows): Data flows depict the movement of data between processes, data
stores, and external entities. They represent the paths along which data travels within the
system. Data flows are labelled to indicate the type of data being transferred and the
direction of flow.

3. Data Stores (Rectangles with Two Parallel Lines at the Bottom): Data stores represent
repositories where data is stored or retrieved within the system. They can represent
databases, files, or any other storage mechanism. Data stores are used to store persistent
data that needs to be accessed by different processes.

4. External Entities (Rectangles with Rounded Corners): External entities represent


sources or destinations of data that are external to the system being modelled. They
interact with the system by providing input data or receiving output data. External entities
can represent users, other systems, or external data sources.

Below figure 5.7 illustrates the data flow of different components of our diagram.

Fig 5.8: Data Flow Diagram

Dept. of CS&E, SJMIT, Chitradurga. Page | 22


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 6

IMPLEMENTATION
The implementation phase commences with the installation of essential software
tools to facilitate seamless development and testing. Android Studio, the official Integrated
Development Environment (IDE) for Android app development, is deployed to craft the
user-friendly interface and features of the Android application. Additionally, a Python
Integrated Development Environment (IDE) is installed to handle the training and testing
of machine learning models pivotal for nail disease detection.

6.1 Software Installation


Installing Android Studio on Windows is a comprehensive process that allows you to set
up a complete development environment for building Android applications. Here's a
detailed step-by-step guide to help you through the entire installation process:

• Download Android Studio:


o First, navigate to the official Android Studio website at
https://developer.android.com/studio. On the homepage, you'll find the
option to download Android Studio for Windows. Click on the "Download
Android Studio" button.
• Run the Installer:
o Once the download is complete, locate the downloaded executable file
(usually named something like android-studio-ide-xxxxxxx.exe) in your
Downloads folder or wherever you saved it. Double-click the file to launch
the Android Studio Setup Wizard.
• Choose Installation Type:
o The Android Studio Setup Wizard will prompt you to choose an installation
type. Select "Standard" if you want to install Android Studio with the default
settings. If you prefer to customize the installation, choose "Custom" and
specify the components you want to install. Click "Next" to continue.
• Select Components:
o In the next step, you'll be asked to choose the components you want to
install. This typically includes Android Studio, the Android SDK, and the
Android Virtual Device (AVD) emulator. Ensure that these components are
selected and click "Next" to proceed.
Dept. of CS&E, SJMIT, Chitradurga. Page | 23
VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• Choose Installation Location:


o Now, you'll need to choose the installation location for Android Studio and
the Android SDK. The default location is usually fine, but you can specify
a different directory if you prefer. Once you've chosen the installation
location, click "Next" to continue.
• Select Start Menu Folder:
o In this step, you can choose the Start Menu folder where Android Studio
shortcuts will be created. You can leave the default folder or specify a
different one. Click "Install" to begin the installation process.
• Install Android Studio:
o Android Studio will now begin installing the selected components. This
process may take some time depending on your internet connection speed
and the performance of your computer. You'll see a progress bar indicating
the installation progress.
• Complete Installation:
o Once the installation is complete, you'll see a confirmation message. Click
"Next" to proceed. You may also be prompted to import previous settings
from a previous installation of Android Studio. If this is your first time
installing Android Studio, you can choose the default settings. Click
"Finish" to complete the installation.
• Launch Android Studio:
o After installation, you can launch Android Studio from the Start menu or by
double-clicking the Android Studio icon on your desktop. The first time you
launch Android Studio, it may take some time to set up the initial
configuration.
• Set Up Android Studio:
o When you first launch Android Studio, you'll be prompted to set up the
Android SDK, download additional components, and configure emulator
settings. Follow the on-screen instructions to complete the setup process.
• Start Developing:
o Once Android Studio is set up, you're ready to start developing Android
applications. Create a new project, explore the features of Android Studio,
and begin coding your app!

By following these steps, you can install Android Studio on Windows and set up a complete
development environment for building Android applications.

Dept. of CS&E, SJMIT, Chitradurga. Page | 24


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Download and Install Android Studio

Step 1. To download the Android Studio, visit the official Android Studio website in your
web browser.

Step 2. Click on the "Download Android Studio" option.

Fig 6.1: Step 2

Step 3. Double-click on the downloaded "Android Studio-ide.exe" file.

Fig 6.2: Step 3

Dept. of CS&E, SJMIT, Chitradurga. Page | 25


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Step 4."Android Studio Setup" will appear on the screen and click "Next" to proceed.

Fig 6.3: Step 4

Step 5. Select the components that you want to install and click on the "Next" button.

Fig 6.4: Step 5

Dept. of CS&E, SJMIT, Chitradurga. Page | 26


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Step 6. Now, browse the location where you want to install the Android Studio and click
"Next" to proceed.

Fig 6.5: Step 6

Step 7. Choose a start menu folder for the "Android Studio" shortcut and click the "Install"
button to proceed.

Fig 6.6: Step 7

Dept. of CS&E, SJMIT, Chitradurga. Page | 27


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Step 8. After the successful completion of the installation, click on the "Next" button.

Fig 6.7: Step 8

Step 9. Click on the "Finish" button to proceed.

Fig 6.8: Step 9

Dept. of CS&E, SJMIT, Chitradurga. Page | 28


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Android Studio Setup Configuration

Step 10. "Android Studio Setup Wizard" will appear on the screen with the welcome
wizard. Click on the "Next" button.

Fig 6.9: Step 10

Step 11. Select (check) the "Standard" option if you are a beginner and do not have any
idea about Android Studio. It will install the most common settings and options for you.
Click "Next" to proceed.

Fig 6.10: Step 11

Dept. of CS&E, SJMIT, Chitradurga. Page | 29


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Step 12. Now, select the user interface theme as you want. (I prefer the Dark theme
(Dracula) that is most liked by the coders). Then, click on the "Next" button.

Fig 6.11: Step 12

Step 13. Now, click on the "Finish" button to download all the SDK components.

Fig 6.12: Step 13

Dept. of CS&E, SJMIT, Chitradurga. Page | 30


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

And, the downloading and installation process of components gets started.

Fig 6.13: Step 13 continued

Step 14. After downloading all the necessary components, click on the "Finish" button.

Fig 6.14: Step 14

Dept. of CS&E, SJMIT, Chitradurga. Page | 31


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

6.2 Software development life cycle


The meaning of Agile is swift or versatile. “Agile process model" refers to a
software development approach based on iterative development. Agile methods break tasks
into smaller iterations, or parts do not directly involve long term planning. The project
scope and requirements are laid down at the beginning of the development process. Plans
regarding the number of iterations, the duration and the scope of each iteration are clearly
defined in advance. Each iteration is considered as a short time "frame" in the Agile process
model, which typically lasts from one to four weeks. The division of the entire project into
smaller parts helps to minimize the project risk and to reduce the overall project delivery
time requirements. Each iteration involves a team working through a full software
development life cycle including planning, requirements analysis, design, coding, and
testing before a working product is demonstrated to the client.

Actually, Agile model refers to a group of development processes. These processes


share some basic characteristics but do have certain subtle differences among themselves.
A few Agile SDLC models are given below: Crystal A tern Feature-driven development
Scrum Extreme programming (XP) Lean development Unified process In the Agile model,
the requirements are decomposed into many small parts that can be incrementally
developed.

The Agile model adopts Iterative development. Each incremental part is developed
over an iteration. Each iteration is intended to be small and easily manageable and that can
be completed within a couple of weeks only. At a time one iteration is planned, developed
and deployed to the customers. Long-term plans are not made.

Agile model is the combination of iterative and incremental process models. Steps involve
in agile SDLC models are:

• Requirement gathering
• Requirement Analysis
• Design Coding
• Unit testing
• Acceptance testing

The time to complete an iteration is known as a Time Box. Time-box refers to the maximum
amount of time needed to deliver an iteration to customers. So, the end date for an iteration
does not change. Though the development team can decide to reduce the delivered
Dept. of CS&E, SJMIT, Chitradurga. Page | 32
VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

functionality during a Time-box if necessary to deliver it on time. The central principle of


the Agile model is the delivery of an increment to the customer after each Time-box.

Fig 6.15: Agile model

Principles of Agile model:

• To establish close contact with the customer during development and to gain a clear
understanding of various requirements, each Agile project usually includes a
customer representative on the team. At the end of each iteration stakeholders and
the customer representative review, the progress made and re-evaluate the
requirements.

• Agile model relies on working software deployment rather than comprehensive


documentation.

• Frequent delivery of incremental versions of the software to the customer


representative in intervals of few weeks.

• Requirement change requests from the customer are encouraged and efficiently
incorporated.

Dept. of CS&E, SJMIT, Chitradurga. Page | 33


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• It emphasizes on having efficient team members and enhancing communications


among them is given more importance. It is realized that enhanced communication
among the development team members can be achieved through face-to-face
communication rather than through the exchange of formal documents.

• It is recommended that the development team size should be kept small (5 to 9


people) to help the team members meaningfully engage in face-to-face
communication and have collaborative work environment.

• Agile development process usually deploys Pair Programming. In Pair


programming, two programmers work together at one work-station. One does code
while the other reviews the code as it is typed in. The two programmers switch their
roles every hour or so.

Advantages:

• Working through Pair programming produce well written compact programs which
has fewer errors as compared to programmers working alone.

• It reduces total development time of the whole project. Customer representatives


get the idea of updated software products after each iteration. So, it is easy for him
to change any requirement if needed.

Disadvantages:

• Due to lack of formal documents, it creates confusion and important decisions taken
during different phases can be misinterpreted at any time by different team
members.

• Due to the absence of proper documentation, when the project completes and the
developers are assigned to another project, maintenance of the developed project
can become a problem.

Dept. of CS&E, SJMIT, Chitradurga. Page | 34


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

6.3 Software environment


The software environment for Android development typically consists of the following
components:

• Operating System: You can develop Android applications on various operating


systems, including Windows, macOS, and Linux. However, macOS and Linux are
often preferred by developers due to their Unix-based nature, which provides better
compatibility with Android development tools.

• Integrated Development Environment (IDE): The primary tool for Android


development is Android Studio, which is an official IDE provided by Google.
Android Studio is based on IntelliJ IDEA and offers a feature-rich environment for
coding, debugging, and testing Android applications.

• Android SDK (Software Development Kit): The Android SDK provides the
necessary tools, libraries, and APIs for building Android applications. It includes
tools for compiling code, debugging, and packaging applications, as well as
platform-specific APIs for interacting with device features.

• Java Development Kit (JDK): Android applications are primarily developed using
the Java programming language. Therefore, you need to have the Java Development
Kit (JDK) installed on your system to compile and run Java code. Android Studio
comes bundled with OpenJDK, which is sufficient for most development purposes.

• Android Virtual Device (AVD): The Android Virtual Device is an emulator that
allows you to test your Android applications on virtual devices with different
configurations. You can create and manage virtual devices using the AVD Manager
in Android Studio.

• Version Control System: Version control systems like Git are essential for
managing source code and collaborating with other developers. Android Studio has
built-in support for Git, allowing you to easily commit, push, and pull changes to
and from remote repositories.

• Build Automation Tools: Gradle is the official build system for Android
development. It is responsible for compiling code, resolving dependencies, and
packaging applications into APK (Android Package) files. Android Studio

Dept. of CS&E, SJMIT, Chitradurga. Page | 35


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

integrates with Gradle, providing a user-friendly interface for configuring build


settings.

• Device Testing Tools: In addition to testing applications on virtual devices, it's


essential to test them on real Android devices to ensure compatibility and
performance. Android Studio supports deploying and debugging applications on
physical devices connected via USB or over a network.

• Third-Party Libraries and Frameworks: Developers often use third-party


libraries and frameworks to streamline development and add functionality to their
applications. Common examples include Retrofit for networking, Picasso for image
loading, and Dagger for dependency injection.

By setting up this software environment, you'll have everything you need to develop, test,
and deploy Android applications effectively.

Features: -

• Application framework enabling reuse and replacement of components

• Dalvik virtual machine optimized for mobile devices

• Integrated browser based on the open-source Web Kit engine

• Optimized graphics powered by a custom 2D graphics library; 3D graphics based


on the OpenGL ES 1.0 specification (hardware acceleration optional)

• SQLite for structured data storage

• Media support for common audio, video, and still image formats (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF)

• GSM Telephony (hardware dependent)

• Bluetooth, EDGE, 3G, and WIFI (hardware dependent)

• Camera, GPS, compass, and accelerometer (hardware dependent)

• Rich development environment including a device emulator, tools for debugging,


memory and performance profiling, and a plugin for the Eclipse IDE

Dept. of CS&E, SJMIT, Chitradurga. Page | 36


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

6.4 Android Architecture

Fig 6.16: Android architecture

The Android architecture consists of several layers that work together to provide a robust
platform for developing and running mobile applications. Understanding the Android
architecture is crucial for developers to build efficient and scalable applications. Here's an
overview of the Android architecture:

• Linux Kernel: At the core of the Android architecture lies the Linux kernel.
Android is built on top of the Linux operating system, which provides core services
such as hardware abstraction, memory management, process management, and
security features.

• Hardware Abstraction Layer (HAL): The Hardware Abstraction Layer (HAL)


provides a standardized interface for accessing hardware components such as
camera, audio, display, and sensors. It allows Android to support a wide range of
hardware configurations and device types.

• Android Runtime (ART): Android applications are primarily written in Java or


Kotlin and run on the Android Runtime (ART). ART is a managed runtime

Dept. of CS&E, SJMIT, Chitradurga. Page | 37


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

environment that executes application code and provides features such as memory
management, garbage collection, and runtime optimizations.

• Native C/C++ Libraries: Android includes a set of native C/C++ libraries that
provide core system functionality, such as graphics rendering (OpenGL ES),
database management (SQLite), and multimedia playback (Media framework).

• Java API Framework: The Java API Framework consists of a set of high-level
Java APIs that developers use to build Android applications. These APIs provide
access to system services and features, such as user interface components (Views
and ViewGroups), data storage (SharedPreferences, SQLite), connectivity (Wi-Fi,
Bluetooth), and location services (GPS, Maps).

• System Services: Android includes a set of system services that run in the
background and provide essential functionalities to applications. These services
include Activity Manager, Content Provider, Location Manager, Notification
Manager, and Telephony Manager.

• Application Framework: The Application Framework provides a set of reusable


components and libraries that developers use to build Android applications. It
includes components such as Activities, Fragments, Services, Broadcast Receivers,
and Content Providers, which form the building blocks of Android applications.

• User Interface (UI) Toolkit: Android provides a rich set of UI components and
widgets that developers use to create the user interface of their applications. These
components include layouts, views, widgets, and resource files (XML) for defining
UI layouts and styles.

• Android System Apps: Android comes pre-installed with a set of system apps that
provide core functionality, such as Phone, Contacts, Messaging, Browser, and
Settings. These apps are built using the same APIs and frameworks available to
third-party developers.

By understanding the Android architecture, developers can leverage the platform's features
and components effectively to build high-quality and performant applications for a wide
range of devices and use cases.

Dept. of CS&E, SJMIT, Chitradurga. Page | 38


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Hardware running Android

The Android operating system, initially released in 2008, has become one of the
most popular and versatile platforms for mobile devices, including cellphones, tablets,
netbooks, TVs, and more. The main supported platform for Android is the ARM
architecture, which provides efficient performance and power consumption suitable for
mobile devices.

The first commercially available phone to run Android was the HTC Dream,
released in October 2008. Since then, numerous devices from various manufacturers,
including Samsung, Google, and HTC, have adopted Android as their operating system.

In early 2010, Google collaborated with HTC to launch its flagship Android device,
the Nexus One, followed by the Samsung-made Nexus S later that year. Despite some initial
challenges with bugs, documentation, and QA infrastructure, developers quickly began
creating applications for the Android platform.

The Android Dev Phone, a SIM-unlocked and hardware-unlocked device designed


for advanced developers, provides an environment for testing and developing Android
applications. Additionally, the Android Software Development Kit (SDK) includes a
comprehensive set of development tools, such as a debugger, libraries, emulator,
documentation, and sample code.

Supported development platforms for building Android applications include Linux,


macOS, and Windows. The officially supported integrated development environment (IDE)
is Eclipse, though developers can use any text editor and command line tools to create,
build, and debug Android applications.

Android applications are packaged in .apk (Android Package) format, which


contains compiled byte code files (.dex), resource files, and other assets. These .apk files
are stored in the /data/app folder on the Android OS, accessible only to the root user for
security reasons.

Overall, the Android ecosystem offers a robust platform for developers to create a
wide range of applications for diverse hardware devices, leveraging the flexibility and
power of the ARM architecture and the comprehensive development tools provided by the
Android SDK.

Dept. of CS&E, SJMIT, Chitradurga. Page | 39


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Android operation System

Android is an operating system based on Linux with a Java programming interface.


It provides tools, e.g., a compiler, debugger and a device emulator as well as its own Java
Virtual machine (Dalvik Virtual Machine - DVM). Android is created by the Open Handset
Alliance which is led by Google. Android uses a special virtual machine, e.g., the Dalvik
Virtual Machine. Dalvik uses special bytecode. Therefore, you cannot run standard Java
bytecode on Android. Android provides a tool "dx" which allows to convert Java Class files
into "dex" (Dalvik Executable) files. Android applications are packed into an .apk (Android
Package) file by the program "aapt" (Android Asset Packaging Tool) To simplify
development Google provides the Android Development Tools (ADT) for Eclipse . The
ADT performs automatically the conversion from class to dex files and creates the apk
during deployment. Android supports 2-D and 3-D graphics using the OpenGL libraries
and supports data storage in a SQLite database. Every Android applications run in its own
process and under its own user id which is generated automatically by the Android system
during deployment. Therefore, the application is isolated from other running applications
and a misbehaving application cannot easily harm other Android applications.

Important Android Components

Several key components form the foundation of Android development. Understanding


these components is essential for building robust and feature-rich Android applications.
Here are some important Android components:

1. Activities: Activities represent the UI (user interface) of an application. Each screen


in an Android app is typically represented by an activity. Activities manage user
interactions, such as receiving input and rendering views.

2. Fragments: Fragments are modular components that represent a portion of a user


interface or behavior within an activity. They enable developers to build flexible
and responsive UIs that can adapt to different screen sizes and orientations.

3. Views and View Groups: Views are UI elements, such as buttons, text fields, and
images, that are used to construct the user interface of an Android app. View Groups
are containers that hold and arrange multiple views. Common View Groups include
Linear Layout, Relative Layout, and Constraint Layout.

4. Intents: Intents are messaging objects used to communicate between components of


an Android application and between different applications. They can be used to start
activities, broadcast messages, and perform other actions.
Dept. of CS&E, SJMIT, Chitradurga. Page | 40
VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

5. Services: Services are background processes that can run independently of the user
interface. They are often used for tasks that need to continue running even when the
app is not in the foreground, such as playing music, fetching data from the internet,
or performing background computations.

6. Broadcast Receivers: Broadcast Receivers are components that respond to system-


wide broadcast messages. They enable applications to receive and react to events
or messages from other applications or the system itself.

7. Content Providers: Content Providers manage access to a structured set of data.


They allow different applications to share data with each other in a secure and
standardized way. Content Providers are commonly used to store and retrieve data
from databases, files, or other sources.

8. Shared Preferences: Shared Preferences are a simple key-value storage mechanism


provided by the Android framework. They are often used to store small amounts of
persistent data, such as user preferences or settings.

9. SQLite Database: SQLite is a lightweight relational database management system


included as a core component of the Android platform. It enables developers to store
and manage structured data in their applications.

10. Manifest File: The AndroidManifest.xml file is a crucial component of every


Android application. It contains essential information about the application, such as
its package name, version, permissions, and the components it contains.

Understanding how these components work together is essential for building successful
Android applications. Developers leverage these components to create engaging,
responsive, and efficient user experiences on the Android platform.

Create an Android Emulator Device

Creating an Android emulator device allows you to test your Android applications on
virtual devices with different configurations. Here's how you can create an Android
emulator device using Android Studio:

• Open Android Studio: Launch Android Studio on your computer.

• Open AVD Manager: Click on the "AVD Manager" icon in the toolbar. It looks like
a phone with an Android logo on it.

Dept. of CS&E, SJMIT, Chitradurga. Page | 41


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• Create a New Virtual Device: In the AVD Manager window, click on the "Create
Virtual Device" button.

• Select Hardware Profile: Choose a hardware profile for your virtual device. This
defines the device's specifications, such as screen size, resolution, and hardware
capabilities. You can select a predefined profile or create a custom one.

• Select System Image: Choose a system image for your virtual device. The system
image represents the version of Android that the device will run. You can download
system images for different Android versions and device types from the list
provided.

• Configure Device Settings: Customize additional settings for your virtual device,
such as the amount of RAM, the amount of internal storage, and whether to enable
or disable hardware acceleration.

• Finish Setup: Once you've configured the device settings, click on the "Finish"
button to create the virtual device.

• Launch the Virtual Device: In the AVD Manager window, you'll see the newly
created virtual device listed. Click on the "Play" button next to the device to launch
it.

• Wait for Boot: The virtual device will start booting up, just like a real Android
device. This process may take a few minutes, depending on your computer's
performance.

• Test Your App: Once the virtual device has finished booting, you can test your
Android application on it. Simply run your app from Android Studio, and it will be
installed and launched on the virtual device.

By following these steps, you can create an Android emulator device and test your
applications on virtual devices with different configurations. This allows you to ensure that
your app works correctly across a variety of Android devices and screen sizes.

Dept. of CS&E, SJMIT, Chitradurga. Page | 42


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 7

METHODOLOGY
The methodology for developing the Android app for vitamin deficiency detection
using image processing and neural networks involves several key stages to ensure a
comprehensive and effective solution. Initially, the process begins with requirement
analysis, where user needs and preferences are carefully examined through surveys,
interviews, and market research. This phase helps in identifying essential features and
functionalities crucial for the app's success, such as user authentication, image capture,
disease detection, and result display. Following this, the UI/UX design phase focuses on
creating an intuitive and visually appealing interface, utilizing wireframes, mockups, and
usability testing to refine the app's layout and navigation.

Subsequently, the development process progresses to frontend and backend


development. In frontend development, Kotlin programming language and Android Studio
IDE are utilized to build the user-facing components of the app. This involves
implementing login and registration functionalities for user authentication, integrating
camera functionality to capture nail images, and designing user interfaces for seamless
interaction. Meanwhile, backend development involves setting up the necessary
infrastructure to support data processing, storage, and communication with the server. This
includes developing a RESTful API to handle requests from the app, perform image
analysis using the trained SVM model, and ensure data integrity and app stability through
data validation and error handling mechanisms.

Integration testing is then conducted to validate the seamless interaction between


frontend and backend components, ensuring that user authentication, image capture, data
transmission, and result display functionalities function as intended. Once the app has
passed testing, it proceeds to deployment and distribution, where it is deployed to the
Google Play Store or other distribution platforms for public release. This involves
following app submission guidelines, including app signing, metadata setup, and content
rating, to ensure a smooth and compliant release process. Post-launch, continuous
improvement is emphasized, with user feedback and analytics data informing iterative
updates and enhancements to the app's features and functionalities. Regular maintenance
and bug fixes are also performed to uphold the app's functionality, security, and user
experience over time.

Dept. of CS&E, SJMIT, Chitradurga. Page | 43


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

The following steps explain the model building.

1. Data Collection and Preprocessing:

• Image data of various nail diseases is collected from reliable sources and organized
into appropriate directories based on disease categories.
• Each image is read and resized to a standardized dimension to ensure uniformity in
the dataset.
• The resized images are then flattened into one-dimensional arrays and appended to
the feature matrix, while the corresponding disease labels are encoded as target
arrays.

2. Data Splitting:

• The feature matrix and target arrays are divided into training and testing sets using
the `train_test_split` function from the scikit-learn library.
• This step ensures that the model is trained on a subset of the data and evaluated on
unseen data to assess its generalization performance.

3. Model Selection and Hyperparameter Tuning:

• A Support Vector Machine (SVM) classifier is chosen as the model for nail disease
detection due to its effectiveness in handling high-dimensional data and binary
classification tasks.
• Hyperparameters of the SVM model, such as the choice of kernel, regularization
parameter (C), and kernel coefficient (gamma), are optimized using the
`GridSearchCV` method.
• Grid search is performed over a predefined parameter grid to identify the optimal
combination of hyperparameters that yields the best performance.

4. Model Training and Evaluation:

• The SVM model is trained on the training set using the optimized hyperparameters
obtained from grid search.
• The trained model is evaluated on the testing set to assess its performance in terms
of accuracy, precision, recall, and F1-score.

Dept. of CS&E, SJMIT, Chitradurga. Page | 44


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• Various evaluation metrics are calculated using the `classification_report` function


to provide insights into the model's classification performance across different
disease categories.

5. Model Deployment and Prediction:

• Once trained and evaluated, the SVM model is ready for deployment to make
predictions on new, unseen nail images.
• An example image is read, preprocessed, and fed into the trained model to predict
the probability of each disease category.
• The predicted disease category along with its corresponding probability is displayed
to the user for diagnosis and further action.

6. Model Persistence:

• The trained SVM model is saved in both pickle and HDF5 formats using the
`joblib.dump` and `h5py` libraries, respectively.
• This ensures that the trained model can be reused for future predictions without the
need for retraining, thereby saving computational resources and time.

Here’s the code of model building process:

import pandas as pd
import os
from skimage.transform import resize
from skimage.io import imread
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report

# Define the path to the dataset directory


datadir = r"D:\VAMSI\CSE_PROJECTS\Aishwarya\vitamin-deficiency-detection-
master\Backend\dataset\new_train"

Dept. of CS&E, SJMIT, Chitradurga. Page | 45


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

# List of categories
Categories = ['Acral Lentiginous Melanoma', 'Beaus Line', "Blue Finger", "Clubbing",
"Koilonychia",
"Lindsay-s Nail", "lip_and_tongue", "Muehrckes Lines", "Onychogryphosis",
"Pitting", "Terry-s Nail"]

flat_data_arr = [] # Input array


target_arr = [] # Output array

# Iterate through each category and load images


for i in Categories:
print(f'loading category: {i}')
path = os.path.join(datadir, i)
for img in os.listdir(path):
img_array = imread(os.path.join(path, img))
img_resized = resize(img_array, (150, 150, 3))
flat_data_arr.append(img_resized.flatten())
target_arr.append(Categories.index(i))
print(f'loaded category: {i} successfully')

# Convert lists to numpy arrays


flat_data = np.array(flat_data_arr)
target = np.array(target_arr)

# Create a DataFrame from input data


df = pd.DataFrame(flat_data)
df['Target'] = target

# Split the data into input (x) and output (y)


x = df.iloc[:, :-1]
y = df.iloc[:, -1]

# Split the data into training and testing sets

Dept. of CS&E, SJMIT, Chitradurga. Page | 46


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.20, random_state=77)

# Define the parameters grid for GridSearchCV


param_grid = {'C': [0.1, 1, 10, 100],
'gamma': [0.0001, 0.001, 0.1, 1],
'kernel': ['rbf', 'poly']}

# Create a support vector classifier


svc = svm.SVC(probability=True)

# Create a model using GridSearchCV with the parameters grid


model = GridSearchCV(svc, param_grid)

# Train the model using the training data


model.fit(x_train, y_train)

# Test the model using the testing data


y_pred = model.predict(x_test)

# Calculate the accuracy of the model


accuracy = accuracy_score(y_pred, y_test)

# Print the accuracy of the model


print(f"The model is {accuracy * 100}% accurate")

# Display the best parameters found during the grid search


print("Best parameters:", model.best_params_)

# Save the trained model


import joblib

joblib.dump(model, 'svm_model.pkl')

# Print the classification report


Dept. of CS&E, SJMIT, Chitradurga. Page | 47
VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

print(classification_report(y_test, y_pred))

# Load and display an image for prediction


path =
r'dataset\new_train\Koilonychia\k104_png.rf.1cba9870b4201008494074f864ebf0e5.jpg'
img = imread(path)
plt.imshow(img)
plt.show()

# Resize the image and flatten it


img_resize = resize(img, (150, 150, 3))
l = [img_resize.flatten()]

# Predict the image category and print the results


probability = model.predict_proba(l)
for ind, val in enumerate(Categories):
print(f'{val} = {probability[0][ind] * 100}%')
print("The predicted image is: " + Categories[model.predict(l)[0]])

The android development process follows the following sequence:

1. Requirement Analysis:

• Gather user requirements through surveys, interviews, and market research to


understand the needs and preferences of potential users.
• Identify key features and functionalities essential for the Android app, such as user
authentication, image capture, disease detection, and result display.

2. UI/UX Design:

• Design the user interface (UI) and user experience (UX) of the Android app to
ensure intuitive navigation and seamless interaction.

Dept. of CS&E, SJMIT, Chitradurga. Page | 48


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• Create wireframes and mockups to visualize the app's layout, color scheme, and
typography.
• Incorporate feedback from stakeholders and conduct usability testing to refine the
design.

3. Frontend Development:

• Use Kotlin programming language and Android Studio IDE to develop the frontend
components of the Android app.
• Implement login and registration functionalities to authenticate users and manage
their accounts securely.
• Integrate camera functionality to allow users to capture images of their nails directly
from the app.
• Design intuitive user interfaces for capturing images and displaying results using
XML layouts and Android widgets.

4. Backend Development:

• Develop the backend infrastructure to support data processing, storage, and


communication between the app and the server.
• Set up a RESTful API to handle requests from the Android app and perform image
analysis using the trained SVM model.
• Implement data validation and error handling mechanisms to ensure data integrity
and app stability.

5. Integration Testing:

• Conduct integration testing to validate the seamless integration of frontend and


backend components.
• Test user authentication, image capture, data transmission, and result display
functionalities to identify and address any bugs or inconsistencies.

6. Deployment and Distribution:

Dept. of CS&E, SJMIT, Chitradurga. Page | 49


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

• Deploy the Android app to the Google Play Store or other distribution platforms for
public release.
• Follow the necessary guidelines and procedures for app submission, including app
signing, metadata setup, and content rating.
• Monitor user feedback and app performance metrics post-launch to gather insights
for future updates and improvements.

7. Continuous Improvement:

• Gather user feedback and analytics data to identify areas for enhancement and
optimization.
• Iterate on the app's features and functionalities based on user insights and
technological advancements.
• Maintain regular updates and bug fixes to ensure the app remains functional, secure,
and user-friendly over time.

Dept. of CS&E, SJMIT, Chitradurga. Page | 50


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 8

SYSTEM TESTING
Our project endeavours to develop an Android application focused on identifying
various nail diseases. The feasibility study serves as a comprehensive assessment, covering
economic, technical, and social aspects to ascertain the project's viability. From an
economic standpoint, we aim to remain within budget constraints by leveraging freely
available technologies wherever possible and limiting expenditures to necessary
customized products. On the technical front, the system's requirements are carefully
evaluated to ensure they align with available resources, minimizing any undue strain.
Socially, user acceptance holds paramount importance, necessitating effective user training
strategies to instil confidence in the system's capabilities.

8.1 Types of Test & Test Cases


UNIT TESTING

Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path
of a business process performs accurately to the documented specifications and contains
clearly defined inputs and expected results.

INTEGRATION TESTING

Integration tests are designed to test integrated software components to determine


if they actually run as one program. Testing is event driven and is more concerned with the
basic outcome of screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing is specifically
aimed at exposing the problems that arise from the combination of components.

Dept. of CS&E, SJMIT, Chitradurga. Page | 51


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

FUNCTIONAL TEST

Functional tests provide systematic demonstrations that functions tested are


available as specified by the business and technical requirements, system documentation,
and user manuals.

Functional testing is centred on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.


Organization and preparation of functional tests is focused on requirements, key functions,
or special test cases. In addition, systematic coverage pertaining to identify Business
process flows; data fields, predefined processes, and successive processes must be
considered for testing. Before functional testing is complete, additional tests are identified
and the effective value of current tests is determined.

SYSTEM TEST

System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An example
of system testing is the configuration-oriented system integration test. System testing is
based on process descriptions and flows, emphasizing pre-driven process links and
integration points.

WHITE BOX TESTING

White Box Testing is a testing in which in which the software tester has knowledge
of the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.

BLACK BOX TESTING

Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other
kinds of tests, must be written from a definitive source document, such as specification or

Dept. of CS&E, SJMIT, Chitradurga. Page | 52


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

requirements document, such as specification or requirements document. It is a testing in


which the software under test is treated, as a black box. you cannot “see” into it. The test
provides inputs and responds to outputs without considering how the software works.

UNIT TESTING:

Unit testing for our nail disease detection app is an integral part of the software
development lifecycle. While it's typically conducted alongside the code development
phase, we may also conduct separate phases for coding and unit testing to ensure thorough
testing coverage.

Test Strategy and Approach:

We'll employ a combination of manual field testing and detailed functional tests to ensure
the robustness of our app.

Test Objectives:

• Validate the proper functionality of all field entries.


• Ensure seamless activation of pages from identified links.
• Confirm that the entry screen, messages, and responses are prompt without delays.

Features to be Tested:

• Verify the correctness of entry formats.


• Prohibit duplicate entries to maintain data integrity.
• Validate that all links direct users to the correct pages.
• Check if the captured images is generating desired result.

Test Case #1

Test Scenario To authenticate a successful signup with user data


Test Steps User navigate the signup page, Enter the valid user data, Click on
signup button
Prerequisites User data
Test Data Username, Password, Mobile, Email, Location
Expected When the user submits the user data, data should be stored in the
Result database successfully
Actual Result As Expected
Test Status Pass

Dept. of CS&E, SJMIT, Chitradurga. Page | 53


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Test Case #2

Test Scenario To authenticate a successful login with user data


Test Steps User navigate the login page , Enter the valid username, password ,
Click on login button
Prerequisites Username, password
Test Data Username, password
Expected When the user submits the user data, data should be authenticated
Result successfully
Actual Result As Expected
Test Status Pass

Test Case #3

Test Scenario To detect 'Acral Lentiginous Melanoma' from captured nail image
Test Steps User navigate to nail capture screen , Capture image of nail , Submit
image for analysis
Prerequisites Mobile device with camera functionality
Test Data Image of nail
Expected Acral Lentiginous Melanoma should be correctly detected
Result
Actual Result As Expected
Test Status Pass

Test Case #4

Test Scenario To detect 'Beaus Line' from captured nail image


Test Steps User navigate to nail capture screen , Capture image of nail , Submit
image for analysis
Prerequisites Mobile device with camera functionality
Test Data Image of nail
Expected Beaus Line should be correctly detected
Result
Actual Result As Expected
Test Status Pass

Dept. of CS&E, SJMIT, Chitradurga. Page | 54


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Test Case #5

Test Scenario To detect 'Blue Finger' from captured nail image


Test Steps User navigate to nail capture screen , Capture image of nail , Submit
image for analysis
Prerequisites Mobile device with camera functionality
Test Data Image of nail
Expected Blue Finger should be correctly detected
Result
Actual Result As Expected
Test Status Pass

Test Results:

All test cases have passed successfully without encountering any defects, indicating the
robustness of our app.

Dept. of CS&E, SJMIT, Chitradurga. Page | 55


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 9
SNAPSHOTS

Fig 9.1: Design & blue print of INITIAL SCREEN

Fig 9.2: Design & blue print of SIGN IN SCREEN

Dept. of CS&E, SJMIT, Chitradurga. Page | 56


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Fig 9.3: Design & blue print of REGISTER SCREEN

Fig 9.4: Design & blue print of IMAGE CAPTURE SCREEN

Dept. of CS&E, SJMIT, Chitradurga. Page | 57


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Fig 9.5: CAMERA PREVIEW

Fig 9.6: Design & blue print of RESULT SCREEN

Dept. of CS&E, SJMIT, Chitradurga. Page | 58


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

Chapter 10
FUTURE ENHANCEMENT
➢ Collect More and Higher Quality Dataset: In future enhancements, we plan to
gather a larger and better-quality dataset to improve the model's accuracy and
robustness.
➢ Utilize Cloud for Data Storage: We aim to integrate cloud storage to securely store
user images, allowing for continuous model training and refinement.
➢ Incorporate Additional Datasets: To broaden the scope of our application, we
intend to include datasets related to other health indicators such as eyes, lips, and
tongue, enabling comprehensive health assessment capabilities.
➢ Explore Alternative Image Classification Algorithms: In our pursuit of
enhancing the model's performance, we will investigate and experiment with other
advanced image classification algorithms to identify potential alternatives that
could offer improved accuracy and efficiency.
➢ Add Multilingual Support: To cater to a diverse user base, we will implement
support for multiple languages in the output, ensuring accessibility and usability for
users worldwide.

Dept. of CS&E, SJMIT, Chitradurga. Page | 59


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

CONCLUSION
In conclusion, our project marks a significant milestone in healthcare technology,
particularly in the domain of early nail disease detection and management. By seamlessly
integrating image processing techniques and machine learning algorithms, we have
successfully developed a tool that empowers users to monitor their nail health from their
homes. While we acknowledge the existing limitations, such as concerns regarding
accuracy and the coverage of only a subset of nail problems, our project sets the stage for
future advancements in this field. Moving forward, our dedication remains as we strive to
refine our model, expand the dataset with more diverse and high-quality images, and
explore algorithms to enhance accuracy and usability. With a commitment to continuous
improvement and innovation, we see our project playing a role in early diagnosis and
prevention strategies for nail diseases, thereby contributing to improved healthcare
outcomes for users worldwide.

Dept. of CS&E, SJMIT, Chitradurga. Page | 60


VITAMIN DEFICIENCY DETECTION USING IMAGE PROCESSING & NEURAL NETWORK | 2023-34

REFERENCES
[1] Abdullah Ajmal, Wakeel Ahmad, Syed M Adnan "Convolutional Neural Networks for
Nail Disease Detection: A Promising Approach in Dermatology",2023.

[2] Senar Ali Yamac, Orhun Kuyucuoglu, Seyma Begiim Késeoglu and Sezer Ulukaya
"Deep Learning based Classification of Human Nail Diseases using Color Nail
Images",2022.

[3] Anu Jose, S Nandagopalan, Vidya Ubalanka and Dhanya Viswanath "Detection and
classification of nutrient deficiencies in plants using machine learning",2021.

[4] R. Sathyavania, K. JaganMohanb, B. Kalaavathi "Detection of plant leaf nutrients using


convolutional neural network based internet of things data acquisition",2021.

[5] Zhe Xu , Xi Guo, Anfan Zhu, Xiaolin He, Xiaomin Zhao ,Yi Han, and Roshan Subedi
"Using Deep Convolutional Neural Networks for Image-Based Diagnosis of Nutrient
Deficiencies in Rice",2020.

[6] Ahmed Saif Eldeen, Mohamed AitGacem, Saifeddin Alghlayini, Wessam Shehieb and
Mustahsan Mir "Vitamin Deficiency Detection Using Image Processing and Neural
Network Introduction",2020.

Dept. of CS&E, SJMIT, Chitradurga. Page | 61

You might also like