minor_project_report[2]
minor_project_report[2]
Priyanka Thakur
Pranjal Thapa
Neha Mall
Table of contents
ACKNOWLEDGEMENT …………………………
ABSTRACT…………………………………………
INTRODUCTION……………………………………
1. LITERATURE SURVEY……………………
2. METHODOLOGY…………………………..
3. PROBLEM STATEMENT
4. SYSTEM ARCHITECTURE
5. REQUIREMENT ANALYSIS
6. FEATURES OF CURRENCY
7. METHODOLOGY
8. RESULT AND ANALYSIS
9. CONCLUSION
10. REFRENCES
I. INTRODUCTION
1) Bleed lines: There are angular bleed lines on 500 and 2000 note on left and right corner
of note in raised print. In 500Rs. note there are 5 bleed lines and In 2000Rs. note, 7 bleed
lines.
2) Security Thread: A colour-shifting security thread with the inscription Bharat (in
Hindi).RBI and 2000 (500 for 500 note). The colour changes from green to blue when it
is tilted.
3) Latent Image : Latent images of number 2000 / 500 can be seen when note is held at 45
degrees angle.
4) Water mark: Watermark of Mahatma Gandhi and electrotype of numeral 2000/500.
5) Denominational Numeral: See-through register, with denominational numeral 2000,
can be seen when you hold the note against the light.
6) Portrait of Mahatma Gandhi: Portrait of Mahatma Gandhi with RBI written on his
spectacle which can be read using a magnifying glass .
7) Number panel: Numerals growing from small to big size, is printed on the top left side
and bottom right side.
8) Denominational numeral: On left side of Mahatma Gandhi there is a 500/2000 in
Devnagari script.
9) Ashoka Pillar: There is Ashoka Pillar on right bottom side.
10) Guarantee and promise clause: The guarantee and promise clause of RBI is present in
devnagri as well as in english in the top left and top right corner of the currency notes
respectively.
11) RBI seal: The seal of RBI is present just below the Governor’s signature. This seal as
well as the guarantee clause, etc are in intaglio printing.
12) Denominational value in words: The denominational value of the currency note is
written in devnagiri script in the top central region of the note.
[1] In this paper an automatic system is designed for identification of Indian currency
note is fake or original. The automatic system is very useful in the banking system and
other fields also. In India increase in the fake currency notes of 100, 500, and 1000
rupees. As there are increases in technology, like scanning, colour printing, and
duplicating, there is an increase in the counterfeit problem. In this model first the image
acquisition is done and applies to pre-process to the image. In pre-processing crop,
smooth and adjust then convert the image into grey colour after conversion applies the
image segmentation then extract features and reduce, finally comparing image.
[2] In this paper, An automatic recognition of fake Indian paper currency note using
MATLAB is implemented and feature extraction with HSV colour space and other
applications of image processing. The proposed architecture is as follows Image
Acquisition, Gray-Scale Conversion, Edge Detection, Image Segmentation, Characteristic
Extraction, Comparison, Output. In the project setup, a note is placed in front of the
camera to check whether it is fake or genuine. The clicked pictures of notes are analysed
by MATLAB program installed on the computer. This algorithm works for Indian
denomination 100, 500, 1000. If the note is genuine, the respective message is appeared
on the screen and vice-versa.
[3] In this paper, a hybrid fake currency detection model was proposed and implemented
on MATLAB. The model was designed to detect fake Bangladeshi notes. In the proposed
model, three image processing algorithms were chosen namely Optical Character
Recognition(OCR), Hough Transformation and Face recognition(MSD) to get enhanced
results. Then, the results of the proposed model were compared with each model used.
The algorithm followed six basic steps: data collection, pre-processing of the collected
data, edge detection, feature extraction, identification and output results. In addition,
although the proposed model took slightly longer to process, it displayed 93.33%
accuracy which was significantly higher compared to the individual algorithms applied.
[4] In this paper two ways are used: one by using analysis through hyper spectral
imaging and the second one is the Extraction of different features in fake and real
currency notes and through comparing with each other we can able to differentiate the
fake note from the real note. The different colour lights used for hyper spectral imaging
are Ultraviolet (UV) light, Normal LED Bulb, Red LED light, Green LED light and Blue
LED light with different wavelengths ranging from 360 nm to 800nm respectively. This
all modules are implemented in MATLAB. They have implemented a fake note detection
unit with image processing algorithms. The experimental results indicate that the results
achieved are nearly accurate.
[5] In this paper the recognition and verification of the paper currency is explained with
the use of image processing techniques. The proposed approach consists of multiple
element transactions like Image Acquisition, Feature extraction and comparison, Texture
features, and Voice output. This system is divided into two parts. The first part is to
identify the currency denomination through image processing. The second part is the oral
output to notify the visually impaired person about the denomination of the note that
he/she is currently having. The desired results will be in text and voice output of the
currency recognized and verified.
III. PROBLEM STATEMENT
To test the authenticity of Indian currency notes by preparing a system which takes the
image of currency bill as input and gives the final result by applying various image
processing and computer vision techniques and algorithms.
A. Objectives
• The main objective of the project is to identify the fake Indian currency notes through
an automated system by using Image processing and computer vision techniques.
• The system should have high accuracy.
• The system should be able to give the final results in a short time.
• The system should have an User-friendly interface, to make it convenient to use and
understand.
The implementation requirement details are given in this section. Requirement Analysis
method is intended in such a way that it takes fewer resources to figure out work correctly.
The minimum needs that we’d like to take care of: The system would require a minimum of 4
GB (Gigabyte) of RAM (Random Access memory) to run all the options sleek and
unforeseen. It wants a minimum of 2 GHz (Gigahertz) processor to run the system smoothly.
The system can be operated by common people as well as commercial people.
Python:
Python is an interpreter, object-oriented, high-level, dynamically semantic programming
language. It is particularly desirable for Rapid Application Development as well as for usage
as a scripting or glue language to tie existing components together due to its high-level built-
in data structures, dynamic typing, and dynamic binding. Python's straightforward syntax
prioritizes readability and makes it simple to learn, which lowers the cost of program
maintenance. Python's support for modules and packages promotes the modularity and reuse
of code in programs. On all popular platforms, the Python interpreter and the comprehensive
standard library are freely distributable and available in source or binary form.
Python Libraries:
OpenCV: OpenCV is a sizable open-source library for image processing, machine learning,
and computer vision. It now plays a significant part in real-time operation, which is crucial in
modern systems. With it, one may analyse pictures and movies to find faces, objects, and
even human handwriting. To install OpenCV run the command - pip install opencv-python.
Python is able to handle the OpenCV array structure for analysis when it is integrated with
different libraries, such as NumPy. We use vector space and apply mathematical operations to
these features to identify visual patterns and their various features.
NumPy: Many mathematical operations can be carried out on arrays with NumPy. It provides
a vast library of high-level mathematical functions that work on these arrays and matrices, as
well as strong data structures that ensure efficient calculations with arrays and matrices. To
install NumPy run the command - pip install numpy.
Jupyter: Debugging, task execution, and version control are supported by the simplified
code editor Jupyter Notebook. It tries to give developers only the tools they require for a
short cycle of code-build-debugging and leaves more sophisticated processes to IDEs.
VI. FEATURES OF CURRENCY
All features of Indian currency 2000 showing in fig
Identification Mark:
Just over the Ashoka's pillar symbol, there is an identification mark.
Guarantee Clause:
Located to the right of Mahatma Gandhi's image, the guarantee clause is signed
by the governor and includes a promise clause that is printed in intaglio.
Fig : Guarantee Clause
Bleed Lines:
The oblique lines that protrude from the sides of banknotes are known as bleed
lines.
Government of India:
The words "Government of India" are printed at the top of the one rupee note,
directly over the Devanagari-scripted number one. The smallest currency note
now in use in India is 1 rupee, and it is the only one that was produced by the
Government of India rather than the Reserve Bank of India like the others.
Because of this, it is the only one with the Finance Secretary's signature rather
than the RBI Governor's.
A. Preparation of Dataset
• The first step is the preparation of a dataset containing images of different currency
notes (both fake and real) and images of different features of each of the currency notes
• The dataset will contain the following repositories:
– Sub- dataset for Rs. 500 currency notes
1) Images of real notes
2) Images of fake notes
3) Multiple images of each security feature (template)
– Sub- dataset of Rs. 2000 currency notes (Similar structure)
• The various security features that we are considering are: (for Rs. 500 currency notes-
Total 10 features)
– Rs. 500 in Devanagari and English script (2 features)
– Ashoka pillar Emblem (1 feature)
– RBI symbols in Hindi and English (2 features)
– 500 rupees written in Hindi (1 feature)
– RBI logo (1 feature)
– Bleed Lines on Left and right side (2 features)
– Number Panel (1 feature)
B. Image Acquisition
Next, the image of the test-currency note is taken as input and fed it into the system. The
image should be taken from a digital camera or preferably, using a scanner. The image
should have a proper resolution, proper brightness and should not be hazy or unclear.
Blurred images and images with less detail may adversely affect the performance of the
system.
C. Pre-processing
Next, the pre-processing of the input image is done. In this step, first the image is resized
to a fixed size. A fixed size of image makes a lot of computations simpler. Next up, image
smoothening is performed by using Gaussian Blurring method. Gaussian blurring
removes a lot of noise present in the image and increases the efficiency of the system.
After completing the necessary processing of the image, feature detection and matching
is done using ORB. Our dataset already contains the images of different security features
present in a currency note (total 10). Further, we have multiple images of varying
brightness and resolutions corresponding to each security feature (6 templates for each
feature). Using the ORB algorithm, each security feature is detected in the test image. To
make the searching of the security feature (template image) easier and more accurate, a
search area will be defined on the test currency image where that template is most likely
to be present. Then, ORB will be used to detect the template in the test image and the
result will be highlighted properly with a marker. This process will be applied for every
image of each security feature present in the data-set and every time the detected part of
the test image will be highlighted properly using proper markers, outliers or anomalies in
the dataset. While these methods have shown promise, they have not yet provided a
consistent and permanent solution to the issue of fraud detection. The dynamic nature of
fraud requires continuous adaptation and improvement of these techniques.
2) Feature Extraction: Now, using ORB location of each template has been detected in
the input image within the highlighted area. The highlighted area is then cropped by
slicing the 3D pixel matrix of the image. Next, we apply Gray scaling and Gaussian
blur to further smoothen the image and now our feature is ready to be compared with
the corresponding feature in our trained model.
3) Feature comparison using SSIM : From the previous step, the part of the test currency
image which matches with each of the
4) templates will be generated. In this method, the original template will be compared
with the extracted feature and then a score will be given for the similarity between the
two images using SSIM.
SSIM(x, y) = (2µxµy + c1)(2σxy + c2) (µ2 x + µ2 y + c1)(σ 2 x + σ 2 y + c2) .
The Structural Similarity Index (SSIM) is a scoring system that quantifies the image
quality degradation that is caused by processing such as data compression or by losses in
data transmission. Basically it looks for similarity between two images. It is a part of
skimage library and uses the above mentioned formula to calculate similarity. It returns a
value between -1 and 1. Closer the SSIM to 1, higher is the similarity. So, for every
security feature, the SSIM value between each image of that security feature and the
corresponding extracted feature from the test image will be calculated. Then, the mean
SSIM for each security feature is calculated and stored.
Result
There are other ways to detect if the money is phony or not, but they all follow the same basic
stages. Image capture, edge recognition, segmentation, grayscale conversion, and feature
extraction are among them. Most of the articles use MATLAB as their computation tool,
however we ultimately used OpenCV and Python as our programming language. To perform
comparisons and determine the outcome, a number of characteristics that identify genuine
currency apart from counterfeit ones are taken into account. We are aware that these tools are
used at banks and businesses to help identify counterfeit money, but the average person who
lacks these resources is susceptible to this. Our goal is to offer a low-cost system with quick
computations that can make decisions in a matter of seconds. The entire process ought to
function for Indian denomination 2000 and 500. It would be simple for the general public to
use, relatively portable, and reasonably priced. The model has some limitations. However, it
is still more precise than human detection. It can currently be utilized as an additional tool to
lessen human mistake. Additionally, the model's accuracy can be increased any further with
more data and better analysis.
Analysis
The proposed system authenticates the input image of currency note through image
processing. The input image passes through various algorithms in which the image is
processed and each extracted feature is thoroughly examined. The results are calculated in the
following manner:
• Algorithm 1 (Feature 1-7): This algorithm finally collects the average SSIM score
and the max. SSIM score for each feature. A feature passes the test and is real if the average
SSIM score is greater than a minimum value (this value has to be decided after proper
testing). A feature also passes the test if the max. SSIM score is too high (probably greater
than 0.8).
• Algorithm 2 (Feature 8-9): This algorithm finally returns the average number of bleed
lines present in the left and right sides of a currency note. Each feature passes the test if the
average number of bleed lines is closer to 5, in case of Rs 500 currency note, and 7, in case of
2000 currency note.
Displaying Output
Finally, the result of all algorithms is displayed to the user. The extracted image of each
feature and the various important data collected for each feature is displayed properly in a
GUI window. Further, the status (Pass/ Fail) of each feature is displayed along with the
details. Finally the total number of features that have passed successfully for the input image
of currency note is displayed and based upon that it is decided whether the note is fake or not.
The entire GUI is programmed in python itself using tkinter library.
Fig. : Intially no image is dislayed and user is asked to insert image
In this paper, a fake currency detection model has been proposed for authentication of Indian
currency notes of denomination 500 and 2000 and implemented using OpenCV image
processing library in Python3. In this model, 10 features of the input currency note are
considered and then analyzed using 3 different algorithms. The input image is taken through a
GUI which allows the user to browse the image in his/ her system. Then the results of the
implemented model are computed and the analysis of each feature is displayed in detail
through a graphical user interface (GUI) created using Tkinter GUI library. The model takes
less time (about 5 sec- when only final results are shown leaving unnecessary details) for
processing an input image.
As using money is a vital requirement for all of us, it is important to monitor its authenticity
at all times. India uses paper currency considerably more frequently than other nations,
consequently there is a great demand for a mechanism to identify counterfeit money. While
various banknotes are frequently employed in businesses, the suggested system appears to be
highly helpful for users to determine whether a currency is authentic or not. This module
compares more characteristics of the currency's grayscale image for feature extraction than
any other proposed systems. Thus, the proposed module detects the fake currency and it will
be very helpful for the common people to use it.
Advantages :
The application will be very helpful in identifying counterfeit money.
The software is simple to use and accessible.
It will lessen the user's effort and save time.
It provides the user methods that are more affordable, accurate, and give accurate
recognition of money notes.
Minimizes the circulation of counterfeit money, protecting the economy from inflationary
pressures caused by fake currency.
Prevents financial losses by identifying counterfeit notes before they are accepted in
transactions.
Reduces long-term costs associated with financial losses and legal issues stemming from
counterfeit money.
Speeds up transactions by quickly verifying the authenticity of currency, improving overall
workflow in high-cash environments.
Limitations:
This project cannot be able to detect the currencies whether it is fake or not, of other
countries except India.
This project is only able to detect the currencies whether it is fake or not with
denomination 2000 and 500 of Indian rupees.
Future Scope
This project cannot be able to detect the currencies of other countries except India. So in
the future we can make this project possible to detect the currencies of other countries also.
This project is only able to detect the currencies whether it is fake or not with
denomination 2000 and 500 of Indian rupees. So in the future we can make it possible that it
will detect the currencies with all denomination.
In this project, we worked using a few features of the currencies. So in the future we can be
able to work with all features of currencies to increase the accuracy of the project.
In this project we have only implemented algorithm 1 and 2 for features 1 to 9 but we have
not implemented any algorithm for feature 10(number panel detection) which will be done in
the next upcoming project module.
X.REFRENCES
[1] S. R. Darade and G. Gidveer, “Automatic recognition of fake indian currency note,” in
2016 international conference on Electrical Power and Energy Systems (ICEPES). IEEE,
2016, pp. 290–294.
[2] B. P. Yadav, C. Patil, R. Karhe, and P. Patil, “An automatic recognition of fake indian
paper currency note using matlab,” Int. J. Eng. Sci. Innov. Technol, vol. 3, pp. 560–566,
2014.
[3] A. Zarin and J. Uddin, “A hybrid fake banknote detection model using ocr, face
recognition and hough features,” in 2019 Cybersecurity and Cyberforensics Conference
(CCC). IEEE, 2019, pp. 91–95.
[4] M. S. Veling, M. J. P. Sawal, M. S. A. Bandekar, M. T. C. Patil, and M. A. L. Sawant,
“Fake indian currency recognition system by using matlab.”
[5] F. A. B, P. Mangayarkarasi, Akhilendu, A. A. S, and M. K, “Fake indian currency note