This practical course (modal) aims to introduce the students to recent methods for analyzing and processing images, based on Deep Learning and more specifically Convolutional Neural Networks (CNNs). These methods have recently seen a surge in popularity and have largely contributed to the advances in problems as diverse as: image classification, segmentation and comparison, object and person (e.g. face) detection and recognition, video analysis, detection of anomalies, super-resolution et even analysis of style in images, among myriad others.

This course will introduce the main concepts used in these methods and will concentrate on practical aspects of putting them in place, including:

  1. The choice of architecture for CNNs
  2. Practical approaches involved in their training, such as back-propagation and stochastic gradient descent.
  3. Training CNNs on modern hardware, including GPUs.
  4. Use pre-trained models efficiently in practice.

The final goal will be to work on a project in groups of 2-3 students, in which the knowledge gained during the course will be used to solve a practical problem at medium to large scale. Possible project ideas include: automatic image colorization, recognition of emotion in photos, motion tracking in images, etc.

Note: The majority of the lectures will be given in English.