This course studies Computer Vision (CV) algorithms together with their visual representations learnt through Deep Learning (DL) techniques. The studied algorithms are intended to solve traditional CV tasks, including classification, object detection and tracking, retrieval, face detection, image/video generation, emotion and action recognition and are illustrated through a panel of applications, such as video retrieval from the web, visual-surveillance, autonomous driving, merchandising, assisted living and robotics. The course discusses state-of-the-art methods from low-level description to high-level representation, and their dependence on the related CV tasks. The focus of the course is on recent, state of the art methods and large-scale applications. Cutting-edge topics will be studied, such as Convolutional Neural Networks, Recurrent Neural Networks and Generative Adversarial Networks. You will learn also to build projects in PyTorch/TensorFlow using CoLab.