A small computer-vision project that classifies images of Indian currency notes and serves the trained model through a Streamlit interface.
I built this as a practical image-classification exercise: prepare a labelled banknote dataset, train a Keras model, save the model, and then use it from a simple web UI where a user can upload an image and see the predicted denomination.
INDIAN_CURRENCY_NOTES_IDENTIFICATION.ipynb— the training notebook. It downloads the Indian Currency Note Images Dataset, prepares 64×64 RGB images, trains the classifier, and contains the experiment work.currency.hdf5— the saved Keras model used by the demo.app.py— a Streamlit app that loads the model and classifies an uploaded JPG or PNG image.indian currency identification deployment.jpg— a screenshot from the original deployment.
The model covers ₹10, ₹20, ₹50, ₹100, ₹200, ₹500 and ₹2000 notes, plus a background class.
Create a Python environment and install the runtime dependencies:
pip install streamlit tensorflow pillow numpy opencv-pythonThen start the app:
streamlit run app.pyUpload a currency-note image and the app will resize it to the model input size and display the predicted class.
The notebook was developed in Google Colab and uses a Kaggle-hosted Indian currency image dataset. If you want to reproduce the training run, open the notebook in Colab and configure your own Kaggle credentials rather than committing them to the repository.
This is an older learning project rather than a production-grade counterfeit-detection system. It performs image classification only; it does not verify whether a banknote is genuine and should not be used for financial or security decisions.