Git Product home page Git Product logo

indian-currency-notes-classifier's Introduction

Indian-Currency-Notes-Classifier

Deep Learning Model to recognize and classify Indian Currency in notes form.

Introduction

The model is trained to recognize 7 classes of Indian Currency in the form of notes. The denominations it can identify is:

  • Rs.10
  • Rs.20
  • Rs.50
  • Rs.100
  • Rs.200
  • Rs.500
  • Rs.2000

Dataset

The dataset is imported from Kaggle, and contains several images for each of the training and validation classes in .jpg format. However, the images are of different resolutions, so all the images in the data have been scaled down to 190 x 190 pixels.

Dataset used: https://www.kaggle.com/vishalmane109/indian-currency-note-images-dataset-2020

The data has been scaled down to resolution of 190 x 190 for ease of training the CNN.

Model Features

  • This is an implementation of a vanilla Convolutional Neural Network, which consists of 3 convolutional layers with 32, 64 and 64 filters each with size of (3,3) and pooling is done with MaxPooling.

  • Artificial Deep Neural Network is used for classification, and consists of a Dropout Layer as well as a layer for flattening the input given through the CNN.

  • It has two Hidden Layers with 32 and 64 neurons each, and an output layer with 8 neurons (representing the 8 classes) with activation softmax, to give the output in the form of distribution of probabilities, which makes it easier to classify.

  • Activation functions of all the other Convolutional Layers and Hidden Layers is relu

  • Optimizer used is adam, loss function is categorical crossentropy

    Overfitting and Accuracy

    Since this is a vanilla CNN, it's tough to get a great accuracy on the set. Approach to overcome overfitting and increase accuracy:

    • Using Dropout Layer to reset neurons
    • Using Data Augmentation to increase size of dataset

Training and Validation Accuracy

The table gives validation and training accuracy at the end of training of the model.

Training Accuracy Validation Accuracy
82.28 % 76.81 %

The same dataset on training using Transfer learning with pretrained model MobileNetV2 gives the following results:

Training Accuracy Validation Accuracy
98.42% 91.59%

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.