Pattern Recognition Code:  M0.532    :  6
View general information   Description   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the second semester of the academic year 2023/2024. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.

The Pattern Recognition course will introduce the student to the techniques for extracting information from data. In particular the course focuses on the recognition of patterns within the context of computer vision. Images are one of the main sources of information used by the human brain at the perceptual level to make decisions. As a consequence, the recognition of patterns within the context of computer vision is of great interest, especially nowadays that we have at our disposal a huge amount of visual data that can not be analyzed by hand. Practical applications of pattern recognition in the context of artificial vision are many. For example safety, medicine, automatic inspection, or automatic navigation.


  • Requirements: Ability to read scientific texts in English. Basic statistical knowledge (undergraduate or engineering level).
  • Bibliography (course material): Richard Szeliski, 2022. "Computer Vision: Algorithms and Applications", Second Edition.


  • Coordinator: Dr. Carles Ventura
  • Credits: 6
  • Description: In the present course the student will be introduced in the set of techniques that allow us to extract information from a set of data. As an application, the subject will focus on extracting high level information from the environment, from information captured by cameras. In this case the objective is to learn to recognize objects in real environments and completely automatically. Images are one of the most important sources of information that the human brain uses perceptually to make decisions. In this context, different samples of the same object have in common a series of patterns, which must be detected, modeled and later classified for recognition. The course aims to train the student to know the probabilistic techniques and mathematical optimization related to pattern recognition.
  • Requirements: ability to read scientific texts in English. Basic statistical knowledge (undergraduate or engineering level).
  • Bibliography: UOC modules


This course is oriented to the study of fundamental concepts of computer vision, pattern recognition and other advanced topics related to the problems of analysis and automatic recognition of complex images. In particular, the learning objectives are as follows:
- To know how the images are formed.
- To know the main techniques of digital image processing.
- To understand how color is perceived and know the spaces of color representation.
- To know the main techniques of dimensionality reduction (selection and extraction of characteristics), both supervised and unsupervised, and know how to apply to real problems.
- To know the main techniques of automatic learning for automatic classification of data and know how to apply to real problems.

The specific competences that are covered in this course are the following:
A1. Ability to understand and be able to apply advanced computer knowledge and numerical or computational methods to engineering problems.

A2. Ability to apply computational, mathematical and statistical methods to model, design and develop applications, services, intelligent systems and / or systems based on knowledge.

A3. Ability to apply mathematical and computational methods to solving technological and engineering problems, particularly in research, development and innovation.

A4. Ability to model problems using a mathematical language and solve them through formal reasoning.

A5. Ability to identify mathematical theories necessary for the construction of models from problems of other disciplines.

A6. Ability to handle mathematical and statistical software.

A9. Ability to analyze and process data to generate and manage useful information in decision making.

A10. Ability to design, implement and validate algorithms using the most convenient structures.


Unit 1. Introduction to computer vision. A brief history of computer vision. Color spaces.

Unit 2. Image processing. Linear filters and non linear filters. Morphological operations.

Unit 3. Feature extraction. Feature detection and description. Feature matching. Content-based image retrieval. Segmentation.

Unit 4. Machine Learning. Supervised and unsupervised learning. Deep Neural Networks. Convolutional Neural Networks.

Unit 5. Image Classification. Feature-based methods. Convolutional Neural Networks based methods.

Unit 6. Object detection. Face detection. Person detection. Object detection.

Unit 7. Semantic segmentation. Instance segmentation. Panoptic segmentation. Pose estimation.

Unit 8. Video understanding. Action recognition. Optical flow. Object tracking. Video object segmentation.

Tema 9. Generative models. Autoencoders. Variational autoencoders. Generative Adversarial Networks (GANs).


Aprenentatge supervisat: problemes de classificació PDF
Aprendizaje supervisado: problemas de clasificación PDF
Python: introducción al lenguaje de programación Audiovisual
Python: introducció al llenguatge de programació Audiovisual
Ús de Google Colaboratory per a Machine Learning Audiovisual
Uso de Google Colaboratory para Machine Learning Audiovisual
Image processing (Python Notebook) Web
Feature Detection and Matching (Python Notebook) Web
Machine learning (Python Notebook) Web
Generative models (Python Notebook) Web
Image classification (Python Notebook) Web
Object detection (Python Notebook) Web
Semantic segmentation (Python Notebook) Web
Video understanding (Python Notebook) Web


For the practical exercises, the resources than can be found on the following code repository will be used:


The assessment process is based on students' own work and the assumption that this work is original and has been carried out by them.

In assessment activities, the following irregular behaviours, among others, may have serious academic and disciplinary consequences: someone else being involved in carrying out the student's assessment test or activity, or the work being not entirely original; copying another's work or committing plagiarism; attempting to cheat to obtain better academic results; collaborating in, covering up or encouraging copying; or using unauthorized material, software or devices during assessment.

If students are caught engaging in any of these irregular behaviours, they may receive a fail mark (D/0) for the assessable activities set out in the course plan (including the final tests) or in the final mark for the course. This could be because they have used unauthorized materials, software or devices (e.g. social networking sites or internet search engines) during the tests, because they have copied text fragments from an external source (internet, notes, books, articles, other student's projects or activities, etc.) without correctly citing the source, or because they have engaged in any other irregular conduct.

In accordance with the UOC's academic regulations , irregular conduct during assessment, besides leading to a failing mark for the course, may be grounds for disciplinary proceedings and, where appropriate, the corresponding punishment, as established in the UOC's coexistence regulations.

In its assessment process, the UOC reserves the right to:

  • Ask the student to provide proof of their identity, as established in the university's academic regulations.
  • Request that students provide evidence of the authorship of their work, throughout the assessment process, both in continuous and final assessment, by means of an oral test or by whatever other synchronous or asynchronous means the UOC specifies. These means will check students' knowledge and competencies to verify authorship of their work, and under no circumstances will they constitute a second assessment. If it is not possible to guarantee the student's authorship, they will receive a D grade in the case of continuous assessment or a Fail in the case of final assessment.

    For this purpose, the UOC may require that students use a microphone, webcam or other devices during the assessment process, in which case it will be the student's responsibility to check that such devices are working correctly.


You can only pass the course if you participate in and pass the continuous assessment. Your final mark for the course will be the mark you received in the continuous assessment.