A Computer Vision System for Currency Authentication
VisionNote is a Reliable Artificial Intelligence project designed to authenticate Indian currency notes (₹500 & ₹2000) using computer vision and image processing techniques.
The system applies structured visual analysis, feature extraction, and similarity comparison to determine whether a currency note is genuine or counterfeit, with strong emphasis on accuracy, transparency, and explainability.
It has been built completely in Python using:
- OpenCV for image processing
- Tkinter for GUI development
- SSIM and ORB algorithms for feature matching
- Jupyter Notebook as the development environment
- 🔍 Detects counterfeit Indian currency of ₹500 and ₹2000 denominations
- ⚙️ Utilizes ORB (Oriented FAST and Rotated BRIEF) for key feature detection
- 📊 Measures similarity using SSIM (Structural Similarity Index) for comparison
- 🖥️ User-friendly Tkinter GUI for interaction and visual results
- 📁 Includes a custom, structured dataset of real and fake notes
- 🧠 Built with Reliable AI principles — transparent, reliable, and explainable
| Library / Tool | Purpose |
|---|---|
| OpenCV | Image processing and core feature extraction |
| Tkinter | Graphical User Interface (GUI) for input and output |
| NumPy | High-performance numerical operations and array handling |
| Matplotlib | Visualization and plotting of data and features |
| Jupyter Notebook | Modular development, testing, and control flow |
VisionNote/
│
├── Dataset/
│ ├── Real_Notes/ # Real ₹500 and ₹2000 notes for templates
│ ├── Fake_Notes/ # Fake currency note images for testing
│ └── Features/ # Stored security feature templates
│
├── Fake Notes/ # Sample fake notes for testing
├── 500_testing.ipynb # Notebook for ₹500 detection logic
├── 2000_testing.ipynb # Notebook for ₹2000 detection logic
├── controller.ipynb # Main notebook controlling the workflow and GUI launch
├── gui_1.ipynb # GUI module for user input (Image selection, denomination)
├── gui_2.ipynb # GUI module for displaying detailed results
├── VISIONNOTE_REPORT.pdf # Complete project report
└── README.md # You are here!- Clone the repository:
git clone [https://github.com/your-username/VisionNote.git](https://github.com/your-username/VisionNote.git) cd VisionNote - Open the project in Jupyter Notebook:
jupyter notebook
- Run the main notebook:
- Open
controller.ipynb - Click Run All cells.
- Open
- A GUI window (
gui_1.ipynb) will launch. - Click Select an Image and choose a note image (sample images are in the
Dataset/folder). - Select the correct denomination (₹500 or ₹2000).
- Click Submit.
- The system processes the image (~5 seconds).
- A new GUI window (
gui_2.ipynb) displays the detailed authenticity report, scores, and final label.
| Category | Notes Tested | Correctly Classified | Accuracy |
|---|---|---|---|
| Real Notes (₹500 & ₹2000) | 19 | 15 | 79% |
| Fake Notes | 12 | 10 | 83% |
⏱️ Average Processing Time: ~5 seconds per note
🧾 Decision Rule: If
| Principle | Implementation in Project |
|---|---|
| Transparency | The system displays SSIM scores for each feature, showing the precise metrics used for the decision. |
| Explainability | Uses interpretable, rule-based computer vision metrics (SSIM, contour counts) instead of opaque black-box ML models. |
| Reliability | Built with deterministic algorithms and tested against a verified, custom dataset. |
| Accessibility | Designed with a user-friendly GUI for non-technical operators. |
| Fairness | Avoids human/data bias through consistent, objective, rule-based image analysis. |
To give a visual overview of the user experience:
- 🏦 Expand Denominations: Extend support to include other notes (₹10, ₹20, ₹50, ₹100, ₹200).
- 🤖 Integrate Machine Learning: Implement deep learning (e.g., CNNs) for automatic feature localization and recognition to improve robustness.
- 📱 Deployment: Develop mobile and web-based versions for broader public and institutional use.
- ☁️ Cloud Validation: Introduce cloud-based template verification for real-time validation and scalability.
VisionNote: A Computer Vision System for Currency Authentication effectively demonstrates the practical application of Trustworthy Artificial Intelligence principles, including accuracy, interpretability, and accessibility, to address a real-world financial security challenge. By integrating structured computer vision techniques with ethical, rule-based AI methods, the system ensures transparent and explainable counterfeit detection. The project delivers a reliable, scalable, and user-centric solution that highlights how responsible AI and computer vision can be combined to build trustworthy systems for critical applications such as currency authentication.


