All Projects → rowhitswami → Indian Paper Currency Prediction

rowhitswami / Indian Paper Currency Prediction

Licence: apache-2.0
Source code of Indian Paper Currency Prediction 🔥

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Indian Paper Currency Prediction

Keras And Tensorflow Serving
Deploying Keras models using TensorFlow Serving and Flask
Stars: ✭ 109 (+2.83%)
Mutual labels:  flask, image-classification
Udacity Data Engineering Projects
Few projects related to Data Engineering including Data Modeling, Infrastructure setup on cloud, Data Warehousing and Data Lake development.
Stars: ✭ 458 (+332.08%)
Mutual labels:  aws-s3, aws-sdk
MERN-Ecommerce
An E-commerce app built using MERN stack. It has 4 social login options and implements email verification as well. Stripe and Paypal payment gateways are implemented.
Stars: ✭ 50 (-52.83%)
Mutual labels:  aws-s3, aws-sdk
Deep Learning Training Gui
Train and predict your model on pre-trained deep learning models through the GUI (web app). No more many parameters, no more data preprocessing.
Stars: ✭ 85 (-19.81%)
Mutual labels:  flask, image-classification
Pytorch classification
利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
Stars: ✭ 395 (+272.64%)
Mutual labels:  flask, image-classification
Smart Security Camera
A Pi Zero and Motion based webcamera that forwards images to Amazon Web Services for Image Processing
Stars: ✭ 103 (-2.83%)
Mutual labels:  aws-s3, aws-sdk
Nestjs Multer Extended
💪 Extended MulterModule for NestJS with flexible S3 upload and helpful features
Stars: ✭ 99 (-6.6%)
Mutual labels:  aws-s3
Weeklyreport
基于Flask的开源周报系统,快速docker部署
Stars: ✭ 102 (-3.77%)
Mutual labels:  flask
Leetcode Country Ranking
Find Leetcode ranking by country, username.
Stars: ✭ 98 (-7.55%)
Mutual labels:  flask
Tta wrapper
Test Time image Augmentation (TTA) wrapper for Keras model.
Stars: ✭ 98 (-7.55%)
Mutual labels:  image-classification
Get Started Python
A Python application and tutorial that use Flask framework to provide a REST API to receive requests from the UI. The API then persists the data to a Cloudant database.
Stars: ✭ 104 (-1.89%)
Mutual labels:  flask
Multivisor
Centralized supervisor WebUI and CLI
Stars: ✭ 104 (-1.89%)
Mutual labels:  flask
Stock Market Prediction Web App Using Machine Learning And Sentiment Analysis
Stock Market Prediction Web App based on Machine Learning and Sentiment Analysis of Tweets (API keys included in code). The front end of the Web App is based on Flask and Wordpress. The App forecasts stock prices of the next seven days for any given stock under NASDAQ or NSE as input by the user. Predictions are made using three algorithms: ARIMA, LSTM, Linear Regression. The Web App combines the predicted prices of the next seven days with the sentiment analysis of tweets to give recommendation whether the price is going to rise or fall
Stars: ✭ 101 (-4.72%)
Mutual labels:  flask
Flask bestpractices
Flask最佳实践
Stars: ✭ 100 (-5.66%)
Mutual labels:  flask
Mdwiki
markdown wiki by python
Stars: ✭ 102 (-3.77%)
Mutual labels:  flask
Pyflask 2k18
A workshop organised by ACM VIT every year, during Gravitas (VIT University, Tech Fest), Having sessions on python programming and website creation using flask.
Stars: ✭ 99 (-6.6%)
Mutual labels:  flask
Tensorflow2.0 Examples
🙄 Difficult algorithm, Simple code.
Stars: ✭ 1,397 (+1217.92%)
Mutual labels:  image-classification
Booklibrary
📚Simple Book library application written on flask with SQLite database.
Stars: ✭ 98 (-7.55%)
Mutual labels:  flask
Python Examples
Python examples from my answers on Stackoverflow and other short scripts.
Stars: ✭ 101 (-4.72%)
Mutual labels:  flask
Imagegonord
A tool that can convert your rgb images to nordtheme palette
Stars: ✭ 105 (-0.94%)
Mutual labels:  flask

Indian Paper Curreny Prediction 🇮🇳

Table of Content

Demo

Link: https://indian-currency-prediction.herokuapp.com

Overview

This is a simple image classification Flask app trained on the top of Keras API. The trained model (app/model/model.h5) takes an image (Indian Paper Currency) as an input and predict the class of image from 10, 20, 50, 100, 200, 500, 2000 denomination.

Motivation

What could be a perfect way to utilize unfortunate lockdown period? Like most of you, I spend my time in cooking, Netflix, coding and reading some latest research papers on weekends. The idea of classifying indian currency struck to me when I was browsing through some research papers. I couldn't find any relevant research paper (and of course dataset!) associated with it. And that led me to collect the images of Indian currency to train a deep learning model using this amazing tool.

Technical Aspect

This project is divided into two part:

  1. Training a deep learning model using Keras. (Not covered in this repo. I'll update the link here once I make it public.)
  2. Building and hosting a Flask web app on Heroku.
    • A user can choose image from a device or capture it using a pre-built camera.
    • Used Amazon S3 Bucket to store the uploaded image and predictions.
    • Used CSRF Token to protect against CSRF attacks.
    • Used Sentry to catch the exception on the back-end.
    • After uploading the image, the predictions are displayed on a Bar Chart.

Installation

The Code is written in Python 3.7. If you don't have Python installed you can find it here. If you are using a lower version of Python you can upgrade using the pip package, ensuring you have the latest version of pip. To install the required packages and libraries, run this command in the project directory after cloning the repository:

pip install -r requirements.txt

Run

STEP 1

Linux and macOS User

Open .bashrc or .zshrc file and add the following credentials:

export AWS_ACCESS_KEY="your_aws_access_key"
export AWS_SECRET_KEY="your_aws_secret_key"
export ICP_BUCKET='your_aws_bucket_name'
export ICP_BUCKET_REGION='bucket_region'
export ICP_UPLOAD_DIR='bucket_path_to_save_images'
export ICP_PRED_DIR='bucket_path_to_save_predictions'
export ICP_FLASK_SECRET_KEY='anything_random_but_unique'
export SENTRY_INIT='URL_given_by_sentry'

Note: SENTRY_INIT is optional, only if you want to catch exceptions in the app, else comment/remove the dependencies and code associated with sentry in app/main.py

Windows User

Since, I don't have a system with Windows OS, here I collected some helpful resource on adding User Environment Variables in Windows.

Attention: Please perform the steps given in these tutorials at your own risk. Please don't mess up with the System Variables. It can potentially damage your PC. You should know what you're doing.

STEP 2

To run the app in a local machine, shoot this command in the project directory:

gunicorn wsgi:app

Deployement on Heroku

Set the environment variable on Heroku as mentioned in STEP 1 in the Run section. [Reference]

Our next step would be to follow the instruction given on Heroku Documentation to deploy a web app.

Directory Tree

├── app 
│   ├── __init__.py
│   ├── main.py
│   ├── model
│   ├── static
│   └── templates
├── config
│   ├── __init__.py
├── processing
│   ├── __init__.py
├── requirements.txt
├── runtime.txt
├── LICENSE
├── Procfile
├── README.md
└── wsgi.py

To Do

  1. Convert the app to run without any internet connection, i.e. PWA.
  2. Add a better vizualization chart to display the predictions.

Bug / Feature Request

If you find a bug (the website couldn't handle the query and / or gave undesired results), kindly open an issue here by including your search query and the expected result.

If you'd like to request a new function, feel free to do so by opening an issue here. Please include sample queries and their corresponding results.

Technologies Used

Team

Rohit Swami
Rohit Swami

License

Apache license

Copyright 2020 Rohit Swami

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Credits

  • Google Images Download - This project wouldn't have been possible without this tool. It saved my enormous amount of time while collecting the data. A huge shout-out to its creator Hardik Vasa.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].