Our researchers in artificial intelligence are
harnessing the explosion of digital data and computational power with advanced
algorithms to enable collaborative and natural interactions between people and
machines that extend the human ability to sense, learn and understand. The
research infuses computers, materials and systems with the ability to reason,
communicate and perform with humanlike skill and agility.
Pattern recognition is a branch of machine learning
that focuses on the recognition of patterns and regularities in data, although
it is in some cases considered to be nearly synonymous with machine learning.
Pattern recognition systems are in many cases trained from labeled
"training" data (supervised learning), but when no labeled data are
available other algorithms can be used to discover previously unknown patterns
(unsupervised learning).
The terms pattern recognition, machine learning,
data mining and knowledge Discovery in Databases (KDD) are hard to separate, as
they largely overlap in their scope. Machine learning is the common term for
supervised learning methods and originates from artificial intelligence,
whereas KDD and data mining have a larger focus on unsupervised methods and
stronger connection to business use.
Pattern recognition has its origins in engineering,
whereas machine learning grew out of computer science. However, these
activities can be viewed as two facets of the same field, and together they
have undergone substantial development over the past ten years. In particular,
Bayesian methods have grown from a specialist niche to become mainstream, while
graphical models have emerged as a general framework for describing and applying
probabilistic models. Also, the practical applicability of Bayesian methods has
been greatly enhanced through the development of a range of approximate
inference algorithms such as variational Bayes and expectation propagation.
Similarly, new models based on kernels have had significant impact on both
algorithms and applications.
The problem of searching for patterns in data is a
fundamental one and has a long and successful history. For instance, the
extensive astronomical observations of Tycho Brahe in the 16th century allowed
Johannes Kepler to discover the empirical laws of planetary motion, which in
turn provided a springboard for the development of classical mechanics.
Similarly, the discovery of regularities in atomic spectra played a key role in
the development and verification of quantum physics in the early twentieth
century. The field of pattern recognition is
concerned with the automatic discovery of regularities in data through the use
of computer algorithms and with the use of these regularities to take actions
such as classifying the data into different categories. Consider the simple
example of recognizing handwritten digits, each digit corresponds to a 28×28
pixel image and so can be represented by a vector
x comprising 784 real numbers. The goal is to build
a machine that will take such a vector x as input and that will produce the
identity of the digit 0, . . . , 9 as the output. This is a nontrivial problem
due to the wide variability of handwriting. It could be tackled using
handcrafted rules or heuristics for distinguishing the digits based on the
shapes of the strokes, but in practice such an approach leads to a
proliferation of rules and of exceptions to the rules and so on, and invariably
gives poor results.
Far better results can be obtained by adopting a
machine learning approach in which a large set of N digits {x1, . . . , xN}
called a training set is used to tune the parameters of an adaptive model. The
categories of the digits in the training set are known in advance, typically by
inspecting them individually and hand-labelling them. We can express the
category of a digit using target vector t, which represents the identity of the
corresponding digit. Suitable techniques for representing categories in terms
of vectors will be discussed later. Note that there is one such target vector t
for each digit image x.
-The result of running the machine learning
algorithm can be expressed as a function y(x) which takes a new digit image x
as input and that generates an output vector y, encoded in the same way as the
target vectors. The precise form of the function y(x) is determined during the
training phase, also known as the learning phase, on the basis of the training
data. Once the model is trained it can then determine the identity of new digit
images, which are said to comprise a test set. The ability to categorize
correctly new examples that differ from those used for training is known as
generalization.
In practical applications, the variability of the
input vectors will be such that the training data can comprise only a tiny
fraction of all
possible input vectors, and so generalization is a
central goal in pattern recognition.
For most practical applications, the original input
variables are typically preprocessed to transform them into some new space of
variables where, it is hoped, the pattern recognition problem will be easier to
solve. For instance, in the digit recognition
problem, the images of the digits are typically
translated and scaled so that each digit is contained within a box of a fixed
size. This greatly reduces the variability within each digit class, because the
location and scale of all the digits are now the same, which makes it much
easier for a subsequent pattern recognition algorithm to distinguish between
the different classes. This pre-processing stage is sometimes also called
feature extraction. Note that new test data must be pre-processed using the
same steps as the training data.
Pre-processing might also be performed in order to
speed up computation. For example, if the goal is real-time face detection in a
high-resolution video stream, the computer must handle huge numbers of pixels
per second, and presenting these directly to a complex pattern recognition
algorithm may be computationally infeasible.
Instead, the aim is to find useful features that
are fast to compute, and yet that also
preserve useful discriminatory information enabling faces to be distinguished
from non-faces. These features are then used as the inputs to the pattern
recognition algorithm. For instance, the average value of the image intensity
over a rectangular sub-region can be evaluated extremely efficiently, and a set
of such features can prove very effective in fast face detection. Because the
number of such features is smaller than the number of pixels, this kind of
pre-processing represents a form of dimensionality reduction. Care must be
taken during pre-processing because often information is discarded, and if this
information is important to the solution of the problem then the overall
accuracy of the system can suffer.
Applications in which the training data comprises
examples of the input vectors along with their corresponding target vectors are
known as supervised learning problems.
Cases such as the digit recognition example, in
which the aim is to assign each input vector to one of a finite number of
discrete categories, are called classification problems. If the desired output
consists of one or more continuous variables, then the task is called
regression. An example of a regression problem would be the prediction of the
yield in a chemical manufacturing process in which the inputs consist of the
concentrations of reactants, the temperature, and the pressure.
In other pattern recognition problems, the training
data consists of a set of input vectors x without any corresponding target
values. The goal in such unsupervised learning problems may be to discover
groups of similar examples within the data, where it is called clustering, or
to determine the distribution of data within the input space, known as density
estimation, or to project the data from a high-dimensional space down to two or
three dimensions for the purpose of visualization.
Finally, the technique of reinforcement learning is
concerned with the problem of finding suitable actions to take in a given
situation in
order to maximize a reward. Here the learning
algorithm is not given examples of optimal outputs, in contrast to supervised
learning, but must instead discover them by a process of trial and error. Typically,
there is a sequence of states and actions in which the learning algorithm is
interacting with its environment. In many cases, the current action not only
affects the immediate reward but also has an impact on the reward at all
subsequent time steps.
Let’s discuss a live example, ANPR (Automatic
number plate recognition) or LPR (License plate recognition) It is the technical method of artificial
vision (OCR) that allows the recognition of number plates in images of
vehicles. Historically, it has been applied on security systems to control
accesses of vehicles and car parks.
Nowadays, the ANPR technology has improved its
reliability, some systems are able to offer recognition rates between 95 and
98%. Also, some ANPR equipment are able to recognize the number plate of
vehicles that drive up tol 200km/h.
Generally, the ANPR technology can be bought in two
modalities, The ANPR engine The ANPR equipment (Hardware + recognition engine)
The ANPR engine can recognize the number plate
directly from the images stored in a hard disk. This type of software allows to
take good use of images that have been obtained from other systems like CCTV or
cameras.
The ANPR equipment incorporates all the hardware
necessary to capture the images of the vehicles and to recognize the number
plate. Moreover, it incorporates the ANPR engine. The ANPR equipment are
designed to offer the maximum reliability.
The ANPR process is divided into three steps. The
detection of the vehicle, the capture of the images and the process of
recognition. Next, we will detail step by step how it works and depending on each
case what the advantages and disadvantages are
Once the vehicle is detected, the following step is
the capture of the vehicle. In order to take a right image, the following
points will have to be considered. Each ANPR manufacturer has developed its own
recognition algorithms, although, these are the main ones and the common ones
To locate
and to isolate the number plate in the image
To
correct the brightness and the contrast of the number plate
To
separate each character of the number plate
To
recognize each character of the number plate
The Capture Unit that takes the image of the
vehicle, and the Process Unit that receive the image from the Capture Unit and
makes the recognition of the number plate. The Process Units can control one or
more Capture Units simultaneously.
The quality of the solution depends on each
manufacturer, although generally the "CU+PU" architecture has
disadvantages respect the ANPR All-in-One. Now let’s apply the modus we have discussed
above & try to get a solution. Then you could search the solution on web
& check the feasibility of your thoughts.
If you need any help feel free to get in touch with
me at ravindrapande@gmail.com
& I will be happy to help.