Skip to content

ImRAryan/IndianCurrencyPredictor

Repository files navigation

Indian Currency Recognition System

Streamlit App TensorFlow Python

Project Overview

Production-ready Indian currency note recognition system using MobileNetV2 transfer learning. Identifies ₹10, ₹20, ₹50, ₹100, ₹200, ₹500 notes from images with 90-95% accuracy using just 200-600 images per class. Features a Streamlit web app with real-time predictions, confidence scores, probability charts, and downloadable reports.

Key Features

  • 6 Indian denominations: ₹10, ₹20, ₹50, ₹100, ₹200, ₹500
  • 90-95% accuracy with minimal training data (50 images/class recommended)
  • 10x faster training (5-10 mins vs 15-20 mins for scratch CNNs)
  • Real-time Streamlit app with image upload, predictions, and analytics
  • MobileNetV2 optimized preprocessing (224x224, [-1,1] scaling)
  • Production features: Confidence scoring, probability charts, JSON reports

Tech Stack

Category Technologies
Deep Learning TensorFlow 2.20+, Keras 3.11+, MobileNetV2
Web App Streamlit
Computer Vision OpenCV, PIL
Data Processing NumPy, Pandas
Visualization Matplotlib

Features:

  • Upload currency image → Get instant prediction
  • Confidence score + probability distribution chart
  • Download detailed prediction report
  • Mobile-friendly responsive design

Quick Start

1. Clone & Setup

git clone https://github.com/ImRAryan/IndianCurrencyPredictor.git
cd IndianCurrencyPredictor

2. Install Dependencies

pip install -r requirements.txt

3. Download Trained Model

# Model files (auto-downloaded by app)
best_mobilenetv2_currency_model.h5
label_mapping.json

4. Run Streamlit App

streamlit run app.py

requirements.txt

streamlit==1.38.0
tensorflow==2.20.0
keras==3.11.3
opencv-python==4.10.0
numpy==1.26.4
pandas==2.2.2
matplotlib==3.9.2
pillow==10.4.0
scikit-learn==1.5.1

Model Training (Optional)

  1. Prepare dataset: Organize images in currencydataset/train/{10,20,50,100,200,500}/
  2. Run training notebook: Indian_Currency_Recognition_MobileNetV2.ipynb
  3. Minimum: 30 images/class (80-85% accuracy)
  4. Recommended: 50 images/class (90-95% accuracy)

About

Production ML system identifying ₹10/₹20/₹50/₹100/₹200/₹500 notes with 90-95% accuracy. Features Streamlit web app with real-time predictions, confidence scores, probability charts & downloadable reports. Built with TensorFlow, Keras, OpenCV.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors