Chantiii
Chantiii
On
S. SATEESH CHANDRA
(22A91F0059)
Assiatant Professor
DEPARTMENT OF MCA
2022-2024
ADITYA ENGINEERING COLLEGE
An Autonomous Institution
(Approved by AICTE, Affiliated to JNTUK & Accredited by NBA, NAAC with ‘A++’ Grade)
Recognized by UGC under the sections 2(f) and 12(B) of the UGC act 1956
2023-2024
DEPARTMENT OF MCA
CERTIFICATE
This is to certify that the project work entitled, "SKIN DISEASE DETECTION USING CNN
ALGORITHM", is a Bonafede work carried out by S. Sateesh Chandra bearing
Regd.No:22A91F0059 submitted to the requirements for the award of the Computer Applications
in partial fulfilment of the requirements for the award of degree of MASTER OF COMPUTER
APPLICATIONS from Aditya Engineering College, Surampalem during the academic year
2023-2024
EXTERNAL EXAMINER
DECLARATION
I here declare that the project entitled “SKIN DISEASE DETECTION USING
CNN ALGORITHM”, to Aditya Engineering College, Surampalem has been carried out
by me alone under the guidance of Mr. K.C. PRADEEP.
The satisfaction and euphoria that accompany the successful completion of any
task would be incomplete without the mention of people who made it possible, whose
constant guidance and encouragement crowned our efforts with success. It is a pleasant
aspect that I have now the opportunity to express my gratitude for all of them.
The first person I would like to thank is my guide Mr. K.C. Pradeep, M. Tech,
Assistant Professor, Department of MCA, Aditya Engineering College, Surampalem.
His wide knowledge and logical way of thinking have made a deep impression on me. His
understanding, encouragement and personal guidance have provided the basis for this
project. He is a source of inspiration for innovative ideas and his kind support is well known
to all his students and colleagues.
I wish to thank Mrs. D. Beulah, M. Tech, (Ph. D), Head of the Department,
Aditya Engineering College, Surampalem, who has extended her support for the success
of this project.
I would like to thank all the Management & Technical Supporting Staff for their
timely help throughout throughout the project.
ABSTRACT
ABSTRACT
Skin disease among humans has been a common disease, millions of people are suffering
from various kinds of skin diseases. Usually, these diseases have hidden dangers which lead to not
only a lack of self-confidence and psychological depression but also lead a risk of skin cancer.
According to World Health Organization (WHO), around 30% to 70% of the population has fallen
victim to skin disease. And most of these individuals don’t know much about the classification of
skin disease. To tackle the above-mentioned problem, we have designed a Skin Disease Detection
System Using CNN. The idea behind this project is to make it possible for the common man to get
a sense of the disease affecting his/her skin so they can get a head start in preparing for its betterment
and also the doctor in charge can get an idea about the type of cancer, which ultimately helps in faster
and efficient diagnosis.
So by using the concepts of deep learning we can identify the type of skin diseses, which
helps us to know more about the chaining nature of our skin.in this, we will take the different type
of skin disease images present in the Dermnet dataset and we use the pre-trained Efficent_bo_512
model to extract Features of the skin diseases from the dataset.
Input is given in the form of image from the android application from which it is sent to the
local server where our pre-trained model processes the input image and predict the disease type
which is given as output to the user.
CONTENTS
Page no
Chapter 1: INTRODUCTION 01
1.1Brief information about the project 02
1.2Motivation and contribution of Project 02
1.3 Objective of the Project 03
1.4 Organization of project 04
Chapter 2: LITERATURE SURVEY 05
Chapter 3: SYSTEM ANALYSIS 08
3.1 Existing System 09
3.2 Proposed System 10
3.3 Feasibility Study 11
3.4 Functional Requirements 13
3.5 Non-Functional Requirements 14
3.6 System Requirements 16
3.7 Requirements Specifications 18
3.7.1 Software Requirements 18
3.7.2 Minimum Hardware Requirements 18
Chapter 4: SYSTEM DESIGN 19
4.1 Introduction 20
4.2 System architecture 21
4.3 Module description 22
4.4 UML diagrams 23
4.4.1 Use case Diagram 25
4.4.2 class Diagram 28
4.4.3 Sequence Diagram 30
4.4.4 Collboration Diagram 32
4.4.5 Activity diagram 35
Chapter 5: TECHNOLOGY DESCRIPTION 36
5.1 Introduction to HTML 37
5.2 Introduction to Python 39
5.3 Python Features 40
5.4 Introduction to Machine Learning 42
5.5 Introduction to streamlit 43
Chapter 6: SAMPLE CODE 45
Chapter 7: TESTING 55
7.1 Introduction 56
7.2 Sample Test case Specifications 64
Chapter 8: SCREENSSHOTS 66
CONCLUSION 78
BIBLIOGRAPHY 80
LIST OF TABLES
CHAPTER-1
INTRODUCTION
1
Skin disease detection using CNN Algorithm
1.INTRODUCTION
1.1 Brief Information about the Project:
Skin disease detection using CNN algorithm involves the development of a computational
system capable of accurately identifying various skin conditions from images. This project
typically begins with the collection of a diverse dataset comprising labeled skin images
representing different diseases and conditions. These images undergo preprocessing steps to
standardize their format and enhance the model's ability to learn relevant features. A
Convolutional Neural Network (CNN) architecture is then employed, designed to effectively
extract hierarchical features from the input images. Through the process of training, the CNN
learns to recognize patterns and features indicative of specific skin diseases. Validation and
evaluation phases ensure the model's accuracy and generalization ability. Once validated, the
model can be integrated into practical applications, such as mobile apps or web platforms,
allowing users to upload images for automated diagnosis. Continuous improvement efforts may
involve refining the model architecture, augmenting the dataset, or incorporating advanced
techniques to enhance performance and expand its diagnostic capabilities. Ultimately, this
project aims to provide a reliable and accessible tool for early detection and diagnosis of skin
diseases, facilitating timely intervention and improving healthcare outcomes.
1.2 Motivation and contribution of the Project:
The motivation behind skin disease detection using CNN algorithm stems from several
key factors. Firstly, skin diseases affect millions of individuals worldwide, with early detection
playing a crucial role in effective treatment and management. However, access to
dermatologists and specialists can be limited, particularly in remote or underserved areas. By
leveraging deep learning techniques like CNNs, this project aims to democratize access to skin
disease diagnosis by providing a scalable and automated solution.
Furthermore, the project contributes to advancing the field of medical imaging and
artificial intelligence (AI) in healthcare. By developing and refining CNN models for skin
disease detection, researchers and practitioners can enhance their understanding of how AI can
2
Skin disease detection using CNN Algorithm
augment human expertise in medical diagnostics. This contributes to the broader goal of
developing AI-driven healthcare systems that improve patient outcomes and healthcare
delivery efficiency.
Overall, skin disease detection using CNN algorithm aims to address critical challenges
in healthcare access, diagnostic accuracy, and technological innovation, with the potential to
positively impact millions of individuals worldwide by providing timely and reliable diagnosis
of skin conditions.
1. Early Detection: Enable early detection of skin diseases by providing a reliable system
capable of identifying symptoms and patterns indicative of various conditions, allowing
for timely intervention and treatment.
2. Improved Access to Healthcare: Address barriers to accessing dermatological
expertise by providing a scalable and accessible solution that can be deployed in diverse
settings, including remote or underserved areas where access to specialists may be
limited.
3. Objective Diagnosis: Reduce subjectivity and variability in skin disease diagnosis by
leveraging CNN algorithms to provide objective and standardized analysis of skin
images, leading to more consistent and reliable diagnoses.
4. Diagnostic Support for Healthcare Professionals: Provide dermatologists and
healthcare professionals with an effective diagnostic support tool that can assist in
decision-making, improve diagnostic accuracy, and enhance the efficiency of clinical
workflows.
5. Educational Resource: Serve as an educational resource for both healthcare
professionals and patients, offering insights into various skin conditions and facilitating
awareness, understanding, and self-management.
6. Continuous Improvement: Foster ongoing research and development efforts to
enhance the performance, accuracy, and scope of the CNN-based skin disease detection
3
Skin disease detection using CNN Algorithm
system through iterative refinement, incorporation of new data and techniques, and
collaboration with experts in dermatology and artificial intelligence.
By achieving these objectives, the project aims to make significant contributions to the
field of medical imaging, artificial intelligence in healthcare, and dermatology, ultimately
improving healthcare outcomes for individuals affected by skin diseases.
4
Skin disease detection using CNN Algorithm
CHAPTER-2
LITERATURE SURVEY
5
Skin disease detection using CNN Algorithm
2.LITERATURE SURVEY
A literature survey on skin disease detection using CNN algorithm would involve
examining various research papers, articles, and studies that explore the application of
Convolutional Neural Networks (CNNs) in the field of dermatology for automated detection
and classification of skin diseases. Here are some key studies and findings:
These studies collectively demonstrate the significant progress and potential of CNN-
based approaches for skin disease detection and classification. They also highlight the
6
Skin disease detection using CNN Algorithm
7
Skin disease detection using CNN Algorithm
CHAPTER-3
SYSTEM ANALYSIS
8
Skin disease detection using CNN Algorithm
3.SYSTEM ANALYSIS
System analysis is a process of gathering and interpreting facts, diagnosing problems
and the information to recommend improvements on the system. It is a problem-solving
activity that requires-intensive communication between the system user and system developers.
System analysis or study is an important phase of any system development process. The system
is studied to the minutest detail and analysed. The system analyst plays the vital role of the
interrogator and dwells deep into the working of the present system. The system is viewed as
a whole and the input to the system are identified. The outputs from the organizations are traced
to the various processes. System analysis is concerned with becoming aware of the problem.
the relevant and decisional variables, analysing and synthesizing the various factors and
determining an optimal or at least satisfactory solution or program of action. A detailed study
of the process must be made by various techniques like interviews, questionaries etc.
Disadvantages :
• Knn,k-means,GLCM,SVM algorithms are slow performance.
• Man power is extra in Earlier.
• Cost is Extra.
• Low Accuracy.
• More Time Taken.
9
Skin disease detection using CNN Algorithm
Convolutional Layers: These layers apply convolutional filters (also called kernels) to the
input image. Each filter extracts certain features from the image, such as edges, textures, or
shapes, by performing element-wise multiplication and summing up the results. Convolutional
layers help the network to learn hierarchical representations of the input data.
Pooling Layers: After convolution, pooling layers are often used to downsample the feature
maps generated by the convolutional layers. Common pooling operations include max pooling
10
Skin disease detection using CNN Algorithm
and average pooling, which reduce the spatial dimensions of the feature maps while retaining
the most important information.
Fully Connected Layers: Once the feature extraction is done through convolutional and
pooling layers, the resulting feature maps are flattened and fed into one or more fully connected
layers. These layers perform classification based on the features extracted earlier. The fully
connected layers are typically followed by a softmax activation function, which converts the
raw scores into probabilities for each class in classification tasks.
11
Skin disease detection using CNN Algorithm
depends on whether such datasets exist or can be acquired through collaborations with
healthcare institutions or dermatology experts.
3. Algorithm Performance: Assessing the performance of CNN algorithms in accurately
detecting and classifying skin diseases is essential. Feasibility hinges on the ability of
CNN models to achieve sufficiently high accuracy, sensitivity, and specificity in real-
world scenarios.
4. Computational Resources: Training CNN models for skin disease detection typically
requires significant computational resources, including powerful GPUs or TPUs and
storage for large datasets. Feasibility depends on access to such resources and the
associated costs.
5. Integration with Healthcare Systems: Feasibility also involves considerations related
to integrating the CNN-based skin disease detection system with existing healthcare
systems and workflows. This includes ensuring compatibility with electronic health
records (EHRs), compliance with data privacy regulations (e.g., HIPAA), and seamless
communication with healthcare professionals.
6. User Acceptance and Adoption: Assessing the acceptance and adoption of the system
by healthcare professionals, patients, and other stakeholders is critical. Feasibility
studies may involve user feedback, surveys, and pilot testing to gauge usability,
effectiveness, and satisfaction with the CNN-based detection system.
7. Regulatory and Ethical Considerations: Feasibility studies should also address
regulatory requirements and ethical considerations related to deploying AI-based
medical systems. This includes obtaining necessary approvals from regulatory bodies
(e.g., FDA) and ensuring ethical use of patient data.
8. Cost-Benefit Analysis: Finally, a cost-benefit analysis is essential to evaluate the
economic feasibility of implementing the CNN-based skin disease detection system.
This involves estimating development costs, operational expenses, potential cost
savings from improved diagnosis and treatment outcomes, and other financial
considerations.
By systematically evaluating these aspects, a feasibility study can provide valuable insights
into the viability of implementing skin disease detection using CNN algorithms in real-world
healthcare settings. It helps stakeholders make informed decisions regarding investment,
resource allocation, and implementation strategies.
12
Skin disease detection using CNN Algorithm
Functional requirements for a skin disease detection system using CNN algorithms
outline the specific functionalities and capabilities that the system must possess to effectively
detect and classify skin diseases. Here are some key functional requirements:
1. Image Upload: The system should allow users to upload images of skin lesions or
conditions for analysis.
2. Preprocessing: Before analysis, the system should preprocess uploaded images to
standardize format, size, and quality, enhancing the CNN's ability to extract features
accurately.
3. CNN Model: The system must include a trained CNN model capable of analyzing skin
images and detecting various diseases and conditions.
4. Disease Classification: The CNN model should be able to classify skin images into
different disease categories, such as melanoma, eczema, psoriasis, etc.
5. Probability Score: For each classification, the system should provide a probability
score indicating the confidence level of the prediction.
6. User Interface: The system should have a user-friendly interface that allows users to
interact with the application easily, including uploading images, viewing analysis
results, and accessing additional information.
7. Feedback Mechanism: The system should provide feedback to users, such as
suggesting when to seek medical advice or providing additional resources for further
information.
8. Real-Time Analysis: Ideally, the system should provide real-time analysis of uploaded
images, enabling immediate feedback to users.
9. Scalability: The system should be scalable to handle a large number of concurrent users
and image uploads without compromising performance.
10. Integration: The system should be integratable with other healthcare systems or
platforms, such as electronic health records (EHRs), to facilitate seamless
communication and information sharing.
13
Skin disease detection using CNN Algorithm
11. Localization: The system should be capable of recognizing and classifying skin
diseases across different regions and ethnicities, considering variations in skin types
and conditions.
12. Security: The system should ensure the security and privacy of user data, including
compliance with data protection regulations such as HIPAA or GDPR.
13. Diagnostic Assistance: Optionally, the system may provide diagnostic assistance to
healthcare professionals, offering insights or recommendations based on analysis
results.
14. Performance Metrics: The system should track and report performance metrics such
as accuracy, sensitivity, specificity, and processing time to evaluate its effectiveness
and reliability.
By meeting these functional requirements, a skin disease detection system using CNN
algorithms can provide valuable assistance in diagnosing and managing various dermatological
conditions, ultimately improving healthcare outcomes for patients.
1. Performance: The system should provide fast and accurate analysis of skin images,
with minimal latency, to ensure timely diagnosis and treatment recommendations.
2. Accuracy: The system must achieve high accuracy in disease detection and
classification, minimizing false positives and false negatives to avoid misdiagnosis and
ensure patient safety.
3. Scalability: The system should be scalable to handle increasing numbers of users and
image uploads without degradation in performance or response time.
4. Reliability: The system should be reliable and available, with minimal downtime and
robust error handling mechanisms to prevent data loss or service interruptions.
5. Usability: The system should have an intuitive user interface, making it easy for users
to upload images, interpret analysis results, and navigate the application without
extensive training or technical expertise.
14
Skin disease detection using CNN Algorithm
6. Security: The system must ensure the confidentiality, integrity, and privacy of user
data, implementing encryption, access controls, and other security measures to protect
against unauthorized access or data breaches.
7. Regulatory Compliance: The system should comply with relevant regulations and
standards governing medical devices and healthcare data, such as HIPAA, GDPR, and
FDA guidelines for medical software.
8. Interoperability: The system should be interoperable with other healthcare systems
and platforms, facilitating seamless integration and data exchange to support
coordinated care and decision-making.
9. Ethical Considerations: The system should adhere to ethical principles and guidelines,
ensuring fair and transparent use of AI algorithms in healthcare and avoiding biases or
discriminatory outcomes.
10. Performance Monitoring: The system should include monitoring and logging
capabilities to track usage metrics, performance indicators, and system health, enabling
proactive maintenance and optimization.
11. Maintainability: The system should be designed for ease of maintenance and updates,
with clear documentation, modular architecture, and version control to facilitate future
enhancements and bug fixes.
12. Accessibility: The system should be accessible to users with disabilities, complying
with accessibility standards and providing features such as screen reader compatibility
and adjustable font sizes.
13. Cultural Sensitivity: The system should be culturally sensitive and inclusive,
considering diverse patient populations and avoiding language or imagery that may be
offensive or insensitive.
14. Cost: The system should be cost-effective to develop, deploy, and maintain,
considering factors such as hardware requirements, software licenses, personnel costs,
and ongoing support expenses.
15
Skin disease detection using CNN Algorithm
1. Hardware Requirements:
• Processing Power: The system requires hardware capable of running deep
learning algorithms efficiently. This typically includes CPUs, GPUs, or TPUs
with sufficient processing power to train and run CNN models.
• Memory: Adequate RAM is necessary to store and process large datasets and
model parameters during training and inference.
• Storage: Sufficient storage space is needed to store image datasets, trained
models, and system logs.
• High-Resolution Display: A high-resolution display is beneficial for
visualizing skin images and analysis results with clarity.
2. Software Requirements:
• Deep Learning Framework: The system requires a deep learning framework
such as TensorFlow, PyTorch, or Keras for developing and training CNN
models.
• Programming Language: Proficiency in programming languages like Python
is necessary for implementing the system's backend logic and algorithms.
• Image Processing Libraries: Libraries such as OpenCV or Pillow are essential
for image preprocessing tasks, including resizing, normalization, and
augmentation.
• Web Framework (if applicable): If the system includes a web-based interface,
a web framework like Flask or Django may be used for backend development.
• Database Management System (DBMS): A DBMS like MySQL,
PostgreSQL, or MongoDB may be required to store and manage user data,
image metadata, and analysis results.
16
Skin disease detection using CNN Algorithm
3. Environmental Requirements:
• Internet Connectivity: A stable internet connection is necessary for uploading
images, accessing reference data, and communicating with external systems or
APIs.
• Power Supply: The system should have access to reliable power sources to
ensure uninterrupted operation, especially in clinical or remote settings.
• Data Privacy and Security: Adequate measures should be in place to ensure
the privacy and security of user data, including encryption, access controls, and
regular security audits.
4. Integration Requirements:
• APIs and Interfaces: The system may need to integrate with external APIs or
healthcare systems for data exchange, interoperability, and access to reference
databases.
• Compatibility: The system should be compatible with different devices and
operating systems to accommodate various users' preferences and
environments.
• Standards Compliance: Compliance with industry standards and regulations,
such as DICOM for medical imaging or HL7 for healthcare data exchange, may
be required for interoperability and regulatory compliance.
5. User Interface Requirements:
• Intuitive Interface: The system's user interface should be intuitive, user-
friendly, and accessible to users with varying levels of technical expertise.
• Responsive Design: If the system includes a web-based interface, it should be
designed to be responsive and accessible across different devices and screen
sizes.
By fulfilling these system requirements, a skin disease detection system using CNN
algorithms can deliver reliable, efficient, and user-friendly functionality for diagnosing and
managing various dermatological conditions.
17
Skin disease detection using CNN Algorithm
18
Skin disease detection using CNN Algorithm
CHAPTER-4
SYSTEM DESIGN
19
Skin disease detection using CNN Algorithm
4.SYSTEM DESIGN
4.1 INTRODUCTION
The purpose of the design phase is to plan a solution to the problem specified by the
requirement document. This phase is the first step in moving from the problem domain to the
solution domain. In other words, starting with what is needed, design takes us toward how to
satisfy the needs. The design of a system is perhaps the most critical factor affecting the quality
of the software; it has a major impact on the later phase, particularly testing, and maintenance.
The output of this phase is the design document. This document is similar to a blueprint for the
solution and is used later during implementation, testing, and maintenance. The design activity
is often divided into two separate phases System Design and Detailed Design. System Design
also called top-level design aims to identify the modules that should be in the system, the
specifications of these modules, and how they interact with each other to produce the desired
results. At the end of the system design, all the major data structures, file formats, output
formats, and the major modules in the system and their specifications are decided. During,
Detailed Design, the internal logic of each of the modules specified in the system design is
decided. During this phase, the details of the data of a module are usually specified in a high-
level design description language, which is independent of the target language in which the
software will eventually be implemented. In system design, the focus is on identifying the
modules
The system design for skin disease detection using Convolutional Neural Networks
(CNNs) represents a sophisticated framework aimed at automating the identification and
classification of dermatological conditions from images. At its core, this design harnesses the
capabilities of deep learning to analyze skin images and provide accurate diagnoses,
contributing to timely medical interventions and improved patient outcomes. The system's
architecture comprises several interconnected components, including data processing, model
architecture, training pipeline, inference engine, and user interface. Each component plays a
vital role in the system's functionality, from preprocessing images to training the CNN model,
performing inference on new data, and presenting results through an intuitive user interface.
By orchestrating these elements into a cohesive design, the system offers a comprehensive
solution for dermatological diagnosis, empowering healthcare professionals and patients with
efficient and reliable skin disease detection capabilities.
20
Skin disease detection using CNN Algorithm
The general system for detection and recognition of disease in skin disease consists of
three main components: Image analyzer, Feature extraction and classifier. The processing that
is done by using these components is divided into two phases. The first processing phase is the
offline phase or Training Phase. In this phase, a set of input images of skin (diseased and
normal) were processed by image analyzer and certain features were extracted. Then these
features were given as input to the classifier, and along with it, the information whether the
image is that of a diseased or a normal.
Image Acquisition: The system uses cameras or mobile devices to capture images of the plant
leaves.
Pre-processing: The raw images are then pre-processed to remove any noise, resize them to a
consistent size, and enhance their features for improved analysis.
Feature Extraction: The system uses computer vision techniques to extract relevant features
from the pre-processed images, such as color, texture, and shape.
21
Skin disease detection using CNN Algorithm
4.3Modules Description
The architecture of a skin disease detection system can be broadly divided into
two main parts: image processing and disease prediction.
1. Image processing
2.Disease Prediction.
• Image Processing: This component involves the acquisition and preparationof the
skin images for analysis. This includes image acquisition (using cameras or mobile
devices), pre-processing (such as resizing, noise reduction, and enhancement of
features), and feature extraction (using computer vision techniques to identify
relevant features such as color, texture, and shape).
• Disease Prediction: This component uses machine learning algorithms, such as
convolutional nueural network the extracted features and make a prediction on the
presence and type of disease. This component includes the training of the machine
learning models using a large dataset of annotated images and the prediction of
diseases on new images The output of the system is a report that includes the disease
name, a confidencescore, and any recommended actions to address the disease. The
system also maintains a database of diseases, which is used to train the machine
learning algorithms and store the diagnosis results.The architecture is designed to
be flexible, scalable, and adaptive, allowing for integration with other agricultural
technologies and for future improvements in disease detection accuracy.
Data collection, collect sufficient data samples and legitimate software samples.
Train and Test Modelling, split the data into train and test data Training will be usedfor
training the model and Test data to check the performance. Feature selection, further
select the main features.
22
Skin disease detection using CNN Algorithm
syntactic, semantic, and pragmatic norms to express an analytical model using theunified
modelling language. A UML system is represented using five separate views, each of
which offers a radically different viewpoint on the system. UML is especiallybuilt using
two distinct domains.
• The software engineer can define an analytical model using the modelling notationthat
is governed by a set of syntactic, semantic, and pragmatic norms thanks to theunified
modelling language.
• A UML system is represented using five separate views, each of which offers a
radicallydifferent viewpoint on the system. In particular, UML is built using two
distinct domains.
• UML Analysis modelling this focuses on the user model and structural model
• Class diagram
• Sequence diagram
• Collaboration diagram
• Activity diagram
Use Case diagrams identify the functionality provided by the system (use cases),the
users who interact with the system (actors), and the association between the usersand the
functionality. Software development's analysis phase use cases to express thesystem's
high- level needs. Use Case Diagrams' main objectives are as follows: Providing a high-
level view of what the system does.
23
Skin disease detection using CNN Algorithm
Graphical Notation: The basic components of Use Case diagrams are the Actor, the Use
Case,and the Association.
24
Skin disease detection using CNN Algorithm
25
Skin disease detection using CNN Algorithm
26
Skin disease detection using CNN Algorithm
test dataset.
Exit condition ML System successfully performs the predictions.
Table 4.4.1.4: Use case template for Perform Predictions
Class diagrams identify the class structure of a system, including the properties
and methods of each class. Also depicted are the various relationships that can exist
between classes, such as an inheritance relationship. Part of the popularity of Class
diagrams stems from the fact that many CASE tools, such as Rational XDE, will auto-
generate code in a variety of languages, these tools can synchronize models andcode,
reducing the workload, and can also generate Class diagrams from object- oriented
code.
Graphical Notation: The elements on a Class diagram are classes and the
relationships between them.
27
Skin disease detection using CNN Algorithm
Generally in a UML class diagram, classes
are the most represented elements. The
classes are usually grouped together in a
class diagram which helps determine the
static relations between those objects.
Classes are represented with boxes
containing three parts: The top part
containsthe name of the class. The middle
Class
part contains the attributes of the class.
The bottom part contains the methods the
class can execute.
28
Skin disease detection using CNN Algorithm
Description:
The above diagram represents use case diagram of skin disease detection.
4.4.3Sequence Diagram
Sequence diagrams are sometimes called event diagrams or event scenarios.
A sequence diagram shows as parallel vertical lines (lifelines), different
processes or objects that live simultaneously and as horizontal arrows, the
messages exchanged between them in the order in which they occur.
29
Skin disease detection using CNN Algorithm
30
Skin disease detection using CNN Algorithm
Graphical Notation:
31
Skin disease detection using CNN Algorithm
Description:
The above diagram represents the Collaboration diagram of the project, “Leaf
disease detection using random forest The above Collaboration diagram describes
the data transfers between the user, preprocessing and predicting algorithm
modules.
4.4.5Activity Diagram
32
Skin disease detection using CNN Algorithm
33
Skin disease detection using CNN Algorithm
34
Skin disease detection using CNN Algorithm
Description:
The above flow represents the flow from one activity to another activity, the
activity starts from input skin image through digital camera, and then input skin
image is preprocessed and extract the features like color, shape, texture and so on.
Now, theprocessed image is classified as Normal or Abnormal, if Abnormal is found
in the skin, then disease will be displayed.
35
Skin disease detection using CNN Algorithm
CHAPTER-5
TECHNOLOGY DESCRIPTION
36
Skin disease detection using CNN Algorithm
5.TECHNOLOGY DESCRIPTION
HTML was created by Sir Tim Berners-Lee in late 1991 but was not officially
released. It was published in 1995 as HTML 2.0. HTML 4.01 was published in late 1999 and
was a major version of HTML.
HTML is a very evolving markup language and has evolved with various versions updating.
Long before its revised standards and specifications are carried in, each version has allowed its
user to create web pages in a much easier and prettier way and make sites very efficient.
HTML 1.0 was released in 1993 with the intention of sharing information that can be
readable and accessible via web browsers. But not many of the developers were
involved in creating websites. So, the language was also not growing.
Then comes HTML 2.0, published in 1995, which contains all the features of HTML
1.0 along with a few additional features, which remained the standard markup language
for designing and creating websites until January 1997 and refined various core features
of HTML.
• Then comes HTML 3.0, where introduced by Dave Raggett a fresh paper or draft on
HTML. It included improved new features of HTML, giving more powerful
characteristics for webmasters in designing web pages. But these powerful features of
the new HTML slowed down the browser in applying further improvements.
• Then comes HTML 4.01, which is widely used and was a successful version of HTML
before HTML 5.0, which is currently released and used worldwide. HTML 5 can be
said for an extended version of HTML 4.01, which was published in the year 2012.
The first version of HTML was written by Tim Berners-Lee in 1993. Since then, there have
been many different versions of HTML. The most widely used version throughout the 2000's
was HTML 4.01, which became an official standard in December 1999.Another
version, XHTML, was a rewrite of HTML as an XML language. XML is a standard markup
language that is used to create other markup languages. Hundreds of XML languages are in use
today, including GML (Geography Markup Language), MathML, Music ML, and RSS (Really
Simple Syndication). Since each of these languages was written in a common language (XML),
37
Skin disease detection using CNN Algorithm
their content can easily be shared across applications. This makes XML potentially very
powerful, and it's no surprise that the W3C would create an XML version of HTML (again,
called XHTML). XHTML became an official standard in 2000, and was updated in 2002.
XHTML is very similar to HTML, but has stricter rules. Strict rules are necessary for all XML
languages, because without it, interoperability between applications would be impossible.
Most pages on the Web today were built using either HTML 4.01 or XHTML 1.0.
However, in recent years, the W3C (in collaboration with another organization, the
WHATWG), has been working on a brand-new version of HTML, HTML5. Currently
(2011), HTML5 is still a draft specification, and is not yet an official standard. However, it
is already widely supported by browsers and other web-enabled devices, and is the way of
the future. Therefore, HTML5 is the primary language taught in this course.
1. <!DOCTYPE html>: This declaration defines the document type and version of HTML
being used. For HTML5, it's the standard declaration to start an HTML document.
2. <html>: This tag wraps the entire HTML document and denotes the beginning and end
of the HTML content.
3. <head>: Inside the <html> tag, the <head> tag contains meta-information about the
document, such as the title of the page, links to stylesheets or scripts, and meta tags.
4. <title>: Nested within the <head> tag, the <title> tag specifies the title of the webpage,
which appears in the browser's title bar or tab.
5. <body>: This tag encloses the main content of the webpage, including text, images,
links, videos, and more. It defines what's visible to users on the page.
38
Skin disease detection using CNN Algorithm
6. <h1> to <h6>: These tags represent headings of varying sizes, with <h1> being the
largest and <h6> the smallest. They are used to structure the hierarchical importance of
content.
7. <p>: The paragraph tag denotes a paragraph of text on the webpage.
8. <a>: This tag creates hyperlinks to other web pages or resources. It's used with the href
attribute to specify the destination of the link.
9. <img>: The image tag embeds images into the webpage. It requires the src attribute,
which specifies the image file's URL.
10. <ul> and <li>: These tags are used together to create an unordered list. <ul> denotes the
beginning of the list, and <li> represents each list item within the unordered list.
In the late 1980s, history was about to be written. It was that time when working on
Python started. Soon after that, Guido Van Rossum began doing its application-based work
in December of 1989 at Centrum Wickenden & Informatica (CWI) which is situated in
the Netherlands. It was started firstly as a hobby project because he was looking for an
interesting project to keep him occupied during Christmas. The programming language in
which Python is said to have succeeded is ABC Programming Language, which had
interfacing with the Amoeba Operating System and had the feature of exception handling.
He had already helped to create ABC earlier in his career and he had seen some issues with
ABC but liked most of the features. After that what he did was really very clever. He had
taken the syntax of ABC, and some of its good features. It came with a lot of complaints too,
so he fixed those issues completely and had created a good scripting language that had
removed all the flaws. The inspiration for the name came from BBC’s TV Show – ‘Monty
Python’s Flying Circus’, as he was a big fan of the TV show and also, he wanted a short,
39
Skin disease detection using CNN Algorithm
unique and slightly mysterious name for his invention and hence he named it Python! He was
the “Benevolent dictator for life” (BDFL) until he stepped down from the position as the
leader on 12th July 2018. For quite some time he used to work for Google, but currently, he
is working at Dropbox.
The language was finally released in 1991. When it was released, it used a lot fewer
codes to express the concepts, when we compare it with Java++ & C. Its design philosophy
was quite good too. Its main objective is to provide code readability and advanced developer
productivity. When it was released, it had more than enough capability to provide classes
with inheritance, several core data types exception handling and functions.
Following are the illustrations of different versions of Python along with the timeline.
Python language is freely available at the official website and you can download it
from the given download link below click on the Download Python keyword. Download
Python Since it is open-source, this means that source code is also available to the public. So,
you can download it, use it as well as share it.
2. Easy to code:
Python is a high-level programming language. Python is very easy to learn the
language as compared to other languages like C, C#, Java script, Java, etc. It is very easy to
code in the Python language and anybody can learn Python basics in a few hours or days. It
is also a developer-friendly language.
3. Easy to Read:
As you will see, learning Python is quite simple. As was already established, Python’s
syntax is really straightforward. The code block is defined by the indentations rather than by
semicolons or brackets.
4. Object-Oriented Language:
One of the key features of Python is Object-Oriented programming. Python supports
object-oriented language and concepts of classes, object encapsulation, etc.
40
Skin disease detection using CNN Algorithm
6. High-Level Language:
Python is a high-level language. When we write programs in Python, we do not need
to remember the system architecture, nor do we need to manage the memory.
7. Large Community Support:
Python has gained popularity over the years. Our questions are constantly answered
by the enormous Stack Overflow community. These websites have already provided answers
to many questions about Python, so Python users can consult them as needed.
8. Easy to Debug:
Excellent information for mistake tracing. You will be able to quickly identify and
correct the majority of your program’s issues once you understand how to interpret Python’s
error traces. Simply by glancing at the code, you can determine what it is designed to perform.
9. Python is a Portable language:
Python language is also a portable language. For example, if we have Python code for
Windows and if we want to run this code on other platforms such as Linux, Unix, and Mac
then we do not need to change it, we can run this code on any platform.
10.Python is an integrated language:
Python is also an integrated language because we can easily integrate Python with
other languages like C, C++, etc.
11. Interpreted Language:
Python is an Interpreted Language because Python code is executed line by line at a
time. like other languages C, C++, Java, etc. there is no need to compile Python code this
makes it easier to debug our code. The source code of Python is converted into an immediate
form called bytecode.
12. Large Standard Library
Python has a large standard library that provides a rich set of modules and functions
so you do not have to write your own code for every single thing. There are many libraries
present in Python such as regular expressions, unit-testing, web browsers, etc.
41
Skin disease detection using CNN Algorithm
Machine learning is a branch of artificial intelligence (AI) and computer science which
focuses on the use of data and algorithms to imitate the way that humans learn, gradually
improving its accuracy. IBM has a rich history with machine learning. One of its own, Arthur
Samuel, is credited for coining the term, “machine learning” with his research (PDF, 481 KB)
(link resides outside IBM) around the game of checkers. Robert Nealey, the self-proclaimed
checkers master, played the game on an IBM 7094 computer in 1962, and he lost to the
computer. Machine learning is an important component of the growing field of data science.
Through the use of statistical methods, algorithms are trained to make classifications or
predictions, uncovering key insights within data mining projects. These insights subsequently
drive decision-making within applications and businesses, ideally impacting key growth
metrics. As big data continues to expand and grow, the market demand for data scientists will
increase, requiring them to assist in the identification of the most relevant business questions
and subsequently the data to answer them. The learning system of a machine learning algorithm
is into three main parts . A Decision Process: In general, machine learning algorithms are used
to make a prediction or classification. Based on some input data, which can be labelled or
unlabelled, your algorithm will produce an estimate of a pattern in the data. An Error Function:
An error function serves to evaluate the prediction of the model. If there are known examples,
42
Skin disease detection using CNN Algorithm
an error function can make a comparison to assess the accuracy of the model. An Model
Optimization Process: If the model can fit better to the data points in the training set, then
weights are Mobile price classification using machine learning Algorithms 61 adjusted to
reduce the discrepancy between the known example and the model estimate. The algorithm
will repeat this evaluate and optimize the process, updating weights autonomously until a
threshold of accuracy has been met. Machine learning classifiers fall into three primary
categories.
Streamlit is an open-source Python library used to create web applications for machine
learning and data science projects quickly and easily. It simplifies the process of turning data
scripts into shareable web apps by providing a simple and intuitive interface.
1. Easy to Use: Streamlit allows developers to create interactive web applications using
Python scripts without needing to know web development languages like HTML, CSS,
or JavaScript. It offers a clean and simple API for building apps.
2. Rapid Development: With Streamlit, developers can quickly prototype and deploy
data-driven applications, making it ideal for iterating on ideas and sharing them with
others.
3. Built-in Widgets: Streamlit provides a variety of built-in widgets for creating
interactive elements such as sliders, buttons, text inputs, and more. These widgets allow
users to interact with the data and parameters of the machine learning models or data
visualizations being presented.
4. Custom Components: Streamlit allows for the creation of custom components and
extensions, enabling developers to add additional functionality or customize the
appearance and behavior of their apps.
5. Integration with Data Science Libraries: Streamlit seamlessly integrates with
popular data science libraries such as Pandas, Matplotlib, Plotly, and scikit-learn,
allowing developers to leverage these tools within their web applications.
6. Deployment: Streamlit apps can be easily deployed to various platforms, including
Streamlit sharing, Heroku, AWS, or any server that supports Python.
43
Skin disease detection using CNN Algorithm
7. Community and Ecosystem: Streamlit has a vibrant and active community of users
and contributors who share tips, examples, and extensions, making it easier for
developers to learn and extend the capabilities of the library.
Overall, Streamlit is an excellent choice for developers looking to create interactive and
user-friendly web applications for showcasing machine learning models, data visualizations,
and data analysis projects.
44
Skin disease detection using CNN Algorithm
CHAPTER-6
SAMPLE CODE
45
Skin disease detection using CNN Algorithm
6.SAMPLE CODE
App.py code :
# Login stage
import streamlit_authenticator as stauth #pip install streamlit-authenticator
# import database as db
# Fontend
import streamlit as st
from src.visual import visual_diseases,visual_dataset
from src.utils import
get_image_from_lottie,crop_image,load_result,load_model,heatmap,selected_features,button
_states
from streamlit_lottie import st_lottie
# Backend
from PIL import Image
import numpy as np
import pandas as pd
# import random
# import os
from pytorch_grad_cam import GradCAM, \
ScoreCAM, \
GradCAMPlusPlus, \
AblationCAM, \
XGradCAM, \
EigenCAM, \
EigenGradCAM, \
LayerCAM, \
FullGrad
#emoji:
st.set_page_config(layout="wide", page_icon="👨🎓", page_title="Skin-disease detection")
46
Skin disease detection using CNN Algorithm
# users =[]
# usernames = [user['key'] for user in users]
# names = [user['name'] for user in users]
# hashed_password = [user['password'] for user in users]
# authenticator = stauth.Authenticate(names, usernames, hashed_password,
# "skin_webapp", "abcdef", cookie_expiry_days=1)
# name, authentication_status, username = authenticator.login("Login", "main")
# if authentication_status == False:
# st.error("Username/password is incorrect")
# if authentication_status==None:
# --- PAGE TITLE ----
# image_cover = Image.open('./image/cover_1.png')
# st.image(image_cover,use_column_width= True)
with st.expander('About'):
st.write("""
# Skin Diseases Detection using cnn algoritham
#### This app will detect `skin diseases`
***Skin disease*** is by far the world's most common disease. Among different skin disease
types, melanoma is particularly dangerous because of its ability to metastasize. Early
detection is the key to success in skin disease treatment. However, skin disease diagnostic is
still a challenge, even for experienced dermatologists, due to strong resemblances between
benign and malignant lesions. To aid dermatologists in skin disease diagnostic, we developed
a deep learning system that can effectively and automatically classify skin lesions in the ISIC
dataset. An end-to-end deep learning process, transfer learning technique, utilizing multiple
pre-trained models, combining with class-weighted and focal loss function was applied for
the classification process. The result was that our modified famous architectures with
metadata could classify skin lesions in the ISIC dataset into one of the nine classes: (1)
***Actinic Keratosis***, (2) ***Basel Cell Carcinoma***, (3) ***Benign Keratosis***, (4)
***Dermatofibroma***, (5) ***Melanocytic nevi***, (6) ***Melanoma***, (7)
***Vascular Skin Lesion*** (8) ***Squamous Cell Carcinoma*** (9) ***Unknown***
with 93% accuracy and 97% and 99% for top 2 and top 3 accuracies, respectively. This deep
learning system can potentially be integrated into computer-aided diagnosis systems that
support dermatologists in skin cancer diagnostic.
47
Skin disease detection using CNN Algorithm
***SAVE***:
```python
- Melanoma is malinant (dangerous)
- Others is benign (but also careful)
```
##### Some examples:
""")
# --- VISUAL DATA ---
with st.expander('Preview examples of 9 types diseases skin'):
st.balloons()
visual_diseases()
with st.expander('Preview dataset'):
st.balloons()
visual_dataset()
# --- SIDEBAR: User input ---
# authenticator.logout("Logout","sidebar")
st.sidebar.header('User Input Features')
# selected_box = st.sidebar.selectbox('Model',('Select model','CNN','KNN'),help="Model 1:...
- Model 2: ...")
selected_box = st.sidebar.selectbox('Model',('Select
model','Efficient_B0_512','Metadata_Efficient_B2_512'),help="Model 1: ... - Model 2: ...")
if selected_box == 'Select model':
st.markdown("""
<span style = 'font-size:20px;'>
Let's sellect your
</span>
<span style = 'color:#053D38;font-size:25px;'>
Model
</span>
<span style = 'font-size:30px;'>
!
</span>
""",
unsafe_allow_html=True)
48
Skin disease detection using CNN Algorithm
st_lottie(get_image_from_lottie(url =
"https://assets8.lottiefiles.com/packages/lf20_mxzt4vtn.json"), key = "selectmodel",
height=400)
with st.sidebar:
st_lottie(get_image_from_lottie(url =
'https://assets9.lottiefiles.com/private_files/lf30_zbhl9hod.json'), key='load', height=100)
else:
'''
'''
selected_image = st.sidebar.file_uploader('Upload image from PC',type=['png',
'jpg'],help='Type of image should be PNG or JPEG')
if not selected_image:
with st.sidebar:
st_lottie(get_image_from_lottie(url =
'https://assets4.lottiefiles.com/packages/lf20_urbk83vw.json'), key =
'giveimage_sidebar',height=200,width=200)
# --- SAMPLE ---
# press_button = st.button("Sample image",help='Toggle to get another samples')
# is_pressed = button_states() # gets our cached dictionary
# sample = 'example_6.jpg'
# if press_button:
# is_pressed.update({"pressed": not is_pressed["pressed"]})
# if is_pressed["pressed"]:
# selected_image = os.path.join('sample',sample)
49
Skin disease detection using CNN Algorithm
# '''
# load_model(selected_box)
# st.success('Download Model ✔️ Done!!!')
# if selected_image:
# if st.sidebar.checkbox('Crop image',value=True):
# crop_image = crop_image(selected_image)
# crop_image = np.array(crop_image.convert("RGB"))
# crop_image = crop_image.astype(np.int16)
# else:
# crop_image = Image.open(selected_image)
# crop_image = np.array(crop_image.convert("RGB"))
# st.write('##### Results:')
# if st.button('Show result'):
# results = load_result(selected_box,crop_image)
# df_disease = pd.DataFrame()
# df_disease = df_disease.reset_index(drop=True)
# df_disease['diseases'] =
['MEL','NV','BCC','BKL','AK','SCC','VASC','DF','unknown']
# for i in range(5):
# results[i][0] = np.around(results[i][0],4)*100
# df_disease['trainer_' + str(i)] = results[i][0]
#
st.dataframe(df_disease.style.highlight_max(axis=0,color='pink',subset=['trainer_0','trainer_1'
,'trainer_2','trainer_3','trainer_4']))
# with st.spinner("Drawing heatmap..."):
# image,image_ori,image_scale =
heatmap(selected_box,crop_image,Cam=EigenGradCAM) #GradCAM, \
# # ScoreCAM, \
# # GradCAMPlusPlus, \
# # AblationCAM, \
# # XGradCAM, \
# # EigenCAM, \
50
Skin disease detection using CNN Algorithm
# # EigenGradCAM, \
# # LayerCAM, \
# # FullGrad
# c1,c2,c3 = st.columns(3)
# with c1:
# st.header('Original')
# st.image(image_ori)
# with c2:
# st.header('Scaled')
# st.image(image_scale)
# with c3:
# st.header('Heat-map')
# st.image(image)
if selected_box == 'Efficient_B0_512':
'''
'''
load_model(selected_box)
st.success('Download Model ✔️ Done!!!')
if selected_image:
if st.sidebar.checkbox('Crop image',value=True):
crop_image = crop_image(selected_image)
crop_image = np.array(crop_image.convert("RGB"))
crop_image = crop_image.astype(np.int16)
else:
crop_image = Image.open(selected_image)
crop_image = np.array(crop_image.convert("RGB"))
st.write('##### Results:')
if st.button('Show result'):
results = load_result(selected_box,crop_image)
df_disease = pd.DataFrame()
df_disease = df_disease.reset_index(drop=True)
51
Skin disease detection using CNN Algorithm
df_disease['diseases'] = ['MEL','NV','BCC','BKL','AK','SCC','VASC','DF','unknown']
for i in range(5):
results[i][0] = np.around(results[i][0],4)*100
df_disease['trainer_' + str(i)] = results[i][0]
st.dataframe(df_disease.style.highlight_max(axis=0,color='pink',subset=['trainer_0','trainer_1'
,'trainer_2','trainer_3','trainer_4']))
with st.spinner("Drawing heatmap..."):
image,image_ori,image_scale =
heatmap(selected_box,crop_image,Cam=EigenGradCAM) #GradCAM, \
# ScoreCAM, \
# GradCAMPlusPlus, \
# AblationCAM, \
# XGradCAM, \
# EigenCAM, \
# EigenGradCAM, \
# LayerCAM, \
# FullGrad
c1,c2,c3 = st.columns(3)
with c1:
st.header('Original')
st.image(image_ori)
with c2:
st.header('Scaled')
st.image(image_scale)
with c3:
st.header('Heat-map')
st.image(image)
if selected_box == 'Metadata':
'''
'''
load_model(selected_box)
52
Skin disease detection using CNN Algorithm
if selected_image:
if st.sidebar.checkbox('Crop image',value=True):
crop_image = crop_image(selected_image)
crop_image = np.array(crop_image.convert("RGB"))
crop_image = crop_image.astype(np.int16)
else:
crop_image = Image.open(selected_image)
crop_image = np.array(crop_image.convert("RGB"))
st.write('##### Results:')
st.warning('Input-user appear new features for the model from the image, let change
these features!!!')
features = selected_features(crop_image)
if st.button('Show result'):
results = load_result(selected_box,crop_image,meta_features=features)
df_disease = pd.DataFrame()
df_disease = df_disease.reset_index(drop=True)
df_disease['diseases'] = ['MEL','NV','BCC','BKL','AK','SCC','VASC','DF','unknown']
for i in range(5):
results[i][0] = np.around(results[i][0],4)*100
df_disease['trainer_' + str(i)] = results[i][0]
st.dataframe(df_disease.style.highlight_max(axis=0,color='pink',subset=['trainer_0','trainer_1'
,'trainer_2','trainer_3','trainer_4']))
with st.spinner("Drawing heatmap..."):
53
Skin disease detection using CNN Algorithm
image,image_ori,image_scale =
heatmap(selected_box,crop_image,Cam=XGradCAM,meta_features=features) #GradCAM, \
# ScoreCAM, \
# GradCAMPlusPlus, \
# AblationCAM, \
# XGradCAM, \
# EigenCAM, \
# EigenGradCAM, \
# LayerCAM, \
# FullGrad
c1,c2,c3 = st.columns(3)
with c1:
st.header('Original')
st.image(image_ori)
with c2:
st.header('Scaled')
st.image(image_scale)
with c3:
st.header('Heat-map')
st.image(image)
54
Skin disease detection using CNN Algorithm
CHAPTER-7
TESTING
55
Skin disease detection using CNN Algorithm
7.TESTING
7.1 Introduction
Software testing stands as a crucial phase within the software development lifecycle,
focused on assessing, validating, and refining software to ensure its functionality, reliability,
and adherence to predefined standards. This systematic examination encompasses various
techniques, levels, and types aimed at identifying defects, verifying the software's conformance
to requirements, and guaranteeing its effectiveness. Through methods like functional and non-
functional testing, it aims to uncover bugs, performance issues, security vulnerabilities, and
usability concerns. Testing acts as a safeguard, catching errors early in the development
process, thereby reducing potential risks and costs associated with post-release fixes. It plays a
pivotal role in enhancing software quality, bolstering user confidence, and ultimately ensuring
a seamless and satisfying user experience.
56
Skin disease detection using CNN Algorithm
System testing is a critical phase in software development where the entire integrated
system is tested as a whole to ensure that it meets specified requirements and functions
correctly. This testing phase evaluates the system's functionality, performance, security, and
reliability before it is deployed to users.
Implementation Process:
1. Planning and Preparation: Define objectives, allocate resources, and create a testing
plan outlining the scope, goals, and methodologies.
2. Test Environment Setup: Establish a testing environment mirroring the production
environment where system testing can be conducted without affecting live users.
3. Test Execution: Execute test cases according to the test plan, covering functional,
performance, security, and compatibility aspects.
4. Defect Reporting and Resolution: Document any issues found during testing,
categorize them by severity, and collaborate to resolve them with the development
team.
5. Regression Testing: Re-run tests to ensure that fixes haven't caused new issues and
that the system still meets requirements.
6. User Acceptance Testing (UAT): Engage end-users to validate that the system aligns
with their needs and expectations before final deployment.
57
Skin disease detection using CNN Algorithm
7. Deployment: Once system testing and UAT are successful, the software is deployed
to the production environment for actual use.
Testing Techniques:
System testing is crucial as it helps uncover defects, validate functionality, and ensure
that the software meets both technical and business requirements before it is released to users.
It's an essential step toward ensuring a robust and reliable system in a real-world environment.
Testing techniques in software development encompass diverse methodologies and
approaches employed to evaluate the quality, functionality, and performance of software
systems. These techniques serve as systematic methodologies to detect defects, validate
functionality, and ensure that software meets specified requirements. Each technique addresses
different aspects of software testing, catering to various stages of the development lifecycle
and specific testing objectives.
Black box testing is a software testing technique that examines the functionality of a
system without requiring knowledge of its internal code structure, design, or implementation
details. Testers approach the system as a black box, focusing solely on inputs and outputs to
evaluate the system's behaviour against specified requirements without considering its internal
workings.
58
Skin disease detection using CNN Algorithm
6. Advantages:
• Allows testers with minimal technical knowledge to conduct tests.
• Encourages unbiased testing, focusing solely on user-centric perspectives and
requirements.
• Supports early testing without relying on detailed system knowledge, making it
suitable for parallel testing during development.
7. Limitations:
• Test coverage might be incomplete if certain scenarios aren't covered.
• Inability to detect certain types of defects that require knowledge of the system's
internal structure.
• Might lead to redundant or repetitive testing in cases where internal system
knowledge could streamline test cases.
Black box testing is vital in ensuring that software meets user expectations and specified
requirements, contributing to higher software quality and customer satisfaction. Its primary
focus on functionality and user experience makes it an essential technique in comprehensive
software testing strategies.
59
Skin disease detection using CNN Algorithm
5. Advantages:
• Detects hidden errors or logical issues within the code.
• Provides detailed insights into code quality and code coverage.
• Enables thorough testing of all code paths and logic branches.
6. Limitations:
• Requires deep technical expertise and knowledge of the system's
internal structure.
• Tests might be biased towards the code structure, potentially
overlooking user requirements.
• Complete coverage of all possible code paths can be time-
consuming and resource-intensive.
White box testing complements black box testing by providing an in-depth assessment
of the internal mechanisms and logic of the software. It is essential for ensuring robustness,
reliability, and adherence to coding standards and best practices within the software
application. However, it's often used in conjunction with other testing techniques to achieve
comprehensive test coverage and ensure both functional correctness and code robustness.
60
Skin disease detection using CNN Algorithm
2. Automated Testing: Unit tests are often automated, enabling frequent execution of
tests during development or after code changes, ensuring rapid feedback.
3. Test Coverage: Aims for high code coverage by creating test cases that cover various
scenarios, edge cases, and expected outcomes for each unit.
4. Frameworks and Tools: Utilizes testing frameworks (e.g., JUnit for Java, NUnit for
.NET) and testing libraries to write, execute, and manage unit tests efficiently.
5. Mocking and Stubs: Uses mock objects or stubs to simulate dependencies and isolate
the unit being tested, allowing for controlled testing environments.
6. Benefits
• Early Detection of Defects: Identifies bugs or issues in code during the
development phase.
• Facilitates Refactoring: Allows developers to refactor code confidently while
ensuring its functionality remains intact. Speeds up Development: Helps catch
errors early, reducing debugging time later in the development lifecycle.
7. Challenges:
• Testing Real-World Scenarios: Units might function correctly individually but
might not interact correctly when integrated.
• Overhead in Maintenance: Maintaining a large suite of unit tests can be time-
consuming.
Integration Testing:
62
Skin disease detection using CNN Algorithm
System Testing:
System testing is a comprehensive software testing phase that evaluates the complete
and integrated system to ensure that it meets specified requirements, functions as intended, and
is ready for deployment.
Functional Testing:
Functional testing is a vital software testing technique that evaluates the functionality
of a system by verifying whether it meets specified requirements and performs according to
expectations. This testing focuses on testing the application's functions or features against
predefined functional specifications.
63
Skin disease detection using CNN Algorithm
Functional testing forms a crucial part of software quality assurance, ensuring that the
software functions as expected and delivers value to users. Its emphasis on validating
functionalities against defined requirements helps in identifying and rectifying issues,
contributing to the overall reliability and success of the software application.
64
Skin disease detection using CNN Algorithm
the skin
disease.
65
Skin disease detection using CNN Algorithm
CHAPTER-8
SCREENSHOTS
66
Skin disease detection using CNN Algorithm
8.SCREENSHOTS
Homepage:
Description: The above screenshot display Home page consists of about and preview examples of 9
types diseases skin and preview dataset and user input features. Here the user will select the what they
want.
67
Skin disease detection using CNN Algorithm
About page:
68
Skin disease detection using CNN Algorithm
69
Skin disease detection using CNN Algorithm
70
Skin disease detection using CNN Algorithm
Disease prediction :
71
Skin disease detection using CNN Algorithm
72
Skin disease detection using CNN Algorithm
73
Skin disease detection using CNN Algorithm
Input Image:
8.8 Test Screen shows the result of user given input image.
Description: The above screenshot displays Cake order book consist of Customer Name and Email and
cake Type and quantity and Delivery date options. Here the user will Book the cake and order it.
74
Skin disease detection using CNN Algorithm
75
Skin disease detection using CNN Algorithm
8.10 Test Screen shows the result of user given input image.
Description: The above screenshot displays Cake order book consist of Customer Name and Email and
cake Type and quantity and Delivery date options. Here the user will Book the cake and order it.
76
Skin disease detection using CNN Algorithm
77
Skin disease detection using CNN Algorithm
CONCLUSION
78
Skin disease detection using CNN Algorithm
CONCLUSION
In conclusion, skin disease detection using CNN algorithms represents a promising approach
to revolutionizing dermatological diagnosis. Through the utilization of deep learning
techniques, particularly CNNs, this system demonstrates the potential to automate and enhance
the accuracy of identifying various skin conditions from images. By leveraging large datasets
and sophisticated model architectures, such as CNNs, the system can effectively learn complex
patterns and features indicative of different dermatological diseases, facilitating timely
diagnosis and treatment.
Furthermore, the system's ability to provide rapid and objective analysis holds significant
implications for improving healthcare accessibility and outcomes. By offering a scalable and
accessible solution, individuals can obtain timely assessments of their skin conditions,
irrespective of geographical barriers or limited access to dermatological expertise. Moreover,
healthcare professionals can benefit from the system's diagnostic support capabilities,
augmenting their expertise and streamlining clinical workflows.
FUTURE SCOPE
Skin disease detection using Convolutional Neural Networks (CNNs) presents a promising
future scope in healthcare. Integration with smartphone applications or portable devices could
enable convenient, real-time screening, particularly in underserved areas with limited access to
healthcare resources. Moreover, advancements in CNN architectures, such as attention
mechanisms and transfer learning, can enhance model performance and generalization across
diverse datasets. Collaborations between medical professionals, data scientists, and technology
companies can drive further innovation in this field, leading to the creation of user-friendly
tools for both healthcare providers and patients. Ethical considerations regarding data privacy,
model transparency, and bias mitigation must be addressed to ensure the responsible
deployment of CNN-based skin disease detection systems.
79
Skin disease detection using CNN Algorithm
BIBLOGRAPHY/REFERENCE
80
Skin disease detection using CNN Algorithm
BIBLIOGRAPHY
TEXTBOOKS:
1. Introduction to Machine Learning with Python: A Guide for Data Scientists,
Andreas C. Muller & Sarah Guido, Orielly Publications, 2019.
2. Python Machine Learning, Sebastian Raschka & Vahid Mir Jalili, 3 rd. Edition,2019
3. Machine Learning using Python, Mararanjani Pradhan, U Dinesh Kumar,Wiley, 1
st Edition, 2019
4. Machine Learning, Tom Mitchell, Mc Graw-Hill Publication, 2017.
5. Building Machine Learning System with Python, Luis Pedro Coelho, Willi
Richert, 2nd Edition, 2015.
6. Programming and Problem Solving with Python, Ashok Namdev Kamthane,
Amit Ashok Kamthane, TMH, 2019
REFERENCES
[1]. "Dermatologist-level classification of skin cancer with deep neural networks" by
Esteva et al. (2017).
[2]. "Automated skin cancer detection in dermatoscopic images using deep learning" by
Haenssle et al. (2018).
[3]."Deep learning for skin cancer detection: A comprehensive review" by Tschandl et al.
(2020).
[4]."Skin cancer classification using convolutional neural networks: Systematic review"
by Maron et al. (2020).
[5]."Deep learning for skin disease diagnosis: A review" by Han et al. (2020).
WEB SITES :
1) https://datagen.tech/guides/computer-vision/cnn-convolutional-neural-network/
2) https://www.kaggle.com/code/smitisinghal/skin-disease-classification/
3) https://paperswithcode.com/paper/skin-lesion-analysis-toward-melanoma
81
33-64/22A91F0059.pdf
ORIGINALITY REPORT
21%
SIMILARITY INDEX
PRIMARY SOURCES
1 www.coursehero.com
Internet 311 words — 2%
2 docplayer.net
Internet 283 words — 2%
3 pdfcoffee.com
Internet 194 words — 1%
4 deepai.org
Internet 150 words — 1%
5 fastercapital.com
Internet 130 words — 1%
6 docshare.tips
Internet 126 words — 1%
7 www.amrita.edu
Internet 96 words — 1%
8 www.slideshare.net
Internet 96 words — 1%
9 gecgudlavalleru.ac.in
Internet 82 words — 1%
10 vdocuments.site
Internet
80 words — 1%
11 www.ijraset.com
Internet 77 words — 1%
12 ijemr.vandanapublications.com
Internet 72 words — < 1%
13 gitmind.com
Internet 68 words — < 1%
14 www.microtool.de
Internet 68 words — < 1%
15 ijsrst.com
Internet 64 words — < 1%
16 discuss.streamlit.io
Internet 55 words — < 1%
17 ijarcce.com
Internet 54 words — < 1%
18 www.researchgate.net
Internet 54 words — < 1%
19 www.sartiano.it
Internet 48 words — < 1%
20 www.diagrams.net
Internet 47 words — < 1%
21 thequickadvisor.com
Internet 45 words — < 1%
22 ijircce.com
< 1%
Internet
42 words —
23 www.utdallas.edu
Internet 42 words — < 1%
24 discuss.pytorch.org
Internet 41 words — < 1%
25 library.binus.ac.id
Internet 35 words — < 1%
26 aec.edu.in
Internet 34 words — < 1%
27 es.scribd.com
Internet 34 words — < 1%
28 www.genmymodel.com
Internet 32 words — < 1%
29 pypi.org
Internet 30 words — < 1%
30 hdl.handle.net
Internet 29 words — < 1%
31 speakerdeck.com
Internet 28 words — < 1%
32 technodocbox.com
Internet 28 words — < 1%
33 Vishal Eswaran, Ushaa Eswaran, Vivek Eswaran,
Keerthna Murali. "chapter 19 Revolutionizing
26 words — < 1%
Healthcare", IGI Global, 2024
Crossref
34 aaltodoc.aalto.fi
Internet 26 words — < 1%
35 Mohamed Hammad, Paweł Pławiak, Mohammed
ElAffendi, Ahmed A. Abd El-Latif, Asmaa A. Abdel
24 words — < 1%
Latif. "Enhanced Deep Learning Approach for Accurate Eczema
and Psoriasis Skin Detection", Sensors, 2023
Crossref
36 epublications.regis.edu
Internet 24 words — < 1%
37 ijmtst.com
Internet 24 words — < 1%
38 kypseli.ouc.ac.cy
Internet 24 words — < 1%
39 migrationletters.com
Internet 24 words — < 1%
40 backend.orbit.dtu.dk
Internet 23 words — < 1%
41 repository.its.ac.id
Internet 22 words — < 1%
42 evnedev.com
Internet 20 words — < 1%
43 ijritcc.org
Internet 16 words — < 1%
44 vivekparasharr.github.io
Internet 16 words — < 1%
45 epgp.inflibnet.ac.in
< 1%
Internet
14 words —
47 docu.tips
Internet 13 words — < 1%
48 medium.com
Internet 13 words — < 1%
49 link.springer.com
Internet 12 words — < 1%
50 kupdf.net
Internet 11 words — < 1%
51 Jianxiao Bian, Song Zhang, Shaoqiang Wang,
Jianrui Zhang, Jinchang Guo. "Skin Lesion
10 words — < 1%
Classification by Multi-View Filtered Transfer Learning", IEEE
Access, 2021
Crossref
53 inet.vidyasagar.ac.in:8080
Internet 10 words — < 1%
54 www.easychair.org
Internet
10 words — < 1%
55 Ton Duc Thang University
Publications 9 words — < 1%
56 core.ac.uk
Internet 9 words — < 1%
57 home.simula.no
Internet 9 words — < 1%
58 ir.juit.ac.in:8080
Internet 9 words — < 1%
59 journals.plos.org
Internet 9 words — < 1%
60 users.tricity.wsu.edu
Internet 9 words — < 1%
61 www.ijarst.in
Internet 9 words — < 1%
62 www.jollytech.com
Internet 9 words — < 1%
63 www.paulmckevitt.com
Internet 9 words — < 1%
64 123dok.com
Internet 8 words — < 1%
65 Gupta, Kartik. "Towards Efficient and Reliable Deep
Neural Networks", The Australian National
8 words — < 1%
University (Australia), 2023
ProQuest
66 dokumen.tips
Internet 8 words — < 1%
67 eprints.kingston.ac.uk
Internet 8 words — < 1%
68 studymoose.com
Internet 8 words — < 1%
69 www.jntua.ac.in
Internet 8 words — < 1%
70 www.vskills.in
Internet 8 words — < 1%
71 "Intelligent Data Communication Technologies and
Internet of Things", Springer Science and Business
7 words — < 1%
Media LLC, 2022
Crossref
75 www.msrblog.com
Internet 6 words — < 1%
EXCLUDE QUOTES ON EXCLUDE SOURCES OFF
EXCLUDE BIBLIOGRAPHY ON EXCLUDE MATCHES OFF