Checking date: 18/05/2023

Course: 2023/2024

Deep Learning for the Analysis of Images
Academic Program of Telecommunication Engineering via Bachelor in Telecommunication Technologies Engineering (Plan: 511 - Estudio: 252)

Coordinating teacher: GONZALEZ DIAZ, IVAN

Department assigned to the subject: Signal and Communications Theory Department

Type: Electives
ECTS Credits: 3.0 ECTS


Requirements (Subjects that are assumed to be known)
The students are expected to have studied Linear Systems Although not mandatory, basic knowledge on Digital Image Processing is welcome.
Learning Results and their relation with course contents - To learn digital images and the spatial filtering operation over images. - To know basic concepts of Machine Learning: loss functions, regularization, hyperparameters, data augmentation, etc. - To understand deep neural networks and their training algorithms: gradient descent and back-propagation. - To learn Convolutional Neural Networks (CNN) and their most usual processing blocks/layers. - To understand, design and train CNN architectures for image classification. - To understand, design and train advanced CNN architectures to address other task of visual recognition: object detection, image captioning, image segmentation, image synthesis, etc.
Skills and learning outcomes
Description of contents: programme
Unit 1. Basic concepts of visual recognition 1.1 Digital Images 1.2 Spatial Filtering 1.3 Part-models for object recognition Unit 2. Basic concepts of Deep learning 2.1 Machine Learning algorithms 2.2 Loss Functions 2.3 Regularization 2.4 Hyperparameters and validation 2.5 Deep Neural Networks 2.6 Gradient Decent-based learning algorithms 2.7 Backpropagation Unit 3 Convolutional Neural Networks (CNNs) for image classification 3.1 Introductions 3.2 Basic processing layers in a CNN 3.3 CNN architectures for image classification 3.4 Training a CNN for image classification: data pre-processing, data augmentation and initialization Unit 4 Deep networks for other image-related tasks: 4.1 Networks for object detection 4.2 Networks for image segmentation 4.3 Networks for image matching 4.4 Networks for image captioning 4.5 Networks for image synthesis
Learning activities and methodology
Two teaching activities are proposed: lectures and lab sessions. LECTURES The lecture sessions will be supported by slides or by any other means to illustrate the concepts explained. In these classes the explanation will be completed with examples. In these sessions the student will acquire the basic concepts of the course. It is important to highlight that these classes require the initiative and the personal and group involvement of the students (there will be concepts that the students themselves should develop). LABORATORY SESSIONS This is a course with a high practical component, and students will attend to laboratory sessions very often. In them, the concepts explained during the lectures will be put into practice using deep learning software libraries (eg pytorch). In the laboratory, machines equipped with high-performance GPUs are available and free distributed computing systems such as Google Colab will also be used.
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40

Calendar of Continuous assessment

Basic Bibliography
  • Francois Chollet. Deep Learning with Python. Manning Publications. 2017
  • Ian Goodfellow, Yoshoua Bengio, and Aaron Courville. Deep Learning. The MIT Press. 2016
Additional Bibliography
  • Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer. 2006
  • Forsyth & Ponce. Computer Vision. Pearson. 2012

The course syllabus may change due academic events or other reasons.