"To understand is to perceive patterns" - Isaiah Berlin

Go to Specific Links for COMP-644 (Pattern Recognition course)

General Links:
Pattern Recognition: Statistics:

## Computational Linguistics:

Specific Chapter Links:

# 1. Introduction to Pattern Recognition via Character Recognition

1. Notes on Methods of Proof
2. Introduction to pattern recognition (PostScript)
3. Digital images
4. Image Processing Basic Operators
5. Optical character recognition (brief introduction)
6. Handwritten address recognition demonstration
7. Tessellation Resources
8. Tessellation Tutorials
9. Grids:
10. Digital lines and circles:
11. M.I.T. reading machine for the blind
12. What is hysteresis?
13. Zacharia Nkgau's tutorial on hysteresis smoothing of monotonic polygons (with interactive Java applet)
14. Artistic Image Processing:
15. Image Segmentation:

## 2. Smoothing, Approximation, Data-Compression and Fitting

1. Minkowski addition and subtraction (dilation and erosion)
2. Regularization
3. Logical smoothing
4. Local averaging
5. Median filtering:
6. Gaussian smoothing
7. More about Carl Friedrich Gauss
8. Polygonal Approximation:
1. Midpoint smoothing
2. Ramer-Douglas-Peucker algorithm (Iterative End-Points Fit):
3. Interactive Java applets by Steve Robbins
4. Relative Convex Hull Smoothing:
5. Graph-theoretic methods:
6. Smoothing by Curvature Flow(Java applet)
9. Smoothing basics (PostScript)
10. Tutorial on polygonal approximation (Iri-Imai algorithm, Melkman-O'Rourke algorithm)
11. Curve Approximation Java Applet
12. Line Fitting:
13. Smoothing with splines:
14. Function Approximation:

## 3. Differentiation, Sharpening, Enhancement, Caricatures and Shape Morphing

1. Differentiation and Edge Detection:
2. Enhancement and Lateral Inhibition:
3. The Laplacian:
4. Caricature Generation:
5. Fundamentals of Visual Perception:
6. Shape Morphing:

## 4. Measurement of Shape

1. Affine transformations
2. Affine Geometry
3. More on affine transformations
4. Moment Invariants
5. Moments in Pattern Recognition (PostScript)
1. Moments of area & perimeter
2. Moments for feature extraction
3. Moments for pre-processing
4. Moments as predictors of discrimination performance
6. Adam Ramadan's tutorial on moments in pattern recognition
7. Computing Higher Moments of Polygons (Post Script)
8. Affine and Other Geometric Transformations
9. Fourier Descriptors:
10. Other Measures of Shape:

## 5. Distance, Medial Axis Transforms and Skeletons

1. What is Distance?
1. Manhattan Metric (Taxicab Geometry)
2. Pascal Tesson's tutorial on taxicab geometry (with Java applet)
2. Minkowski metrics
1. More about Hermann Minkowski
3. Distance between sets:
1. Distance between strings
2. The Maximum Distance
3. The Minimum Distance
4. The Hausdorff Distance
5. Normand Gregoire & Mikael Bouillot's Tutorial on the Hausdorff distance and its applications (with interactive Java applet)
6. The Grenander Distance
7. Dynamic programming algorithm for edit-distance between strings
8. Discrete Fourier Transforms made very easy!
4. Skeletons (PostScript)
1. Hilditch's algorithm
2. Rosenfeld's algorithm
1. Laleh Tajrobehkar's tutorial
2. More about Azriel Rosenfeld
3. Skeletonization software
5. Medial Axis of Polygonal Sets (prairie-fire transformation)
1. Morphological Shape Analysis via Medial Axis
2. Medial Axis tutorial by Hang Fai Lau (with interactive Java applet)
3. Martin Held's Fire Propagation Algorithm
6. Distance transforms
7. Skeleton clean-up via distance transforms
8. Medial axes via distance transforms
9. Medial axis transform
10. Medial axis in 3D with applications
11. Medial axis software
12. Medial Axis of Pont Sets (also known as Nearest Point Voronoi Diagrams )
13. Medial Axis in 3D and the Power Crust

## 6. Shape Decomposition, Geometric and Topological Features

1. Polygon Decomposition:
2. Convex hulls, concavities and enclosures:
3. Geometric Feature Extraction Methods

## 7. Processing Line Drawings

1. Basics of Freeman Chain Coding (PostScript)
1. More about Herbert Freeman
2. Square, circular, and grid-intersect quantization
3. Probability of obtaining diagonal elements
4. Geometric Probability
5. Bertrand's paradox.
6. More on Bertrand's paradox (with Java applet simulations)
7. More about Joseph Bertrand
8. Difference encoding & chain correlation functions
9. Minkowski metric quantization

## 8. Detection of Structure in Noisy Pictures and Dot Patterns

1. What is a line?
2. Point-to-curve transformations (Hough transform)
3. Point-Line duality
4. Hough Transforms:
5. GraphTheory:
6. Proximity graphs:
1. A Survey of Proximity Graphs
2. Minimal spanning tree (MST) of a dot pattern
3. MST interactive Java applet
4. Delaunay Triangulations and Voronoi diagrams
5. More about Boris Delaunay
7. The shape of a set of points:
1. The relative neighbourhood graph of a finite planar set
2. Sphere-of-influence graphs and applet
3. Alpha shapes
1. François Bélair's Tutorial on Alpha Shapes (with interactive Java applet and a super-duper automated guided-tour demo)
2. Introduction to alpha shapes
3. Gallery of alpha shapes
4. Code for computing alpha-shapes (and convex hulls)
4. Beta skeletons:
1. Xiaoming Zhong's Tutorial on Beta Skeletons (with interactive Java applet)
5. Voronoi Diagram Based Methods:

## 9. Simple Classifiers and Neural Networks

1. Simple Classifiers
1. Template matching
2. Minimum-distance classifiers
3. Inner products
4. Linear discriminant functions
5. Decision boundaries
2. Mahalanobis Distance Classifiers
3. Learning from Examples
4. Neural Networks:
1. A Brief Tour of the Brain
2. Introduction to Neural Networks
3. Another Introduction to Neural Networks
4. Dr. Gurney's course on neural networks
5. A brief history of Neural Networks
6. Neural Network Basics (FAQ's)
7. Formal neurons, linear machines & perceptrons
8. Separability:
1. Linear separability
2. Separating points with circles
9. Pierre Lang's Neural Network for Character Recognition (with interactive Java applet that recognizes the characters you draw on the screen!)

# 10. Bayesian decision Theory

1. Bayesian Decision Theory with Gaussian Distributions - A tutorial by Erin Mcleish
2. Introductory Statistics Course
3. Another Introduction to Probability and Statistics
4. Basics of Statistical Pattern Recognition (by Richard O. Duda)
5. More about Richard Duda
6. Minimum risk classification
7. Minimum error classification
8. Discriminant functions (linear, quadratic, polynomial)
9. The bivariate Gaussian probability density function
10. Multivariate statistics
11. Lecture Notes on Statistical Pattern Recognition
12. Occam's Razor:

## 11. Feature Selection: Independence of Measurements, Redundancy, and Synergism

1. Independent and conditionally independent events
2. Class-conditional and unconditional independence assumptions in pattern recognition (Tutorial by Simon-Pierre Desrosiers)
3. Independence, uncorrelation and Gaussian distributions (PostScript notes by Julio Peixoto)
4. Information theory:
1. A primer on information theory (PostScipt)
2. Basic properties of Shannon's entropy and mutual information
3. Relative entropy and mutual information
4. From Euclid to entropy (PostScript)
5. Shannon's equivocation and the Fano bound
6. More about Claude Shannon
7. The Claude Shannon Home Page
8. Calculating Information and Complexity
5. Feature Selection:
1. Independence, Redundancy and Synergism: A Tutorial by Irina Kezele
2. Feature Selection: Evaluation, Application, and Small Sample Performance (PostScipt)
3. Toward Optimal Feature Selection (PostScipt)
4. Dimensiobality Reduction: Francois Labelle's tutorial (with interactive Java applets)
5. Simon Plain's tutorial on feature selection (with interactive Java applets)
6. Feature evaluation criteria:
1. Kullback-Liebler information
2. The Divergence
3. The Affinity
4. The Mutual-Information criterion (PDF file)
5. Discrimination information and Kolmogorov variational distance (PDF file)
6. The Fisher Information
7. Feature selection methods (Richard Duda's course notes)
8. A survey of feature selection methods
9. The best K independent measurements are not the K best (PDF file)
10. Models of spatial dependence between features

## 12. Non-parametric Learning

1. General Learning Resources
2. Perceptrons:
3. Non-parametric training of linear machines (Nilsson's book - Chapter 4)
4. Error-correction procedures
1. Rosenblatt's Perceptron Learning Algorithm (an interactive Java applet)
5. The fundamental learning theorem
6. Multi-layer networks
7. Competitive Learning:

## 13. Estimation of Density Functions, Parameters and Classifier Performance

1. Estimation of Parameters:
1. Robust estimators of location (Tutorial by Greg Aloupis)
2. Bias and variance of estimators
3. Maximum likelihood estimation
2. Density Estimation:
3. Estimators and Bias (Wolfram Research)
4. Dimensionality and sample size
5. Estimation of the probability of misclassification
6. Estimation of misclassification before 1974
1. Resubstitution
2. Holdout
3. Data Shuffling
4. Leave-One-Out
5. Bootstrap Methods
7. Ensembles of Classifiers
8. Boosting
9. Comparing the performance of several classifiers (the pitfalls)

## 14. Nearest Neighbor Decision Rules

1. Nearest Neighbor Decision Rules:
1. The nearest neighbor rule: a tutorial
2. The nearest neighbor rule with a reject option
3. The k-nearest neighbor rule applet
4. The Cover-Hart bounds and Jensen's inequality:
2. Efficient search methods for nearest neighbors:
3. Editing nearest neighbor rules to reduce storage:
4. Nearest neighbor computation software
5. Bibliography on Nearest Neighbor Methods

## 15. Using Contextual Information in Pattern Recognition

1. Using Context in Visual Perception
2. Infinite Monkey Theorem
3. Introduction to Markov Processes
4. More about Andrei Markov
5. Forward dynamic programming and the Viterbi algorithm:
1. A tutorial on the Viterbi algorithm
2. Viterbi algorithm demo for sentence recognition
6. Combined bottom-up and top-down algorithms

## 16. Unsupervised Learning & Cluster Analysis

1. Unsupervised Learning:
2. Graph-theoretic methods:
1. Minimal spanning tree methods
2. Tutorial and Java applet by Mike Soss and Chrislain Razafimahefa
3. Hierarchical clustering: