Music Information Retrieval

"Without music life would be a mistake." - Friedrich Nietzsche

# 1. Introduction to Pattern Recognition and Image Processing

1. Notes on Methods of Proof
2. Image Processing Basic Operators
3. Optical character recognition (brief introduction)
4. Tessellation Resources
5. Tessellation Tutorials
6. Grids:
7. M.I.T. reading machine for the blind
8. What is hysteresis?
9. Zacharia Nkgau's tutorial on hysteresis smoothing of monotonic polygons (with interactive Java applet)
10. Image Segmentation:

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

1. Minkowski addition and subtraction (dilation and erosion)
2. Gaussian smoothing
3. More about Carl Friedrich Gauss
4. Polygonal Approximation:
1. Midpoint smoothing
2. Ramer-Douglas-Peucker algorithm (Iterative End-Points Fit):
3. Relative Convex Hull Smoothing:
5. Tutorial on polygonal approximation (Iri-Imai algorithm, Melkman-O'Rourke algorithm)

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

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

## 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
3. Distance between sets:
4. Skeletons
1. Hilditch's algorithm
2. Skeletonization software
5. Medial Axis of Polygonal Sets (prairie-fire transformation)
6. Medial axis in 3D with applications
7. Medial axis software
8. Medial Axis of Pont Sets

## 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)
2. Square, circular, and grid-intersect quantization
3. Probability of obtaining diagonal elements
4. Geometric Probability
6. More on Bertrand's paradox (with Java applet simulations)
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
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, Neural Networks, and Machine Learning

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)
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
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 Machine 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 and Instance-Based Learning

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
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 Machine Learning and 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: