Pattern Recognition Systems

Post on 04-Jan-2016

80 views 9 download

description

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth. Pattern Recognition Systems. One field is concerned with systems that recognize patterns with a classification scheme that has already been determined. Example: Character recognition, the categories (26 letter of alphabet) are already known. - PowerPoint PPT Presentation

Transcript of Pattern Recognition Systems

Pattern Recognition Systems

• One field is concerned with systems that recognize patterns with a classification scheme that has already been determined.– Example: Character recognition, the

categories (26 letter of alphabet) are already known.

– Referred to as pattern classification.

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Pattern Recognition Systems

• Other field is concerned with obtaining a classifier for a set of patterns where the categories are not initially known.– Example: Clustering data concerning

patients to see whether patients can be grouped in a way that helps indicate diagnoses.

– Referred to as Pattern clustering

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Pattern Classification

• Attempt to pick the correct category when presented with a pattern.– Solution is very problem specific

• Character recognition will be different from recognizing the tank in the battle field

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Design a Fuzzy Pattern Classifier

• Pattern Features– Create fuzzy sets that represent features

in the data that are considered important.• Example: ratio of the character’s height to its

width may be important while the size of a character is not!

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Design a Fuzzy Pattern Classifier

• Defining the System– fuzzy sets are used to convert crisp inputs to

grades that are then combined by a pattern classifier to obtain grades for each of the possible classification categories.•Highly problem dependent!

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Design a Fuzzy Pattern Classifier

• Testing the System– use known and unknown test sets.– Typically, the system will not perform as well as

desired at first.•One may have to test a fuzzy classifier

– find why it gave a wrong result,– make changes to improve the classifier.

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

Application: Character Recognition

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Goal: design a system that will pick the correct character when it is given a bit map representation of a printed or written input character.– Example: classifying the ten digits o

through 9.

Pattern Features

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• INPUT– bit map

• 25 horizontal X 37 vertical pixels (925 pixel field)

• each pixel have a 0 or 1 associated with it.

Pattern Features

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Creating a rule set dealing with 925 inputs would be extremely difficult and time consuming.

• Fuzzify the input, resulting in a compact summary of the overall state of the bit map.

Fuzzy sets for the Horizontal Position

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Define five triangular-shaped fuzzy sets for the horizontal position.– xS = 0:24;– xL = eqshape(3,xS,5);– xG = shapeval(xL, xS);

Fuzzy sets for the Vertical Position

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Define seven triangular-shaped fuzzy sets for the vertical position.– yS = 0:36;– yL = eqshape(3,yS,7);– yG = shapeval(yL, yS);

Fuzzify the input pixel

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Given any pixel (horizontal x and verticle

y), the membership of that pixel can be calculated for each of 5 horizontal and 7 vertical regions.– G1 = fuzzyval (xS,xG,x);– G2 = fuzzyval (yS,yG,x);

Crate 5 x 7 regions of the 2-D bitmap

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Find all combinations of intersections between the two groups of fuzzy sets– G3 = allcomb(‘min’, G1, g2);

• G3 wil be a 35-element column vector of grades associated with the 35 regions of the 2-D bit map

Multiple Pixels

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• If vectors X and Y represent the input pixels, then– G1 = fuzzyval(xS, xG, X);– G2 = fuzzyval(yS,yG, Y); and– G3 = allcomb(‘min’, G1, G2);

• G3 represents a 35 -element column for every pixel crossed by all of the input pixels

Single Grade for each 5 x 7 regions

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Taking the union of all grades associated with each square region:– G = or (G3 ’ ) ’;

• We now have 35 grades, each grade measuring to what extent the user’s drawn character passed through a different region.

• 925-pixel bit map ----> 35 grades!

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Once the good features have been found, one can define a system to transform the feature grades into the grades for each class.

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Zero:• G0 = and([ or( G([2 7])); or( G([3 8]));

or( G([4 9]));• or( G([11 12])); or( G([16 17]));

or( G([21 22]));• or( G([14 15])); or( G([19 20]));

or( G([24 25]));• or( G([27 32])); or( G([28 33]));

or( G([29 34]));• not( G([13 18 23]) ) ]);

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• One:

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• One:• G1 = or([ and([ G([5 9 18 27 31]);• not(G([1 2 3 6 7 11 25 29 30 33 34 35])) ]);• and([ G([1 7 18 29 35]);• not(G([3 4 5 9 10 15 21 26 27 31 32 33])) ]);• and([ G([1 6 11 16 21 26 31]);• not(G([3 4 5 8 10 13 15 18 20 23 25 ...• 28 30 33 34 35])) ]);• and([ G([2 3 4 5]);• not(G([6 7 10 11 12 15 16 17 20 25 30 35]));• or( G([8 9]));• or( G([13 14]));• or( G([18 19]));• or( G([23 24]));• or( G([28 29]));• or( G([33 34])); ]) ]);

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Two:• G2 = and([ somewhat(G(2));• G([3 32 33 34]);• or( G([6 7])); or( G([30 25]));

or( G([4 5]));• not([ G([22 28]); and(G([10

15])) ]) ]);

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Three:• G3 = and([ G([2 3 19 32 33 34]);• or( G([9 10]) );• or( G([14 15]) );• not( G([5 16 21]) ) ]);

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Four:• G4 = and([ or([ and(G([4 14 19 29])); and(G([5 15 20

30])) • and(G([3 13 18 28])) ]);• or([and(G([12 14 15])); and(G([17 19 20]));• and(G([22 24])) ]);• not([ G([1 2 6 7]); and(G([32 33 34])) ]) ]);

Defining the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Once the grades for each class have been found, they can be combined into a single grade vector, cG– cG = [G0 G1 G2 G3 G4 G5 G6 G7 G8

G9];• THEN THE MAXIMUMGRADE CHARACTERS CAN

BE FOUND

– C = cS(find(cG >= max(cG)));

Testinging the System

Fuzzy Systems ToolBox, Mark Beale and Howard Demuth

• Demo– Matlab : numrec

Pattern Clustering

Fuzzy Logic: Intellicence, Control, and Information, J Yen and R Langari, Prentice Hall

• Unsupervised Clustering– Find interesting patterns or groupings

in a given set of data.• Example: perform the task of

“segmenting” the images (I.e., partitioning pixels on an image into regions that correspond to different objects or different faces of objects in the images).

Pattern Clustering

Fuzzy Logic: Intellicence, Control, and Information, J Yen and R Langari, Prentice Hall

• Conventional clustering algorithms find a “Hard partition” of a given dataset based on certain criteria that evaluate the goodness of a partition.– “Hard Partition” - each datum belongs to

exactly one cluster of the partition.– In many real-world clustering problems,

some data points partially belong to multiple clusters (eg. A pixel in a MRI may correspond to a mixture of two different types of tissues.

Soft Clustering Algorithms

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Find a “soft partition” of a given data set based on certain criteria.– A datum can partially belong to

multiple clusters– In practice, most soft clustering

algorithms do generate a soft partition that also forms a fuzzy partition.

Fuzzy C-Means Algorithm

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Best known fuzzy clustering algorithm– produces a constrained soft partition

• I.e. cj(xi) = 1

• Both fuzzy c-means and probabilistic clustering produce a partition of similar properties, the clustering criteria underlying these algorithms are very different!

Fuzzy C-Means Algorithm

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Generalizes a hard clustering algorithm called the c-means algorithm– Hard C-Means algorithm (HCM) aims

to identify compact well-separated clusters

• compact cluster has a “ball like” shape• the center of the ball is called the center

or the prototype of the cluster.

Example of two clusters that are not compact and well separated

Fuzzy Logic: Intellicence, Control, and Information, J Yen and R Langari, Prentice Hall

Example of two clusters that are compact, but not well separated

Fuzzy Logic: Intellicence, Control, and Information, J Yen and R Langari, Prentice Hall

Fuzzy C-Means Algorithm

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Like HCM, fuzzy c-means also tries to find a good partition by searching for prototypes vi that minimize the objective function Jm

• k=1,2,…c• m is a weight that affects how partial

members of a cluster affect the clustering result

• FCM also needs to search for membership function ci

that minimize Jm

Fuzzy C-Means Theorem

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• A constrainted fuzzy partition {C1, C2, …, Ck} can be a local minimum of the objective function Jm only if the following conditions are satisfied:

• Based on this theorem, FCM updates the prototypes and the membership function iteratively using Equation A and B until a convergence criterion is reached

Fuzzy C-Means Algorithm

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

Fuzzy C-Means - Example

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Use FCM to partition the data set into two clusters (c=2), suppose we set the parameter m in FCM at 2, and initial prototypes to v1 = (5,5) v2 = (10,10)

Fuzzy C-Means - Example

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

Fuzzy C-Means - Example

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• The initial membership functions of the two clusters are calculated using Equation A

Example (Continued)

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Similarly,

Example (Continued)

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• Similarly,

Example (Continued)

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• FCM algoruthm then updates the prototypes according to Equation B– For V1

Example (Continued)

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• FCM algoruthm then updates the prototypes according to Equation B– For V2

Example (Continued)

Fuzzy Logic: Intelligence, Control, and Information, J. Yen and R. Langari, Prentice Hall

• The updated prototype v1 and v2 are move closer to the center of the cluster formed by x1,x2, x3 and x4,x5,x6 , respectively

• Show Matlab example

Recognition of Geometric shapes

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

• Used in PDAs

• Interactive CAD systems

Recognition of Geometric shapes

Multi-stroke shapesManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Multi-stroke shapesManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Multi-stroke shapesManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Uni-stroke shapesManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Uni-stroke shapesManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Recognition algorithm:

1. Use global geometric properties of the shapes

2. Use a set of filters to either to identify shapes or to filter out unwanted outcomes

3. Use fuzzy logic to handle uncertainty

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Feature extraction

Use statistical properties of shape’s features!

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Circle: Thinness ratio Ach/ P2ch

Ach – area of the convex hullP2

ch – perimeter squared

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Line: Thinness ratio Her/ Wer

Her – height of enclosing rectangleWer – width of enclosing rectangle

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Rectangle: first ratio R1 = Ach/ Aer

Aer – area of enclosing rectangleAch – area of convex hull

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Rectangle: second ratio R2 = Alq/ Aer

Alq – area of largest quadrilateralAer – area of enclosing rectangle

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Diamond: ratio of Alt/ Alq

Alt – area of largest triangleAlq – area of largest quadrilateral

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Triangle/Move: first ratio T1= Alt/ Ach

Alt – area of largest triangleAch – area of convex hull

(line from 10% to 90%, bar from 25% to 75%)

Recognition of Geometric shapes

Triangle/Move: sec. ratio T2= Plt/Pch

Plt – perimeter of largest trianglePch – perimeter of convex hull

How to distinguish between triangle and move?

Recognition of Geometric shapes

Another parameter – HOLLOWNESS-Place a triangle with approx. 60% area of the convex hull in the center of mass of a shape-Count shape points inside the triangle

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Features used by each shapeManuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Defining fuzzy sets

a – minimum from a feature distribution

b – 10% from a feature distribution

c – 90% from a feature distribution

d – maximum from a feature distribution

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

There are 4 ambiguous cases for which it is impossible todefine membership functions in the way demonstrated in the previous slide.

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

The membership functions for the ambiguous cases are defined as shown.

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Rules:

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively

Recognition of Geometric shapes

Recognition accuracy:

Problems: poor recognition of arrows

Manuel J.Fonseca, Joaquim A.Jorge, Using Fuzzy Logic to Recognize Geometric Shapes Interactively