Git Product home page Git Product logo

nikhil-188 / malaria_classification_usingdl Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 1.78 MB

In this project, I implemented algorithms (VGG16, VGG19, and CNN) to develop a malaria detection system using blood cell images. The goal was to automate the traditional method of identifying malaria, which involves examining blood smears under a microscope.

Jupyter Notebook 100.00%
automated cnn convolutional-neural-networks deep-learning malaria-detection python vgg16 vgg19 malaria-classification

malaria_classification_usingdl's Introduction

Malaria_Classification_usingDL

In this project, I implemented algorithms (VGG16, VGG19, and CNN) to develop a malaria detection system using blood cell images. The goal was to automate the traditional method of identifying malaria, which involves examining blood smears under a microscope.

Dataset description: - We will go through an open dataset made available by the NIH in the United States of America. The collection contains micrographs of red blood cells taken from Giemsa-stained thin blood smear slides. There are 27,557 images in all, 13,778 of which are infected and 13,779 of which are not. Dataset images are not all the same size. There are three colour channels with a resolution range of 46 ร— 46 pixels to 385 ร— 395 pixels (RGB). So we will be using this dataset and will be doing the necessary exploratory analysis and pre-processing to make the dataset ready for the training the model. https://www.kaggle.com/datasets/iarunava/cell-images-for-detecting-malaria

image

How I have implemented: -

  1. Firstly, we had loaded the dataset into the google collab using its API command and my Kaggle Json file.
  2. Secondly, I had saved the training and testing data in the two variables from the respective paths.
  3. Then we did the data augmentation creating train and validation generators at some calculated shear range, zoom range, vertical flip, horizontal flip, width shift range, height shift range etc to concentrate on the relevant parts of the image.
  4. Then we defined the CNN model with the below hyper parameters and compiled it with Adam optimizer and binary cross entropy. We also used early stopping which helps to stop the model training once the accuracy/ model performance stops increasing or improving.
  5. Then we calculated the validation accuracy and plotted the (accuracy vs epochs) and (loss vs accuracy) graphs to how the model had improved its accuracy with the number of epochs.
  6. Then we used the pre-trained vgg16 model with the pre trained Image Net weights and removed the top layer of the model, so that we can include our own input.
  7. Then we made the compile not to update the weights as they are already trained and disturbing this might affect our model.
  8. Similarly, we compiled the model with Adam and binary cross entropy and plotted the required graph to understand the behaviour of the model training.
  9. We also followed the similar process for the Vgg19 as it is also a variant of Vgg.
  10. Finally, we tabulated the accuracies of the three and wrote a snippet of code to predict the class of an image when the user inputs to our model

Accuracy and loss graphs for CNN

image

Accuracy and loss graphs for VGG16

image

Accuracy and loss graphs for VGG19

image

Accuracy of the three models

image

malaria_classification_usingdl's People

Contributors

nikhil-188 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.