wikillm

Paper · 2022-07-06 · cs.CV, cs.AI, eess.IV

Monkeypox Skin Lesion Detection Using Deep Learning Models: A Feasibility Study

Builds a small monkeypox skin-lesion dataset (228 web-sourced original images, expanded 14x by augmentation) and fine-tunes ImageNet-pretrained VGG16, ResNet50 and InceptionV3 as binary classifiers (monkeypox vs chickenpox and measles). In 3-fold cross-validation ResNet50 reaches 82.96 ± 4.57% accuracy and a three-model majority-vote ensemble 79.26 ± 1.05%. Author-reported; very small dataset.

Transfer learningData augmentationConvolutional neural networkEnsemblesmedical-imagingskin-lesion-classificationtransfer-learning

arXivPDFMarkdown8 min read

AI-compiled by claude-haiku-5-5 on 2026-11-08, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Monkeypox rashes look a lot like chickenpox and measles, and the lab test that confirms it is not always available. The authors asked whether a computer could help by looking at a photo of a skin lesion and flagging possible monkeypox. The obstacle was that no public collection of monkeypox skin photos existed, so they built a small one from case reports, news sites and websites.

Because so few photos were available, they made more of them by altering each image in several ways (turning it, flipping it, changing colour and brightness, adding noise). Then they took three image classifiers that had already been trained on a large general photo collection and retrained their final layers to separate monkeypox from the other two diseases.

The best of the three was about 83% accurate in their tests. The authors stress that this is a feasibility study on a small, web-collected set of photos, not a clinical tool, and that a larger and more diverse dataset is needed before the results can be trusted in general.

TL;DR

  • A 228-image binary dataset (monkeypox vs. chickenpox and measles), augmented to 3,192 images tab. 1 §3.
  • Three ImageNet-pretrained CNNs (VGG16, ResNet50, InceptionV3) are fine-tuned with a shared classification head §4.1 §4.2.
  • ResNet50 has the best mean accuracy, 82.96 ± 4.57%, in 3-fold cross-validation; the differences between models are within the reported standard deviations tab. 2 §4.4.
  • The authors call the work a preliminary feasibility study, and the dataset is small and web-collected §5.

Problem

Early clinical recognition of monkeypox is hard, because its skin lesions resemble those of chickenpox and measles, and PCR confirmation is not always available §1 §2. The authors argue that automated image classification could support screening §1. Deep learning typically needs large labelled datasets, and at the time none existed for monkeypox §1. The paper assumes that augmentation and transfer learning can compensate for a small dataset §1. The authors list the main limitations themselves: few unique patients, ImageNet (not dermatology) pretraining, and missing clinical metadata §5.

Method

Dataset (MSLD). The authors collected skin-lesion photos mainly through manual search of case reports, news portals and websites; they did not use automatic scrapers §3. Images were checked with reverse image search and cross-referenced with other sources, then screened for focus, resolution and quality, and de-duplicated §3. Each image was cropped to its region of interest and resized to 224 × 224 pixels while keeping the aspect ratio §3. Chickenpox and measles form one "Others" class, so the task is binary §3. Samples are shown in fig. 3; lesion stages in fig. 2. The class counts appear in tab. 1: 102 monkeypox and 126 other original images, from 55 and 107 unique patients respectively tab. 1 §3.

Augmentation. Each original image receives 13 augmented copies, giving 14 versions in total §3 fig. 4. The augmentations are rotation, translation, reflection, shear, hue, saturation, contrast and brightness jitter, noise, blur and scaling §3 fig. 4. The compiled paper gives no parameter ranges. This brings the counts to 1,428 monkeypox and 1,764 other images tab. 1 §3.

Models. VGG16, ResNet50 and InceptionV3 are initialised from ImageNet weights §4.1. The original fully connected top is removed §4.2. The backbone output is flattened and passed to three fully connected layers of 4096, 1072 and 256 units, with dropout rates 0.3, 0.2 and 0.15 §4.2. A final two-unit layer with softmax gives the class probabilities §4.2. Only the "bottom eight layers" of each backbone are trainable §4.2; the authors also tried 4, 6 and 12 §4.2.

Training. Adam is used with an initial learning rate of 1e-5, batch size 16, and binary cross-entropy loss §4.2. Training ran in Keras on Nvidia K80 GPUs provided through Kaggle notebooks §4.2.

Evaluation protocol. The authors use 3-fold cross-validation with a split of about 70:10:20 (train:validation:test), and claim patient independence between folds §4.3. Training and validation images are augmented; test images are always original §4.3 fig. 5. Metrics are accuracy, precision, F1-score and sensitivity §4.3; the results table reports recall, which is sensitivity tab. 2.

Ensemble. The three models vote by majority on each image §4.4. The paper does not describe averaging probabilities.

Demo. The best model (ResNet50) is deployed in a Streamlit web app. A user uploads a photo and receives an initial assessment §4.4 fig. 6.

Pseudocode
# Transfer-learning classifier  [§4.1] [§4.2]
# Input:  images (B, 224, 224, 3)
# Output: class probabilities (B, 2), softmax

def build_model(backbone):
    # ImageNet weights; the original top is removed  [§4.2]
    features = flatten(backbone(images))          # (B, F)
    # Keep trainable the "bottom eight layers"; the direction is
    # ambiguous, see Pitfalls  [§4.2]
    set_trainable(backbone, count=8)
    # Head: FC 4096 -> FC 1072 -> FC 256, dropout 0.3 / 0.2 / 0.15  [§4.2]
    # Dropout placement and hidden activations are not stated
    x = dropout(dense(features, 4096), rate=0.3)  # (B, 4096)
    x = dropout(dense(x, 1072), rate=0.2)         # (B, 1072)
    x = dropout(dense(x, 256), rate=0.15)         # (B, 256)
    return softmax(dense(x, 2))                   # (B, 2)  [§4.2]
Pseudocode
# Training with Adam, batch 16  [§4.2]
# Epoch count, LR schedule and stopping rule are not stated

def train_fold(model, train_images, train_labels):
    for batch in batches(train_images, train_labels, size=16):
        probs = model(batch.images)               # (16, 2)
        loss = binary_cross_entropy(probs, batch.labels)
        adam_step(model, loss, learning_rate=1e-5)
Pseudocode
# Majority-vote ensemble of the three fine-tuned models  [§4.4]

def ensemble_predict(models, image):
    # Each model votes with its predicted class; no probability averaging
    votes = [predict_class(m, image) for m in models]
    return most_common(votes)

Hyperparameters

NameValueWhereNotes
Input size224 × 224 × 3§4.2 §3Cropped to region of interest, resized keeping aspect ratio; padding not stated
BackbonesVGG16, ResNet50, InceptionV3§4.1ImageNet pretrained
Trainable layersbottom 8§4.2Also tried 4, 6, 12; direction of "bottom" not defined
Head FC widths4096, 1072, 256§4.21072 is as written; not corrected here
Dropout0.3, 0.2, 0.15§4.2Placement relative to FC layers not stated
Output layerFC, 2 units, softmax§4.2
OptimiserAdam§4.2β1, β2, ε not stated
Learning rate1e-5 (initial)§4.2Schedule not stated
Lossbinary cross-entropy§4.2Applied to a 2-unit softmax output
Batch size16§4.2
Epochsnot stated—
Weight decay, seedsnot stated—
Cross-validation3-fold§4.3
Splitabout 70:10:20 train:val:test§4.3Exact per-fold counts not in the compiled paper
Augmentation13 copies per original (14× total)§3 fig. 4Applied to train and val only §4.3 fig. 5
Augmentation parametersnot stated—
Ensemblemajority vote over 3 models§4.4
Hardware and softwareKeras; Nvidia K80 via Kaggle§4.2

Results

Author-reported. Setup: 3-fold cross-validation on the 228 original images (augmented copies used only for training and validation), ImageNet-pretrained backbones, binary task monkeypox vs. others §4.3 §4.4 tab. 2. The comparison is between the four configurations only; no external baseline is reported tab. 2.

NetworkAccuracy (%)PrecisionRecallF1 scoreSource
VGG1681.48 ± 6.870.85 ± 0.080.81 ± 0.050.83 ± 0.06tab. 2
ResNet5082.96 ± 4.570.87 ± 0.070.83 ± 0.020.84 ± 0.03tab. 2
InceptionV374.07 ± 3.780.74 ± 0.020.81 ± 0.070.78 ± 0.04tab. 2
Ensemble (majority vote)79.26 ± 1.050.84 ± 0.050.79 ± 0.070.81 ± 0.02tab. 2

The text states that ResNet50 is best and that the ensemble has the lowest accuracy spread, but it does not beat ResNet50 on average §4.4. The abstract omits the InceptionV3 row § Abstract tab. 2.

Paper vs code

No official code. The paper's footnoted repository, mHealthBuet/Monkeypox-Skin-Lesion-Dataset, holds only images, a README and a LICENSE. Its README says the model and training code "will be released later" and links two Kaggle notebooks. A mirror under the first author's GitHub account (ShamsNafisaAli/Monkeypox-Skin-Lesion-Dataset, MIT) also contains no code. A GitHub search for "monkeypox skin lesion" returned 46 repositories. None is clearly the authors' method code: the results include third-party projects, for example a GPL-3.0 classifier from another group. The web-app link is a deployed demo, not source. Discrepancies between paper and code therefore cannot be checked.

Pitfalls

  • Dataset size and independence. The dataset has 228 originals from 162 unique patients tab. 1. Augmentation brings this to 3,192 images, but these are not independent samples. Fold standard deviations of 1 to 7 points are computed over only three folds §4.3 tab. 2.
  • Patient independence is claimed, not shown. The paper says patient independence was maintained across splits §4.3, but it does not describe how patients were assigned to folds, and the per-fold table is commented out of the compiled paper. Augmented copies of an image could land in both training and validation, and the paper does not say whether augmentation happened before or after splitting.
  • Positive class and metric definitions. The paper does not state which class is positive, so precision, recall and F1 are not fully specified. Sensitivity and recall are used interchangeably §4.3 tab. 2. Whether the ± values are sample or population standard deviations is not stated.
  • Label quality. Labels rest on reverse image search, cross-referencing and visual screening §3. Clinical or PCR confirmation of each image is not described. The discussion calls out the lack of clinical metadata such as disease stage and days since onset §5.
  • Ambiguous "bottom eight layers". The paper does not define which end of the backbone "bottom" refers to, nor how layers are counted in each architecture §4.2. The 4/6/8/12 sweep is described only briefly §4.2. An implementer should treat this as unresolved.
  • Head details. Hidden-layer activations are not stated, and it is unclear whether dropout follows every FC layer or only some §4.2. The 1072-unit width is unusual and is not explained §4.2.
  • Binary loss on a two-unit softmax. The paper names binary cross-entropy with a two-unit softmax output §4.2. The equivalent form is not stated, so the implementation (for example, one-hot categorical cross-entropy versus a single sigmoid output) is open.
  • Crop and resize. Images were cropped to the lesion and resized to 224 × 224 "while maintaining the aspect ratio" §3. Whether padding or letterboxing was used is not stated.
  • Augmentation ranges. The paper lists augmentation types but gives no parameters for any of them §3 fig. 4.
  • Missing training details. Epochs, learning-rate schedule, early stopping, optimiser betas and random seeds are not stated §4.2. Results cannot be reproduced exactly from the paper alone.
  • Pretraining domain. ImageNet weights were used throughout; the authors state that no skin-lesion pretraining was done and see that as a limit §5.
  • Overstated framing. The paper calls the work a feasibility study and says a larger, demographically diverse dataset is needed [abstract] §5. Do not present the accuracy figures as clinical performance.

Lineage

  • Builds on: VGG16 (Simonyan and Zisserman), ResNet50 (He et al.) and InceptionV3 (Szegedy et al.), used as ImageNet-pretrained feature extractors with a new head §4.1. The paper gives no arXiv identifiers for them.
  • Compared against: the three base models are compared with each other and with the majority-vote ensemble tab. 2. No external baseline is reported.
  • Related work cited in the introduction: a skin-lesion study using transfer learning and augmentation with AlexNet (Hosny et al., 2019) §1.
  • Superseded by: not known from the paper or from other content in this wiki.

Source and license

Adapted from “Monkeypox Skin Lesion Detection Using Deep Learning Models: A Feasibility Study” by Shams Nafisa Ali, Md. Tazuddin Ahmed, Joydip Paul, Tasnim Jahan, S. M. Sakeef Sani, Nawsabah Noor, Taufiq Hasan (arXiv:2207.03342), used under CC BY-SA 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. This page is licensed under CC BY-SA 4.0.