Image Processing Based Feature Extraction-Indian BNs
Image Processing Based Feature Extraction-Indian BNs
Image Processing Based Feature Extraction-Indian BNs
OF
INDIAN CURRENCY NOTES
Thesis report submitted towards the partial fulfillment of
requirements for the award of the degree of
Master of Technology
In
VLSI Design & CAD
Submitted by
Gopal Krishan
Roll No. 600861009
Under the Guidance of
Mr. Parminder Singh Reel
Assistant Professor, ECED
Department of Electronics and Communication Engineering
THAPAR UNIVERSITY
PATIALA-147004, INDIA
JUNE - 2010
ii
iii
ACKNOWLEDGMENT
A thesis cannot be completed without the help of many people who contribute directly or
indirectly through their constructive criticism in evolution and preparation.. First of all, I would
like to express my gratitude to my thesis supervisor, Mr. Parminder Singh Reel, Assistant
Professor, Electronics and Communication Engineering Department, Thapar University, Patiala
for his patient guidance and support throughout this thesis. I am truly very fortunate to have the
opportunity to work with him. I found his guidance to be extremely valuable asset for the
successful completion of my thesis.
I am also thankful to our HEAD OF THE DEPARTMENT Dr. A. K. Chatterjee, and entire
Faculty & Staff of Electronics and Communication Engineering Department. Also all the friends
who devoted their valuable time and helped me in all possible ways towards successful
completion of this work. I thank all those who have contributed directly or indirectly to this
work.
I am also thankful to the authors whose works I have consulted and quoted in my thesis work.
Lastly, I would like to thank my parents for their years of unyielding love and encouragement.
They have always wanted the best for me and I will always admire their determination and
sacrifice.
Gopal Krishan
ABSTRACT
iv
ABSTRACT
Counterfeit notes are a problem of almost every country but India has been hit really hard
and has become a very acute problem. Fake Indian currency of 100, 500 and 1000 rupees
seems to have flooded the whole system and there is no proper way to deal with them for
a common person.There is a need to design a system that is helpful in recognition of
paper currency notes with fast speed and in less time. The recognition system is
composed of two parts. The first is preprocessing, including detecting edges, compressing
data dimensionalities, and extracting features. The second one is recognition, in which the
core is a neural network classifier. Number recognition is a challenging problem
researchers had been research into this area for a long time. In our study there are many
fields concern with numbers, for example, checks in banks or recognizing numbers in car
plates, the subject of digit recognition appears. A system for recognizing isolated digits
may be as an approach for dealing with such application. In other words, to let the
computer understand the numbers and views them according to the computer process.
Scientists and engineers with interests in image processing and pattern recognition have
developed various approaches to deal with handwriting number recognition problems
such as, minimum distance, decision tree and statistics. In this thesis, I have proposed a
new technique for extracting serial numbers of Indian paper currency which can be used
for recognition or database purpose. I have used the MATLAB image processing toolbox
to develop a software for this purpose. Image Processing involves changing the nature of
an image in order to improve its pictorial information for human interpretation, for
autonomous machine perception. The Image Processing Toolbox software is a collection
of functions that extend the capability of the MATLAB numeric computing environment.
The toolbox supports a wide range of image processing operations on the given image.
Previous related work in this field is also presented as a state of art literature
survey. This technique can be used further in recognizing the currency notes with the help
of neural network methods.
TABLE OF CONTENTS
v
TABLE OF CONTENTS
CERTIFICATE
ii
ACKNWOLEDGEMENT
iii
ABSTRACT
iv
TABLE OF CONTENTS
v
LIST OF FIGURES
x
ABBERIVATIONS
xi
Chapter 1 INTRODUCTION
1
Chapter 2 LITERATURE SURVEY
7
Chapter 3 DIGITAL IMAGE PROCESSING
20
3.1 Introduction 20
3.2 Definition of Digital Image 21
3.3 Defining Image Processing 22
3.4 Aspects of Image Processing 22
3.5 Applications 23
Chapter 4 Matlab Image Processing Tool Box
26
4.1 Introduction 26
4.2 Key Features 26
4.3 Importing & Exporting Images 27
TABLE OF CONTENTS
vi
4.4 Pre & Post Processing Images 28
4.4.1 Enhancing Images 28
4.4.2 Deblurring Images 29
4.4.3 Managing Device Independent Color 29
4.4.4 Image Transforms 29
4.4.5 Image Conversions 30
4.5 Analyzing Images 30
4.5.1 Edge Detection Algorithms 30
4.5.2 Image Segmentation 30
4.4.3 Morphological Operators 31
4.6 Displaying and Exploring Images 31
4.7 Spatial Transformation and Image Registration 32
4.8 Use of Image Processing in MATLAB 32
4.9 Image Formats Supported by MATLAB 33
4.10 Working Formats in MATLAB 33
4.10.1 Intensity Images 33
4.10.2 Binary Images 34
4.10.3 Indexed Images 34
4.10.4 RGB Images 34
4.10.5 Multiframe Images 35
4.11 How to Convert Between Different Formats ? 35
4.11.1 Image Format Conversion 35
TABLE OF CONTENTS
vii
4.11.2 How to Convert B/W Double and Unit8 ? 35
4.12 How to Read Files ? 36
4.13 Loading and Saving Variable in Matlab 36
4.14 How to Display an Image ? 37
Chapter 5 NEURAL NETWORKS
38
5.1 Introduction 38
5.2 Historical Background 38
5.3 Why Using Neural Network ? 39
5.4 Neural Network V/S Conventional Computers 40
5.5 Human & Artificial Neurons 41
5.6 Architecture of Neural Network 44
5.6.1 Feed Forward Networks 44
5.6.2 Feed Backward Network 44
5.6.3 Network Layers 45
5.7 Back Propagation Model 46
5.8 Applications 46
Chapter 6 Graphical User Interface
49
6.1 Introduction 49
6.2 How a GUI Works ? 49
6.3 Creating and Displaying GUI 51
6.4 GUI Elements 52
6.4.1 Text Fields 53
TABLE OF CONTENTS
viii
6.4.2 Edit Box 53
6.4.3 Frames 53
6.4.4 Push Buttons 54
6.4.5 Toggle Buttons 54
6.4.6 Check Boxes 55
6.4.7 Pop Up Menus 55
6.4.8 List Boxes 55
6.4.9 Sliders 56
Chapter 7 PROPOSED APPROACH
57
7.1 Introduction 57
7.2 Basic Theory 58
7.2.1 Thresholding 58
7.2.2 Mathematics Morphology 59
7.3 System Design 59
7.3.1 Image Preprocessing 60
7.3.2 Binarization 61
7.3.3 Morphological Filtering 63
7.3.4 Segmentation 63
7.3.5 Heuristic Analysis of Characters 64
7.3.6 Feature Extraction 66
Chapter 8 EXPERIMENTAL RESULTS 70
CONCLUSION
78
TABLE OF CONTENTS
ix
REFERENCES
79
LIST OF PUBLICATIONS
83
LIST OF FIGURES
x
LIST OF FIGURES
Figure No. Title of Figure Page No.
Figure 1.1 RBI Security Features 4
Figure 3.1 2-D Image Representation 21
Figure 4.1 A Display of MRI Slices From A Series of DICOM Files 27
Figure 4.2 Original Image Of Rice Grain 28
Figure 4.3 (a) Result Of Subtraction Of Nonuniformity from Original 29
Figure 4.3 (b) Result Of Automatic Thresholding 29
Figure 4.4 Color Cube For RGB Model 34
Figure 5.1 Components Of Neuron 42
Figure 5.2 The Synapse 42
Figure 5.3 Neuron Model 43
Figure 5.4 Feed Forward Network 44
Figure 5.5 Feed Backward Network 45
Figure 6.1 Example Of MATLAB GUI Elements 52
Figure 6.2 Layout Of Simple GUI With Text Field & Edit Box 54
Figure 7.1 Feature Extraction Approach 57
Figure 7.2 Histogram Intensity 58
Figure 7.3 Original Currency Image 60
Figure 7.4 Shape Extraction By Subtraction And Thresholding 62
Figure 7.5 Converted Image After Thresholding 63
Figure 7.6 Extracted Serial Numbers Of Different Notes 64
Figure 7.7 Segmented Serial Numbers Digits 64
Figure 7.8 Serial Number For Heuristic Analysis 65
Figure 7.9 Extracted Numeric Digit 67
Figure 7.10 Feature Extraction Approach 68
Figure 7.11 GUI For Feature Extraction Of Indian Currency 69
Figure 8.1
Analysis Of 100 Rupee Currency Note Using Proposed
Approach
70
ABBERIVATIONS
xi
ABBERIVATIONS
ASCII
American Standard Code For Information
Interchange
BMP Bitmap File Format
DICOM
Digital Imaging And Communications In
Medicine
FFT Fast Fourier Transform
HSV Hue Saturation Value
IEEE Institute Of Electrical And Electronics Engineers
JPEG Joint Photographic Experts Group
LVQ Learning Vector Quantization
MRI Magnetic Resonance Image
PCA Principle Component Analysis
PNG Portable Network Graphics
PCX Personal Computer Exchange
RGB Red Green Blue
RBI Reserve Bank Of India
TIFF Tagged Image File Format
CHAPTER 1.INTRODUCTION
1
CHAPTER
INTRODUCTION
1.1 INTRODUCTION
Feature extraction of images is challenging work in digital image processing. The feature
extraction of Indian currency notes involves the extraction of features of serial numbers
of currency notes. What is feature extraction in image processing? The meaning of the
feature extraction phase is most conveniently defined referring to the purpose it serves.
Feature extraction is that of extracting from the raw data the information which is most
relevant for classification purposes, in the sense of minimizing the within-class pattern
variability while enhancing the between-class pattern variability. During the feature
extraction process the dimensionality of data is reduced. This is almost always necessary,
due to the technical limits in memory and computation time. A good feature extraction
scheme should maintain and enhance those features of the input data which make distinct
pattern classes separate from each other. At the same time, the system should be immune
to variations produced both by the humans using it and the technical devices used in the
data acquisition stage.
In recent years, along with the accelerative developments of world economics
incorporation course, the start of Euro area, and the increase of Asia economics, frontier
trade and personal intercourse of various countries are frequent increasingly. Travelling
people always take many countries of paper currency. Probabilities that the paper
currencies of various countries are probably interweaved together therefore rises
increasingly. It is a challenge for conventional paper currency recognition systems.
However, the focus of most of the conventional currency recognition systems and
machines is on recognizing counterfeit currencies. It is not enough for practical
1
CHAPTER 1.INTRODUCTION
2
businesses. The reason is that in most of banks, especially those internationalized banks,
there are large quantities of cash belonging to many different countries need to be
process, and it is possible that all of them are real cashes.
The situation that cashes belonging to different countries mixes together is possible to
occur. It cannot be processed with conventional currency recognition systems. For
example there is a currency recognition system, which can correctly recognize and
classify the 20 kinds of currency with different par values or coming from different
countries because this system knows these currencies so much. Therefore this system is
responsible to recognize these 20 kinds of currency specially. However, some pieces of
currency not belonging to those 20 kinds, which is unknown for the system, are mixed
together with those 20 kinds of currency to input this system accidentally. All of these
unknown currencies should be rejected in ideal situation. But because there is not any
relative information of these unknown data in the system, it is possible to lead to that
these currencies are misrecognized as a certain kind in those 20 kinds of currency. In
practice this situation is not permitted to take place. Hence it is necessary to develop the
currency recognition systems and bank machines that can not only realize correct
recognitions and classifications for known paper currencies, but also complete effective
rejections for unknown paper currencies.
The recognition of the serial numbers of the Indian paper currency such as 100, 500 or
1000 banknotes can detect using various methods. The serial numbers are currency
issuance numbers, which are used as the identifiers (IDs) of the banknotes. Each sheet has
its own serial numbers and the same numbers can not be used more than once. Correctly
and fast recognizing these numbers is very important due mainly to at least the three
reasons. Firstly, there is a need for proper statistics by the national treasuries and the
banks. After the banknotes are produced by some appointed printing factories, they need
to be storied into the national treasuries then be sent to different banks for being formally
distributed in the markets. Before the national treasuries can accept the banknotes, they
need to know the serial numbers of so its of the banknotes so that the national treasuries
can know the total number of each of the different kinds of banknotes. Secondly, there is
a need for reprinting of the destroyed banknotes. When the national treasuries or banks
find some banknotes that have been destroyed and can not be used, they need to inform
the printing factories to reprint those banknotes with the same serial numbers. Thirdly,
CHAPTER 1.INTRODUCTION
3
there is a need for the diagnosis of the crimes by the public police. It would be very
helpful for the public police to find clues of the criminals if the stolen banknotes can be
fast and correctly recognized.[1].
The method of feature extraction of currency notes is same as extraction of optical
character from any document which includes various neural network based algorithms.
Optical character recognition has been a topic of interest since possibly the late 1940's
when Jacob Rabinow started his work in the field. The earliest OCR machines were
primitive mechanical devices with fairly high failure rates.
Today there are many OCR devices in use based on different algorithms. All of the
popular algorithms sport high accuracy and most high speed, but still many suffer from a
fairly simple flaw: when they do make mistakes (and they all do), the mistakes are often
very unnatural to the human point of view. That is, mistaking a "5" for an "S" is not too
surprising because most people are willing to agree that these two characters are similar,
but mistaking a "5" for an "M" is unexpected. Algorithms make such mistakes because
they generally operate on a different set of features than humans for computational
reasons. Humans observe strokes and the relations between them, while algorithms
measure anything from Transformation Ring Projections [2] of a character to the Fourier
Transform of the Horizontal-Vertical Projections of a character. These methods do work
and are often computationally efficient, but they make the computer see letters through a
decidedly non-human set of eyes.
The problem for handling these banknotes in India is very bad for some difficulties in
Law. The legal way to handle is to lodge a police complain and mention the source of the
currency and then further investigations are done. The fake currency is then sent to RBI
or destroyed. RBI itself has installed currency verification and processing systems in its
various offices, each having a processing capacity of 50,000 to 60,000 pieces per hour.
Most people do not want to deal with this problem in a legal way because our law
enforcement (police) and legal system (courts) are not so easy to deal with. Unlike most
developed countries where a common person feels free to report even a smallest problem
to the police, in India it is quite different as most people avoid contacting police because
those investigations can be painfully inconvenient and especially because many people in
law enforcement are not exactly honest. The legal system is even more troublesome, even
a small court case in India can easily drag for months and year. Therefore more and more
CHAPTER 1.INTRODUCTION
4
people have just started to live as is. It is not possible check each and every currency note
you receive in a bundle. Most people just pass it along to others, if someone objects you
just give different note. In fact most people in India do not even know how to the things
to check that differentiates a fake note from a real one. Trying to pass on a currency note,
knowing that is a fake, is a punishable offence under sections 120-B, 420 and 489-A, B, C
& D of the Indian Penal Code. Possession of counterfeit notes too is punishable with
punishment as harsh as life imprisonment. Some features about how to detect a fake
Indian rupee note are given below:
1. Optical Variable Ink: The colour of the numeral 500 appears green when the
banknote is held flat but would change to blue when the banknote is held at an
angle. The font size is also reduced.
2. Latent Image: When the note is head horizontally, the vertical band on the right
shows an image of the number 500.
3. Security Thread: The note also has a three millimeter wide security thread with
the inscriptions: one thousand, the word 'Bharat' in Hindi and RBI.
4. Micro lettering: The 'RBI' and the numeral, "500" - which can be viewed with
the help of a magnifying glass - are between the Mahatma Gandhi portrait and the
vertical band.
5. Watermark: When the note is held against the light, the picture of Gandhi and an
electrolyte mark showing the number 500 appear in the white space.
FIGURE 1.1:RBI Security Features[3]
CHAPTER 1.INTRODUCTION
5
The best way to identify a note is the silver bromide thread that runs vertically through a
currency note. Fake currency notes tend to have silver-coloured band painted in place of
the silver thread. A real note has a prominent thread with raised 'RBI' markings made on
it in English and Hindi. Also, in a real note, the colour of the thread shifts from green to
blue when viewed from different angles.
The image processing approach is discussed with Matlab to detect the features of Indian
currency. Image processing includes any form of information processing in which the
input is an image. Many image processing techniques derive from the application of
signal processing techniques to the domain of images a two-dimensional signal such as
photographs and videos. The name image processing is most appropriate when both
inputs and outputs are images. The extraction of arbitrary information from images is the
domain of image analysis, which includes pattern recognition when the patterns to be
identified are in images. In computer vision one seeks to extract more abstract
information, such as the 3D description of a scene from video footage of it. The tools and
concepts of image processing are also relevant to image synthesis from more abstract
models, which is a major branch of computer graphics.
MATLAB is an interactive technical computing environment based on an interpreted
language whose variables are matrices. MATLABs language has proven to be easy for
everyone to understand; thus its use become productive in MATLAB far more quickly
than with other languages.
The Image Processing Toolbox software is a collection of functions that extend the
capability of the MATLAB numeric computing environment. The toolbox supports a
wide range of image processing Spatial image transformation, Morphological operations,
Neighborhood and block operations, Linear filtering and filter design, Transforms, Image
analysis and enhancement, Image registration, Deblurring and Region of interest
operations. The image formats are supported by Matlab are BMP, HDF, JPEG, PCX,
TIFF, XWB etc. Most images find on the Internet are JPEG-images which is the name for
one of the most widely used compression standards for images. If we have stored an
image you can usually see from the suffix what format it is stored in.
CHAPTER 1.INTRODUCTION
6
Our approach to feature extraction of Indian currency can be broadly divided into the
following parts:
1. PreProcessing of currency image.
2. Binarisation.
3. Morphological filtering.
4. Segmentation.
5. Feature Extraction.
This thesis is organized as follows:
CHAPTER I: INTRODUCTION. This chapter introduces about feature
extraction in image processing, security features of Indian currency.
CHAPTER 2: LITERATURE SURVEY. This chapter shows previous related
work done with this thesis.
CHAPTER 3: DIGITAL IMAGE PROCESSING. This chapter explains
digital image processing, its aspects and applications.
CHAPTER 4: MATLAB IMAGE PROCESSING TOOLBOX. This chapter
focuses on the how the image processing toolbox is used in MATLAB. This
chapter discusses the image analysis, basic commands, various image formats
supported by MATLAB.
CHAPTER 5: NEURAL NETWORKS. This chapter discusses the basics of
neural networks, biological model and its applications.
CHAPTER 6: GRAPHICAL USER INTERFACE. This chapter discusses
about graphical user interface and its various elements.
CHAPTER 7: PROPOSED APPROACH. This chapter discusses proposed
approach for this work.
CHAPTER 8: EXPERIMENTAL RESULTS. This chapter includes the results
of this thesis. Finally we have the conclusion and its future scope.
CHAPTER 2.LITERATURE SURVEY
7
CHAPTER
LITERATURE
SURVEY
2.1 LITERATURE SURVEY
A Hierarchical Approach to Feature Extraction and Grouping
Gian Luca Foresti and Carlo Regazzoni presented this paper in June,2000 at
IEEE International conference.[4]
This paper presents the problem of extracting and grouping image features from
complex scenes is solved by a hierarchical approach based on two main processes:
voting and clustering. Voting is performed for assigning a score to both global and
local features. The score represents the evidential support provided by input data for
the presence of a feature. Clustering aims at individuating a minimal set of
significant local features by grouping together simpler correlated observations. It is
based on a spatial relation between simple observations on a fixed level, i.e., the
definition of a distance in an appropriate space. As the multilevel structure of the
system implies that input data for an intermediate level are outputs of the lower level,
voting can be seen as a functional representation of the part-of relation between
features at different abstraction levels. The proposed approach has been tested on
both synthetic and real images and compared with other existing feature grouping
methods. This paper is focused on the detection of real objects characterized by
regular boundaries as 3-D man-made objects in structured environments.
2
CHAPTER 2.LITERATURE SURVEY
8
Feature Extraction for Bank Note Classification Using Wavelet Transform
Euisun Choi, Jongseok Lee and Joonhyun Yoon presented this paper in March, 2006
at IEEE International conference. [5]
In this paper, we investigate an approach to feature extraction for bank note
classification by exploiting the potential of wavelet transform. In the proposed
method, high spatial frequency coefficients taken from the wavelet domain are
examined to extract features. We first perform edge detection on bill images to
facilitate the wavelet feature extraction. The construction of feature vectors is then
conducted by thresholding and counting of wavelet coefficients. The proposed
feature extraction method can be applied to classifying any kind of bank note.
However, in this paper we examine Korean won bills of 1000, 5000 and 10000 won
types. Experimental results with a set of 10,800 bill images show that the proposed
feature extraction method provides a correct classification rate of 99% even by using
the Euclidean minimum distance matching as classifier. The textured regions of
different bill images can be easily discriminated by decomposing the texture into
several frequency subbands. In particular, the use of a wavelet transform is an
attractive possibility due to its flexible frequency splitting at different scales and
orientations. In the proposed method, high spatial frequency subbands are explored
to extract features from transformed images.
An Efficient Feature Extraction Algorithm for the Recogntion of Handwritten
Arabic Digits
Ahmad T. Al-Taani author of this paper at International Journal of Computational
Intelligence in 2006.[6]
In this paper, an efficient structural approach for recognizing on-line handwritten
digits is proposed. After reading the digit from the user, the slope is estimated and
normalized for adjacent nodes. Based on the changing of signs of the slope values,
the primitives are identified and extracted. The names of these primitives are
represented by strings, and then a finite state machine, which contains the grammars
of the digits, is traced to identify the digit. Finally, if there is any ambiguity, it will be
resolved. Experiments showed that this technique is flexible and can achieve high
CHAPTER 2.LITERATURE SURVEY
9
recognition accuracy for the shapes of the digits represented in this work. Automatic
recognition of handwritten digits is difficult due to several reasons, including
different writing styles of different persons, different writing devices, and the context
of the digit. This leads to digits of different sizes and skews,and strokes that vary in
width and shape.
Invariant Features Extraction for Banknote Classification
Peng Wang and Peng Liu author of this paper. This paper published in Proceedings
of the 11th Joint Conference on Information Sciences in 2008. [7]
An invariant feature extraction method is proposed for banknote classification. The
movement of banknote is complex in the channel of financial instruments. The scale
is various. The rotation and translation are also to occur. The method of feature
extraction is insensitive to the variety of scale, rotation and translation. It decreases
the data variety and improves the reliability of banknote classification. Furthermore,
the computation complexity is low in order to meet to the requirement of real-time
banknote image processing and classification. The invariant feature extraction
method has performed very well when they are applied in banknote sorters. This
paper shows an effective method to classify banknote. First, a rotation, translation
and scale invariant feature extraction method is proposed. This feature extraction
method is suit for the low quality images which are acquired at high speed banknote
channel. Furthermore, the computation is sample in order to finish the banknote
image processing and classification in real-time. Then, a 3-layer BP neural networks
is used predict the face and value of a banknote. The feature extraction method has
performed very well when they are applied in banknote sorters.
Thinning Arabic Characters for Feature Extraction
Dr. John Cowell and Dr. Fiaz Hussain presented this paper in 2001 at IEEE
International conference. [8]
A successful approach to the recognition of Latin characters is to extract features
from that character such as the number of strokes, stroke intersections and holes, and
to use ad-hoc tests to differentiate between characters which have similar features.
The first stage in this process is to produce thinned pixel thick representations of the
CHAPTER 2.LITERATURE SURVEY
10
characters to simplifying feature extraction. This approach works well with printed
Latin characters which are of high quality. With poor quality characters, however,
the thinning process itself is not, straightforward and can introduce errors which can
manifested in the later stages of the recognition process. The recognition of poor
quality Arabic characters is a particular problem since the characters are calligraphic
with printed characters having widely varying stroke thicknesses to simulate the
drawing of the character with a calligraphy pen or brush. This paper describes the
problems encountered when thinning large poor quality Arabic characters prior to the
extraction of their features and submission to a syntactic recognition system.
The techniques used are often sensitive to variations in the orientation of the
characters, do not deal with poor quality characters with ragged edges and are not
readily transferable to other character sets such as Arabic and Urdu. The calligraphic
nature of these character sets means that the approach used for Latin characters is not
directly transferable. A recognition system which can deal with a variety of poor
quality characters from the Arabic, Latin and other character sets must use an
alternative approach.
A License Plate-Recognition Algorithm for Intelligent Transportation System
Applications
Christos Nikolaos and Vassili Loumos presented this paper in 2006 at IEEE
Transactions On Intelligent Transportation Systems.[9]
In this paper, a new algorithm for vehicle license plate identification is proposed, on
the basis of a novel adaptive image segmentation technique (sliding concentric
windows) and connected component analysis in conjunction with a character
recognition neural network. The algorithm was tested with 1334 natural-scene gray-
level vehicle images of different backgrounds and ambient illumination. The camera
focused in the plate, while the angle of view and the distance from the vehicle varied
according to the experimental setup. The license plates properly segmented were
1287 over 1334 input images (96.5%). The optical character recognition system is a
two-layer probabilistic neural network (PNN) with topology 108-180-36, whose
performance for entire plate recognition reached 89.1%. The PNN is trained to
identify alphanumeric characters from car license plates based on data obtained from
CHAPTER 2.LITERATURE SURVEY
11
algorithmic image processing. Combining the above two rates, the overall rate of
success for the license plate- recognition algorithm is 86.0%. A review in the related
literature presented in this paper reveals that better performance (90% up to 95%) has
been reported, when limitations in distance, angle of view, illumination conditions
are set, and background complexity is low.
Rotation-Invariant Neural Pattern Recognition System with Application to
Coin Recognition
Minoru Fukumi, Sigeru Omata and Fumiaki Takeda presented this paper in March,
1992 at IEEE International conference.[10]
This paper presents a neural pattern recognition system which is insensitive to
rotation of input pattern by various degrees. The system consists of a fixed invariance
network with many slabs and a trainable multilayered network. To illustrate the
effectiveness of the system, we apply it to a rotation-invariant coin recognition
problem to distinguish between a 500 yen coin and a 500 won coin. The rotation-
invariant neural pattern recognition system presented in this paper shows good
performance for coin recognition With regard to real implementation, the system
would require the ability to discriminate more coins, as human can easily do. Much
work on transform-invariant pattern recognition remains to be done, including the
classification of coins of all nations.
A Pa p e r C u r r e n c y R e c o g n i t i o n M e t h o d b y a Small S i z e N e u r a l N e t w o r k
with O p t i m i z e d M a s k s b y GA
Fumiaki Takeda, Sigeru Omatu, Saizo Onami,Takashi Kadono and Kengo Terada
presented this paper in 1994 at IEEE International conference.[11]
This paper presents a structure reduction method for NNs. We adopt slab values which
are sums of input pixels as characteristics of the inputs. But there is the possibility of
generating the same slab values even when the inputs are different. To avoid this
problem, we adopt a mask which covers some parts of input. This enables us to reflect
the difference of input pattern to slab values with masks. Still more, it adopt the
genetic algorithm (GA) to optimize the masks. We can generate various effective
CHAPTER 2.LITERATURE SURVEY
12
masks automatically. Finally, this paper show that the proposed method by neuro-
recognition with masks can be applied effectively to paper currency recognition
machine using the GA.
High Speed Paper Currency Recognition by Neural Networks
Fumiaki Takeda and Sigeru Omatu wrote this paper in January, 1995 at IEEE
Computer Society. In this paper a new technique is proposed to improve the
recognition ability and the transaction speed to classify the Japanese and U.S. paper
currency. [12]
This paper compare two types of data sets, time series data and Fourier power spectra,
are used in this study. In both cases, they are directly used as inputs to the neural
network. Still more we also refer a new evaluation method of recognition ability.
Meanwhile; a technique is proposed to reduce the input scale of the neural network
without preventing the growth of recognition. This paper applied the NN to paper
currency recognition and showed the effectiveness compared with a conventional
manual method. Furthermore, it has proposed a structure reduction method of the NN
using random masks and showed its effectiveness for time series data and its Fourier
power spectra.
A Neuro-Paper Currency Recognition Method Using Optimized Masks by
Genetic Algorithm
Fumiaki Takeda and Sigeru Omatu wrote this paper in January, 1995 at IEEE
Compute Society. Recently, much research of applications to Neural Networks (NNs)
by Genetic Algorithm (GA) has been reported. [13]
This paper adopts the GA to a neuro-paper currency recognition method using the
masks which it has proposed. Namely, this regards the position of the masked part as a
gene. It samples the parental masks and operates "crossover", "selection", and
"mutation" to some genes. By repeating a series of the GA operations, it can optimize
the masks for the paper currency recognition in a short period. It compares the ability
of the NN using the masks optimized by the GA with the one of the NN using the
CHAPTER 2.LITERATURE SURVEY
13
masks determined by the random numbers. Then it shows that the GA is effective for
systematizing the neuro-paper currency recognition with masks.
In this paper, we have adopted the GA to the neuro-paper currency recognition method
with masks and have shown .By use of this new technique, it showed that the excellent
masks could be obtained by the present method compared with the random search
procedure. Still more, it can systematize the mask optimization using the GA.
A Neural Network-Based Model for Paper Currency Recognition and
Verification
Angelo Frosini, Marco Gori and Paolo Priami presented this paper in
November,1996 at IEEE International conference. This paper describes the neural-
based recognition and verification techniques used in a banknote machine, recently
implemented for accepting paper currency of different countries.[14]
The perception mechanism is based on low-cost optoelectronic devices which produce
a signal associated with the light refracted by the banknotes. The classification and
verification steps are carried out by a society of multilayer perceptions whose
operation is properly scheduled by an external controlling algorithm, which guarantees
real-time implementation on a standard microcontroller-based platform. The
verification relies mainly on the property of autoassociators to generate closed
separation surfaces in the pattern space. The experimental results are very interesting,
particularly when considering that the recognition and verification steps are based on
low-cost sensors.
Multiple kinds of Paper Currency Recognition using Neural Network and
application for Euro Currency
Fumiaki Takeda and Toshihiro Nishikag, presented this paper in 2000 at IEEE
International conference. This paper concentrates on report an enhanced neuro-
recognition system to increase the more number of recognition patterns using axis-
symmetrical mask and two image sensors. One sensor's purpose is discrimination for a
known image and another one is exclusion for an unknown image. [15]
CHAPTER 2.LITERATURE SURVEY
14
Concretely, it implements the proposed method to an experimental system, which has
two sensors. And they are arranged on the up side and down side of the aisle,
respectively. Finally, we apply this proposed method to Euro currency. It is to be
effective in the industrial use such as increasing of the number of pattems with
maintaining the non-liner recognition ability In this paper, it has proposed multiple
kinds of the paper currency recognition system using axis symmetrical mask and two
image sensors. Especially, its effectiveness for some plural kinds of currency has been
shown, experimentally. Furthermore, it has applied the proposed method to the Euro
currency using its dummy. After this, it is important that the proposed method is
implemented to the banking machines for the delivery of the Euro currency. It is also
much important requirement to evaluate true Euro currency in the commercial market
for the industrial use of the proposed method.
Implementing a Reliable Neuro Classifier for Paper Currency Using PCA
Algorithm
Ali Ahmadi,Sigeru Omatu and Michifumi Yoshika presented this paper in August,
2002 at IEEE International conference. This paper presents a PCA based method for
increasing the reliability of paper currency recognition machines. [16]
The system is intended for classifying any .kind of currency but in this work we
examine only different kinds of US dollar (totally IO bill types). The data is acquired
through some advanced sensors and after pre-processing come as an array of pixels.
The PCA algorithm is used to extract the main features of data and reducing the data
size. An LVQ network model is applied as the main classifier of system. By defining a
specific criteria for rating the reliability, it evaluate the reliability of system for 1,200
lest data. The result shows that reliability is increased up to 95% when the number of
PCA components as well as numb of LVQ codebooks are taken properly.
This paper presented a local PCA approach for feature extraction of data in
classification of paper currency. The aim is to model the complexity of data and
correlation between variables by using a simple linear model. The method first exploits
a SOM model to cluster the data space into disjoints regions. Then a standard PCA
model is applied in each region.
CHAPTER 2.LITERATURE SURVEY
15
A Methodology to Evaluate and Improve Reliability in Paper Currency
Neuro-Classifiers
Ali Ahmadi,Sigeru Omatu and Toshihisa Kosaka presented this paper in June,2003
at IEEE International conference. This paper gives the advance method based on the
PCA Algorithm.[17]
In this paper the reliability of the paper currency classifiers is studied and a new
method is proposed for improving the reliability based on the local principal
components analysis (PCA). At first the data space is partitioned into regions by using
a self-organizing map (SOM) model and then the PCA is performed in each region. A
learning vector quantization (LVQ) network is employed as the main classifier of the
system. The reliability of classification is evaluated by using an algorithm which
employs a function of winning class probability and second maximal probability. By
using a set of test data, it estimates the overall reliability of the system.
The main limitation of PCA is its global linearity, that is, it only defmes a linear
projection of data and does not model nonlinear relationship among variables, some
developments of non-linear principal component analysis (NLPCA) have been
presented to address this limitation.
Research on Paper Currency Recognition by Neural Networks
Er-hu Zhang, Bo Jiang,Jing -Hong Duan,Zheng Zhong Bian presented this paper in
November,2003 at IEEE International conference. It is a key process to select
original characteristic information from currency image with noises and uneven
gray[18].
This article, aiming at the specialties of RENMINGBI (RMB) currency image, puts
forward a method using linear transform of image gray to diminish the influence of the
background image noises in order to give prominence to edge information of the
image. Then the edge characteristic information image is obtained by edge detecting
using simple statistics. Finally by dividing the edge characteristic information image in
the width direction into different areas, getting the number of the edge characteristic
pixels of different areas as input vectors to neural networks, carrying out sorting
CHAPTER 2.LITERATURE SURVEY
16
recognition by three layer BP NN, paper currency is recognized.
It is completely feasible to use BP NN to classify RMB. The proposed method of
extracting input vectors has advantages of simplicity, high calculating speed, obvious
characters of original image, roburest to different kinds of RMB.
New Recognition Algorithm for Various Kinds of Euro Banknotes
Jae Kang and Hwan Kim presented this paper in 2003 at IEEE International
conference. Counters for the various kinds of banknotes require high-speed distinctive
point extraction and recognition. [19]
This paper proposed a new point extraction and recognition algorithm for banknotes.
For distinctive point extraction we use a coordinate data extraction method from
specific parts of banknote representing the same colour. To recognize banknotes, the
author trained 5 NN. One is for inserting direction and the others are for the face value.
The algorithm is designed to minimize recognition time. The simulated results show
the high recognition rate and a low training period. The proposed method can be
applied to high speed banknote counting machines. By applying the continuous same
colured area recognition algorithm to the face value of the banknote, it can extract
distinctive data to classify the kind of banknotes, as the area is located in the different
positions on each kind of banknotes.
Paper Currency Recognition Using Gaussian Mixture Models based on
Structural Risk Minimization
This paper presented by Fan-Hui Kong, Ji-Quan Ma, Jia-Feng Liu in August,2006 at
IEEE Conference. [20]
This paper presents paper currency recognition using GMM based on Structural Risk
Minimization (SRM). By selecting the proper number of the components with SRM,
the system can overcome the demerit by the number of the Gaussian components
selected artificially. A total number of 8 bill types including 5, 10(new and old
model),20, 50(new and old model), 100(new and old model) are considered as
classification categories experiments show that GMM which employs SRM is a more
flexible alternative and lead to improved results for Chinese paper currency
CHAPTER 2.LITERATURE SURVEY
17
recognition. Gaussian Mixture Model (GMM) is a popular tool for density estimation.
The parameters of the GMM are estimated based on Maximum Likelihood principle
(MLP) in almost all recognition system. However, the number of mixtures used in the
model is important for determining the models effectiveness; the general problem of
mixture modeling is difficult when the number of components is unknown.
A Digit Recognition System for Paper Currency Identification Based on
Virtual Instruments
This paper presented by Ji Quan,Dongping Quan,mengjie Zhang in 2006 At IEEE
Conference.[1]
This paper describes an approach to digit recognition for the serial numbers on the
Chinese currency banknotes. The approach consists of a number of components
including image preprocessing, image binarisation, morphological filtering,
segmentation, feature extraction and digit recognition. The approach was examined
and tested on 5000 banknotes with 4000 digits and the approach achieved s single digit
recognition rate of more than 99.60%, a serial number recognition rate of 99.50% , and
a recognition time of 157ms. The results show that this approach is effective and
efficient and can clearly meet the system requirements.
The results show that this approach is effective and efficient and can clearly satisfy the
system requirements. The experiments also suggest that the current system is still quite
sensitive to the noise of the image, but it could be improved by increasing the number
of template digits in the training set, which will be further investigated in the future.
Bangladeshi Banknote Recognition by Neural Network with Axis
Symmetrical Masks
This paper presented by Nadim Jahangir and Ahsan Raja Chowdhury in 2007 At IEEE
Conference. Automated banknote recognition system can be a very good utility in
banking systems and other field of commerce. It can also aid visually impaired people.
Although in Bangladesh, bill money recognition machines are not common but it is
used in other countries. [21]
CHAPTER 2.LITERATURE SURVEY
18
In this paper, for the first time, it has proposed a Neural Network based recognition
scheme for Bangladeshi banknotes. The scheme can efficiently be implemented in
cheap hardware which may be very useful in many places. The recognition system
takes scanned images of banknotes which are scanned by low cost optoelectronic
sensors and then fed into a Multilayer Perceptron, trained by Backpropagation
algorithm, for recognition. Axis Symmetric Masks are used in preprocessing stage
which reduces the network size and gurantees correct recognition even if the note is
flipped. Experimental results are presented which show that this scheme can recognize
currently available 8 notes (1, 2, 5, 10, 20, 50, 100 & 500 Taka) successfully with an
average accuracy of 98.57%.
Feature Extraction for Paper Currency Recognition
H.Hassanpour, A.Yaseri and G.Ardeshiri present this paper at IEEE computer society
in 2007.This paper proposed a feature extraction method for paper currency
detection.[22]
This paper proposes a new technique for paper currency recognition. In this technique,
three characteristics of paper currencies including size, colour and texture are used in
the recognition. By using image histogram, plenitude of different colures in a paper
currency is computed and compared with the one in the reference paper currency. The
Markov chain concept has been employed to model texture of the paper currencies as a
random process. The method proposed in this paper can be used for recognizing paper
currencies from different countries. In this method, using only one intact example of
paper currency from each denomination is enough for training the system.
This method was tested this method on more than 100 denominations from different
countries, and the system was able to recognize 95% of data, correctly In this method
the system can be trained for a new denomination banknote by just introducing one
intact example of the banknote to it. In addition the system may recognize the
banknote on each side or any direction.
CHAPTER 2.LITERATURE SURVEY
19
Design and Implementation of a Machine Vision Based but Low Cost Stand
Alone System for Real Time Counterfeit Bangladeshi Bank Notes Detection
Dr. Kenji Yoshida, Mohammed Kamruzzaman, Faruq Ahmed Jewel, Raihan Ferdous
Sajal presented this paper at IEEE computer society in December, 2007. This paper
presents the design of a machine vision based system for real time detection of the
counterfeit Bangladeshi bank notes. The proposed system works with the
denominations of five hundred and one hundred taka. This system relies on a specific
feature of the both five hundred and one hundred taka. [23]
The relied feature is not possible to replicate for the counterfeit makers or producers.
There is no foreseeable likelihood that they would be capable to imitate this feature
even within a pretty long time. The relied feature is the repeatedly printed
BANGLADESHBANK on some portions of the notes using microprint technique.
The proposed stand alone system captures the portions of the notes with a proprietary
scanner called the Grid Scanner. The captured image is then processed by a
microcontroller PIC-16F648A or ATMega88 (AVR). The microcontroller then
determines the validity of the note based on an OCR technique by looking for the
characters B, A and N in the scanned image. The success-rate of the counterfeit
detection with properly captured image is 100% and the average processing time is
250 milliseconds with above mentioned microcontroller.
CHAPTER 3.DIGITAL IMAGE PROCESSING
20
CHAPTER
DIGITAL IMAGE
PROCESSING
3.1 INTRODUCTION
Image processing - a moving horizon! Walking towards a horizon is open ended. The
horizon never gets any closer to you, but continually recedes from you. Thus it has been
with the growth of image processing, as a technical discipline. Constant progress is being
made - but the potential is far from exhausted. In the early years of image processing the
concern was of basic phenomena, for example, making models for image data
compression, image restoration and image enhancement. Currently there is a great
interest in moving beyond physical phenomena and into the realms that are wrapped with
psychology, perception and cognition. The research in this branch of image processing is
often called as 'Image Understanding'.
The field of a digital-image processing has experienced dramatic growth and
increasingly widespread applicability in recent years. Fortunately, advances in computer
technology have kept pace with the rapid growth in volume of image data in these and
other applications. Digital-image processing has become economical in many fields of
research and in industrial and military applications. While each application has
requirements unique from the others, all are concerned with faster, cheaper, more
accurate, and more extensive computation. The trend is toward real-time and interactive
operations, where the user of the system obtains preliminary results within a short
enough time that the next decision can be made by the human processor without loss of
concentration on the task at hand. An example of this is the obtaining of two-
dimensional (2-D) computer-aided tomography (CAT) images. The ability to place earth
3
CHAPTER 3.DIGITAL IMAGE PROCESSING
21
oriented sensors into orbit, because of its large economic potential has received
considerable research emphasis, and many operational systems have been evolved. Land
remote sensing has been evolving since 1960s and its various applications in urban land
utilization, forestry and food commodity production forecasting has been producing
remarkable results. An off shoot of remote sensing by satellites has been the use of this
data for military purposes.
The processing of two-dimensional data, or images, using a digital computer or other
special digital hardware typically involves several steps. First, the image to be processed
must be put in a format appropriate for digital computing. This image acquisition step can
be accomplished in a number of ways, depending on the application. Then the processing
must be performed in order to extract the information of interest from the image(s).
Finally, the imagery must be reformatted for human or machine viewing, storage, or
hardcopy documentation.
3.2 Definition of Digital Image
An image is a 2D array of values representing light intensity. For the purposes of image
processing, the term image refers to a digital image. An image is a function of the light intensity.
F(x,y)
Where f is the brightness of the point (x, y), and x and y represent the spatial coordinates
of a picture element, or pixel. By convention, the spatial reference of the pixel with the
coordinates (0, 0) is located at the top, left corner of the image. Notice in Figure 3.1 that
the value of x increases moving from left to right, and the value of y increases from top to
bottom.
FIGURE 3.1: 2-D Image Representation
CHAPTER 3.DIGITAL IMAGE PROCESSING
22
3.3 Defining Image Processing
The traditional view of image processing tends to embrace one or more of picture
processing, pattern recognition, image interpretation and even graphics. 'Graphics' deals
with the generation of images from non-pictorial information and covers diverse
applications. In the order of increasing complexity, production of plots of functions,
composition of displays for the computer games and scenes used in flight simulators are
some of the examples of displays. Picture processing deals with problems in which both
input and output are pictures. Over exposed, under exposed or blurred pictures can be
improved with contrast enhancement techniques.
'Pattern Recognition' deals with methods for producing either a description of the input
picture or -an assignment of the picture to a particular class. In a sense, it is the inverse
problem of computer graphics. It starts with a picture and transforms it into an abstract
description, a set of numbers, a string of symbols, etc. Further processing of these forms
results in assigning the original picture to one of several classes. An automatic mail sorter
that examines the postal code written on an envelope and identifies the digits is a typical
example of the application. However, the term 'Image Processing' should be used as a
catch all for all these activities and in a much broader context with the implicit
understanding that the fundamental underlying activity is that of 'Information Processing'.
Increasingly, in The future, much information is going to be represented, and
subsequently processed, as digital images, be they X-ray scans, satellite images, video
films or whatever. This is no more than a reflection of the fact that our information
processing channel with the highest band width, by a long way, is the visual one. It is this
primacy of images in information representations that renders a digression into the
possible social impact of information processing.
3.4 Aspects of Image Processing
It is convenient to subdivide different image processing algorithms into broad
subclasses. There are different for different tasks and problems. The aspects of image
processing are image enhancement, image restoration and image segmentation.
Image Enhancement: It is among the simplest and most appealing areas of
digital image processing. Basically, the idea behind enhancement techniques is to
CHAPTER 3.DIGITAL IMAGE PROCESSING
23
bring out detail that is obscured, or simply to highlight certain features of interest
in an image. A familiar example of enhancement is when we increase the contrast
of an image because it looks better. It is important to keep in mind that
enhancement is a very subjective area of image processing.
Image Restoration: It is an area that also deals with improving the appearance of
an image. However, unlike enhancement, which is subjective, image restoration is
objective, in the sense that restoration techniques tend to be based on
mathematical or probabilistic models of image degradation. Enhancement, on the
other hand, is based on human subjective preferences regarding what constitutes a
good enhancement result.
Image Segmentation: Segmentation procedures partition an image into its
constituent parts or objects. In general, autonomous segmentation is one of the
most difficult tasks in digital image processing. A rugged segmentation procedure
brings the process a long way toward successful solution of imaging problems that
required objects to be identified individually. On the other hand, weak or erratic
segmentation algorithms almost always guarantee eventual failure. In general, the
more accurate the segmentation, the more likely recognition is to succeed.
3.5 Applications
There are two compelling reasons why image processing will play an increasingly
important role in future defense systems. These are the need for autonomous operation
and the need to make greater use of the outputs from a diverse range of sophisticated
sensors. Many of the techniques of digital image processing, or digital picture processing
as it was often called, were developed in the 1960s at the Jet Propulsion Laboratory, MIT,
Bell Labs, University of Maryland, and a few other places, with application to satellite
imagery, wire photo standards conversion, medical imaging, videophone, character
recognition, and photo enhancement. But the cost of processing was fairly high with the
computing equipment of that era. In the 1970s, digital image processing proliferated,
when cheaper computers and dedicated hardware became available. Images could then be
processed in real time, for some dedicated problems such as television standards
conversion. As general-purpose computers became faster, they started to take over the
role of dedicated hardware for all but the most specialized and compute-intensive
operations. With the fast computers and signal processors available in the 2000s, digital
CHAPTER 3.DIGITAL IMAGE PROCESSING
24
image processing has become the most common form of image processing, and is
generally used because it is not only the most versatile method, but also the cheapest.
Some of its applications are:
Remote Sensing: Remotely sensed imagery has now been available from the
Landsat series of satellites for over 10 years in US. During this period, the data
use has expanded from investigations performed by a group of sponsored
investigators to attempted routine use by private companies, agribusiness, and
resource planners in that country. The data is becoming a powerful tool in meeting
the needs of the world in resource exploitation and management. New analysis
methods are being developed to take advantage of the new types of data. It also
provided other instruments such as radar altimeter and a microwave scatterometer.
All these instruments are widely used in the military. Recent intelligence reports
of the Iran-Iraq War and how the satellites were used for the reconnaissance of
each other's territory is a case which brings to light the vulnerability of today's
Armies to the remote sensing technology.
The Autonomous Vehicle: One of the most important applications of image
processing currently under progress by the US strategic computing programme,
managed by the Department of Defense's Advanced Research Projects Agency
(DARPA) is 'The Autonomous Vehicle'. The proposed vehicle will contain a
small modular computer control system. Vision modules will be included that
provide basic scene processing and object recognition capabilities. With vision
modules as input devices, symbolic processor modules will then be able to
directly process fragments of pictorial, graphic and three dimensional scenic
images when further supported by rule based image understanding in a compact
but powerful symbol processor and interfaced with specialized motor controlled
systems, these vision modules will enable the computer controlled autonomous
vehicle to 'See', to move about and to interact intelligently with its environment.
Medical Science: It is used for inspection of images obtained from x-rays.MRI Or
CAT scans. Analysis of cell images and chromosome karotypes.
Radar Science: The dominant application of imaging in the microwave band is
radar. The unique feature of imaging radar is its ability to collect data over
virtually any region at any time, regardless of weather or ambient lighting
conditions. Some radar waves can penetrate clouds, and under certain conditions
CHAPTER 3.DIGITAL IMAGE PROCESSING
25
can also see through vegetation, ice, and extremely dry sand. In many cases, radar
is the only way to explore inaccessible regions of the Earths surface. Imaging
radar works like a flash camera in that it provides its own illumination
(microwave pulses) to illuminate an area on the ground and take a snapshot image.
Instead of a camera lens, radar uses an antenna and digital computer processing to
record its images. In a radar image, one can see only the microwave energy that
was reflected back toward the radar antenna.
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
26
CHAPTER
MATLAB IMAGE
PROCESSING TOOLBOX
4.1 INTRODUCTION
Image Processing Toolbox provides a comprehensive set of reference-standard algorithms
and graphical tools for image processing, analysis, visualization, and algorithm
development. It can restore noisy or degraded images, enhance images for improved
intelligibility, extract features, analyze shapes and textures, and register two images. Most
toolbox functions are written in the open MATLAB language, giving us the ability to
inspect the algorithms, modify the source code, and create our own custom functions.
Image Processing Toolbox supports engineers and scientists in areas such as biometrics,
remote sensing, surveillance, gene expression, microscopy, semiconductor testing, image
sensor design, colour science, and materials science. It also facilitates the learning and
teaching of image processing techniques.
4.2 Key Features
Image enhancement, including filtering, filters design, deblurring, and contrast
enhancement.
Image analysis, including feature detection, morphology, segmentation, and
measurement.
Spatial transformations and image registration.
Image transforms, including FFT, DCT, Radon, and fan-beam projection.
Support for multidimensional image processing.
Support for ICC version 4 colour management system.
4
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
27
Modular interactive tools, including ROI selections, histograms, and distance
measurements.
Interactive image and video display.
DICOM import and export.
4.3 Importing and Exporting Images
Image Processing Toolbox supports images generated by a wide range of devices,
including digital cameras, frame grabbers, satellite and airborne sensors, medical imaging
devices, microscopes, telescopes, and other scientific instruments. It can visualize,
analyze, and process these images in many data types, including single- and double-
precision floating-point and signed or unsigned 8-, 16-, and 32-bit integers. There are
several ways to import or export images into and out of the MATLAB environment for
processing. It can use Image Acquisition Toolbox (available separately) to acquire live
images from Web cameras, frame grabbers, DCAM-compatible cameras, and other
devices. Using Database Toolbox (also available separately), it can access images stored
in ODBC/JDBC-compliant databases. MATLAB supports standard data and image
formats, including JPEG, TIFF, PNG, HDF, HDF-EOS, FITS, Microsoft Excel, ASCII,
and binary files. It also supports multiband image formats, such as LANDSAT. Low-level
I/O functions enables to develop custom routines for working with any data format.
Image Processing Toolbox supports a number of specialized image file formats. For
medical images, it supports the DICOM file format, including associated metadata, as
well as the Analyze 7.5 and Interfile formats. The toolbox can also read geospatial images
in the NITF format and high dynamic range images in the HDR format.
FIGURE 4.1: A Display of MRI Slices from a Series of DICOM files[24]
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
28
4.4 Pre and Post-Processing Images
Image Processing Toolbox provides reference-standard algorithms for pre- and post-
processing tasks that solve frequent system problems, such as interfering noise, low
dynamic range, out-of-focus optics, and the difference in colour representation between
input and output devices.
4.4.1 Enhancing Images
Image enhancement techniques in Image Processing Toolbox enable to increase the
signal-to-noise ratio and accentuate image features by modifying the colours or intensities
of an image. It can:
Perform histogram equalization
Perform decorrelation stretching
Remap the dynamic range
Adjust the gamma value
Perform linear, median, or adaptive filtering
The toolbox includes specialized filtering routines and a generalized multidimensional
filtering function that handles integer image types, multiple boundary padding options,
and convolution and correlation. Predefined filters and functions for designing and
implementing its own linear filters are also provided.
FIGURE 4.2: Original Image of a Rice Grain with Non uniformity Background
Intensity[24].
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
29
FIGURE 4.3(a) Result of Subtraction of Non uniformity from Original [24]
(b) Result of Automatic Thresholding. [24]
4.4.2 Deblurring Images
Image Processing Toolbox supports several fundamental deblurring algorithms, including
blind, Lucy-Richardson, Wiener, and regularized filter deconvolution, as well as
conversions between point spread and optical transfer functions. These functions help
correct blurring caused by out-of-focus optics, movement by the camera or the subject
during image capture, atmospheric conditions, short exposure time, and other factors. All
deblurring functions work with multidimensional images.
4.4.3 Managing Device-Independent Colour
Image Processing Toolbox enables us to accurately represent colour independently from
input and output devices. This is useful when analyzing the characteristics of a device,
quantitatively measuring colour accuracy, or developing algorithms for several different
devices. With specialized functions in the toolbox, it can convert images between device-
independent colour spaces, such as RGB, XYZ, more flexibility and control, the toolbox
supports profile-based colour space conversions using a colour management system based
on ICC version 4. For example, it can import n-dimensional ICC colour profiles, create
new or modify existing ICC colour profiles for specific input and output devices, specify
the rendering intent, and find all compliant profiles on your machine.
4.4.4 Image Transforms
Transforms such as FFT and DCT play a critical role in many image processing tasks,
including image enhancement, analysis, restoration, and compression. Image Processing
Toolbox provides several image transforms, including DCT, Radon, and fan-beam
projection. It can reconstruct images from parallel-beam and fan-beam projection data
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
30
(common in tomography applications). Image transforms are also available in MATLAB
and in Wavelet Toolbox (available separately).
4.4.5 Image Conversions
Imaging applications often require conversion between data classes and image types.
Image Processing Toolbox provides a variety of utilities for conversion between data
classes, including single- and double-precision floating-point and signed or unsigned 8-,
16-, and 32-bit integers. The toolbox includes algorithms for conversion between image
types, including binary, gray scale, indexed colour, and true colour. Specifically for
colour images, the toolbox supports a variety of colour spaces such as YIQ, HSV, and
YCrCb, Bayer pattern encoded, and high dynamic range images.
4.5 Analyzing Images
Image Processing Toolbox provides a comprehensive suite of reference-standard
algorithms and graphical tools for image analysis tasks such as statistical analysis, feature
extraction, and property measurement. Statistical functions let the analyze the general
characteristics of an image by:
Computing the mean or standard deviation
Determining the intensity values along a line segment
Displaying an image histogram
Plotting a profile of intensity values
4.5.1 Edge-detection algorithms
It identifies object boundaries in an image. These algorithms include the Sobel, Prewitt,
Roberts, Canny, and Laplacian of Gaussian methods. The powerful Canny method can
detect true weak edges without being "fooled" by noise
4.5.2 Image segmentation algorithms
It determine region boundaries in an image. It can explore many different approaches to
image segmentation, including automatic thresholding, edge-based methods, and
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
31
morphology-based methods such as the watershed transform, often used to segment
touching objects.
4.5.3 Morphological operators
It enables to detect edges, enhance contrast, remove noise, segment an image into regions,
thin regions, or perform skeletonization on regions. Morphological functions in Image
Processing Toolbox include:
Erosion and dilation
Opening and closing
Labeling connected components
Watershed segmentation
Reconstruction
Distance transform
Image Processing Toolbox also contains advanced image analysis functions that helps to:
Measure the properties of a specified image region, such as the area, center of
mass, and bounding box
Detect lines and extract lines segments from an image using the Hough transform
Measure properties, such as surface roughness or colour variation, using texture
analysis functions
4.6 Displaying and Exploring Images
Image Processing Toolbox provides a suite of tools for interactive image display and
exploration. It can load an image from a file or from the MATLAB workspace, view
image information, adjust the contrast, closely examine a region of pixels, and zoom and
pan around the image. It can interactively place and manipulate ROIs, including points,
lines, rectangles, polygons, ellipses, and freehand shapes. It can also interactively crop,
create histograms and contours, and measure distances. The toolbox includes tools for
displaying video and sequences in either a time-lapsed video viewer or image montage.
Volume visualization tools in MATLAB let you create isosurface displays of
multidimensional image data sets.
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
32
4.7 Spatial Transformations and Image Registration
Spatial transformations alter the spatial relationships between pixels in an image by
mapping locations in an input image to new locations in an output image. Image
Processing Toolbox supports common transformational operations, such as resizing,
rotating, and interactive cropping of images, as well as geometric transformations with
arbitrary-dimensional arrays. Image registration is important in remote sensing, medical
imaging, and other applications where images must be aligned to enable quantitative
analysis. Using Image Processing Toolbox, it can interactively select points in a pair of
images and align the two images by performing a spatial transformation, such as linear
conformal, affine, projective, polynomial, piecewise linear, or local weighted mean. You
can also perform image registration using normalized 2-D cross-correlation.
4.8. Use of Image Processing in MATLAB
The question is how to handle images in Matlab? When working with images in Matlab,
there are many things to keep in mind such as loading an image, using the right format,
saving the data as different data types, how to display an image, conversion between
different image formats, etc. These are some of the commands designed for these
operations. Most of these commands require having the Image processing tool box
installed with Matlab. To find out if it is installed, type ver at the Matlab prompt. This
gives a list of what tool boxes that are installed on the system. The first section of this is
quite heavy. The only way to understand how the presented commands work is to
carefully work with the examples. A digital image is composed of pixels which can be
thought of as small dots on the screen. A digital image is an instruction of how to colour
each pixel. We will see in detail later on how this is done in practice. A typical size of an
image is 512-by-512 pixels. It is convenient to let the dimensions of the image to be a
power of 2. For example, 2
9
=512. In the general case it can be say that an image is of size
m-by-n if it is composed of m pixels in the vertical direction and n pixels in the horizontal
direction.
Let us say that we have an image on the format 512-by-1024 pixels. This means that the
data for the image must contain information about 524288 pixels, which requires a lot of
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
33
memory! Hence, compressing images is essential for efficient image processing. Fourier
analysis and Wavelet analysis can help us to compress an image significantly.
4.9 Image Formats Supported By MATLAB
The following image formats are supported by Matlab:
BMP
HDF
JPEG
PCX
TIFF
Most images find on the Internet are JPEG-images which is the name for one of the most
widely used compression standards for images. If it has stored an image it can usually see
from the suffix what format it is stored in. For example, an image named myimage.jpg is
stored in the JPEG format and it will see later on that it can load an image of this format
into Matlab.
4.10 Working formats in MATLAB
If an image is stored as a JPEG-image on the disc it will first read it into Matlab.
However, in order to start working with an image, for example perform a wavelet
transform on the image, it must convert it into a different format. This section explains
four common formats.
4.10.1 Intensity image (gray scale image)
This is the equivalent to a "gray scale image" and this is the image in will mostly work.It
represents an image as a matrix where every element has a value corresponding to how
bright/dark the pixel at the corresponding position should be colured. There are two ways
to represent the number that represents the brightness of the pixel: The double class (or
data type). This assigns a floating number ("a number with decimals") between 0 and 1 to
each pixel. The value 0 corresponds to black and the value 1 corresponds to white. The
other class is called uint8 which assigns an integer between 0 and 255 to represent the
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
34
brightness of a pixel. The value 0 corresponds to black and 255 to white. The class uint8
only requires roughly 1/8 of the storage compared to the class double. On the other hand,
many mathematical functions can only be applied to the double class.
4.10.2 Binary Image
This image format also stores an image as a matrix but can only colour a pixel black or
white (and nothing in between). It assigns a 0 for black and a 1 for white.
4.10.3 Indexed Image
This is a practical way of representing colour images. An indexed image stores an image
as two matrices. The first matrix has the same size as the image and one number for each
pixel. The second matrix is called the colour map and its size may be different from the
image. The numbers in the first matrix is an instruction of what number to use in the
colour map matrix.
4.10.4 RGB Image
This is another format for colour images. It represents an image with three matrices of
sizes matching the image format. Each matrix corresponds to one of the colours red,
green or blue and gives an instruction of how much of each of these colours a certain
pixel should use.
FIGURE 4.4: The Colour Cube for a RGB Colour Model. [25]
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
35
4.10.5 Multiframe image
In some applications we want to study a sequence of images. This is very common
in biological and medical imaging where we might study a sequence of slices of a
cell. For these cases, the multiframe format is a convenient way of working with a
sequence of image
4.11 How to convert between different formats
The following table shows how to convert between the different formats given above. All
these commands require the Image processing tool box.
4.11.1 Image Format Conversion
(Within the parenthesis just type the name of the image that to be convert.)
Operation: Matlab command:
Convert between intensity/indexed/RGB format to binary format. dither()
Convert between intensity format to indexed format. gray2ind()
Convert between indexed format to intensity format. ind2gray()
Convert between indexed format to RGB format. ind2rgb()
Convert a regular matrix to intensity format by scaling. mat2gray()
Convert between RGB format to intensity format. rgb2gray()
Convert between RGB format to indexed format. rgb2ind()
4.11.2 How To Convert Between Double And Uint8 ?
When it store an image, it should store it as a uint8 image since this requires far less
memory than double. When it is processing an image (that is performing mathematical
operations on an image) it should convert it into a double. Converting back and forth
between these classes is easy.
I=im2double(I);
converts an image named I from uint8 to double.
I=im2uint8(I);
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
36
converts an image named I from double to uint8.
4.12 How to read files?
When it encounter an image we want to work with, it is usually in form of a file (for
example, if it download an image from the web, it is usually stored as a JPEG-file). Once
we are done processing an image, it may want to write it back to a JPEG-file so that it
can, for example, post the processed image on the web. This is done using the imread and
imwrite commands. Make sure to use semi-colon(;) after these commands, otherwise it
will get lots of number scrolling on the screen. These commands require the Image
processing tool box.
4.13 Loading And Saving Variables In MATLAB
This section explains how to load and save variables in Matlab. Once it has read a file, it
probably convert it into an intensity image (a matrix) and work with this matrix. Once we
are done we may want to save the matrix representing the image in order to continue to
work with this matrix at another time. This is easily done using the commands save and
load. Note that save and load are commonly used Matlab commands, and works
independently of what tool boxes that are installed.
Operation: Matlab command:
Save the variable X . save X
Load the variable X . load X
Operation: Matlab command:
Read an image.
imread()
Write an image to a file. imwrite( , )
CHAPTER 4.MATLAB IMAGE PROCESSING TOOL BOX
37
4.14 How To Display An Image In MATLAB
Here are a couple of basic Matlab commands (do not require any tool box) for displaying
an image.
Operation: Matlab command:
Display an image represented as the matrix X. Imagesc(X)
Adjust the brightness. s is a parameter such that
-1<s<0 gives a darker image, 0<s<1 gives a brighter image.
brighten(s)
Change the colors to gray. colormap(gray)
Sometimes image may not be displayed in gray scale even though it might have converted
it into a gray scale
CHAPTER 5.NEURAL NETWORKS
38
CHAPTER
NEURAL
NETWORKS
5.1 INTRODUCTION
An Artificial Neural Network (ANN) is information processing that is originated from the
biological nervous systems, such as the brain, process information. The key element of
this system is the novel structure of the information processing system. It is composed of
a large number of highly interconnected processing elements (neurones) working in
unison to solve specific problems. ANNs, like people, learn by example. An ANN is
configured for a specific application, such as pattern recognition or data classification,
through a learning process. Learning in biological systems involves adjustments to the
synaptic connections that exist between the neurones. This is true of ANNs as well. . By
configuring virtual neural networks that function like the human brain, computers can
perform tasks at greater speeds and with increased flexibility of application. These
networks are capable of offering invaluable insights into the vast information that are
common today.[29]
5.2 Historical Background
Neural network simulations appear to be a recent development. However, this field was
established before the advent of computers, and has survived at least one major setback
and several eras. Many important advances have been boosted by the use of inexpensive
computer emulations. Following an initial period of enthusiasm, the field survived a
period of frustration and disrepute. During this period when funding and professional
5
CHAPTER 5.NEURAL NETWORKS
39
support was minimal, important advances were made by relatively few reserchers. These
pioneers were able to develop convincing technology which surpassed the limitations
identified by Minsky and Papert. Minsky and Papert, published a book (in 1969) in which
they summed up a general feeling of frustration (against neural networks) among
researchers, and was thus accepted by most without further analysis. Currently, the neural
network field enjoys a resurgence of interest and a corresponding increase in funding. The
first artificial neuron was produced in 1943 by the neurophysiologist Warren McCulloch
and the logician Walter Pits. But the technology available at that time did not allow them
to do too much.
Progress during the late 1950s and early 1980s was important to the re-emergence on
interest in the neural network field. Several factors influenced this movement. For
example, comprehensive books and conferences provided a forum for people in diverse
fields with specialized technical languages, and the response to conferences and
publications was quite positive. The news media picked up on the increased activity and
tutorials helped disseminate the technology [29].Academic programs appeared and
courses were introduced at most major Universities (in US and Europe). Several new
commercial with applications in industry and financial institutions are emerging.
Significant progress has been made in the field of neural networks-enough to attract a
great deal of attention and fund further research. Advancement beyond current
commercial applications appears to be possible, and research is advancing the field on
many fronts. Neural networks based chips are emerging and applications to complex
problems developing. Clearly, today is a period of transition for neural network
technology.
5.3 Why use neural networks?
Neural networks, with their remarkable ability to derive meaning from complicated or
imprecise data, can be used to extract patterns and detect trends that are too complex to be
noticed by either humans or other computer techniques. A trained neural network can be
thought of as an "expert" in the category of information it has been given to analyze. This
expert can then be used to provide projections given new situations of interest and answer
"what if" questions. Other advantages include:
CHAPTER 5.NEURAL NETWORKS
40
1. Adaptive learning: An ability to learn how to do tasks based on the data given for
training or initial experience.
2. Self-Organization: An ANN can create its own organization or representation of
the information it receives during learning time.
3. Real Time Operation: ANN computations may be carried out in parallel, and
special hardware devices are being designed and manufactured which take
advantage of this capability.
4. Fault Tolerance via Redundant Information Coding: Partial destruction of a
network leads to the corresponding degradation of performance. However, some
network capabilities may be retained even with major network damage.
5.4 Neural networks versus conventional computers
Neural networks take a different approach to problem solving than that of conventional
computers. Conventional computers use an algorithmic approach i.e. the computer
follows a set of instructions in order to solve a problem. Unless the specific steps that the
computer needs to follow are known the computer cannot solve the problem. That
restricts the problem solving capability of conventional computers to problems that
already understand and know how to solve. But computers would be so much more useful
if they could do things that we do not exactly know how to do. Neural networks process
information in a similar way the human brain does. The network is composed of a large
number of highly interconnected processing elements (neurones) working in parallel to
solve a specific problem. Neural networks learn by example. They cannot be programmed
to perform a specific task. The examples must be selected carefully otherwise useful time
is wasted or even worse the network might be functioning incorrectly.
The disadvantage is that because the network finds out how to solve the problem by itself,
its operation can be unpredictable. On the other hand, conventional computers use a
cognitive approach to problem solving; the way the problem is to solved must be known
and stated in small unambiguous instructions. These instructions are then converted to a
high level language program and then into machine code that the computer can
understand. These machines are totally predictable; if anything goes wrong is due to
software or hardware fault. Neural networks and conventional algorithmic computers are
not in competition but complement each other. There are tasks are more suited to an
CHAPTER 5.NEURAL NETWORKS
41
algorithmic approach like arithmetic operations and tasks that are more suited to neural
networks. Even more, a large number of tasks, require systems that use a combination of
the two approaches (normally a conventional computer is used to supervise the neural
network) in order to perform at maximum efficiency.
The potential uses of neural network technology are a widely diversified market with
many possibilities. The understanding of biological networks and learning increases,
artificial neural networks will continue to advance. The potential of such a system is
virtually limitless. These systems are not confined to being controlled by algorithms, as
are typical computers. As a result, these systems are not limited in their numerous
possibilities of applications. The highly intricate nature of nonlinear mathematics and the
increased complexity of ever-growing numbers of interconnected processing elements,
will make the evolution of artificial networks difficult but extremely functional.
5.5 Human and Artificial Neurons
Much is still unknown about how the brain trains itself to process information, so theories
abound. In the human brain, a typical neuron collects signals from others through a host
of fine structures called dendrites. The neuron sends out spikes of electrical activity
through a long, thin stand known as an axon, which splits into thousands of branches. At
the end of each branch, a structure called a synapse converts the activity from the axon
into electrical effects that inhibit or excite activity from the axon into electrical effects
that inhibit or excite activity in the connected neurons. When a neuron receives excitatory
input that is sufficiently large compared with its inhibitory input, it sends a spike of
electrical activity down its axon. Learning occurs by changing the effectiveness of the
synapses so that the influence of one neuron on another changes.
CHAPTER 5.NEURAL NETWORKS
42
FIGURE 5.1: Components of a neuron[ 29]
FIGURE 5.2: The synapse [ 29]
CHAPTER 5.NEURAL NETWORKS
43
This is not to say that localization does not exist in the brain. Neurons in the superior
temporal of the cerebral cortex, for example, respond selectively to faces. But there is no
"grandmother cell", i.e., no cell that responds specifically to the face of someone's
grandmother. Instead, each neuron has a different response pattern to a set of faces.
Ensembles of neurons encode the response to identify a particular face. And an
overlapping ensemble may identify another face. A very real difficulty of correlating
artificial neural networks with biological ones lies in the way weights are modified in the
former and synaptic strengths are modified in the latter. Weights are altered
mathematically in a computer network, based on differences in values. Synaptic strengths,
on the other hand, are modified in response to synaptic activity.
The back propagation model, in particular, is held to be biologically unrealistic insofar as
it would require a supervisor and a violation of the unidirectional flow of information
seen in axons. Some researchers have postulated parallel, backward-directed axons to
return error information, but the modification of synaptic strength by these axons is still
very hypothetical. These neural networks by first trying to deduce the essential features of
neurons and their interconnections. We then typically program a computer to simulate
these features. However because our knowledge of neurons is incomplete and our
computing power is limited, our models are necessarily gross idealizations of real
networks of neurons.
FIGURE 5.3: The neuron model[ 33]
CHAPTER 5.NEURAL NETWORKS
44
5.6 Architecture of neural networks
5.6.1 Feed-forward networks
Feed-forward ANNs allow signals to travel one way only; from input to output. There is
no feedback (loops) i.e. the output of any layer does not affect that same layer. Feed-
forward ANNs tend to be straight forward networks that associate inputs with outputs.
They are extensively used in pattern recognition. This type of organisation is also referred
to as bottom-up or top-down.
FIGURE 5.4:FEED FORWARD NETWORK[33]
5.6.2 Feedback networks
Feedback networks can have signals travelling in both directions by introducing loops in
the network. Feedback networks are very powerful and can get extremely complicated.
Feedback networks are dynamic; their 'state' is changing continuously until they reach an
equilibrium point. They remain at the equilibrium point until the input changes and a new
equilibrium needs to be found. Feedback architectures are also referred to as interactive or
CHAPTER 5.NEURAL NETWORKS
45
recurrent, although the latter term is often used to denote feedback connections in single-
layer organizations.
FIGURE 5.5:FEEDBACK NETWORK[ 29]
5.6.3. Network layers
The commonest type of artificial neural network consists of three groups, or layers, of
units: a layer of "input" units is connected to a layer of "hidden" units, which is
connected to a layer of "output" units.
1.The activity of the input units represents the raw information that is fed into the
network.
2.The activity of each hidden unit is determined by the activities of the input units and the
weights on the connections between the input and the hidden units.
CHAPTER 5.NEURAL NETWORKS
46
3. The behaviour of the output units depends on the activity of the hidden units and the
weights between the hidden and output units.
This simple type of network is interesting because the hidden units are free to construct
their own representations of the input. The weights between the input and hidden units
determine when each hidden unit is active, and so by modifying these weights, a hidden
unit can choose what it represents. The single-layer organisation, in which all units are
connected to one another, constitutes the most general case and is of more potential
computational power than hierarchically structured multi-layer organisations. In multi-
layer networks, units are often numbered by layer, instead of following a global
numbering.
5.7 Back propagation Model
Backpropagation model -- a model which can solve many more difficult problems.
Backpropagation has proven to be so powerful that it currently accounts for 80% of all
neural network applications. In Backprop, a third neurode layer is added (the hidden
layer) and the discrete thresholding function is replaced with a continuous (sigmoid) one.
But the most important modification for Backprop is the generalized delta rule, which
allows for adjustment of weights leading to the hidden layer neurodes in addition to the
usual adjustments to the weights leading to the output layer neurodes.
5.8 Applications
Given this description of neural networks and how they work, what real world
applications are they suited for? Neural networks have broad applicability to real world
business problems. In fact, they have already been successfully applied in many
industries. Since neural networks are best at identifying patterns or trends in data, they are
well suited for prediction or forecasting needs including: [32]
1. Sales forecasting
2. Industrial process control
3. Customer research
CHAPTER 5.NEURAL NETWORKS
47
4. Data validation
5. Risk management
6. Target marketing
But to give some more specific examples; ANN are also used in the following specific
paradigms: recognition of speakers in communications; diagnosis of hepatitis; recovery of
telecommunications from faulty software; interpretation of multimeaning Chinese words;
undersea mine detection; texture analysis; three-dimensional object recognition; hand-
written word recognition; and facial recognition.
5.7.1 Neural networks in Medicine
Artificial Neural Networks (ANN) is currently a 'hot' research area in medicine and it is
believed that they will receive extensive application to biomedical systems in the next
few years. At the moment, the research is mostly on modeling parts of the human body
and recognizing diseases from various scans (e.g. cardiograms, CAT scans, ultrasonic
scans, etc.).
Neural networks are ideal in recognizing diseases using scans since there is no need to
provide a specific algorithm on how to identify the disease. Neural networks learn by
example so the details of how to recognize the disease are not needed. What is needed is a
set of examples that are representative of all the variations of the disease. The quantity of
examples is not as important as the 'quantity'. The examples need to be selected very
carefully if the system is to perform reliably and efficiently.
5.7.2 Neural Networks in Business
Business is a diverted field with several general areas of specialization such as accounting
or financial analysis. Almost any neural network application would fit into one business
area or financial analysis. There is some potential for using neural networks for business
purposes, including resource allocation and scheduling. There is also a strong potential
for using neural networks for database mining that is, searching for patterns implicit
within the explicitly stored information in databases. Most of the funded work in this area
is classified as proprietary. Thus, it is not possible to report on the full extent of the work
CHAPTER 5.NEURAL NETWORKS
48
going on. Most work is applying neural networks, such as the Hopfield-Tank network for
optimization and scheduling.
There is a marketing application which has been integrated with a neural network system.
The Airline Marketing Tactician (a trademark abbreviated as AMT) is a computer system
made of various intelligent technologies including expert systems. A feedforward neural
network is integrated with the AMT and was trained using back-propagation to assist the
marketing control of airline seat allocations. The adaptive neural approach was amenable
to rule expression. Additionally, the application's environment changed rapidly and
constantly, which required a continuously adaptive solution. The system is used to
monitor and recommend booking advice for each departure. Such information has a direct
impact on the profitability of an airline and can provide a technological advantage for
users of the system.
While it is significant that neural networks have been applied to this problem, it is also
important to see that this intelligent technology can be integrated with expert systems and
other approaches to make a functional system. Neural networks were used to discover the
influence of undefined interactions by the various variables. While these interactions were
not defined, they were used by the neural system to develop useful conclusions. It is also
noteworthy to see that neural networks can influence the bottom line.
CHAPTER6.GRAPHICAL USER INTERFACE
49
CHAPTER
GRAPHICAL USER
INTERFACE
6.1 INTRODUCTION
As the volume and complexity of data and results continues to grow with the increasing
complexity of data sources and algorithms, the need for intuitive representations of that
data and results becomes increasingly critical. The graphical representation of the results
is often not only the most effective means of conveying the points of the study or work
which has provided the data, but is in most cases an expectation of the audience of the
work. Even as computing hardware continues to increase in capability, MATLAB
continues to be one of the best applications available for providing both the
computational capabilities of generating data and displaying it in a variety of graphical
representations.
MATLAB is not just a computation and plotting package, it is a versatile and flexible
tool which allows users with even the most elementary programming capabilities to
produce sophisticated graphics and graphical user interfaces. This chapter introduces the
basic elements of the MATLAB GUIs. The chapter does not contain a complete
description of components or GUI features, but it does provide the basics required to
create functional GUIs for the programs.
6.2 How a Graphical User Interface Works
A graphical user interface provides the user with a familiar environment in which to
work. This environment contains pushbuttons, toggle buttons, lists, menus, text boxes,
6
CHAPTER6.GRAPHICAL USER INTERFACE
50
and so forth, all of which are already familiar to the user, so that he or she can concentrate
on using the application rather than on the mechanics involved in doing things. However,
GUIs are harder for the programmer because a GUI-based program must be prepared for
mouse clicks (or possibly keyboard input) for any GUI element at any time. Such inputs
are known as events, and a program that responds to events is said to be event driven. The
three principal elements required to create a MATLAB Graphical User Interface are:-
1. Components. Each item on a MATLAB GUI (pushbuttons, labels, edit boxes,
etc.) is a graphical component. The types of components include graphical
controls (pushbuttons, edit boxes, lists, sliders, etc.), static elements (frames and
text strings), menus, and axes. Graphical controls and static elements are created
by the function uicontrol, and menus are created by the functions uimenu and
uicontextmenu. Axes, which are used to display graphical data, are created by the
function axes.
2. Figures. The components of a GUI must be arranged within a figure, which is a
window on the computer screen. In the past, figures have been created
automatically whenever we have plotted data. However, empty figures can be
created with the function figure and can be used to hold any combination of
components.
3. Callbacks. Finally, there must be some way to perform an action if a user clicks a
mouse on a button or types information on a keyboard. A mouse click or a key
press is an event, and the MATLAB program must respond to each event if the
program is to perform its function. For example, if a user clicks on a button, that
event must cause the MATLAB code that implements the function of the button to
be executed. The code executed in response to an event is known as a call back.
There must be a callback to implement the function of each graphical component
on the GUI.
CHAPTER6.GRAPHICAL USER INTERFACE
51
6.3 Creating and Displaying a Graphical User Interface
MATLAB GUIs are created using a tool called guide, the GUI Development
Environment. This tool allows a programmer to layout the GUI, selecting and aligning the
GUI components to be placed in it. Once the components are in place, the programmer
can edit their properties: name, colour, size, font, text to display, and so forth. When
guide saves the GUI, it creates working program including skeleton functions that the
programmer can modify to implement the behavior of the GUI. When guide is executed,
it creates the Layout Editor, shown in Figure 6.1. The large white area with grid lines is
the layout area, where a programmer can layout the GUI. The Layout Editor window has
a palate of GUI components along the left side of the layout area. A user can create any
number of GUI components by first clicking on the desired component, and then dragging
its outline in the layout area. The top of the window has a toolbar with a series of useful
tools that allow the user to distribute and align GUI components, modify the properties of
GUI components, add menus to GUIs, and so on. The basic steps required to create a
MATLAB GUI are:
1. Decide what elements are required for the GUI and what the function of each
element
2. will be. Make a rough layout of the components by hand on a piece of paper.
3. Use a MATLAB tool called guide (GUI Development Environment) to layout the
components on a figure. The size of the figure and the alignment and spacing of
components on the figure can be adjusted using the tools built into guide.
4. Use a MATLAB tool called the Property Inspector (built into guide) to give each
component a name (a "tag") and to set the characteristics of each component, such
as its
5. colour, the text it displays, and so on.
6. Save the figure to a file. When the figure is saved, two files will be created on disk
with the same name but different extents. The fig file contains the actual GUI that
you have created, and the M-file contains the code to load the figure and skeleton
call backs for each GUI element.
Write code to implement the behavior associated with each call-back function.
CHAPTER6.GRAPHICAL USER INTERFACE
52
Figure 6.1 A Figure Window showing examples of MATLAB GUI elements.
6.4 Graphical User Interface Components
This section summarizes the basic characteristics of common graphical user interface
components. It describes how to create and use each component, as well as the types of
events each component can generate. The components discussed in this section are:-
Text Fields
Edit Boxes
Frames
Pushbuttons
Toggle Buttons
Checkboxes
Radio Buttons
Popup Menus
List Boxes
Slide
CHAPTER6.GRAPHICAL USER INTERFACE
53
6.4.1 Text Fields
A text-field is a graphical object that displays a text string. It can specify how the text is
aligned in the display area by setting the horizontal alignment property. By default, text
fields are horizontally centered. A text field is created by creating a uicontrol whose style
property is 'edit'. A text field may be added to a GUI by using the text tool in the Layout
Editor. Text fields do not create callbacks, but the value displayed in the text field can be
updated in a callback function by changing the text field's String property.
6.4.2 Edit Boxes
The editable text style is used in situations that require the user to enter strings of
characters or numbers. The strings, in turn, are used by the application for which the
interface has been built. The editable text item can be initialized with a string or string
matrix that the user can delete, edit, or leave alone. Clicking anywhere within this object
will change the mouse from a pointer to a text insertion indicator. Once the text insertion
indicator is available, characters can be inserted by typing the desired keys or deleted by
using the delete or backspace key. Portions or all of the text can be highlighted by click
and dragging within the uicontrol item, to allow for quick string replacement or deletion.
It is a good idea, whenever possible, to initialize the editable text uicontrol with the
default value of the string so that the user does not always need to type in the most likely
string.
6.4.3 Frames
A frame is a graphical object that displays a rectangle on the GUI.The use of frames to
draw boxes around groups of logically related objects. A frame is created by creating a
uicontrol whose style property is 'frame'. A frame maybe added to a GUI by using the
frame tool in the Layout Editor. Frames do not generate callbacks. The frame makes the
GUI more aesthetically pleasing by providing a solid that helps blend a set of uicontrols
into one complete and cohesive interface. If the colors remain in their default values or
are appropriately chosen, the edges of other uicontrol objects like static text, check boxes,
and radio buttons will no longer be distinctly visible.
CHAPTER6.GRAPHICAL USER INTERFACE
54
6.4.4 Pushbuttons
A pushbutton is a component that a user can click on to trigger a specific action. The
pushbutton generates a callback when the user clicks the mouse on it. A pushbutton is
created by creating a uicontrol whose style property is 'pushbutton'. A pushbutton may be
added to a GUI by using the pushbutton tool in the Layout Editor. Push buttons have a 3-
dimensional look that makes it appear as if they are being pressed when the user clicks on
the object. In addition, they are very similar in appearance on all computing platforms.
Figure 6.2 Layout of a simple GUI with an edit box and a text field.
6.4.5 Toggle Buttons
A toggle button is a type of button that has two states: on (depressed) and off (not
depressed). A toggle button switches between these two states whenever the mouse clicks
on it, and it generates a callback each time. The 'Value' property of the toggle button is set
to max (usually 1) when the button is on, and min (usually 0) when the button is off. A
toggle button is created by creating a uicontrol whose style property is toggle button. A
toggle button may be added to a GUI by using the toggle button tool in the Layout Editor.
This function locates the toggle button using the handles structure and recovers its state
from the Value property. Then, the function locates the text field and displays the state in
the text field.
CHAPTER6.GRAPHICAL USER INTERFACE
55
6.4.6 Checkboxes and Radio Buttons
Checkboxes and radio buttons are essentially identical to toggle buttons except that they
have different shapes. Like toggle buttons, checkboxes and radio buttons have two states:
on and off. They switch between these two states whenever the mouse clicks on them,
generating a callback each time. The 'Value' property of the checkbox or radio button is
set to max (usually 1) when they are on, and min (usually 0) when they are off. Both
checkboxes and radio buttons are illustrated in Figure 6.1.A checkbox is created by
creating a uicontrol whose style property is 'checkbox', and a radio button is created by
creating a uicontrol whose style property is 'radiobutton'. A checkbox may be added to a
GUI by using the checkbox tool in the Layout Editor, and a radio button may be added to
a GUI by using the radio button tool in the Layout Editor. Checkboxes are traditionally
used to display on/off options, and groups of radio buttons are traditionally used to select
among mutually exclusive options.
6.4.7 Popup Menus
Popup menus are graphical objects that allow a user to select one of a mutually exclusive
list of options. The list of options that the user can select among is specified by a cell
array of strings, and the 'Value' property indicates which of the strings is currently
selected. A popup menu may be added to a GUI by using the popup menu tool in the
Layout Editor.
6.4.8 List Boxes
List boxes are graphical objects that display many lines of text and allow a user to select
one or more of those lines. If there are more lines of text than can fit in the list box, a
scroll bar will be created to allow the user to scroll up and down within the list box. The
lines of text that the user can select among are specified by a cell array of strings, and the'
Value' property indicates which of the strings are currently selected. A list box is created
by creating a uicontrol whose style property is 'listbox'. A list box may be added to a GUI
by using the listbox tool in the Layout Editor.
CHAPTER6.GRAPHICAL USER INTERFACE
56
6.4.9 Sliders
Sliders are graphical objects that allow a user to select values from a continuous range
between a specified minimum value and a specified maximum value by moving a bar
with a mouse. The 'Value' property of the slider is set to a value between min and max
depending on the position of the slider. A slider is created by creating a uicontrol whose
style property is 'slider'. A slider may be added to a GUI by using the slider tool in the
Layout Editor.
CHAPTER7. PROPOSED APPROACH
57
CHAPTER
PROPOSED
APPROACH
7.1 INTODUCTION
There is no well-developed theory for feature extraction; mostly features are very application
oriented and often found by heuristic methods and interactive data analysis. It is not possible
to give an overview of such interactive feature extraction methods; in any specific problem
such as, e.g., character or speech recognition, there is an accumulated knowledge of the most
feasible ways to extract the relevant information. Speed and accuracy of processing are two
important factors for feature extraction method. The accuracy may be more important than
the speed. Currently, there are a number of techniques for feature extraction which using
image processing.
FIGURE 7.1: The Feature Extraction Approach [36]
7
CHAPTER7. PROPOSED APPROACH
58
7.2 BASIC THEORY
7.2.1 Thresholding
In gray level documents, the data extraction procedure often requires binarizing the images,
which discards most of the noise and replaces the pixels in the characters and the pixels in
the backgrounds with binary 0s and 1s, respectively. The feature extraction and the
recognition performance of the characters largely depend on the quality of the data extracted.
Thresholding method is used to separate object and background, which is divided image into
two modes (Fig. 7.2). The way to resolve both categories is by assigning a thresholding
value T. Each point (x,y) which have value f(x,y) > T is called point object, and each point
(x,y) which have value f(x,y) < T is called background object. A threshold image g(x,y) is
defined as,
(1)
Pixel which have value 1 correspond the object and pixel which have value 0 correspond
background. T is a constant. This approach is called global thresholding. Global thresholding
algorithms use a single threshold for the entire image.
FIGURE 7.2: Histogramintensity [26]
The other approach of thresholding is local thresholding. Locally, adaptive binarization
methods compute a designated threshold for each pixel based on a neighborhood of the pixel.
Some of the methods calculate a smooth threshold surface over the entire image. If a pixel in
the original image has a gray level higher than the threshold surface value at the
corresponding location, it is labeled as background, otherwise it is labeled as print. Other
locally adaptive methods do not use explicit thresholds, but search for object pixels in a
CHAPTER7. PROPOSED APPROACH
59
feature space such as gradient magnitude among others. Real-life documents are sometimes
designed deliberately with stylistic, colorful, and complex backgrounds, causing difficulties
in character extraction methods. While global thresholding techniques can extract objects
from simple, uniform backgrounds at high speed, local thresholding methods can eliminate
varying backgrounds at a price of long processing time.
7.2.2. Mathematics Morphology
Mathematics morphology is a method for image analysis that is based on nonlinear
neighbourhood operation. The neighbourhood is called structuring element (SE).
Mathematical morphology analyses images by using operators developed using set theory. It
was originally developed for binary images and was extended to included grey-level data.
The word morphology concerns shapes. In mathematical morphology, images are processed
according to shape, by treating both as sets of points. In this way, morphological operators
define local transformations that change pixel values that are represented as sets. The basic
operations are erosion and dilation. Dilation performs a maximum on the SE which
produces a growing of the brighter region. Erosion performs a minimum on the SE which
produces a growing of the darker Region. Erosion and dilation have very few practical uses.
Usually, they are combined into another two operations:
A. Opening is the combination of erosion dilation with the same SE. This operation can
erase white holes on the object.
B. Closing is the combination of dilation erosion with the same SE. This operation can
remove black holes on white objects.
7.3 SYSTEM DESIGN
The system is designed by applying image Processing toolbox and other related Matlab
toolboxes. This system is divided into some section in order to support the future
recognition process .The proposed approach is divided into following parts :-
CHAPTER7. PROPOSED APPROACH
60
7.3.1. Image Preprocessing
In order to feature extraction of paper currencies effectively, the currency images are
collected with appropriate spatial resolutions and brightness resolution, where the spatial
resolution describes how many pixels comprise a digital image or how many dots are in
each inch of a digital image. Every pixel in a digital image represents the intensity of the
original image at the spatial location where it was sampled. The concept of the brightness
resolution addresses how accurately the digital pixels brightness can represent the intensity
of the original image. With higher brightness resolution, a digital image appears more
natural and more continuous, in which more information is included in it. As the brightness
resolution decreases, the image appears coarser and more mechanical. The conversion of
paper-based documents to electronic image format is an important process in computer
systems for automated document delivery, document preservation, and other applications.
The process of document conversion includes scanning, displaying, quality assurance, image
processing, and text recognition. After document scanning, a sequence of data preprocessing
operations are normally applied to the images of the documents in order to put them in a
suitable format ready for feature extraction.
FIGURE 7.3: Original Currency Images.
CHAPTER7. PROPOSED APPROACH
61
7.3.2 Binarisation
Binarisation of images is to convert the given image into binary images by using the concept
of thresholding and channel subtraction technique. The brief theory of thresholding and
channel subtraction is described below:
7.3.2.1 Thresholding
During the thresholding process, individual pixels in an image are marked as object pixels
if their value is greater than some threshold value (assuming an object to be brighter than the
background) and as background pixels otherwise. This convention is known as threshold
above. Variants include threshold below, which is opposite of threshold above; threshold
inside, where a pixel is labeled "object" if its value is between two thresholds; and threshold
outside, which is the opposite of threshold inside. The thresholding is of two types:
Global Thresholding
Local Thresholding
To extract the serial numbers as features from currency notes, it is necessary to first mask
them. As observed, all serial numbers in Indian Currency have a consistent font, size and
colour. Since the serial number colour is RED, we initiate the pre-processing for feature
extraction, by extracting only the RED Channel information, hence only the serial numbers.
To facilitate the next process and decrease the processing time, image is converted to BW
(Black and white). Conversion is done by applying toolbox (function im2bw). The function
has variable level (threshold) which is needed as thresholding value at conversion from
RGB to BW. Determination of thresholding value is using global thresholding by applying
function graythresh which able to define the compatible thresholding value.
7.3.2.2 Channel Subtraction
The alternative approach is to subtract an image from a known background before
thresholding. This assumes that the background is known precisely, otherwise many more
details than just the target feature will appear in the resulting image. Clearly, the subtraction
will be unfeasible if there is noise on either image, and especially on both. In this approach,
there is no implicit shape description, but if the thresholding process is sufficient, it is simple
to estimate basic shape parameters, such as position. The subtraction approach is illustrated
CHAPTER7. PROPOSED APPROACH
62
in Figure 7.4(b). Here, we seek to separate or extract the walking subject from the
background. We obtain most of the subject with some extra background just behind the
subjects head. This is due to the effect of the moving subject on lighting. Also, removing the
background removes some of the subject: the horizontal bars in the background have been
removed from the subject by the subtraction process. These aspects are highlighted in the
thresholded image Figure 7.4(c).
FIGURE 7.4: Shape extraction by subtraction and thresholding.[ 37]
Even though thresholding and subtraction are attractive because of simplicity and hence their
speed, the performance of both techniques is sensitive to partial shape data, noise, variation
in illumination and occlusion of the target shape by other objects. Accordingly, many
approaches to image interpretation use higher level information in shape extraction, namely
how the pixels are connected within the shape. In our approach we use the above theory
on our currency image we get the following image after channel subtraction and
thresholding.
CHAPTER7. PROPOSED APPROACH
63
FIGURE 7.5: Converted image (BW) after thresholding
7.3.3 Morphology Filtering
After image binarisation, the digits on the serial numbers of the banknotes often have some
discontinuous particles, some further noise and some unexpected edges. To make the
recognition task easier, we apply four morphological transformations to the binary images.
Morphological transformations extract and alter the structure of particles in an image. We
applied four binary processing functions erosion, dilation, opening and closing to remove
noise.
7.3.4. Segmentation
Segmentation procedure means partitioning an image into its constituent parts or objects. In
general, autonomous segmentation is one of the most difficult tasks in digital image
processing. A rugged segmentation procedure brings the process a long way toward
successful solution of imaging problems that required objects to be identified individually.
On the other hand, weak or erratic segmentation algorithms almost always guarantee
eventual failure. In general, the more accurate the segmentation, the more likely
recognition is to succeed.
Based on the binary images processed by the morphological transformations, it will need to
segment the small objects, the digits on the serial numbers, from the large banknote
images. To implement this, first used the Sobel operator to the large binary banknote
images in order to distinguish the regions of interest (ROIs) from the background, then
extract the ROIs in order to obtain the small digits.
CHAPTER7. PROPOSED APPROACH
64
FIGURE 7.6: Extracted Serial Numbers of different Notes
FIGURE 7.7: Segmented Serial Number Digits
7.3.5 Heuristic analysis of characters
The segmentation algorithm described above sometimes detects redundant elements, which
do not correspond to proper characters. These elements are not reliably separable by
traditional OCR methods, although they vary in size as well as in contrast, brightness or hue.
Since the feature extraction methods do not consider these properties, there is a need to use
additional heuristic analyses to filter non-character elements. The analysis expects all
elements to have similar properties. Elements with considerably different properties are
treated as invalid and excluded from the recognition process. The analysis deals with
statistics of brightness and contrast of segmented characters. In addition, the heights of
CHAPTER7. PROPOSED APPROACH
65
detected segments are same for all characters. The sequence of steps can be assembled as
follows:
1. Segment the serial number.
2. Analyse the brightness and contrast of segments and exclude faulty ones.
3. Analyse the hue and saturation of segments and exclude faulty ones.
FIGURE 7.8: Serial Number for heuristic analysis
If we assume that there are not big differences in brightness and contrast of segments, we can
exclude the segments, which considerably differ from the mean. Let i
th
segment of plate be
defined by a discrete function f
i
(x,y),where w
i
and h
i
are dimensions of the element. We
define the following statistical properties of an element. The global brightness of such
segment is defined as a mean of brightnesss of individual pixels:
p
b
(i)
The global contrast of the i
th
segment is defined as a standard deviation of brightnesss of
Individual pixels:
The function f (x, y) represents only an intensity of grayscale images, but the additional
heuristic analysis of colours can be involved to improve the recognition process. This
analysis separates character and non-character elements on colour basis. If the captured
snapshot is represented by a HSV colour model, we can directly compute the global hue and
saturation of the segments as a mean of hue and saturation of individual pixels:
CHAPTER7. PROPOSED APPROACH
66
Where h(x, y) and s(x, y) is a hue and saturation of the certain pixel in the HSV colour model.
If the captured snapshot is represented by a RGB color model, there is need to transform it to
the HSV model first. The formulas for individual properties of a character are as follows:
Table 7.1 shows the analysis of individual property of elements using the formulas described
above.
Table 7.1: Individual Element Properties
Sr. No. BRI CON HUE SAT
Char1 -0.0043 -0.187 -0.6232 0.1608
Char2 -0.0372 0.0480 -0.5208 0.3701
Char3 -0.0063 -0.0018 -0.3898 0.0933
Char4 -0.0061 0.1987 0.2436 -0.0569
Char5 0.0018 0.1695 0.2508 -0.1310
Char6 -0.0099 0.0041 0.2561 -0.0127
Char7 0.0080 -0.0590 0.2817 -0.1564
Char8 0.0569 -0.2047 0.3037 -0.3488
Char9 -0.0029 0.0329 0.1978 0.08616
7.3.6 Feature Extraction
Feature extraction or selection is a pivotal procedure considerably for currency recognition,
which effects on design and performance of the classifier intensively. If the differences of
selected features are so large, it can easily construct a classifier with good recognition
performance. It is difficult to get it with the contrary situation. The essential task of feature
CHAPTER7. PROPOSED APPROACH
67
extraction and selection is how to find the correspondingly effective features out of many
pending features. Feature types are categorized as follows:
Structural features: It describes geometrical and topological characteristics of a
pattern by representing its global and local properties.
Statistical features: Statistical features are derived from the statistical distribution of
pixels and describe the characteristic measurements of the pattern.
Global transformation: Global transformation technique transforms the pixel
representation to a more compact form. This reduces the dimensionality of the
feature vector and provides feature invariants to global deformation like translation,
dilation and rotation.
The traditional approaches aim to derive local features by measuring specific image
properties. The main target has been to estimate curvature: peaks of local curvature are
corners, and analyzing an image by its corners is especially suited to images of artificial
objects. The second area includes more modern approaches that improve performance by
using region or patch-based analysis. By applying the feature extraction we get the following
extracted feature of a digit.
FIGURE 7.9: Extracted Numeric Digit
I have implemented the above discussed theory in my thesis for feature extraction of Indian
currency notes. The block diagram for above proposed approach is given below:-
CHAPTER7. PROPOSED APPROACH
68
FIGURE 7.10: Feature extraction Approach
Graphical user interface designed for doing the above work is shown in figure 7.11. This
GUI is designed in Matlab. It shows the various blocks of feature extraction of currency.
Numerous Indian Currency notes of value 100 were analyzed in this work. The experimental
results of the work carried out in this thesis are shown in next chapter. The random results
display the extracted serial number, segmentation of serial number, Heuristic Analysis of
serial number and feature extraction.
CHAPTER7. PROPOSED APPROACH
69
FIGURE 7.11: GUI for Feature Extraction for Indian Currency
CHAPTER 8. EXPERIMENTAL RESULTS
70
CHAPTER
EXPERIMENTAL
RESULTS
FIGURE8.1 (a): Analysis of 100 rupee currency note using proposed Approach
8
CHAPTER 8. EXPERIMENTAL RESULTS
71
FIGURE 8.1 (b): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
72
FIGURE 8.1 (c): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
73
FIGURE 8.1 (d): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
74
FIGURE 8.1 (e): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
75
FIGURE 8.1 (f): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
76
FIGURE 8.1 (g): Analysis of 100 rupee currency note using proposed Approach
CHAPTER 8. EXPERIMENTAL RESULTS
77
FIGURE 8.1 (h): Analysis of 100 rupee currency note using proposed Approach
CONCLUSION
78
CONCLUSION
This thesis is an effort to suggest an approach for the feature extraction of Indian
Currency Notes. Approaches suggested from the beginning of scanning a document to
converting it to binary image, thresholding, morphological filtering and word
segmentation has been successfully stated. One of the challenges faced in the character
segmentation part is that two characters are sometimes joined together. There are even
cases where a single character breaks apart. Solutions to these challenges are likely to be
presented in future.
Also intensive Heuristic analysis of serial number characters across the note, suggests a
particular trend in terms of values of hue and saturation, contrast and brightness. It can be
concluded that while contrast and brightness are dependent on the extrinsic factors of
sensor, hue and saturation are more likely dependent on the consistent pattern design of
note.
In our current approach, the whole character itself was used as a feature. Selection of
feature extraction method is single most important factor in achieving high recognition
performance.
In future, an inclusion of consistent pattern design of the note can help extraction using
Neural Network methods with them trained on feature vectors obtained from above
system.
REFRENCES
79
REFERENCES
[1] Ji Qian, Dongping Qian, Mengjie Zhang,A Digit Recognition System for Paper
Currency Identification Based on Virtual Instruments 1-4244-0555-6/06
( 2006 IEEE.
[2] Y. Y. Tang, H. D. Cheng, & C. Y. Suen, "Transformation-Ring-Projection (TRP)
Algorithm and Its VLSI Implementation", Character & Handwriting
Recognition: Expanding Frontiers, 1991, World Scientific Publishing Co.
Pte. Ltd., Singapore.
[3] http://rbi.org.in/currency/Sec_fea_Rs500.html
[4] Foresti G.L, Regazzoni C,A hierarchical approach to feature extraction and
grouping IEEE Trans Image Processing,2000;9(6):1056-74.
[5] Euisun Choi, Jongseok Lee and Joonhyun Yoon, Feature Extraction for Bank
Note Classification Using Wavelet Transform 2006 @ISBN ISSN:1051-
4651 , 0-7695-2521-0 ,IEEE.
[6] Ahmad T. Al-Taani, An Efficient Feature Extraction Algorithm for the
Recogntion of Handwritten Arabic Digits International Journal of
Computational Intelligence 2;2 2006.
[7] Peng Wang and Peng Liu, Invariant Features Extraction for Banknote
ClassificationProceedings of the 11th Joint Conference on Information
Sciences@2008.
[8] Dr. John Cowell and Dr. Fiaz Hussain, Thinning Arabic Characters for
Feature Extraction 0-7695-1195-3/01$10.0,2001@ IEEE.
[9] Christos Nikolaos and Vassili Loumos, A License Plate-Recognition
Algorithm for Intelligent Transportation System Applications IEEE
Transactions on Intelligent Transportation Systems@2006- ISSN: 1524-
9050.
REFRENCES
80
[10] M.Fukumi, S.Omatu, F.Takeda and T.Kosaka, Rotation-invariant neural pattern
recognition system with application to coin recognition, IEEE Trans.
Neural Net,, vol. 3, pp. 272-279, 1992.
[11] F.Takeda,S.Omatu,S.Onami, T. Kadono and K.Terada,"A Paper Currency
Recognition Method by a Small Size Neural Network with Optimized
Masks by GA", Proceedings of IEEE World Congress on Computational
Intelligence, Orlando, USA,1994, pp.42434246.
[12] F Takeda and S Omatu, High-speed paper currency recognition by neural
networks, IEEE Trans Neural Networks, vol 6, pp 73-77, Jan,1995.
[13] F.Takeda and S.Omatu, "A Neuro-Money Recognition Using Optimized Masks by
GA," Proceedings of IEEE International Conference on Systems, Man and
Cybemetics, Vancouver, Canada, Vo1.5, pp.43674371, 1995.
[14] Frosini, M.Gori and P. Priami, A Neural Network-Based Model for Paper
Currency Recognition and Verification, IEEE Trans. Neural Networks,
vol. 7, no. 6, pp. 1482-1490, November1996.
[15] F.Takeda and T.Nishikage, Multiple Kinds of Paper Currency Recognition using
Neural Network and application for Euro Currency, IEEE Int. Joint Conf.
on Neural Networks, pp:143-147, 2000
[16] Ali Ahmadi, S.Omatu and M.Yoshioka, Implementing a Reliable Neuro -
Classifier for Paper Currency Using PCA AlgorithmSICE.Osaka,2002.
[17] Ahmadi and S.Omatu, A Methodology to Evaluate and Improve Reliability in
Paper Currency Neuro-Classifiers Proceedings 2003 IEEE International
Symposium on Computational intelligence in Robotics and Automation
July 16-20,2003, Kobe, Japan.
[18] E.H.Zhang, B. Jiang, J. H. Duan, Z. Z. Bian, Research on Paper Currency
Reconition by Neural Networks, Proceedings of the 2nd Int. Conference
on Machine Learning and Cybernetics, 2003
[19] Jae-Kang Lee and Hwan Kim, New Recognition Algorithm for Various Kinds of
Euro Banknotes 0-7803-7906-3/03/ 2003 IEEE.
[20] F.H Kong, J.Quab Ma , J.Feng Liu, Paper Currency Recognition Using
Gaussian Mixture Models based on Structural Risk Minimization
Proceedings of the Fifth International Conference on Machine Learning
and Cybernetics, Dalian, 13-16 August 2006.
REFRENCES
81
[21] Nadim Jahangir and Ahsan Raja Chowdhury, Bangladeshi Banknote Recognition
by Neural Network with Axis Symmetrical Masks 1-4244-1551-
9/07/$25.00 2007 IEEE.
[22] H.Hassanpouri, A.Yaseri, G.Ardeshiri, Feature Extraction for Paper Currency
Recognition 1-4244-0779-6/07/2007 IEEE.
[23] Dr.Kenji Yoshida, Mohammed Kamruzzaman, Faruq Ahmed Jewel, Raihan
Ferdous Sajal, Design and Implementation of a Machine Vision Based but
Low Cost Stand Alone System for Real Time Counterfeit Bangladeshi Bank
Notes Detection 1-4244-1551-9/07/2007 IEEE.
[24] Matlab Help Manual.
[25] A.K.Jain. Fundamentals of Digital Image Processing. Prentice-Hall,Englewood
Cliffs, NJ, 1989.
[26] R. C. Gonzalez and R. E. Woods, Digital Image Processing, 2
nd
ed., Prentice Hall
India, ISBN-81-203-2758-6, 2006.
[27] A.Mc Andrew,Introduction to Digital Image Processing With MATLAB,by
Cenage Learning,2004.
[28] V.V.D. Shah, Image Processing and its Military Applications, Def Sci J, Vol37,
No.4, October 1987, pp 457-468
[29] Neural Networks by Eric Davalo and Patrick Naim.
[30] An introduction to neural computing. Aleksander, I. and Morton, H. 2nd edition
[31] Neural Networks at Pacific Northwest National Laboratory
http://www.emsl.pnl.gov:2080/docs/cie/neural/neural.homepage.html
[32] Industrial Applications of Neural Networks (research reports by Esprit,
I.F.Croall)
[33] Neural networks by Christos Stergiou and Dimitrios Siganos.
[34] Patrickmarchando and Thomasholland Graphics and GUIs with MATLAB,
Third Edition@2003
[35] Introduction to Graphical User Interface (GUI) MATLAB by Refaat Yousef Al
Ashi and Ahmed Al Ameri.
[36] Cornelius T.Leondes, Image Processing and Pattern Recognition Academic
Press Limited, California(U.S.A).
[37] Mark S.Nixon, Alberto S.Aguado,Feature extraction and Image Processing,
Academic Press limited, ISBN: 978-0-12372-538-7.
REFRENCES
82
[38] http://www.mathworks.com/products/image/description.
LIST OF PUBLICATIONS
83
LIST OF PAPERS PUBLISHED
1. Published paper at National Conference on Recent Emergences and Scope of
Electronics Architecture held at Haryana Engineering College, Jagadhari on
19-20 February2010 titled A Novel Method for Currency Recognition.
2. Published paper at National Conference on Convergence of Technologies:
Futuristic Approach held at Gurukul Vidyapeeth on 11
th
June2010 titled
Image Processing Based Feature Extraction of Indian Currency Notes.