A novel dual model approach for categorization of unbalanced skin lesion image classes (Presented technical paper 📃)

Overview

Lopsided-Lesion-Class-Diagnosis

A novel dual model approach for categorization of unbalanced skin lesion image classes

Authors: Shrey Dedhia, Siddharth Trivedi, Siddharth Salvi, Jay Jani, and Lynette D’mello

Presented in the 5th International Conference on Computational Vision and Bio Inspired Computing (ICCVBIC - 2021) on November 25, 2021

Advances in Intelligent Systems and Computing - Springer (Series ISSN : 2194-5357)

Abstract

Skin cancer is one of the most prevalent types of cancer, with non-melanoma skin cancer being the 5th most commonly occurring cancer worldwide. In the United States alone, more than 9,500 people are diagnosed with skin cancer every day while two people succumb to the disease every hour. Like most other cancers, each skin cancer type also begins as a precancerous lesion. Hence, it becomes of utmost importance to detect the malignant skin lesion as early as possible. While there have been many computer-aided techniques in use for the diagnosis of skin cancer, deep neural network-based architectures have proven to outperform traditional diagnostic methods. In this paper, we have proposed a dual-model pipeline as a solution to the task of classifying skin lesion images into 8 different classes. The ISIC 2019 challenge training dataset is utilized and divided into two sub-datasets based on the number of images in each class and then followed by few data augmentation techniques to eliminate class imbalance. Several transfer learning models, namely DenseNet169, ResNet50, Inception V3, and MobileNetV2, have been leveraged, where ResNet50 has showcased the best results for the classification task. A custom-made CNN is also used as the second model in the pipeline. This architecture demonstrates an enhanced performance for the classification task over the ISIC 2019 dataset.

Dataset

ISIC 2019 challenge test dataset is a composition of the images from HAM10000 and BCN20000 datasets. This dataset comprises of a total of 25,331 images among 8 different classes. The 8 classes and the distribution of images among them is such that, Melanocytic nevus (Nv) has 12875 images, Melanoma (Mel) has 4522 images, Basal cell carcinoma (Bcc) has 3323 images, Benign keratosis (Bkl) has 2624 images, Actinic keratosis (Akiec) has 867 images, Squamous cell carcinoma (Scc) has 628 images, Vascular lesion (Vasc) has 253 images and Dermatofibroma (Df) has 239 images.

Selected Figures

Major Minor classes division

Proposed pipeline

Our vanilla CNN architecture

Data Poisoning based on Adversarial Attacks using Non-Robust Features

Data Poisoning based on Adversarial Attacks using Non-Robust Features Usage python main.py [-h] [--gpu | -g GPU] [--eps |-e EPSILON] [--pert | -p PER

Jonathan E. 1 Nov 02, 2021
Localization and multifractal properties of the long-range Kitaev chain in the presence of an Aubry-André-Harper modulation

This repository contains the code for the paper Localization and multifractal properties of the long-range Kitaev chain in the presence of an Aubry-André-Harper modulation.

Joana Fraxanet 2 Apr 17, 2022
Weakly-Divisable - Takes an interger and seee if it is weakly divisible by seven

Weakly Divisble Project by Diana Arce-Hernandez, Ryan McAlpine, and Rommel Ravan

Diana Arce-Hernandez 1 Jan 12, 2022
A Blender addon to align the origin to the top, center or bottom of a mesh object

Align Origin Blender Addon. Align Origin Blender Addon. What? This simple addon lets you align the origin to the top, center or bottom of a mesh objec

VA79 7 Nov 30, 2022
Prototype application for GCM bias-correction and downscaling

dodola Prototype application for GCM bias-correction and downscaling This is an unstable prototype. This is under heavy development. Features Nothing!

Climate Impact Lab 9 Dec 27, 2022
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.

Boltons boltons should be builtins. Boltons is a set of over 230 BSD-licensed, pure-Python utilities in the same spirit as — and yet conspicuously mis

Mahmoud Hashemi 6k Jan 06, 2023
AdventOfCode 2021 solutions from the Devcord server

adventofcode-21 Ein Sammel-Repository für Advent of Code 2021-Lösungen der deutschen DevCord-Community. A repository collecting Advent of Code 2021 so

Devcord 12 Aug 26, 2022
If Google News had a Python library

pygooglenews If Google News had a Python library Created by Artem from newscatcherapi.com but you do not need anything from us or from anyone else to

Artem Bugara 1.1k Jan 08, 2023
This library attempts to abstract the handling of Sigma rules in Python

This library attempts to abstract the handling of Sigma rules in Python. The rules are parsed using a schema defined with pydantic, and can be easily loaded from YAML files into a structured Python o

Caleb Stewart 44 Oct 29, 2022
Users can read others' travel journeys in addition to being able to upload and delete posts detailing their own experiences

Users can read others' travel journeys in addition to being able to upload and delete posts detailing their own experiences! Posts are organized by country and destination within that country.

Christopher Zeas 1 Feb 03, 2022
Small projects for python beginners.

Python Mini Projects For Beginners I recently started doing the #100DaysOfCode Challenge in Python. I've used Python before, but I had switched to JS

Sreekesh Iyer 10 Dec 12, 2022
A Red Team tool for exfiltrating sensitive data from Jira tickets.

Jir-thief This Module will connect to Jira's API using an access token, export to a word .doc, and download the Jira issues that the target has access

Antonio Piazza 82 Dec 12, 2022
Runtime profiler for Streamlit, powered by pyinstrument

streamlit-profiler 🏄🏼 Runtime profiler for Streamlit, powered by pyinstrument. streamlit-profiler is a Streamlit component that helps you find out w

Johannes Rieke 23 Nov 30, 2022
Neogex is a human readable parser standard, being implemented in Python

Neogex (New Expressions) Parsing Standard Much like Regex, Neogex allows for string parsing and validation based on a set of requirements. Unlike Rege

Seamus Donnellan 1 Dec 17, 2021
Simple logger for Urbit pier size, with systemd timer template

urbit-piermon Simple logger for Urbit pier size, with systemd timer template. Syntax piermon.py -i [PATH TO PIER] -o [PATH TO OUTPUT CSV] systemd serv

1 Nov 07, 2021
A simply program to find active jackbox.tv game codes

PeepingJack A simply program to find active jackbox.tv game codes How does this work? It uses a threadpool to loop through all possible codes in a ran

3 Mar 20, 2022
Workshop OOP - Workshop OOP - Discover object-oriented programming

About: This is an open-source bot, the code is open for anyone to see, fork and

Francis Clairicia-Rose-Claire-Joséphine 5 May 02, 2022
Custom Weapons 3 attribute support for Custom Weapons X

CW3toX Allows use of Custom Weapons 3 attributes in Custom Weapons X. Requiremen

2 Mar 01, 2022
Here You will Find CodeChef Challenge Solutions

Here You will Find CodeChef Challenge Solutions

kanishk kashyap 1 Sep 03, 2022
Repo to store back end infrastructure for Message in a Bottle

Message in a Bottle Backend API RESTful API for Message in a Bottle frontend application consumption. About The Project • Tools Used • Local Set Up •

4 Dec 05, 2021