Original vs Counterfeit Indian Currency Detection

. Currency is used to carry out not only business but also for various other transactions to get access to various services and commodities. There are a total of 7 denominations for the Indian currency each with unique features to distinguish them from each other and with various and distinct security features to prevent them from fraudulent copying. However,with the evolution of technology, there is also an increase in the ways in which fake forms of these currencies are created. These fake or counterfeit notes have various ill-e ﬀ ect on society. The proposed system will be used to check the genuine Indian currency notes and to ﬁnd the denomination of the currency note. Comparative study for various image processing algorithms was conducted to identify and select the one which will be able to extract more prominent features,and is also better in terms of processing time,outlier rejection, e ﬃ ciency in computation and in feature matching. After which a real time system is created for currency detection in real time.


Introduction
The evolution of technology, has lead to an increase in the ways in which fake forms of currencies are created and thus the counterfeit currency notes in the Indian market have increased. These fake or counterfeit notes have various ill-effect on society. They harm the lay man as there is no definitive way to be absolutely sure if the currency is original or fake. This report focuses on the comparison and analysis of different image processing algorithms to find the most efficient algorithm to identify and classify real and counterfeit currency notes and to find the denomination of the currency [2]. The comparative study for various image processing algorithms was conducted to identify and select the one which will be able to extract more prominent features,and is also better in terms of processing time, outlier rejection, efficiency in computation and in feature matching. With the rapid advancement of technology, there is also an increase in the production of counterfeit currencies, which is also making it difficult to distinguish between the real and the fake ones [1]. The proposed system will be able to recognize the currencies and classify them as real or fake. In this approach, we will classify the fake notes using an image processing algorithm. First, a comparative study of different image processing algorithms is performed, and then these algorithms will be implemented in the Matlab software. Based on the studies and comparison, the best algorithm for feature extraction and feature matching will be selected that extracts the maximum number of feature points, and will also perform well under different lighting conditions, and with different scaling and rotations [10]. Currently the major methods used for the classification of currency notes be it Indian or any other are either neural networks or image processing algorithms or a mixture of both [1]. Different papers have taken various different approaches to do this task and each of these existing system give us a perspective into the challenges of detecting currency as real or fake. The many image processing algorithms that have been used each have their merits and demerits but most are found lacking in terms of it being transformed into a real time application. Most papers don't take into account the computational costs or the different processing times of these algorithms

Review of literature
Currently the major methods used for the classification of currency notes be it Indian or any other are either neural networks or image processing or a mixture of both [1]. Different papers have taken various different approaches to do this task and each of these existing system give us a perspective into the challenges of detecting currency as real or fake. The many image processing algorithms that have been used each have their merits and demerits and in our paper we have analysed each of these in more detail so that we may achieve an optimal process for a real time application to do the task of identification and detection. The following papers were referred to get background on the system requirements. The Paper Indian Banknote Recognition using Convolutional Neural Network Shubham Mittal ,Shiva Mittal took a Deep learning based approach for the purpose of identification of denominations of Indian currency [1]. And while that method worked efficiently in real time it is to be considered that the Convolution neural networks used are computationally expensive. Neural Networks require huge amount of training data to train deep learning model from scratch. The paper Neural Network Approach for Indian Currency Recognition by Jayant kumar Nayak, Chaitan Majhi, Apurva Kumar Srivastav, Ajaya Kumar Das -2015 uses Neural networks to recognize and then count currency notes of different denominations in a bundle for a ROI(Region of interest) [4]. This paper had a drawback that Counterfeit currency detection was not incorporated. Identification of Fake Notes and Denomination Recognition a paper by Archana M , Kalpitha C, Prajwal S, Pratiksha N. explained how notes could be classified based on color,dimension and identification marks(mentioned by RBI)using computer vision [6]. However it had certain demerits like Lots of pre-processing steps involved and No portable application for smartphones. Hence each of these papers offer us an insight on the varying approaches and challenges. In our paper we have analysed each of these in more detail so that we may achieve an optimal process for a real time application to do the task of identification and detection. In this paper the focus is on the comparison of the different image processing algorithms, their features and capabilities to analyse and judge which of them would be the most efficient in terms of working in a real time environment. While judging the efficiency of algorithms we take into account their accuracy, computational cost, feature matching speed, scale invarience and total image matching time.It also analyses the feasibility of the deployment of the image processing algorithm in a real time environment. This report focuses on finding the most optimal process for the task of identification of real and counterfeit currency.

Planning and formulation
The many image processing algorithms that have been used each have their merits and demerits but most are found lacking in terms of it being transformed into a real time application. Most papers don't take into account the computational costs or the different processing times of these algorithms. So we have analysed each of these in more detail so that we may achieve an optimal process for a real time application to do the task of identification and detection

Understanding different algorithms
The major algorithms analysed in our paper are SIFT,SURF,ORB,FAST,BRISK and KAZE. It is important to understand the basics of the above mentioned algorithms. We need to analyse these algorithms on the basis of their capabilities in terms of performance, timing, accuracy, computational cost, scale invarience, outlier rejection and feature matching time. Listed below are the algorithms studied in this paper.
• SIFT -SIFT stands for Scale Invarient Feature Transform and it is one of the most foremost image processing algorithms introduced in the year 1999 [8]. It was developed by David Lowe.
In the SIFT algorithm various points are detected and matched using the Eucledian distance In SIFT method an image is transformed into a number of feature points. All these points are unvarying to image rotation and scale.
Also Key point locations are appropriated as maxima and minima.
• SURF -Speeded up Robust Features or the SURF in an algorithm present in computer vision that has numerous applications such as recognition, tracking, reconstruction, identification and extraction of feature points. It was developed by Tinne Tuytelaars, Luc Van Gool and Herbert Bay [8].
It uses a pyramid structure technique to change the image or video capture into a coordinates. It is known for its speed and is quite fast when compared to its alternatives.
• ORB -Oriented FAST and rotated BRIEF (ORB) was introduced in 2011 by Ethan Rublee [9]. It is an effective algorithm for the process of image processing and also object detection [7]. As the name suggests it is a fusion of the two other algorithms mentioned here. These are the FAST algorithm and the BRIEF algorithm.
• FAST -Published in the year 2006 by Edward Rosten and Tom Drummond FAST is the Features from Accelerated segment test. The FAST image processing algorithm stands out for its speed which tends to be better than most of its comparative options. It lacks in accuracy.
• BRISK-BRISK which is the Binary Robust Invariant Scalable Keypoints is an algorithm that stands average in terms of accuracy and timing. However what it covers up with other points such as scale invarience and better performance with rotated images.
• KAZE -KAZE as an feature detection image processing algorithm introduces the possibility of reduction in noise.
The KAZE also seems to have better accuracy for rotated images. While the kaze feature detector works well with rotated images it has certain deficiencies. One such drawback is that it tends to have very high computational cost.
Further each of them are compared according to their different features and capabilities. A table listing these findings is given below:

Limitations of existing systems
From the literature,after studying different papers and reports to see the various mechanisms and algorithms that are applied for the purpose of detection of real and counterfeit Indian currency notes have certain discrepancies. The approaches that are used have some problems as described below: • No parameters are set to see if the note is original or just a color copy of the original.
• The time requirement of the algorithms in real time environment is not taken into consideration.
• The computational cost and the processing capabilities required are not taken into consideration.

Proposed system
The process of classification of the notes as original and counterfeit would be done using the concept of image processing.
Here we would compare the characteristics of the note with a predefined template to check if the note is real or fake and to find the denomination of the note [4]. The detection of the note is done using different security features within the note [3]. These features are: • Secure thread

Proposed methodology
The major and relevant image processing algorithms are studied and understood. Their features are analysed. First each of the images that are taken go through the same pre processing and cleaning methods. After this major algorithms are applied to the image in different conditions such as good lighting, bad lighting and also the quality of the note is changed [2]. This is done to see how each algorithm reacts to these changes and how it affects the results with regards to time and number of features detected. After analysing the results the most efficient and optimal process is chosen. After this an optimal feature matcher is chosen on the basis of our system requirements. The real time system is created and it works in two phases of feature detection and feature matching to classify currency. The feature detection is done by the Orb algorithm while the phase of feature matching is done using the Brute Force Matcher.

System requirements
The implementation environment used in the project for the analysis of image processing algorithms is MATLAB software . The Matlab software was used to analyze different image processing algorithms in terms of their efficiency in finding maximum and essential feature points that will help in the classification of notes. The specification of the pc used are: Intel Core,8 GB RAM ,3.40 Ghz. The dataset of images used in the project implementation and for analyzing different image processing algorithms is created using different denominations of Indian currency with different inclinations and lighting conditions to test the capability and efficiency of different feature identification algorithms. For creating the real time classifying system we need Python 3, OpenCV-Python library of Python and some other python packages.

System design
1. All major and relevant image processing algorithms are studied and understood.
2. After this major algorithms are applied to the image in different conditions such as good lighting, bad lighting and also the quality of the note is changed [2]. This is done to see how each algorithm reacts to these changes and how it affects the results with regards to time and number of features detected.
3. After analysing the results the most efficient and optimal process is chosen. That is the Orb algorithm is used in the real time system along with a brute force matcher.
4. The project is such that on initialization the user would encounter a home page that would help them navigate the application.
5. The user can select an image from their device and see the analysis on that image in real time that is the denomination and the genuineness.
6. The feature detection is done by the Orb algorithm on the selected image.
7. The phase of feature matching is done using the Brute Force Matcher.

Data flow diagram
The data flow diagram shows how a real time working system should be if all the optimal steps are followed. This means that the correct algorithm must be chosen which responds best to the real time working environment.

Practical implementation and analysis of algorithms
On studying the various image processing algorithms and implementing them on the currency notes in varying conditions such as good lighting and bad lighting we get to see the performance of these algorithms with regards to different parameters.  We obtain the following results in consideration to their time requirement: The efficiency of these algorithms in terms of their speed for image matching(detector-descriptor) is: SURF <BRISK <SIFT <KAZE <ORB

Implementation of real time system and testing
The real time system that the user encounters is such that the user can select an image from their device and see the analysis on that image in real time. Here the processing happens to a still image. The Real time System for the currency detection works to identify the denomination of the currency note and whether the currency note is counterfeit or genuine with the use of Orb algorithm and Brute Force matcher. For the purpose of testing this system we experiment with 50 images and the resulting analysis is as follows. Taking into consideration the above values we get an accuracy of 92 for the entire Orb based real time system.

Conclusion
After analyzing different algorithms we have discovered that SURF,SIFT and BRISK works well with large scale variations. ORB and BRISK are unvarying to affine change. ORB is efficient algorithm able to detect large number of features. ORB performs image matching at speed as compared to other algorithms and does not compromise with the accuracy. The Orb algorithm used with Brute Force matcher proves to be efficient for currency detection in a real time system.