A machine learning-based web application that detects whether a currency note is genuine or counterfeit using image classification with a Convolutional Neural Network (CNN). Built with TensorFlow, Keras, OpenCV, and Streamlit.
- Upload image of a currency note
- Predicts whether the note is genuine or fake
- Confidence score displayed with styled results
- CNN model trained from scratch using Keras
- Responsive and interactive frontend built using Streamlit
- The CNN model is trained using hundreds of real and fake currency images.
- It learns key visual features that differentiate authentic notes from counterfeit ones.
- Once trained, the model is saved in
.kerasformat. - The
Streamlitfrontend allows users to upload an image, which is processed and passed to the model for prediction. - The app shows whether the note is real or fake, with a confidence score and supporting details.
- Upload an image (
.jpg,.jpeg, or.png) of a currency note. - App resizes the image to
224x224, normalizes it, and feeds it to the model. - The model returns a confidence score.
- A styled box displays whether the note is real or counterfeit.
git clone https://github.com/aadyatalreja/counterfeit-currency-checker.git
cd counterfeit-currency-checkerpip install -r requirements.txtstreamlit run app.pyThe dataset should be organized as follows:
/IndianCurrencyDataset/
├── train/
│ ├── real/
│ └── fake/
├── validation/
│ ├── real/
│ └── fake/
├── test/
├── real/
└── fake/This tool is for educational purposes only. It is not intended for commercial or financial decision-making. Always verify results with official sources or experts.