Software Requirements Specification
Software Requirements Specification
1. Introduction
1.1 Purpose
The purpose of this document is to define the software requirements for a Skin
Cancer Detection System using Convolutional Neural Networks (CNNs).
The system aims to classify skin lesion images into different categories to assist
dermatologists and healthcare professionals in early detection and diagnosis of
skin cancer.
1.2 Scope
This project involves:
Dataset Preparation: Using the HAM10000 dataset for training and
testing.
Image Preprocessing: Normalizing and resizing images.
Model Development: Implementing DenseNet121 for classification.
Performance Evaluation: Using metrics such as accuracy, precision,
recall, and F1-score.
Visualization: Plotting confusion matrices and training histories.
1.3 Definitions, Acronyms, and Abbreviations
CNN: Convolutional Neural Network
HAM10000: Human Against Machine dataset for skin lesion analysis
DenseNet121: A deep learning architecture used for feature extraction
Accuracy: The ratio of correct predictions to total predictions
Precision: The ratio of correctly predicted positive observations
Recall: The ability of the model to find all positive cases
F1-score: The harmonic mean of precision and recall
1.4 References
HAM10000 Dataset: Kaggle Dataset
TensorFlow Documentation: TensorFlow
Scikit-Learn Documentation: Scikit-Learn
2. Overall Description
2.1 Product Perspective
This project is a machine learning-based classification system that
automates skin cancer detection from medical images. The system will use deep
learning techniques to provide high accuracy in classification.
2.2 Product Functions
Data Preprocessing
Image Augmentation
Training a CNN Model
Model Evaluation & Metrics Calculation
Visualization of Results
2.3 User Characteristics
Doctors & Dermatologists: Use predictions as a diagnostic aid.
Medical Researchers: Improve models for automated detection.
Students & AI Enthusiasts: Learn from implementation.
2.4 Constraints
Requires high computational power (GPU recommended)
Dataset imbalance may affect classification performance
Requires pretrained weights for DenseNet121
3. Specific Requirements
3.1 Functional Requirements
FR1: Dataset Handling
System must download the HAM10000 dataset from Kaggle.
System must preprocess images to 128x128 resolution.
FR2: Model Training
System must train a DenseNet121-based CNN.
System must use data augmentation techniques.
FR3: Model Evaluation
System must compute accuracy, precision, recall, F1-score.
System must plot confusion matrix and training history.
FR4: Performance Optimization
System must fine-tune the last 30 layers of DenseNet121.
System must use dropout layers to prevent overfitting.
3.2 Non-Functional Requirements
NFR1: Performance
Model should achieve at least 85% accuracy on the test set.
NFR2: Usability
System should allow easy modifications for hyperparameter tuning.
NFR3: Reliability
System should handle missing or corrupted images gracefully.
4. Appendices
Appendix A: Sample code for model training
Appendix B: Instructions for dataset setup