The course is thought of as a natural continuation of Pattern Recognition, and it approaches considerably more difficult classification problems. The course objectives are to make the student able to understand and modify professional recognition code (OpenCV, VLFeat, Tensorflow), and understand the underlying theory. At the end of the course, the student will have to face a real recognition problem (derived from an industrial application), presenting the most proper solution. The languages used will be MATLAB and Python, with some references to C.
The course presents a series of state-of-the-art topics in the field of recognition. Each topic will be explained through updated articles together with the lesson slides. The following books are suggested as a reference:
- Christopher M. Bishop. 2006. Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA.
- Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep learning. MIT Press, 2016.
- Classification validation tools: Confusion matrix and derivative measurements, ROC and CMC curves, average precision, average quadratic error, label correlation, grading and regression measures
- Kernel machines, Support Vector Machines
- VLFeat for object recognition: Dense object recognition through multiclass discriminatory models
- Dense classification features as bag of words
- Shape descriptors for object tracking: B-spline and Condensation
- Deep learning in Tensorflow: Multinomial Logistic Classifier, Neural Networks, Convolutional Neural Network
The exam involves the discussion of a code project, which proposes a solution to an industrial classification problem. The final score will depend on the classification figure of merits achieved by the classifier and the theoretical motivations that prompted the student to choose a particular algorithm.