About Project

‘Indonesian Banknote Value Recognizer’ is a computer vision application that was built in Python and implemented to GUI using Python Tkinter. This model is intended to recognize Indonesian banknote value in various environments and conditions, such as in a crumpled and wrinkled banknotes. This project performs data preprocessing using OpenCV, clustering using K-Means Clustering, and predicting the result using SVM (Support Vector Machine). The application is implemented to GUI using Python Tkinter. This project was created by me and my team for our Computer Vision Final Project. The source code can be accessed on my Github.

GitHub - nadyatyandra/IndonesianBanknoteValueRecognizer

Contributors

  1. Nadya Tyandra - Machine Learning Engineer
  2. Randy Antonio - Machine Learning Engineer
  3. Edwin Ario Abdiwijaya - Machine Learning Engineer

Dataset

The training data are gathered from here which contains 3 sets of Indonesian banknotes, put into separate folders named “10k TE 2005”, “dataset rupiah TE 2011”, and “dataset rupiah TE 2016”. In this application, “dataset rupiah TE 2016” was used since it contains the most recent version available. There is also a 2022 version of Indonesian banknotes, but as of the creating of this project, it is still not in wide circulation nor widely used by Indonesian citizens.

The images in this dataset are put into 7 separate folders for each denomination, “1000”, “2000”, “5000”, “10000”, “20000”, “50000”, “100000”. For each denomination, there are 20 images used for training, where 10 of the images are of the front side and 10 of the rest are the back side. These folders are being enumerated and iterated to get each image and their respective classes (in this case the folder names) using the method “listdir” from library os. All images in this dataset are taken both in landscape and portrait mode, with a pixel size of 1600x900 and 900x1600 respectively.

For the testing data, we took photos of Indonesian banknotes and put said photos into the model. The photos were taken in different settings, brightness, backgrounds, and positions. Some of the banknotes are crumpled, obstructed, and slightly out of frame.

Asset

The ‘banknote.ico’ asset is used as the icon in the GUI window. The asset could be accessed from here.

1. Import Library

Importing libraries and modules that needed such as OpenCV, OS, NumPy, Pandas, Matplotlib, Seaborn, SciPy, Pickle, Scikit-learn, Tkinter, and PIL (Python Imaging Library).