0% found this document useful (0 votes)
32 views100 pages

Chantiii

The project report details the development of a Skin Disease Detection System using a Convolutional Neural Network (CNN) algorithm, aimed at providing early and accurate diagnosis of various skin conditions. It highlights the motivation behind the project, which is to improve access to dermatological expertise and reduce diagnostic errors through automated analysis. The report outlines the project's objectives, methodology, and structure, emphasizing its potential impact on healthcare outcomes for individuals affected by skin diseases.

Uploaded by

jatinpadala8
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)
32 views100 pages

Chantiii

The project report details the development of a Skin Disease Detection System using a Convolutional Neural Network (CNN) algorithm, aimed at providing early and accurate diagnosis of various skin conditions. It highlights the motivation behind the project, which is to improve access to dermatological expertise and reduce diagnostic errors through automated analysis. The report outlines the project's objectives, methodology, and structure, emphasizing its potential impact on healthcare outcomes for individuals affected by skin diseases.

Uploaded by

jatinpadala8
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/ 100

A Project Report

On

SKIN DISEASE DETECTION USING CNN ALGORITHM

Submitted in partial fulfilment of the requirements


for the award of the degree of

MASTER OF COMPUTER APPLICATIONS


SUBMITTED BY

S. SATEESH CHANDRA

(22A91F0059)

Under the Esteemed Guidance of


Mr. K. C. PRADEEP., M. Tech

Assiatant Professor

DEPARTMENT OF MCA

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

SURAMPALEM- 533 437, E.G. Dt, ANDHRA PRADESH

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

SURAMPALEM- 533 437, E.G. Dt, ANDHRA PRADESH

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

Project Guide Head of Department


Mr. K. C. PRADEEP, M. Tech Mrs.D. Beulah M.Tech., (Ph. D)
Assistant Professor, Associate professor ,
Department of MCA, Department of MCA ,
Aditya Engineering college, Aditya Engineering college ,
Surampalem-533437 Surampalem-533437

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.

Place: Surampalem NAME: S. SATEESH CHANDRA


Date: REGN NO : 22A91F0059
ACKNOWLEDGEMENT

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 also wish to thank Sri. M.Sreenivasa Reddy, Principal, Aditya Engineering


College, Surampalem, who has extended his 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

S.NO TABLE NO NAME OF THE TABLE PAGE NO

01 4.4.1.1 Use case template for Data Preprocessing 25

02 4.4.1.2 Use case template for Feature Engineering 26

03 4.4.1.3 Use case template for Model Building 26

04 4.4.1.4 Use case template for Perform Predictions 27

05 7.2.1 Sample Test case Specifications 64


LIST OF FIGURES

S.NO FIGURE NO NAME OF THE FIGURE PAGE NO

01 3.2.1 Stracture of CNN 11

02 4.2.1 System architecture 21

03 4.4.1 Use Case Diagram 25

04 4.4.2 Class diagram 29

05 4.4.3 Sequence diagram 30

06 4.4.4 Collaboration diagram 32

07 4.4.5 Activity Diagram 35


LIST OF SCREEN SHOTS

S.NO SCREEN NO NAME OF THE SCREEN PAGE NO


01 8.1 Home page screen for user 67

02 8.2 Test screen for about skin disease detection 68

03 8.3 It shows skin disease types images 69

04 8.4 It shows skin disease types images 70

05 8.5 Test Screen user given input image 71

06 8.6 Test screen shows for user show the result 72


of disease
07 8.7 Test screen for user show the result of disease 73

08 8.8 Test Screen shows the result of user given input 74


image.
09 8.9 Test Screen showing user given output image 75

10 8.10 Test Screen shows the result of user given input 76


image.
11 8.11 Test Screen showing user given output image 77
Skin disease detection using CNN Algorithm

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.

Additionally, traditional methods of skin disease diagnosis often rely heavily on


subjective interpretation by human experts, which can lead to variability and inconsistency in
diagnoses. CNN algorithms offer the potential for objective and standardized analysis of skin
images, reducing diagnostic errors and improving reliability.

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.3 Objective of the Project


The primary objective of the skin disease detection project using CNN algorithm is to
develop a robust and accurate computational tool for automated diagnosis of various skin
conditions. This encompasses several specific goals:

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.

1.4 organization of the project:

✓ System Analysis: This chapter consists of Description of current system, proposed


system, algorithms, and requirement specifications.
✓ Literature Survey: This chapter mostly covers the project's background, potential
techniques, an introduction, and information on various reference papersfrom which
the study was taken.
✓ System Design: This chapter mainly consist of modules description and unified
modelling language diagram: use case diagram, class diagrams.
✓ Technology Description: This chapter mainly consists of technology used in this
project.
✓ Sample code: This chapter mainly consists of sample code for few modules.
✓ Testing: This chapter mainly consist of testing techniques and testcases for modules.
✓ Screenshots: This chapter mainly consists of output screens of this project.
✓ Conclusion: The main aspects of the project was to detect the skin Disease andit
displays the name of skin disease.

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:

[1]."Dermatologist-level classification of skin cancer with deep neural networks" by


Esteva et al. (2017): This groundbreaking study demonstrated the potential of CNNs to classify
skin cancer images with performance comparable to expert dermatologists. The research
highlighted the importance of large-scale datasets and transfer learning for training accurate
models.
[2]."Automated skin cancer detection in dermatoscopic images using deep learning" by
Haenssle et al. (2018): This study proposed a deep learning approach for automated detection
of skin cancer using CNNs trained on a large dataset of dermoscopic images. The results
showed promising accuracy and highlighted the potential of AI in dermatology.
[3]."Deep learning for skin cancer detection: A comprehensive review" by Tschandl et al.
(2020): This review paper provides a comprehensive overview of recent advancements in deep
learning techniques for skin cancer detection, including CNN architectures, datasets, and
performance evaluation metrics. It discusses challenges and future directions in the field.
[4]."Skin cancer classification using convolutional neural networks: Systematic review"
by Maron et al. (2020): This systematic review evaluates the performance of CNN-based
models for skin cancer classification across different studies. It analyzes the strengths and
limitations of various approaches and provides insights into the current state-of-the-art.
[5]."Deep learning for skin disease diagnosis: A review" by Han et al. (2020): This review
paper provides a comprehensive overview of deep learning techniques, including CNNs, for
skin disease diagnosis. It discusses challenges such as dataset size, class imbalance, and model
interpretability, and suggests future research directions.
[6]."Automated skin lesion segmentation: A review of techniques and trends" by
Gonzalez-Hernandez et al. (2021): This review focuses on automated skin lesion segmentation
techniques, including CNN-based approaches. It discusses challenges and recent advancements
in this area, highlighting the importance of accurate segmentation for disease detection.

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

importance of large-scale datasets, model interpretability, and ongoing research efforts to


address challenges and improve the performance of AI systems in dermatology.

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.

3.1 EXISTING SYSTEM:


In Earlier year’s identification of skin disease detection is very difficult for humans they
used only the Naked eyes Manual detection and identification of skin disease involve more
man power and Higher expensive in large farm. Detection of disease and healthy monitoring
of skin are major challenges for sustainable humanlife. Hence there is need to detect skin
disease automatically using image processing technique at an early stage with accuracy. In the
existing technique KNN Algorithm is used to ex tract the textural features is applied to segment
input images.

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

3.2 PROPOSED SYSTEM:


The skin disease detection is the technique which is applied to detect the disease portion
from the input skin image of the Human. The skin disease detection technique is been proposed
in this work. in this field CNN(convolutional Nueral network)is used. The KNN classifier is
replaced with the CNN in the proposed work to classify data into multiple classes. Simply by
using this method finally we get the more accurate result when compared to traditional method
these techniques are not used in the main knowledge representation methods due to limited
expressive. CNN will classify the diseases like Melanoma, Actinic keratosis, Base cell
carcinoma, Bengin keratosis, Dermato fibroma, Melanocytic nevi ,vascular skin lesion,
squamous cell carcinoma, unknown.The proposed approach can successfully detect and
recognize the selected diseases with more accuracy.
Advantages :
• Enhanced quality of image to detect disease.
• Comparatively less in expense.
• It works with higher level of accuracy.
• It take less time to predict disease.

Algoritham : CNN(Convolutional neural network):


CNN stands for Convolutional Neural Network, a type of deep learning algorithm that
is commonly used for tasks involving visual data such as image recognition, object detection,
and image classification.
CNN algoritham contain 3 layers using these 3 layers it will predict the result.

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.

3.2.1 structure of cnn algoritham

3.3 Feasibility study:


A feasibility study on skin disease detection using CNN (Convolutional Neural Network)
algorithms involves assessing the practicality and viability of implementing such a system.
Here are key aspects typically considered in such a study:

1. Technical Feasibility: This involves evaluating the technical requirements and


capabilities needed to develop and deploy a CNN-based skin disease detection system.
It includes considerations such as the availability of suitable datasets, computational
resources for training and inference, and expertise in machine learning and image
processing.
2. Dataset Availability: One crucial aspect is the availability of high-quality, annotated
datasets of skin images representing various diseases and conditions. Feasibility

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

3.4 Functional Requirements:

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.

3.5 Non-Functional Requirements:


Non-functional requirements for a skin disease detection system using CNN algorithms
specify the qualities and constraints that the system must possess to ensure its usability,
reliability, security, and performance. Here are some key non-functional requirements:

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.

By addressing these non-functional requirements, a skin disease detection system using


CNN algorithms can deliver a reliable, secure, and user-friendly solution that meets the needs
of healthcare professionals and patients while adhering to ethical and regulatory standards.

15
Skin disease detection using CNN Algorithm

3.6 System Requirements:


System requirements for a skin disease detection system using CNN algorithm outline the
hardware, software, and environmental specifications necessary to develop, deploy, and
operate the system effectively. Here's a breakdown of the key system requirements:

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

3.7 Requirement Specifications

3.7.1 Software requirements


❖ Operating System : WINDOWS11
❖ Front End : HTML
❖ Back End : Python
❖ Tools : VS Code
❖ Technology : Streamlit

3.7.2 Minimum Hardware Requirements


❖ Processor : Intel core i3
❖ RAM : 8GB
❖ Hard Disk : 512 GB.
❖ Speed : 3.60GHz

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

4.2 System Architecture:

4.2.1 System Architecture


Architecure Description:

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.

4.4 UML Diagrams:


The software engineer can use the modelling notation that is governed by a set of

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

• UML design modeling focuses on behavioral modeling, implementation modeling, and


environmental model views.

These are divided into the following types.

• Use case diagram

• Class diagram

• Sequence diagram

• Collaboration diagram

• Activity diagram

4.4.1 Use case 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.

• Identifying the users ("actors") of the system.


• Providing a high -level view of what the system does.

23
Skin disease detection using CNN Algorithm

• Determining areas needing human-computer interfaces.

Graphical Notation: The basic components of Use Case diagrams are the Actor, the Use
Case,and the Association.

An Actor, as mentioned, is a user of the system,


and is depicted using a stick figure. Written
beneath the icon is the role of the user.Actors
are not limited to humans. Application can also
Actor be considered an actor, if a system
Actor Role
communicates with another application, and
Name
expects input or delivers output.

A Use Case represents a functionality of the


system from the viewpoint of the user and
Use Case describes the goals of their use. Use Cases are Use Case
normally presented as ovals. The name of the Name

use case is written within the ovals.

If an actor is involved in a use case – by starting


a function of the system, for example, then this
Directed
is controlled by a communication relationship,
Association
also called an association. It is identified in the
use case diagram through a simple line or a line
with arrow.

24
Skin disease detection using CNN Algorithm

4.4.1 use case Diagram

Use case Templates

Use case name Data preprocessing

Participating actors ML Engine

Flow of events • User should read the data set.

• ML System will perform Data Preprocessing


Entry condition System should collect all the dataset from user.

Exit condition System successfully preprocess all dataset.

Table 4.4.1.1: Use case template for Data Preprocessing

Use case name Feature Extracting


Participating actors ML Engine

25
Skin disease detection using CNN Algorithm

• ML System should resolved the noise and the


data is used for building appropriate model.

Flow of events • ML System will perform numerical and one-


hotcoding of Categorical variables to make
the
model work precisely and effectively.
Entry condition ML System should preprocess the dataset.
Exit condition ML System successfully selects the features.

Table 4.4.1.2: Use case template for Feature Engineering

Use case name Model Building


Participating actors ML Engine

• ML System removes columns which are not


required and performs data preprocessing.

Flow of events • ML System will perform feature scaling and


hyperparameter tuning to make the model
workprecisely and effectively.
Entry condition ML Engine should preprocess the dataset.
Exit condition ML Engine successfully selects the features.

Table 4.4.1.3: Use case template for Model Building


Use case name Perform Predictions
Participating actors ML Engine / User

• ML System should perform preprocessing


ondataset

• ML System should split the dataset into


trainand test dataset
Flow of events
• ML System should perform prediction on
skin diseases.

26
Skin disease detection using CNN Algorithm

Entry condition ML System should execute the best model on the

test dataset.
Exit condition ML System successfully performs the predictions.
Table 4.4.1.4: Use case template for Perform Predictions

4.4.2 Class Diagram :

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.

If two classes in a model need to


communicate with each other, there must
Associatio be a link between them. This link can be
n represented by an association.
Associations can be represented in a class
diagram by a line between these classes
with an arrow
indicating the navigation direction.

Fig 4.4.2.1: Class diagram for System

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.

Graphical Notation: in a Sequence diagram, classes and actors are listed as


columns, with vertical lifelines indicating the lifetime of the object over time.

Each system/object instance and actor is placed


on a lifeline - a vertical dotted line - going across
the top of the sequence diagram. An Object is
Object figured as a rectangular box, with the class name
inside prefixed with the object name (optional)
along with a semi-colon.

The messages that pass between the lifelines are


Lifeline connectors - solid for an initial message or
outgoing call, and dotted for a return value.

A rectangle shape placed on a lifeline that


indicates the time or duration an object needs
Activation to finish a task.

Used to create an object in a sequence diagram


Message
example that is usually drawn using a dashed line
and an open arrowhead pointing to the object
created. It represents a symbol of a dashed line
with an open arrowhead in response
to the calls from the original lifeline.

29
Skin disease detection using CNN Algorithm

4.4.3.1 sequence Diagram

4.4.4 Collaboration Diagram

Like A Collaboration diagram is easily represented by modeling objects ina


system and representing the associations between the objects as links.
The interaction between the objects is denoted by arrows. To identify the

sequence of invocation of these objects, a number is placed next to each of these


arrows.
A sophisticated modeling tool can easily convert a collaboration diagram
into a sequence diagram and the vice versa. Hence, the elements Collaboration
diagram are essentially the same as that of a Sequence diagram

30
Skin disease detection using CNN Algorithm

Graphical Notation:

The objects interacting with each other in the


system. Depicted by a rectangle with the name of
the object in it, preceded by a colon and
Object
underlined.

Actors too can be listed on Collaboration


diagrams because they also communicate with
objects. An Actor is depicted by a stick figure.
Actor

An arrow pointing from the commencing object


to the destination object shows the interaction
between the objects. The number represents the
Message
order/sequence of this interaction.

31
Skin disease detection using CNN Algorithm

4.4.4.1 collaboration Diagram

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

Activity diagram is another important diagram in UML to describe dynamic


aspects of the system. Activity diagram is basically a flowchart to represent the flow
from one activity to another activity. The activity can be described as in operation of
the system.
The control flow is drawn from one operation to another. This shows the flow of
events within the system. The activities that occur within a use case or within an
objects behavior typically occur in a sequence. An activity diagram is designed to be
simplified look at what happens during an operation or a process.

32
Skin disease detection using CNN Algorithm

Starting point Represented by a fat black dot and


therecan be only one initial (starting)
node

Action Represented by a rectangle with


rounded corners (drawn in slightly
different ways depending on the
software used). Action nodes should
have a label.

End point An open circle with a smaller, solid


black dot in the middle, this is the end
of the activity.

Use diamonds whenever there is a


choice. You can either include the
decision as a question within the
Decision
diamond, or indicate the decision
outcome on the outgoing arrows
instead of simply using yes/no labels.

Synchronisation Multiple states are divided from the


bar stateby the fork and multiplestates
are mergedinto single states by the
join.

33
Skin disease detection using CNN Algorithm

The relationship between a source state


vertex and a target state vertex is
directed by a transition. We use a line
Transition
with an arrow head to depict a Control
Flow. If there is a constraint to be
adhered to while making the transition
it is mentioned on the arrow.

34
Skin disease detection using CNN Algorithm

Fig 4.4.5Activity diagram for Skin Disease Detection

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

5.1 Introduction to HTML:

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.

• HTML stands for Hyper Text Markup Language


• HTML is the standard markup language for creating Web pages
• HTML describes the structure of a Web page
• HTML consists of a series of elements
• HTML elements tell the browser how to display the content
• HTML elements label pieces of content such as "this is a heading", "this is a
paragraph", "this is a link", etc.

BASIC HTML Tags:

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.

5.2 Introduction to Python:

Python is a widely used general-purpose, high-level programming language. It was


initially designed by Guido van Rossum in 1991 and developed by Python Software
Foundation. It was mainly developed for emphasis on code readability, and its syntax allows
programmers to express
concepts in fewer lines of code.

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.

5.3 Python Features:


1.Free and Open Source:

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

5. GUI Programming Support:


Graphical User interfaces can be made using a module such as PyQt5, PyQt4,
wxPython, or Tk in Python. PyQt5 is the most popular option for creating graphical apps
with Python.

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

13. Dynamically Typed Language


Python is a dynamically-typed language. That means the type (for example- int,
double, long, etc.) for a variable is decided at run time not in advance because of this feature
we don’t need to specify the type of variable.
14. Frontend and backend development
With a new project py script, you can run and write Python codes in HTML with the
help of some simple tags <py-script>, <py-env>, etc. This will help you do frontend
development work in Python like javascript. Backend is the strong forte of Python it’s
extensively used for this work because of its frameworks like Django and Flask.
15. Allocating Memory Dynamically
In Python, the variable data type does not need to be specified. The memory is
automatically allocated to a variable at runtime when it is given a value. Developers do not
need to write int y = 18 if the integer value 15 is set to y. You may just type y=18.

5.4 INTRODUCTION TO MACHINE LEARNING:

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.

5.5 Introduction to Streamlit :

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.

Here's some key information about Streamlit:

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")

# --- USER AUTHENTICATION ---

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)

# if selected_box != 'Select model':


# load_model(selected_box)
# st.success('Download Model ✔️ Done!!!')

# --- MAIN BUILD ---


# if selected_box == 'Efficient_B0_256':
# '''

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

st.success('Download Model ✔️ Done!!!')


load_model(selected_box)

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.

System Testing and Implementation:

System testing represents a pivotal phase in the software development lifecycle,


encompassing a comprehensive evaluation of the entire integrated system. This critical testing
stage examines the system's functionality, performance, security, and compatibility to ensure it
aligns with specified requirements. Functional validation verifies that every feature operates as
intended, while performance testing gauges its responsiveness, scalability, and resource usage.
Security checks ensure robust protection against potential vulnerabilities, and compatibility
testing ensures seamless operation across diverse platforms and devices. Simultaneously, user
acceptance testing involves real-world validation by end-users to affirm that the system full
fills their needs. Alongside system testing, the implementation process unfolds, commencing
with meticulous planning, resource allocation, and test environment setup mirroring the live
environment. Test execution follows, encompassing various testing methodologies, defect
reporting, resolution cycles, and regression tests to ensure fixes haven't introduced new issues.
The culmination involves engaging end-users in UAT to ascertain the system's alignment with
their expectations before the final deployment to the production environment. This combined
process of rigorous testing and meticulous implementation
aims to guarantee a robust, reliable, and user-centric system that meets both technical
specifications and user requirements before its release for operational use.

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.

Key Aspects of System Testing:


1. Functional Validation: Verifies that the system meets functional requirements
specified in the design and functional specifications. It ensures that each feature and
functionality behave as intended.
2. Performance Testing: Assesses the system's performance metrics such as speed,
responsiveness, scalability, and resource usage under different conditions. This
includes load testing, stress testing, and scalability testing.
3. Security Testing: Checks the system for vulnerabilities and ensures that sensitive data
is protected against unauthorized access, manipulation, or breaches.
4. Compatibility Testing: Verifies that the system operates seamlessly across different
devices, browsers, and platforms to ensure a consistent user experience.
5. User Acceptance Testing (UAT): Involves end-users testing the system in a real-world
environment to ensure it meets their needs and expectations.

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.

Key Aspects of Black Box Testing:

1. Focus on Functionality: It assesses whether the system functions correctly according


to defined specifications, disregarding how the functionality is implemented within the
system.
2. External Perspective: Testers simulate user interactions with the system, inputting
data and analysing outputs, similar to how an end-user would interact with the software.
3. Testing Scenarios: Test cases are designed based on requirements, specifications, use
cases, or user stories, aiming to cover various scenarios to validate the system's
functionality.
4. Types of Black Box Testing: Includes functional testing, boundary value analysis,
5. equivalence partitioning, state transition testing, usability testing, and more, each
focusing on different aspects of system behavior.

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.

White Box Testing:


White box testing, also known as clear box testing or structural testing, is a software
testing technique that examines the internal structure, code, and logic of a software application.
Unlike black box testing, which focuses on testing from an external or user perspective, white
box testing involves assessing the internal workings of the system.

Key Aspects of White Box Testing:

1. Understanding Internal Structure: Testers have knowledge of the system's internal


code, allowing them to design test cases based on the system's architecture, code paths,
and control structures.
2. Validation of Code Logic: It aims to verify that the code functions as expected,
ensuring
that each statement, condition, and path is tested and performs correctly.

59
Skin disease detection using CNN Algorithm

3. Coverage Metrics: Measures code coverage, including statement coverage, branch


coverage, and path coverage, to ensure thorough testing of different code segments.
4. Types of White Box Testing: Includes techniques such as statement coverage, branch
coverage, path coverage, condition coverage, and loop coverage, each targeting specific
elements of code execution.

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.

Testing Strategies Unit testing:


Unit testing is a fundamental software testing strategy that focuses on testing individual
components, modules, or units of code in isolation. It validates whether each unit of the
software functions correctly and meets its design specifications.

Key Aspects of Unit Testing:

1. Isolation of Components: Tests are performed on individual units of code, such as


functions, classes, or methods, without dependencies on other parts of the system

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.

Unit testing serves as a foundational element of software development, ensuring that


individual units of code perform as expected in isolation. It contributes to code quality, reduces
bugs, and fosters a more robust and maintainable software codebase. When combined with
other testing strategies like integration testing and end-to-end testing, it contributes to a
comprehensive and effective quality assurance process.
1. Testing Interactions: Focuses on verifying interactions between integrated
components to validate data flow, communication, and interfaces.
2. Incremental or Big Bang Approach: Can be performed incrementally, where
modules are integrated and tested one at a time (bottom-up or top-down), or as a
whole in a "big bang"
Approach.
3. Types of Integration Testing: Includes approaches such as:
61
Skin disease detection using CNN Algorithm

• Top-Down Integration: Testing starts from higher-level modules,


progressively integrating lower-level modules.
• Bottom-Up Integration: Begins with testing lower-level modules, gradually
integrating higher-level modules.
• Stubs and Drivers: Placeholder components (stubs for modules under
construction or drivers for modules calling others) simulate interactions.
4. Data Flow and Control Flow Testing: Verifies the flow of data and control between
integrated components, ensuring proper communication and functionality.
5. Functional and Non-Functional Testing: Assesses both functional aspects (feature
interactions) and non-functional aspects (performance, scalability, and reliability of
integrated components).
6. Benefits:

• Detects Interface Issues: Identifies inconsistencies, data mismatches, or


communication problems between integrated modules.
• Ensures System Coherence: Validates that the system functions as expected
after combining individual components.
• Reduces Risks in System Integration: Helps mitigate integration-related risks
early in the development process.
7. Challenges:

• Complexity in Test Scenarios: Managing various integration points and


scenarios among components.
• Dependencies and Environment Setup: Handling dependencies and creating an
environment that mimics the production environment for testing.

Integration Testing:

Integration testing ensures that integrated components function correctly together,


adhering to predefined specifications and standards. It plays a crucial role in identifying
integration issues early in the development cycle, contributing to the overall reliability and
stability of the software system. When combined with other testing strategies, it forms an
essential part of a comprehensive software testing approach.

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.

Key Aspects of Functional Testing:

1. Validating Features: Verifies that individual features or functionalities of the software


perform as intended, adhering to defined requirements.
2. Test Scenarios and Use Cases: Test cases are designed based on user stories,
functional specifications, and use cases to cover various scenarios and workflows.
3. Inputs and Outputs: Involves providing inputs to the system and validating outputs to
ensure they match expected results.
4. Types of Functional Testing: Includes various approaches such as:
• Unit Testing: Testing individual components or units in isolation.
• Integration Testing: Evaluating interactions between integrated components.
• System Testing: Validating the entire system's functionalities.
5. Regression Testing: Re-running functional tests after code changes to ensure that
modifications haven't adversely impacted existing functionalities.
6. Tools and Automation: Utilizes testing tools and frameworks to automate test cases
for efficiency and repeatability.
7. Boundary Testing and Error Handling: Tests for boundary conditions and error-
handling scenarios to ensure the system responds appropriately to unexpected inputs or
conditions.

63
Skin disease detection using CNN Algorithm

Benefits and Goals:

• Validation of Requirements: Ensures that the software meets specified functional


requirements.
• Defect Identification: Helps identify defects or deviations from expected behavior.
 Enhanced Quality: Contributes to higher software quality and user satisfaction by
validating core functionalities.
• Early Issue Detection: Allows for early detection and resolution of functional issues
during the development lifecycle.

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.

7.2 SAMPLE TEST CASES SPECIFICATIONS:

Test Test Case Excepted Observed Result


Number 0utput
output

User given It loads It loads Pass


input image successfully successfully
T1
into and predict and predict
algorithm the skin the skin
disease disease

User given It does not Project fail


input image loads loads
T2
into successfully successfully
algorithm and predict

64
Skin disease detection using CNN Algorithm

the skin
disease.

Run the Program is Program is pass


main file executing executing
T3
successfully successfully

Feature Extracts Features fail


extraction is features aren’t
T4
performed from the extracted
data from the
correctly data

T5 Feature Extracts Extracts pass


extraction is features features
performed from the from the
data data
correctly correctly

Prediction Results are Results are pass


model is estimated estimated
T6
called for skin for skin
disease disease
detection detection

Prediction Results are Results are fail


model is estimated not
T7
called for skin estimated
disease for leaf
detection disease
detection

65
Skin disease detection using CNN Algorithm

CHAPTER-8
SCREENSHOTS

66
Skin disease detection using CNN Algorithm

8.SCREENSHOTS

Homepage:

8.1 : Home page screen for user

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:

8.2 Test screen for about skin disease detection


Description: The above screenshot display about page consists of skin disease information.

68
Skin disease detection using CNN Algorithm

Preview examples of 9 types of skin diseases page:

8.3 it shows skin disease types images


Description: The above screenshots display about various 9 types of skin disease.

69
Skin disease detection using CNN Algorithm

8.4 it shows skin disease types images


Description: The above screenshots display about various 9 types of skin disease.

70
Skin disease detection using CNN Algorithm

Disease prediction :

8.5 Test screen for user given input image


Description: The above screenshots displays user given input.

71
Skin disease detection using CNN Algorithm

8.6 Test screen for user show the result of disease


Description: The above screenshots displays skin disease percentage .

72
Skin disease detection using CNN Algorithm

8.7 Test screen for user show the result of disease


Description: The above screenshots displays skin disease percentage and and also predict heatmap of
input image.

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

8.9 Test Screen showing user given output image


Description: The above screenshots displays user uploaded image of skin disease of victim.and
disease percentage and also heatmap of upload of skin images.

75
Skin disease detection using CNN Algorithm

Another example of user input:

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

8.11 Test Screen showing user given output image


Description: The above screenshots displays user uploaded image of skin disease of victim.and
disease percentage and also heatmap of upload of skin images.

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).

[6]."Automated skin lesion segmentation: A review of techniques and trends" by


Gonzalez-Hernandez et al. (2021).

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 —

46 "Computational Intelligence, Communications,


and Business Analytics", Springer Science and
13 words — < 1%
Business Media LLC, 2019
Crossref

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

52 Vasishtamol P K, Soni P. "Advances in Deep


Learning for Dermatology: Convolutional Neural
10 words — < 1%
Networks for Automated Skin Disease Detection and
Diagnosis", 2023 14th International Conference on Computing
Communication and Networking Technologies (ICCCNT), 2023
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

72 "Data Engineering and Communication


Technology", Springer Science and Business Media
6 words — < 1%
LLC, 2021
Crossref

73 "E-Learning Networked Environments and


Architectures", Springer Nature, 2007
6 words — < 1%
Crossref

74 Summi Goindi, Khushal Thakur, Divneet Singh


Kapoor. "Chapter 16 Skin Disease Classification and
6 words — < 1%
Detection by Deep Learning and Machine Learning
Approaches", Springer Science and Business Media LLC, 2023
Crossref

75 www.msrblog.com
Internet 6 words — < 1%
EXCLUDE QUOTES ON EXCLUDE SOURCES OFF
EXCLUDE BIBLIOGRAPHY ON EXCLUDE MATCHES OFF

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy