Presentation on theme: "Institute of Information Theory and Automation Introduction to Pattern Recognition Jan Flusser"— Presentation transcript:
Institute of Information Theory and Automation Introduction to Pattern Recognition Jan Flusser firstname.lastname@example.org
Recognition (classification) = assigning a pattern/object to one of pre-defined classes Pattern Recognition
Recognition (classification) = assigning a pattern/object to one of pre-defined classes Statictical (feature-based) PR - the pattern is described by features (n-D vector in a metric space) Pattern Recognition
Recognition (classification) = assigning a pattern/object to one of pre-defined classes Syntactic (structural) PR - the pattern is described by its structure. Formal language theory (class = language, pattern = word) Pattern Recognition
Supervised PR – training set available for each class Pattern Recognition
Supervised PR – training set available for each class Unsupervised PR (clustering) – training set not available, No. of classes may not be known Pattern Recognition
PR system - Training stage Definition of the features Selection of the training set Computing the features of the training set Classification rule setup
Desirable properties of the features Invariance Discriminability Robustness Efficiency, independence, completeness
Desirable properties of the training set It should contain typical representatives of each class including intra-class variations Reliable and large enough Should be selected by domain experts
Classification rule setup Equivalent to a partitioning of the feature space Independent of the particular application
PR system – Recognition stage Image acquisition Preprocessing Object detection Computing of the features Classification Class label
Empirical observation For a given training set, we can have several classifiers (several partitioning of the feature space)
Empirical observation For a given training set, we can have several classifiers (several partitioning of the feature space) The training samples are not always classified correctly
Empirical observation For a given training set, we can have several classifiers (several partitioning of the feature space) The training samples are not always classified correctly We should avoid overtraining of the classifier
Formal definition of the classifier Each class is characterized by its discriminant function g(x) Classification = maximization of g(x) Assign x to class i iff Discriminant functions defines decision boundaries in the feature space
Minimum distance (NN) classifier Discriminant function g(x) = 1/ dist(x, ) Various definitions of dist(x One-element training set
Minimum distance (NN) classifier Discriminant function g(x) = 1/ dist(x, ) Various definitions of dist(x One-element training set Voronoi pol NN classifier may not be linear NN classifier is sensitive to outliers k-NN classifier
Find nearest training points unless k samples belonging to one class is reached
Discriminant functions g(x) are hyperplanes Linear classifier
Assumption: feature values are random variables Statistic classifier, the decission is probabilistic It is based on the Bayes rule Bayesian classifier
The Bayes rule A posteriori probability Class-conditional probability A priori probability Total probability
Bayesian classifier Main idea: maximize posterior probability Since it is hard to do directly, we rather maximize In case of equal priors, we maximize only
Equivalent formulation in terms of discriminat functions
How to estimate ? Parametric estimate (assuming pdf is of known form, e.g. Gaussian) Non-parametric estimate (pdf is unknown or too complex) From the case studies performed before (OCR, speech recognition) From the occurence in the training set Assumption of equal priors
The role of the window size Small window Large window
Applications of Bayesian classifier in multispectral remote sensing Objects = pixels Features = pixel values in the spectral bands (from 4 to several hundreds) Training set – selected manually by means of thematic maps (GIS), and on-site observation Number of classes – typicaly from 2 to 16
How to evaluate the performance of the classifiers? - evaluation on the training set (optimistic error estimate) - evaluation on the test set (pesimistic error estimate) Classification performance
How to increase the performance? - other features - more features (dangerous – curse of dimensionality!) - other (larger, better) traning sets - other parametric model - other classifier - combining different classifiers Classification performance
Combining (fusing) classifiers C feature vectors Bayes rule: max max Several possibilities how to do that
Product rule Assumption: Conditional independence of x j max
Max-max and max-min rules Assumption: Equal priors max (max ) max (min )
Majority vote The most straightforward fusion method Can be used for all types of classifiers
Training set is not available, No. of classes may not be a priori known Unsupervised Classification (Cluster analysis)
What are clusters? Intuitive meaning - compact, well-separated subsets Formal definition - any partition of the data into disjoint subsets
How to compare different clusterings? Variance measure J should be minimized Drawback – only clusterings with the same N can be compared. Global minimum J = 0 is reached in the degenerated case.
Clustering techniques Iterative methods - typically if N is given Hierarchical methods - typically if N is unknown Other methods - sequential, graph-based, branch & bound, fuzzy, genetic, etc.
Sequential clustering N may be unknown Very fast but not very good Each point is considered only once Idea: a new point is either added to an existing cluster or it forms a new cluster. The decision is based on the user-defined distance threshold.
Sequential clustering Drawbacks: -Dependence on the distance threshold -Dependence on the order of data points
Iterative clustering methods N-means clustering Iterative minimization of J ISODATA Iterative Self-Organizing DATa Analysis
N-means clustering 1.Select N initial cluster centroids.
N-means clustering 2. Classify every point x according to minimum distance.
N-means clustering 3. Recalculate the cluster centroids.
N-means clustering 4. If the centroids did not change then STOP else GOTO 2.
N-means clustering Drawbacks - The result depends on the initialization. - J is not minimized - The results are sometimes “intuitively wrong”.
N-means clustering – An example Two features, four points, two clusters (N = 2) Different initializations different clusterings
Initial centroids N-means clustering – An example
Initial centroids N-means clustering – An example
Iterative minimization of J 1.Let’s have an initial clustering (by N-means) 2.For every point x do the following: Move x from its current cluster to another cluster, such that the decrease of J is maximized. 3. If all data points do not move, then STOP.
ISODATA Iterative clustering, N may vary. Sophisticated method, a part of many statistical software systems. Postprocessing after each iteration -Clusters with few elements are cancelled -Clusters with big variance are divided -Other merging and splitting strategies can be implemented
Agglomerative clustering – representation by a clustering tree (dendrogram)
How many clusters are there? 2 or 4 ? Clustering is a very subjective task
How many clusters are there? Difficult to answer even for humans “Clustering tendency” Hierarchical methods – N can be estimated from the complete dendrogram The methods minimizing a cost function – N can be estimated from “knees” in J-N graph
Life time of the clusters Optimal number of clusters = 4
Applications of clustering in image proc. Segmentation – clustering in color space Preliminary classification of multispectral images Clustering in parametric space – RANSAC, image registration and matching Numerous applications are outside image processing area