Skin Disease Detection: Machine Learning vs Deep Learning

Skin disease is a very common disease for humans. In the medical industry detecting skin disease and recognizing its type is a very challenging task. Due to the complexity of human skin texture and the visual closeness effect of the diseases, sometimes it is really difficult to detect the exact type. Therefore, it is necessary to detect and recognize the skin disease at its very first observation. In today's era, artificial intelligence (AI) is rapidly growing in medical fields. Different machine learning (ML) and deep learning(DL) algorithms are used for diagnostic purposes. These methods drastically improve the diagnosis process and also speed up the process. In this paper, a brief comparison between the machine learning process and the deep learning process was discussed. In both processes, three different and popular algorithms are used. For the machine Learning process Bagged Tree Ensemble, K-Nearest Neighbor (KNN), and Support Vector Machine(SVM) algorithms were used. For the deep learning process three pre-trained deep neural network models ResNet50, VGG16, and GoogleNet were used. It was observed that the accuracy of both processes is much satisfactory.


INTRODUCTION
Skin is the most important and largest body part of the human. The 20 square feet of total body area of a human is covered by skin. It protects different vital organs of the human body from outside harm and also protects from microbes and the elements, regulates the body temperature, and allows the sensations of touch, heat, and cold. But due to the variety of external and genetic factors, the skin may be influenced. Basically, three types of skin diseases appear on human skin 1) Viral type, 2) Fungal type and 3) Allergic type. The fungal and allergic-type diseases can be cure if it is diagnosis properly and recognize at its early stages. But for viral types, it is very necessary to identify the disease in its early stages. Over the past few years, artificial intelligence, machine learning, and deep learning techniques are rapidly developed in the medical field. With the physical symptoms, image analysis is also very important to detect different skin diseases. The image analysis process helps to detect skin diseases with higher accuracy.
In this research paper, three different machine learning processes and three different deep neural networks were used to predict different skin diseases. Finally, a complete comparison between the machine learning and deep learning process is developed to understand the whole experimental process.

LITERATURE REVIEW
Skin diseases are very common for all humans. Several researchers proposed several methods to detect skin diseases.
In a research paper, researchers proposed an image processing-based skin disease detection technique. They used the RGB image of the skin diseases area as input. Then resize the images and extract the features using a pre-trained convolution neural network model. They apply multi support vector machine for classification. They show that this method is simple, easy and the accuracy is 100% [1].
Researchers show several studies of skin diseases in their review paper. All the studies are related to the classification of several skin diseases using the machine learning processes. They show a detailed review of the applied mechanisms, algorithms, and accuracies of those processes [2]. In another review research article, the researchers review different deep learning approaches for skin diseases detection. They briefly described different publicly available datasets, their image acquisitions process, and proposed algorithms [3].
In another research paper, the researchers used five different machine learning algorithms to detect skin diseases.
They used random forest, kernel SVM, Naïve Bayes, Logistic Regression, and Convolution Neural Network algorithms. Finally from the confusion matrix, they discovered that the convolution neural network model gave the best result for this disease detection process [4].
Researchers proposed an artificial intelligence system based on a neural network. This system has two parts first feature extraction, that was done by the image acquisition process. Second part was classification, which was done by the feed-forward neural network [5].
Other researchers proposed in their study six different data mining algorithms for classifying the different skin disease classes. The select 15 most salient features for predict the disease classes. Except for these six algorithms, the authors also create an ensemble method using Bagging, AdaBoost, and Gradient Boosting classifier techniques for prediction. Finally, they conclude the ensemble method provides a more accurate and effective prediction for skin disease detection [6].
The authors proposed an artificial intelligence system for skin cancer detection. They used image processing and a deep neural network for skin cancer detection. First, they segmented the affected area and extracted the features from the area using the image processing method, and for prediction, they used a convolution neural network. They achieved 93.7% for training accuracy and 89.5% for test accuracy [7].
Researchers proposed another skin diseases detection model based on an adaptive federated machine learning process. This approach consists of intelligent local edges (dermoscopy) and a global point (server). This architecture can able to diagnosis the skin type, skin diseases type and also improve the accuracy constantly [8].

DATASET DETAILS
For the experimental purpose here various skin disease datasets are used. All the datasets are collected from Kaggle.
The final dataset contains more than forty thousand images of skin disease data. All the images are divided into 12 skin disease classes. The sample images of the dataset are showing in figure 1.

PROPOSED METHODOLOGY
In this research, a comparison of different machine learning and deep learning approaches was described.

MACHINE LEARNING APPROACHES
Machine learning [1][4] [6][9] is a part of Artificial Intelligence (AI). It can learn automatically from input data and make an output decision. This process involves 4 steps 1) Data Collection, 2) Data Preprocessing, 3) Feature Extraction, and 4) Classification.
a. Data Collection. The data collection process is described in section 3. All the input images are in RGB color space.
Step 1: Accept the input RGB images(im) and adjust the brightness and contrast Step 2: Convert the RGB images into Grayscale images.
Step 3: Remove the noises from each R, G, B color channel using a median filter.
c. Feature Extraction. For the experimental purpose here the Gray Level Co-occurrence Matrix (GLCM) [13] is used for feature selection. It is a statistical texture analysis process. It is a second-order statistical texture analysis method. This process calculates the statistical information from each neighboring pixel of a grayscale image. Here the GLCM features are calculated using the below equations.

Contrast
(1) Homogeneity (4) Mean (5) Standard Deviation Entropy (7) Variance (8) After measuring the features using the above equations, the feature values and corresponding class values to the different diseases are stored in a database. This database is used for the next process. In this experiment, three classification models are used. They are Support Vector Machine (SVM) Algorithm, K-Nearest Neighbour (KNN) Algorithm, and Ensemble Bagged Tree Algorithm.

Support Vector Machine (SVM).
It is a supervised learning algorithm. This algorithm transforms the complex data based on the kernel function. It maximizes the separation between the classes to make a clear prediction. Here multiclass SVM method is used. This algorithm breaks down the multiclass problem into binary classes. And for each binary pair, the algorithm executes and finally makes a prediction [14][15].

K-nearest neighbor (KNN).
It is also a supervised learning method. In this method, each sample classified its similar surrounding samples. Therefore, when it is needed to classify an unknown sample, then it could be classified by its surroundings samples. When a training dataset and an unknown sample are given, then the classifier calculates the distance between the unknown sample and all datasets. The smallest distance value between the unknown sample and the training set is accepted. Primarily, the performance of KNN depends on the value of K, the no of nearest neighbor, to classify an unknown sample. If k is very small then the classification not very good. But the largest number of k gives the perfect result of classification [16][17].
Ensemble Bagged Tree Algorithm. Ensemble method combines several decision trees to perform the classification or regression operation. It uses several weak learners to create a strong learner. Tree Bagging is also known as Bootstrap aggregation. It is used to reduce the variance of a decision tree. This method creates several random subsets from the training dataset and trains them. And the bagged tree goes deeper for prediction [18][19].

DEEP LEARNING APPROACHES
Deep Learning [20][21] is also a machine learning technique. It uses the architecture of the neural network that's why it's also known as a deep neural network. This network has one input layer, one output layer, more than one hidden layer. It uses a large amount of labelled data for training. This is the reason that the prediction of a deep learning network is much more accurate.
Dataset Selection. The data selection process is described in section 3.
Preprocessing. Data pre-processing process involves the following steps.
Step 1: Accept the input RGB images(im) and adjust the brightness and contrast Step 2: Remove the noises from each R, G, B color channel using a median filter.
Step 3: Resize the image with dimension 224 × 224 × 3. Where 224 × 224 is the size of the input image and the number of channels is 3.

Classification.
In this experiment, for classification three pre-trained deep learning network models are used, 1) this network help in the deeper classification of an image. Therefore, the classification accuracy of this network is much more higher and precise than any other model [24][25].
In this experiment, the image dataset for skin disease detection has 12 classes for classification. Therefore the output of the fully connected layer of all three models is adjusted according to it. For training and testing, the total image dataset is split into 4:1 ratio. The performance analysis is shown in table 2.

RESULTS AND DISCUSSIONS
In this experiment, a brief comparison between machine learning and deep learning is depicted. Figure 2 describes the total classification process of the machine learning approach. And figure 3 describes the overall deep learning process. The performance analysis of three machine learning processes is shown in table 1. And the performance analysis of the deep learning process with three different pre-trained models is shown in table 2.     Figure 4 shows the graphical representation of the performance analysis between the two learning methods.

CONCLUSION
Skin is the largest part of the human body. Due to several external and internal factors, skin diseases may occur.
Therefore detecting skin diseases is a very important part of medical science. Because it could help to reduce the death due to skin disease or disease transmission. The clinical process is very time-consuming and sometimes does not properly diagnose the exact type of disease. Machine learning and deep learning technique are very much helpful in these cases.
In this paper, a brief detail of machine learning and deep learning techniques for skin disease detection was discussed. Three different machine learning algorithms and deep learning networks were used for the performance comparison. It was observed that both processes were performed very well for skin disease detection.